Tiện ích sao chép tệp như rsync với xử lý lỗi như ddresTHER, để phục hồi dữ liệu từ ổ đĩa cứng có thành phần xấu hoặc lỗi phần cứng [đã đóng]


12

Tôi có một ổ cứng với các khối hoặc khu vực xấu không đọc được do các vấn đề cơ học tiềm ẩn, chẳng hạn như đầu đĩa xấu, động cơ xấu hoặc một số vấn đề khác khiến ổ cứng đọc dữ liệu chậm và nhiều lỗi đọc. Tôi đang thấy trung bình 50 KB / giây, với một số lần đọc giảm xuống dưới 10 KB / giây và thường thì nó bị kẹt hoàn toàn trên một tệp hoặc khu vực, thường là trong một khoảng thời gian khá dài từ 2-10 phút trở lên (khi sử dụng rsync, trước khi hết thời gian).

Tốc độ dường như thay đổi một cách điên cuồng, và nó bị kẹt trên các tập tin rất nhiều, và khi cuối cùng nó bị "tháo gỡ", nó dường như chỉ tồn tại trong một vụ nổ ngắn trước khi nó bị kẹt lại. Ổ đĩa cũng rất yên tĩnh chỉ có âm thanh sao chép tập tin (thường là khi nó bị kẹt / không bật trong một thời gian ngắn, trước khi bị kẹt lại). Do đó, không có âm thanh xấu nào thường liên quan đến cái chết của ổ cứng. Có người cho rằng các vấn đề nghe có vẻ như có thể do đầu đĩa bị sai lệch, đòi hỏi phải đọc lại nhiều lần trước khi cuối cùng đọc dữ liệu thành công. Nghe có vẻ hợp lý, nhưng tôi lạc đề ...

Dù sao, vấn đề với rsync là dường như không có hỗ trợ xử lý lỗi nào. Rõ ràng, nó không có nghĩa là để sử dụng trong việc khôi phục dữ liệu từ ổ cứng không, nhưng tất cả những cái gọi là "phục hồi dữ liệu" tiện ích ra khỏi đó được dành cho việc sử dụng đó thường tập trung vào phục hồi các file bị xóa hoặc sai lầm phân vùng, chứ không phải là sao chép các tập tin ra khỏi ổ cứng. Rõ ràng, việc khôi phục tập tin đã bị xóa không phải là điều tôi cần, vì vậy có lẽ bạn có thể hiểu sự thất vọng của tôi khi không thể tìm thấy những gì tôi đang theo đuổi.

Đương nhiên, đây là nơi bạn có thể nói "Bạn nên sử dụng ddresTHER!" Chà, tất cả đều ổn và bảnh bao, nhưng tôi đã sao lưu hầu hết dữ liệu, vì vậy tôi chỉ muốn khôi phục một số tệp nhất định. Tôi không quan tâm đến việc cố gắng khôi phục toàn bộ phân vùng theo từng khối như ddresTHER. Tôi chỉ quan tâm đến việc giải cứu các tập tin và thư mục cụ thể.

Lý tưởng nhất, điều tôi muốn là một loại giao thoa giữa rsync và ddresTHER: thứ gì đó cho phép tôi chỉ định nguồn và đích là thư mục của các tệp thông thường như rsync (thay vì hai phân vùng đầy đủ như ddresTHER yêu cầu), với cách bỏ qua các tệp với lỗi trong lần chạy đầu tiên và sau đó cho phép tôi thử phục hồi các tệp đó có lỗi trong lần chạy sau (tất nhiên là có lệnh thay đổi một chút), thậm chí có thể cung cấp tùy chọn để chỉ định số lần thử lại ... giống như Làm thế nào ddresTHER hoạt động với các khối, chỉ tôi muốn một tiện ích hoạt động với các tệp / thư mục cụ thể như rsync.

Vì vậy, tôi đang mơ mộng ở đây, hoặc có một cái gì đó tồn tại có thể làm điều này? Hoặc, thậm chí có thể là một cách để làm cho rsync hoặc ddresTHER hoạt động theo cách như vậy? Tôi thực sự cởi mở với bất kỳ giải pháp nào có thể hoạt động, miễn là họ cho phép tôi chọn tệp nào tôi muốn "giải cứu" và có thể bỏ qua các tệp có lỗi trong lần chạy đầu tiên và thử lại / thử lại các lỗi đó sau.

Cho đến nay tôi đã thử rsync với các tùy chọn sau, nhưng nó thường bị kẹt trên một tệp lâu hơn thời gian chờ và lý tưởng là tôi muốn nó chuyển sang tệp tiếp theo và quay lại sau với các tệp mà nó nhận được bị mắc kẹt trên. Tôi không nghĩ rằng điều đó là có thể. Dù sao, đây là những gì tôi đã sử dụng cho đến bây giờ:

rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/

Câu trả lời:


3

Tôi có một máy 3TB của Hitachi đọc rất chậm, ddresTHER sẽ hoạt động ở cấp độ tệp. Nhưng không phải trên thư mục. Tuy nhiên, tôi không thể làm cho các tùy chọn - timeout hoặc --min-read-Rate của ddresTHER hoạt động.

Bạn sẽ muốn làm điều này trong một tập lệnh để ddresript một tệp tại một thời điểm.

cat listoffiles | while read file
pipe while> do
pipe while> ls -l "$file"
pipe while> ddrescue -n -e1  "$file" /cc/RecoveredFiles/"$file" /cc/RecoveredFiles/"$file".llog
pipe while> date
done | tee -a  /cc/RecoveredFiles/ddrescue.log

3

Có lẽ rsync đã thay đổi trong những năm kể từ khi câu hỏi này được hỏi.

Kinh nghiệm của tôi là rsynchiện tại đang thực hiện một công việc tuyệt vời sao chép một ổ cứng đang chết dần, với

rsync -a <src> <dest>

Nó sẽ nhanh chóng di chuyển nếu gặp lỗi và khi chạy lại sẽ quay lại để thử lại các tệp đó.

rsync --version báo cáo rsync version 2.6.9 protocol version 29

Về các câu trả lời khác:

Các câu trả lời năm 2011 dường như đang thúc đẩy các công cụ chỉ là tương đương thương mại với ddresTHER - không có dấu hiệu nào cho thấy chúng là tệp nhận biết. Cá. Câu trả lời năm 2013 thật thú vị.


2

Câu hỏi tuyệt vời, yêu mức độ chi tiết. Đối với một tiện ích sẽ hoạt động tốt trong kịch bản này, tôi khuyên bạn nên dùng thử Filescavenger từ Quetek . Nó sẽ cho phép đọc lại quá mức trong hơn 100 lần, nhưng quan trọng hơn là nó có tính năng chụp ảnh đĩa cho phép bạn chuyển toàn bộ nội dung vào hình ảnh mà không mất thời gian cố gắng đánh giá các tệp sau đó tải hình ảnh và quét qua nó cho các tập tin. Tiện ích chạy $ 50 cho người dùng gia đình nhưng bạn có thể tải xuống và kiểm tra nó đến mức xem những gì có thể được phục hồi từ hình ảnh trước khi chi tiền.

Nếu sử dụng chuyên nghiệp, nó sẽ tiêu tốn của bạn một khoản tiền khá lớn nhưng có được các tính năng quan trọng bao gồm hỗ trợ cho các mảng đột kích logic và phần cứng.

Nếu điều này cũng thất bại, bạn có thể vượt qua điểm của các công cụ khôi phục phần mềm. Nếu bạn và bạn có thể biện minh cho chi phí phục hồi phòng thí nghiệm, hãy cho tôi biết bạn đang ở quốc gia, tiểu bang và thành phố nào. Tôi có thể giới thiệu một trong những phòng thí nghiệm của chúng tôi hoặc hoặc đối thủ cạnh tranh gần bạn.

Chris


1

Bạn muốn máy photocopy tiến bộ . Nó được nhắm mục tiêu để thực hiện toàn bộ ổ đĩa, nhưng vì nó lấy một đường dẫn tệp làm tham số, nên nó cũng hoạt động cho các tệp riêng lẻ. Tôi không nghĩ rằng nó sẽ hoạt động cho các thư mục - bạn phải chỉ định từng tệp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.