Trả lời ngắn: ghi lại mã băm khi bạn ghi một tệp, và so sánh sau đó. Nếu mã băm khác nhau mà không có gì chỉnh sửa tệp, dữ liệu đã thay đổi mà bạn không hay biết.
Không gì khác phát hiện được điều này. Một ổ đĩa bị hỏng dữ liệu âm thầm vẫn qua Sơ cứu, báo SMART khỏe mạnh, và gắn vào hoàn hảo.
Lưu trữ là thứ vật lý. Các vùng từ trên đĩa quay yếu dần. Điện tích rò khỏi các ô của bộ nhớ flash, nhanh hơn khi nóng và nhanh hơn nữa khi ổ để lâu không cấp điện. Một sợi cáp có thể làm rớt một bit khi truyền. Firmware có lỗi.
Ổ đĩa tự sửa phần lớn điều này, bằng mã sửa lỗi và bằng cách chuyển chỗ các sector chúng thấy sắp hỏng. Lỗi hỏng đáng lo là phần lọt qua được: một lần đọc trả về dữ liệu khác với dữ liệu đã ghi, mà vẫn báo thành công.
Cái tên mà mọi người tranh cãi. Có người gọi là bit rot, có người gọi là hỏng dữ liệu âm thầm, có người gọi là suy giảm dữ liệu. Với mục đích của chúng ta thì đều là một: tệp đã khác đi và không có gì báo.
Đây là phần đáng hiểu, vì nó giải thích tại sao mọi công cụ bạn định dùng đều là công cụ sai.
cp và Finder đọc dữ liệu và ghi dữ liệu. Nếu lần đọc trả về dữ liệu sai, chúng trung thành ghi dữ liệu sai.Vậy sự thật là: máy Mac của bạn không có cơ chế nào báo cho bạn. Triệu chứng đầu tiên là một bức ảnh có một dải rác chạy ngang, một tệp lưu trữ không mở được, hoặc một video dừng giữa chừng.
Hiếm với từng tệp, và không hiếm với một bộ sưu tập lớn qua thời gian dài, đó chính là trường hợp bản sao lưu dành cho. Có hai điều làm tăng rõ rệt khả năng này:
Lý do nó quan trọng với bản sao lưu hơn với ổ đĩa làm việc là tệp làm việc được mở ra, và một tệp hỏng được mở ra là lỗi hỏng bạn đã phát hiện. Bản sao lưu được ghi một lần và không bao giờ được đọc, nghĩa là lỗi hỏng trong bản sao lưu được phát hiện đúng vào ngày bạn cần nó.
Ghi lại những gì bạn đã ghi:
cd /Volumes/Backup
find . -type f -exec shasum -a 256 {} \; > ~/backup-hashes.txt
Rồi vài tháng sau, hỏi xem nó có còn như cũ không:
cd /Volumes/Backup
shasum -a 256 -c ~/backup-hashes.txt | grep -v ': OK$'
Bất cứ thứ gì được in ra là một tệp có dữ liệu đã thay đổi. Nếu bạn chưa chỉnh sửa nó, đó là câu trả lời.
Hai lưu ý thực tế. Giữ tệp mã băm ở nơi khác ngoài ổ đĩa mà nó mô tả, nếu không bạn sẽ mất cả hai cùng lúc. Và việc này mất thời gian bằng đọc toàn bộ ổ đĩa, nên hãy lên lịch chạy qua đêm.
Mọi điều ở trên là lý do ứng dụng có hình dạng như hiện nay. Nó lưu mọi phần của bản sao lưu theo mã băm của nội dung, rồi đọc lại bản sao lưu theo lịch và kiểm tra từng phần với mã băm mà nó được lưu theo.
Vì thế một chỗ không khớp là bằng chứng: dữ liệu không phải là dữ liệu đã được ghi, và không có cách hiểu nào khiến điều đó ổn. Một phần bị xóa bên dưới bản sao lưu được báo là bị thiếu. Và điểm số trên màn hình chính chỉ tính những gì đã được xác minh gần đây, đó là lý do nó thấp hơn mọi người mong đợi và đó chính là mục đích.
Có vị trí thứ hai quan trọng ở đây hơn bất cứ đâu trên trang web này. Hỏng dữ liệu ở một bản chỉ là bất tiện khi có hai bản, và là dấu chấm hết cho tệp khi chỉ có một.
Không. Sơ cứu kiểm tra cấu trúc hệ thống tệp, không phải nội dung tệp của bạn. Một ổ đĩa có tệp bị hỏng âm thầm vẫn qua bài kiểm tra trơn tru, đó chính là điều làm nên vấn đề này.
Không giúp được việc này. SMART báo cáo các lỗi mà ổ đĩa đã phát hiện và sửa hoặc chuyển chỗ. Hỏng dữ liệu âm thầm là loại nó không phát hiện. Dù vậy vẫn nên kiểm tra với ổ đĩa đang hỏng dần, đó là một vấn đề khác và dễ thấy hơn.
Nó kiểm tra tổng siêu dữ liệu của chính nó, không phải dữ liệu tệp của bạn. ZFS và Btrfs kiểm tra tổng nội dung tệp và có thể sửa từ bản dự phòng, và không cái nào có sẵn làm ổ khởi động hay ổ ngoài macOS thông thường. Khoảng trống đó là lý do một lần kiểm tra ở cấp ứng dụng đáng có.
Đủ thường xuyên để phát hiện bản hỏng khi bản tốt vẫn còn. Hằng quý là hợp lý cho một kho lưu trữ; hằng tháng nếu đó là bản duy nhất của thứ gì không thể thay thế. Câu trả lời đúng là tần suất bạn thực sự sẽ không bỏ qua, và điều đó cho thấy nó nên tự động.
Không. Xác minh cho bạn biết một bản sao đã hỏng. Nó không thể trả lại tệp. Phát hiện chỉ có ích khi có bản sao thứ hai để khôi phục, đó là toàn bộ lý lẽ của quy tắc 3-2-1.
Liên quan: cách kiểm tra bản sao lưu đọc được, định dạng kho lưu trữ, và quy tắc 3-2-1.