Gần đây tôi đã phải chịu một thiệt hại nhỏ nhưng khá quan trọng đối với ổ cứng trên máy chủ ESXi ảnh hưởng đến một vài máy ảo. Có một tập tin mà tôi rất muốn khôi phục, và dĩ nhiên nó đã bị loại khỏi bản sao lưu thường xuyên của tôi. Các bản sao gần đây nhất là 6 tháng tuổi. Hóa ra tôi cần ... ôi.
Chi tiết:
1) Tôi đã sử dụng ddresTHER (công cụ TUYỆT VỜI) trong ISO có thể khởi động Parted Magic để khôi phục 99,98% ổ đĩa của VM. Thật không may, các lỗi dường như hoàn toàn do tập tin RECENT ghi lại ... vì vậy tất nhiên chúng chính xác là các lĩnh vực tôi cần khôi phục nhất.
2) Ổ đĩa cho lỗi IO khi đọc khu vực xấu, nhưng đôi khi nó THÀNH CÔNG khi đọc một khu vực xấu trước đó! Vì vậy, phục hồi vẫn có thể. Hơi thường xuyên hơn thế sẽ có một số loại trục trặc lớn và quay ổ đĩa xuống và sao lưu. Ồ, và khoảng 1/4 trong số những lần quay vòng đó sẽ không quay trở lại. (Yêu cầu chu kỳ năng lượng cứng, tắt máy sẽ không hoạt động) Cuối cùng, cứ mỗi lần đọc khu vực xấu đi kèm với âm thanh nhấp chuột nghe được.
3) Đĩa VM quan trọng được định dạng NTFS.
4) Tôi có thể (thường) gắn kết chỉ đọc ổ đĩa NTFS bị hỏng và tôi có thể (hơi ít thường xuyên hơn) điều hướng đến thư mục chứa tệp tôi cần. Tuy nhiên, tệp được đề cập dường như luôn có lỗi IO khi tôi thực hiện 'ls' của thư mục. Các tệp khác trong thư mục không đưa ra lỗi IO.
5) Tôi đã thử sử dụng ntfsinfo / etc ... nghe có vẻ chính xác những gì tôi cần ... nhưng nó sẽ không mở phân vùng. (Bực bội, vì 'mount' thường sẽ)
6) Tệp là tệp XLS thời Excel 2003, vì vậy tôi không chắc mình có thể tìm ra bất kỳ chuỗi nào để tìm kiếm hình ảnh đĩa thô. (Có thể là một phần của phiên bản 6 tháng tuổi?)
Tôi thực sự muốn sử dụng một cái gì đó như các cơ sở của debugfs. Tuy nhiên, từ các trang man, có vẻ như các công cụ ntfs có thể thực hiện công việc nếu chỉ chúng có thể được thực hiện để mở phân vùng. Cụ thể, tôi tự hỏi liệu các lỗi IO có thể hoàn toàn nằm trong siêu dữ liệu của tệp hay không và liệu bản ghi thư mục có thể được khôi phục đủ tốt để sao chép nội dung tệp không. Như một phương sách cuối cùng, bất kỳ nội dung tập tin một phần nào tôi có thể lấy sẽ là tuyệt vời.
Tôi đã viết các mô-đun hạt nhân (tương đối đơn giản) trước đây, vì vậy tôi có thể biên dịch một mô-đun NTFS đặc biệt với nhiều thông tin gỡ lỗi được bật (hoặc thêm). (Tệp có giá trị ít nhất vài ngày mày mò để cố gắng khôi phục ... cộng với tôi đang học những thứ hay ho trong quá trình này)
Bất kỳ con trỏ?
BIÊN TẬP:
Thêm thông tin lỗi ổ đĩa:
Tất nhiên / var / log / message đang hiển thị rất nhiều lỗi NTFS-fs ... nhưng cuối cùng tôi đã bận tâm dịch thông điệp mã cảm giác chưa xử lý mà tôi thường nhận được: khóa cảm giác 0x3, ASC = 0x11, ASCQ = 0x4. (xuất hiện để dịch sang ERROR UNRECOVERED READ ERROR - AUTO REALLOCATE FAILED).
Khi ổ đĩa quay xuống, tôi thấy thông báo "scsi0: * BusLogic BT-958 Khởi tạo". Tôi không chắc đó là trình điều khiển SCSI của Linux, trình điều khiển ESXi hay chính ổ đĩa quyết định quay ổ đĩa xuống. Nếu đó là trình điều khiển Linux, thì có lẽ tôi có thể sửa đổi trình điều khiển để tránh quay vòng. Toàn bộ điều này được thực hiện một cách ồ ạt hơn bởi những mũi nhọn đòi hỏi năng lượng theo chu kỳ này.
EDIT2:
bằng cách sử dụng thông báo nhật ký "end numquest: I / O, dev sda, sector 7238859" ngay sau khi tôi gửi thư mục chứa tệp đang nghi vấn, tôi đã nhắm mục tiêu hoạt động ddresTHER của mình vào khu vực đó. Tôi hiện đang có kế hoạch để đưa cơ hội của mình và VIẾT lĩnh vực đó trở lại đĩa trực tiếp nếu điều này thành công. Có lẽ tôi có thể từ từ xây dựng lại cách của tôi vào tập tin theo cách này. Tuy nhiên, hầu hết các khu vực xấu có thể phục hồi được phục hồi trong dưới 20 lần thử lại ... lần này là hơn 150 cho đến nay ... * thở dài *
EDIT3:
Lỗi sector từ 'ls' trên tệp tôi cần hoàn toàn không hợp tác (hơn 1000 lần thử qua đêm và không gặp may). Tôi hy vọng đó chỉ là siêu dữ liệu khi bạn thực hiện 'ls'? :)
Tôi có hầu hết các bản sao ddresTHER, nhưng nó không gắn kết (hoặc gắn kết mà không có tệp). Ổ đĩa bị hỏng gắn chính xác hầu hết thời gian ... có thể lỗi IO trên ổ đĩa bị hỏng 'gắn kết' để trở lại gương hoạt động?
** EDIT4: **
Tôi đã từ bỏ bây giờ, chờ đề xuất thêm. Tôi đã tháo ổ đĩa và xây dựng lại hộp. Tôi sẽ giữ ổ đĩa xung quanh trong trường hợp có cái gì đó xuất hiện.
ddrescue
hoặc công cụ tương tự khác để sao chép càng nhiều cung càng tốt. Đừng thực hiện bất kỳ phục hồi cấp hệ thống tệp nào từ đĩa bị hỏng, hãy thực hiện từ bản sao.