Những rủi ro có thể gặp khi khôi phục dữ liệu bằng phần mềm (Phần 1)
Phần lớn các nhà cung cấp dịch vụ CNTT nói chung trên thế giới cung cấp dịch vụ cứu dữ liệu cho khách hàng của họ. Trong hầu hết các trường hợp, dịch vụ này chỉ được thực hiện bằng các công cụ phần mềm khôi phục dữ liệu bởi một cá nhân không được đào tạo chính thức về khôi phục dữ liệu. Những nỗ lực thiếu chuyên nghiệp này là nguyên nhân dẫn đến vô số trường hợp hỏng ổ cứng và mất dữ liệu vĩnh viễn hàng năm. Bài viết sẽ gồm hai phần giải thích một số nguyên nhân chính của những kết quả không mong muốn này, mời các bạn theo dõi.
Việc cố gắng khôi phục phần mềm trên một ổ đĩa không ổn định chắc chắn sẽ gây ra một số thiệt hại không thể phục hồi được. Ổ đĩa không ổn định trong trường hợp này là bất kỳ ổ nào đang gặp sự cố khi xử lý các lệnh đọc một cách đáng tin cậy do đầu đọc/ghi bị xuống cấp, mâm đĩa hư hỏng/bụi bẩn, linh kiện điện tử không ổn định, firmware có vấn đề, v.v. Những bất ổn như thế này có xu hướng ban đầu biểu hiện dưới dạng một vài bad sector ngắt quãng. Sau khi các triệu chứng đầu tiên xuất hiện, ổ đĩa sẽ dần trở nên tồi tệ hơn khi nó được sử dụng nhiều hơn cho đến khi xảy ra sự cố cuối cùng. Sự cố này làm cho ổ đĩa hoàn toàn không thể khôi phục được hoặc ít nhất là nó làm phức tạp đáng kể quá trình khôi phục sau đó, khiến việc khôi phục dữ liệu của khách hàng trở nên khó khăn và tốn kém hơn rất nhiều. Các quy trình khôi phục dữ liệu chuyên nghiệp đều nhằm giảm thiểu thiệt hại xảy ra và lấy bản sao dữ liệu trước khi ổ đĩa gặp sự cố.
Mấu chốt của vấn đề là tất cả những gì mà các công cụ phần mềm khôi phục dữ liệu có thể làm là gửi các lệnh đọc tiêu chuẩn đến ổ đĩa và hy vọng rằng nó sẽ phản hồi chúng trong thời gian thích hợp. Nếu ổ đĩa không phản hồi, phần mềm không có cơ chế để thực hiện thêm bất cứ điều gì khác. Để hiểu tại sao đây là một vấn đề, trước tiên chúng ta phải hiểu cách ổ cứng xử lý các lệnh đọc tiêu chuẩn. Khi ổ đĩa nhận được lệnh đọc, một số hoạt động sẽ diễn ra. Đầu tiên, sector block được yêu cầu sẽ được đọc từ các mâm đĩa bởi các đầu đọc/ghi và được tải vào bộ nhớ đệm của ổ đĩa. Trong bộ nhớ cache, checksum dữ liệu người dùng của mỗi sector vật lý được tính toán bởi bộ xử lý của ổ đĩa. Checksum này sau đó được so sánh với checksum trong mã sửa lỗi ban đầu được viết cùng với sector.
Nếu các checksum khớp với nhau, ổ đĩa kết luận rằng dữ liệu mà nó đọc từ đĩa cứng giống với dữ liệu được ghi ban đầu và gửi nó qua kênh ATA. Nếu không trùng khớp, trước tiên, ổ đĩa sẽ cố gắng sửa lỗi bằng cách sử dụng phần mã sửa lỗi của sector có vấn đề. Nếu không thành công, ổ đĩa sẽ tự động đọc đi đọc lại (các) sector có sự cố, cố gắng có được kết quả đọc tốt. Bad sector có nghĩa là ổ đĩa không thể nhận được bản đọc một cách trọn vẹn và nó sẽ dừng việc đọc sau đó gửi một lỗi mà không có dữ liệu qua kênh ATA. Cùng lúc đó, ổ đĩa cũng sẽ sử dụng các đầu đọc/ghi của nó để ghi vào vùng dịch vụ của nó (nằm trên các platter) để cập nhật trạng thái của các bản ghi khác nhau, chẳng hạn như số lượng các sector được phân bổ lại trong các thuộc tính SMART.
Đối với mục đích khôi phục dữ liệu, quá trình này lãng phí thời gian và gây ra sự hao mòn không cần thiết của các đầu đọc/ghi. Các đầu đọc/ghi xuống cấp có thể mất khả năng điều chỉnh chính xác các bản ghi mà ổ đĩa đang hướng tới. Điều nay dẫn tới nguy cơ hỏng hóc nghiêm trọng bên trong khu vực dịch vụ (Xước đĩa). Các quy trình lưu trữ hồ sơ như thế này có thể bị vô hiệu hóa ngay lập tức với thiết bị phần cứng phù hợp, nhưng các công cụ phần mềm khôi phục dữ liệu thì không có khả năng như vậy.
Một điểm quan trọng cần hiểu là ổ cứng không dễ dàng từ bỏ các sector! Ngay cả trong các thiết bị vận hành bình thường, lỗi đọc dữ liệu không thành công là một điều tương đối bình thường khi nó xảy ra trong lần thử đọc đầu tiên hoặc thứ hai. Phần mềm ổ đĩa được thiết kế cân nhắc tới điều đó; tự động kiểm tra lại nội bộ đảm bảo rằng ổ đĩa sẽ tiếp tục hoạt động như mong đợi bất kể đôi khi có những lỗi đọc dữ liệu. Trên thực tế, những lỗi này ngày một phổ biến do hậu quả của áp lực thị trường yêu cầu tăng dung lượng lưu trữ mà các nhà sản xuất ổ đĩa phải liên tục đáp ứng. Mật độ dữ liệu càng lớn, các đầu đọc/ghi càng khó thực hiện công việc của chúng một cách chuẩn xác. Nếu một sector bị bad, điều đó có nghĩa là ổ đĩa đã cố gắng đọc nó hàng trăm lần ở bên trong, trong nhiều giây nhưng không thành công. Những lần thử không thành công này là nguyên nhân khiến ổ đĩa xuống cấp thêm.
Điều quan trọng cần lưu ý là tất cả các lần thử đọc lại dữ liệu không thành công này diễn ra sau một lệnh đọc ATA duy nhất. Nói cách khác, chúng xảy ra bất kể loại tùy chọn “không thử lại” nào đang được sử dụng, điều đó chỉ có nghĩa là phần mềm khôi phục dữ liệu sẽ không gửi nhiều hơn một lệnh đọc cho mỗi sector block. Bởi vì hầu hết các bad sector đều ở đó do các đầu đọc/ghi bị xuống cấp và/hoặc các vấn đề với bề mặt của (các) platter, nhiều lần thử đọc lại bên trong này càng làm hỏng ổ đĩa, nhanh chóng làm trầm trọng thêm vấn đề ban đầu. Ví dụ: Một hạt bụi bẩn nhỏ có thể tạo thành vết xước và phá hủy các đầu đọc/ghi nếu có được chà xát nhiều lần.
Firmware ổ đĩa là thứ cuối cùng quyết định khi nào nên từ bỏ các sector không thể đọc được. Trong một số trường hợp không ổn định, firmware ổ đĩa có thể không thực hiện được việc này một cách chính xác, khiến ổ đĩa bị kẹt vĩnh viễn trong trạng thái đọc lại bad sector để có được bản đọc hoàn chỉnh. Đây là điều tồi tệ nhất có thể xảy ra khi khôi phục firmware vì ổ đĩa sẽ tự phá hủy rất nhanh và firmware sẽ không có cách nào khắc phục sự cố hoặc thậm chí biết được nó đang xảy ra.
Phần cứng khôi phục dữ liệu được thiết kế phù hợp cho phép kiểm soát hoàn toàn thời gian ổ đĩa được phép thực hiện các thử nghiệm nội bộ. Điều này chỉ làm giảm quá trình xử lý không mong muốn (và do đó dẫn đến sự xuống cấp) xuống một phần nhỏ, vì chúng có thể buộc ổ đĩa từ bỏ việc cố gắng sau vài trăm mili giây thay vì sau vài giây. Phần cứng cũng có quyền kiểm soát trực tiếp nguồn điện đi đến ổ đĩa, có thể được tự động tuần hoàn như một cách cuối cùng trong trường hợp tất cả các phương pháp bảo vệ ổ đĩa khác không thành công.
Phần 2: Những rủi ro có thể gặp khi khôi phục dữ liệu bằng phần mềm (Phần 2) – HTI Services