RAID 1 có bảo vệ chống tham nhũng không?


14

Raid 1 có bảo vệ chống tham nhũng dữ liệu không? Ví dụ: giả sử tôi đang giữ tất cả các tệp quan trọng của mình trên một NAS sử dụng 2 đĩa trong RAID 1. Nếu một ổ cứng có một số vấn đề bên trong và dữ liệu bị hỏng, RAID có tự động nhận ra điều này không nó sử dụng dữ liệu từ đĩa tốt khác?

Nó thậm chí có thể biết bản sao nào là tốt?

RAID 5 có bảo vệ chống tham nhũng không?

Tôi biết rằng RAID không phải là một giải pháp sao lưu. Tôi đang cố gắng tìm ra cách để đảm bảo rằng tôi không sao lưu dữ liệu bị hỏng!

Câu trả lời:


13

RAID-1 bảo vệ chống lại sự thất bại hoàn toàn của một trong hai ổ đĩa. Nếu ổ đĩa không được đánh dấu là thất bại, thì nội dung của nó được coi là chính xác. Nhưng nếu vì bất kỳ lý do gì, một trong hai ổ đĩa đang trả về dữ liệu không nhất quán, thì lỗi đó sẽ không được hệ thống RAID phát hiện và ứng dụng sẽ nhận được dữ liệu xấu.

Nhiều bộ điều khiển có một quy trình xác minh chạy định kỳ, nhưng mục đích của việc này là để kiểm tra lỗi đĩa chứ không phải toàn vẹn dữ liệu. Các ổ đĩa cứng thực hiện các kiểm tra và kiểm tra tính toàn vẹn dữ liệu của riêng họ mà họ sử dụng để phát hiện các thành phần xấu, nhưng thuật toán được thiết kế nhanh và gọn, không triệt để, do đó lỗi có thể bị rò rỉ.

Mặc dù tham nhũng dữ liệu là ngoại lệ chứ không phải là quy tắc, nhưng nó cũng không phải là chưa từng nghe thấy. Ví dụ, một thành viên của nhóm ZFS đã báo cáo trong một cuộc phỏng vấn khi thấy dữ liệu bị hỏng được cung cấp cho họ bởi thiết bị RAID-5 cao cấp của họ mà họ phát hiện ra nhờ vào việc ZFS thực hiện kiểm tra ở cấp hệ thống tập tin đó.


5

Nó phụ thuộc vào nơi tham nhũng bắt nguồn từ. Nếu một ổ đĩa trong gương RAID 1 bị vặn và viết vô nghĩa thì gương RAID sẽ xuống cấp và ổ đĩa tốt sẽ được sử dụng và bạn sẽ có các tệp tốt. Trong trường hợp RAID 5, việc này được thực hiện với 2 ổ dữ liệu và ổ đĩa chẵn lẻ (ở dạng đơn giản nhất) và nếu một trong 3 ổ đĩa không ghi được các tệp thích hợp thì nó sẽ bị lỗi và bạn sẽ bị mất 2 dữ liệu ổ đĩa hoặc 1 ổ dữ liệu và ổ đĩa chẵn lẻ.

Bây giờ hãy xem điều gì xảy ra nếu tham nhũng là do virus hoặc lỗi trong chương trình gây ra. Trong RAID 1 và RAID 5, không có ổ đĩa nào được đưa ra khỏi dịch vụ vì các ổ đĩa đang ghi đúng. Không có gì thất bại. Tuy nhiên, các tệp sẽ bị hủy vì vi-rút hoặc lỗi đang ghi rác và nó sẽ ghi nó vào cả hai ổ đĩa của bạn trong máy nhân bản RAID 1 và cho cả 3 ổ đĩa của bạn trong hệ thống RAID 5.

Đó là lý do tại sao RAID không được sao lưu. Nó ngăn chặn sự cố có khả năng nhất là lỗi đĩa nhưng nó không giải thích cho nhiều tình huống khác.


4
+1 "Đây là lý do tại sao RAID không phải là bản sao lưu" Chúa mới biết tôi đã nghe bao nhiêu lần "Tôi ổn, sao lưu của tôi được bảo vệ bằng RAID"
Urda

2
Làm thế nào RAID có thể phân biệt giữa dữ liệu nào là tốt và xấu?

1
Shaun ... nếu dữ liệu của bạn bị virus ăn hoặc vô tình xóa, RAID không bao giờ có thể phân biệt nó là tốt hay xấu. Tất cả các RAID chịu trách nhiệm đảm bảo rằng (trong RAID 1) rằng cả hai đĩa đều bằng nhau. Nếu một khu vực không kiểm tra được, bộ điều khiển RAID sẽ bù để sửa chữa nó hoặc kích hoạt việc xây dựng lại. Trong RAID 5, nếu một sector không kiểm tra tính chẵn lẻ, việc xây dựng lại được kích hoạt. RAID bảo vệ các ổ đĩa vật lý khỏi bị lỗi và dẫn đến mất dữ liệu. Họ không thể bảo vệ chống lại dữ liệu bị mất do lỗi chương trình hoặc vi-rút.
Urda

6
Đặc tính của bạn về RAID 5 là không chính xác. Không có ổ đĩa chẵn lẻ riêng biệt, thay vào đó, chẵn lẻ được phân phối trên tất cả các ổ đĩa. Bạn kết thúc với tổng không gian có sẵn là n-1, nhưng không có ổ đĩa dành riêng cho tính chẵn lẻ.
MDMarra

2
Tôi phải downvote này. RAID1 không thực hiện kiểm tra, nó chỉ bảo vệ chống lại lỗi ổ đĩa hoàn toàn. Nếu một ổ đĩa bắt đầu trả lại rác, nó không có cách nào để biết cái nào đúng và sẽ vui vẻ trả lại dữ liệu rác. RAID5 Tôi không chắc chắn, vì kiểm tra chẵn lẻ. Đây chính xác là lý do tại sao các hệ thống tệp như ZFS và BTRFS được phát minh, để bạn có được một hệ thống giống như RAID 'nhận biết dữ liệu', có thể sửa dữ liệu rác một cách thích hợp bằng cách sử dụng tổng kiểm tra để xác minh các khối dữ liệu.
Alex

5

Như những người khác đã lưu ý, một hệ thống raid1 không có cách nào để biết khu vực nào trong hai lĩnh vực là xấu.

Các hệ thống đột kích cấp cao hơn chạy một hoạt động chà trong nền để so sánh cả hai bản sao và cờ khác biệt. Tốt hơn nữa là một hệ thống đọc cả hai khối từ ổ đĩa mỗi lần và so sánh chúng tại thời điểm đọc. Tuy nhiên, việc giải quyết những khác biệt đó là không thể đối với bộ điều khiển đột kích.

Trên các hệ thống Unix dưới mdadm, có thể bắt đầu kiểm tra chà với "sync_action":

mảng md có thể được lọc bằng cách viết hoặc kiểm tra hoặc sửa chữa tệp md / sync_action trong thư mục sysfs cho thiết bị.

Yêu cầu chà sẽ khiến md đọc mọi khối trên mọi thiết bị trong mảng và kiểm tra xem dữ liệu có phù hợp không. Đối với RAID1 và RAID10, điều này có nghĩa là kiểm tra xem các bản sao có giống nhau không. Đối với RAID4, RAID5, RAID6, điều này có nghĩa là kiểm tra xem khối chẵn lẻ có đúng (hoặc khối) không.

raid1 là tất cả về bảo vệ khỏi sự thất bại hoàn toàn ổ đĩa. Tìm nơi khác để bảo vệ chống tham nhũng. Ngoài ra, Raid1 không cung cấp "lịch sử", vì vậy không thể phục hồi từ lỗi của con người hoặc phần mềm. Hãy tìm đến các hệ thống tệp như ZFS hoặc hệ thống lưu giữ lịch sử như Hammer để bảo vệ chống tham nhũng.


3

Trong thực tế, có. Phần lớn các lỗi ổ cứng xảy ra tất cả - hoặc không có gì. (A) cáp được rút ra hoặc vi điều khiển ổ đĩa bị lỗi, vì vậy bộ điều khiển RAID hoàn toàn không có phản hồi - ổ đĩa bị lỗi rõ ràng. Hoặc (b) Bộ vi điều khiển cáp và ổ đĩa đều tốt, nhưng khi nó cố đọc một khu vực, bộ vi điều khiển ổ đĩa bên trong phát hiện hỏng dữ liệu vì kiểm tra ECC bên trong không thành công và lặp đi lặp lại để đọc khu vực đó (trong trường hợp đó là lỗi đọc tạm thời ) cuối cùng đã hết thời gian, vì vậy bộ điều khiển RAID nhận được phản hồi "xin lỗi" lịch sự - ổ đĩa bị lỗi rõ ràng. Dù bằng cách nào, rõ ràng với bộ điều khiển RAID-1 hoặc RAID-5 rằng ổ đĩa đã bị lỗi.

Về nguyên tắc, không. Nếu có điều gì đó không ổn đến mức một ổ cứng đang viết vô nghĩa, nhưng bằng cách nào đó hoạt động đủ tốt để viết mã ECC nội bộ chính xác cho điều vô nghĩa đó, thì RAID-1 không thể biết ổ đĩa nào là chính xác. Hệ thống RAID-1 có thể sẽ ghi đè lên dữ liệu tốt với dữ liệu bị hỏng trên đồng bộ lại. RAID-5 không tốt hơn. Sự cố mất điện "lỗ ghi RAID-5" trong khi ghi hoạt động là một trường hợp đặc biệt hiếm gặp nhưng không phải là không thể.

Theo tôi biết, cách duy nhất để tránh tham nhũng đó là sử dụng tổng kiểm tra đầu cuối ngoài việc phản chiếu tệp, tự động là một phần của hệ thống tệp (ZFS hoặc Btrfs) hoặc định kỳ hoặc thủ công (tính toán lại tổng kiểm tra rsync, xác minh tệp đơn giản, bộ tệp Parchive, v.v.); lý tưởng với hàm băm mật mã như SHA-256.


Bất kỳ cơ hội nào bạn cũng có thể đưa ra câu trả lời cho câu hỏi này .... superuser.com/questions/736612/ Kẻ
Mick
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.