Điểm:8

Có phải một ổ đĩa bị lỗi + một khu vực xấu sẽ phá hủy toàn bộ RAID 5 không?

lá cờ in

Trong quá trình lập kế hoạch thiết lập RAID của tôi trên Trạm đĩa Synology, tôi đã đọc rất nhiều về các loại RAID khác nhau, đây là một cách đọc tuyệt vời: cấp độ RAID và tầm quan trọng của URE (Lỗi đọc không thể phục hồi).

Tuy nhiên, có một điều vẫn chưa rõ ràng với tôi:

Hãy có hai kịch bản:

  1. Một mảng là một ĐỘT KÍCH 1 của 2 ổ đĩa
  2. Một mảng là một ĐỘT KÍCH 5 của 3 ổ đĩa

Các giả định giống nhau cho cả hai kịch bản:

  • Hãy có 100.000 tệp trên mảng RAID
  • Một ổ đĩa bị lỗi (cần thay thế)
  • Có một khu vực xấu (URE) xảy ra trong quá trình xây dựng lại mảng

Điều gì xảy ra? RAID có được xây dựng lại với 99.999 tệp hoạt động tốt và 1 tệp bị mất không? Hay tôi sẽ mất tất cả 100.000 tệp?

Nếu câu trả lời yêu cầu kiến ​​thức về loại hệ thống tệp, hãy giả sử BTRFS hoặc ZFS là hệ thống tệp.

djdomi avatar
lá cờ za
câu trả lời hợp lý là: nó phụ thuộc. Raid 1 là bản sao trực tiếp của ổ đĩa khác.Raid 5 cần ít nhất 3 ổ đĩa để hoạt động, trong đó Raid 1 chỉ cần 2 nhưng với thực tế là bạn đang bị hao hụt dung lượng. Và nó phụ thuộc vào lỗi là gì. Trong trường hợp của ZFS, có thể có cơ hội tốt hơn để lấy lại tệp chính xác. Tuy nhiên, cuộc tấn công sẽ không bao giờ là giải pháp cho việc không thực hiện bất kỳ bản sao lưu nào.
lá cờ in
pts
Bạn có thể muốn phân biệt các chế độ lỗi này: 1. một khu vực không thể đọc được và không thể ghi được; 2. một khu vực không thể đọc được, nhưng nó có thể được ghi đè và sau đó có thể đọc lại được.
Andrew Henle avatar
lá cờ ph
* Điều gì xảy ra? RAID có được xây dựng lại với 99.999 tệp hoạt động tốt và 1 tệp bị mất không? Hay tôi sẽ mất tất cả 100.000 tệp?* Có thể xảy ra trường hợp nào đó. Đó là lý do tại sao bạn có bản sao lưu. RAID không phải là bản sao lưu! Chỉ vì các tệp của bạn nằm trên một mảng RAID không làm cho chúng an toàn. Nếu ai đó chạy `rm -f -r /all/my/important/files`, họ sẽ biến mất *** - khỏi mọi đĩa trong mảng RAID. Điều duy nhất RAID làm là cải thiện tính khả dụng của dữ liệu của bạn.
adamsfamily avatar
lá cờ in
@AndrewHenle Bạn có thể vui lòng giải thích về phần 'Một trong hai điều có thể xảy ra' không? Cảm ơn
Andrew Henle avatar
lá cờ ph
Bạn đang cho rằng lỗi đọc chỉ xảy ra trong dữ liệu tệp. Nó cũng có thể xảy ra trong siêu dữ liệu hệ thống tập tin. Tùy thuộc vào hệ thống tệp của bạn, điều đó có thể gây mất mọi thứ được lưu trữ trong hệ thống tệp. Không bao giờ dựa vào RAID để bảo mật dữ liệu. Tất cả những gì nó làm là bảo vệ khả năng *truy cập* dữ liệu của bạn trước một số loại lỗi ổ đĩa.
J... avatar
lá cờ jp
RAID 5 hoàn toàn vô dụng đối với các ổ đĩa lớn (ví dụ: hiện đại) dành cho người tiêu dùng - chỉ cần *không sử dụng nó*. Kết thúc câu chuyện. Theo thống kê thuần túy, khả năng cao là bạn *sẽ* có ít nhất một URE trong quá trình xây dựng lại, do đó, nó chắc chắn sẽ thất bại nặng nề trong hầu hết các trường hợp. Ngay cả trong các tình huống doanh nghiệp, ổ đĩa thường có khả năng phát sinh lỗi đọc thấp hơn gấp 10 lần, thì đó vẫn là một giải pháp đáng ngờ. RAID 6 vẫn hoạt động, vì vậy nếu bạn muốn RAID chẵn lẻ, hãy sử dụng RAID đó để thay thế.
J... avatar
lá cờ jp
Dupe : [Nếu hệ thống RAID5 gặp lỗi URE trong quá trình xây dựng lại, tất cả dữ liệu có bị mất không?](https://serverfault.com/q/937547/221656)
Điểm:13
lá cờ ca

Câu trả lời ngắn gọn là nó phụ thuộc.

Trong trường hợp bạn mô tả (đĩa bị lỗi + một số cung không thể đọc được trên đĩa khác), một số bộ điều khiển RAID của doanh nghiệp sẽ tấn công toàn bộ mảng với lý do tính toàn vẹn của nó bị xâm phạm và do đó, hành động an toàn duy nhất là khôi phục từ bản sao lưu.

Một số bộ điều khiển khác (đáng chú ý nhất là từ LSI) thay vào đó sẽ đâm thủng mảng, đánh dấu một số LBA là không thể đọc được nhưng vẫn tiếp tục quá trình xây dựng lại. Nếu các LBA không thể đọc được nằm trên không gian trống thì không có dữ liệu thực nào bị mất, vì vậy đây là kịch bản tốt nhất. Nếu chúng ảnh hưởng đến dữ liệu đã được ghi, một số thông tin (hy vọng là ít giá trị) chắc chắn sẽ bị mất.

Linux MDADM rất linh hoạt, với các phiên bản mới nhất có một "khu vực sắp xếp lại" dành riêng cho một mảng bị thủng như vậy. Hơn nữa, người ta luôn có thể sử dụng đ hoặc giải cứu trước tiên hãy sao chép ổ đĩa có các cung không thể đọc được sang một đĩa mới và sử dụng đĩa đó để lắp ráp lại mảng (tất nhiên là mất một số dữ liệu).

BTRFS và ZFS, nhờ được tích hợp nhiều hơn với lớp phân bổ khối, có thể phát hiện xem dữ liệu bị mất có nằm trên không gian trống hoặc được phân bổ hay không, với báo cáo chi tiết về các tệp bị ảnh hưởng.

lá cờ jp
Tôi đã từng phải lấy lại một tệp quan trọng từ mảng RAID-0 sáu đĩa, với hai ổ đĩa bị lỗi, trong Solstice Disk Suite. Tôi nhận thấy rằng `ufsdump` vẫn sẽ đọc dữ liệu, nhưng dừng lại mỗi khi đến một khối mà nó không thể đọc được và hỏi xem có nên tiếp tục hay không. ` có | ufsdump` đã cung cấp cho tôi một luồng dữ liệu mà tôi có thể đưa vào `ufsrestore` và vì tệp quan trọng của tôi nhỏ hơn nhiều so với kích thước dải RAID nên tôi cho rằng mình có khoảng 5/6 cơ hội lấy lại tệp của mình. Điều mà tôi đã làm, dẫn đến sự vui mừng tột độ giữa các nhà phát triển - ồ, thật tuyệt!
J... avatar
lá cờ jp
Vấn đề với lỗ hổng là bạn không có cách nào dễ dàng để biết liệu dữ liệu quan trọng có bị hỏng hay không mà không thực hiện kiểm tra toàn vẹn tính toàn vẹn và bạn không thể làm điều đó trừ khi bạn có một bản sao lưu tốt để xác minh dữ liệu đó và nếu bạn ' Nếu bạn có một bản sao lưu tốt để xác minh, thì không có lý do chính đáng nào để thực hiện kiểm tra tính toàn vẹn khi bạn chỉ cần khôi phục từ bản sao lưu là xong. Tiết kiệm rất nhiều kiểm tra. Đó là lý do tại sao những người kiểm soát doanh nghiệp xem xét toàn bộ việc nâng cốc chúc mừng.
adamsfamily avatar
lá cờ in
@shodanshok Có hợp lý không khi triển khai RAID với 2 bản sao dự phòng (3 ổ đĩa chứa chính xác cùng một dữ liệu) để nếu một ổ đĩa bị chết và hai ổ đĩa còn lại có một vài thành phần xấu thì theo thống kê hầu như không thể xảy ra trường hợp các thành phần xấu đó chồng lên nhau độ tin cậy của thiết lập như vậy sẽ là 99,99999%+?
lá cờ pl
Vâng, nó được gọi là RAID 6.
shodanshok avatar
lá cờ ca
@J... một mảng bị thủng chắc chắn không phải là một tình huống tốt. Tuy nhiên, bạn *có thể* phát hiện dữ liệu nào bị ảnh hưởng: vì khối bị thủng thực sự không thể đọc được, bạn chỉ cần đọc/kết xuất dữ liệu quan trọng của mình và kiểm tra xem có lỗi sao chép nào không. Nếu bạn không thấy bất kỳ lỗi nào như vậy, dữ liệu của bạn vẫn ổn. Ngoài ra, người ta có thể đọc toàn bộ mảng, kiểm tra LBA của lỗi đọc đầu tiên và từ đây, xác định tệp bị ảnh hưởng. Đây thực sự là một công việc phức tạp ...
shodanshok avatar
lá cờ ca
@adamsf Family những gì bạn mô tả là RAID1 3 chiều. Điều này hoàn toàn có thể thực hiện được với cả Linux MDRAID và ZFS, nhưng không phải bộ điều khiển phần cứng nào cũng hỗ trợ điều này do hình phạt về dung lượng rất cao (chỉ 33% dung lượng là dành cho người dùng). Nếu xử lý RAID chẵn lẻ, bạn cần RAID6 để dự phòng gấp đôi.
J... avatar
lá cờ jp
@shodanshok Vâng, đó là rất nhiều công việc. Dễ dàng hơn để khôi phục từ các bản sao lưu. Rủi ro khi không làm điều này là bạn lỡ mất dữ liệu do bị thủng và sau đó dữ liệu xấu của bạn sẽ thay thế dữ liệu tốt trong chuỗi sao lưu của bạn. Trừ khi bạn không có bản sao lưu nào cả (nghiêm túc đấy chứ?!), hiếm khi có lý do chính đáng để sử dụng các kỹ thuật khôi phục dữ liệu cấp thấp như vậy.
shodanshok avatar
lá cờ ca
@J... còn nhiều thứ, tùy thuộc vào: một khối không thể đọc được gặp phải trong quá trình sao lưu sẽ ngay lập tức cảnh báo cho quản trị viên hệ thống vì bản thân bản sao lưu sẽ không đầy đủ (chứ không phải bị hỏng). Ngoài ra, nếu bạn có thể chắc chắn rằng lỗ thủng nằm trên dung lượng trống, thì sẽ không xảy ra mất dữ liệu. Cuối cùng, bạn nên cân nhắc rằng việc khôi phục từ bản sao lưu đi kèm với những rủi ro riêng. Một lần nữa, tôi không tranh luận rằng có một mảng bị thủng là một điều tốt; đó thực sự là một tình huống tồi tệ. Nhưng tôi cũng không thích các nhà cung cấp phần cứng hoàn toàn phá hủy mảng 100TB vì một khu vực nhỏ 512B bị hỏng không đúng lúc...
J... avatar
lá cờ jp
@shodanshok Tôi không thích các quản trị viên hệ thống không xem xét rủi ro khi chạy mảng 100TB trong RAID5 và sau đó khóc lóc khi dữ liệu của họ bị hỏng...
shodanshok avatar
lá cờ ca
@J... Tôi không ủng hộ các mảng RAID5 lớn. Tôi chỉ nhấn mạnh rằng tôi thích triển khai RAID linh hoạt hơn, nơi tôi có thể thực hiện hành động phù hợp nhất dựa trên môi trường, thay vì buộc phải đột ngột đối phó với một mảng bị tấn công và không thể truy cập, có thể trong giờ làm việc... Nhưng này - cứ thoải mái không đồng ý ;)
J... avatar
lá cờ jp
@shodanshok Tất nhiên - Tôi chỉ muốn nói rằng nếu bạn thức dậy vào một buổi sáng với một mảng RAID5 100TB bị thủng, điều tốt nhất bạn có thể làm là khôi phục từ các bản sao lưu vào RAID6 và hoàn thành nó. Có thể bạn có thể vá vết thủng đó, nhưng nó chỉ đẩy cái hộp xuống đường vì nó sẽ xảy ra lần nữa và có thể tồi tệ hơn vào lần sau.
adamsfamily avatar
lá cờ in
@AntonTykhyy Trả lời: *Vâng, nó được gọi là RAID 6.* - Ok, chỉ cần làm rõ: trong RAID6 sau khi một ổ đĩa bị lỗi và sau đó là một khu vực xấu trên ổ đĩa thứ hai, liệu mảng có thể được xây dựng lại một cách vui vẻ không vì nó sẽ nguồn khu vực xấu từ ổ đĩa khác? Đề cập đến bài đọc này: https://www.zdnet.com/article/why-raid-6-stops-working-in-2019/
adamsfamily avatar
lá cờ in
@shodanshok Trả lời: *Những gì bạn mô tả là RAID1 3 chiều. Điều này hoàn toàn có thể thực hiện được với cả Linux MDRAID và ZFS* - đây là một tin tuyệt vời! Tôi có một lập luận mạnh mẽ chống lại "Tốt hơn là khôi phục từ bản sao lưu" - Tôi cho rằng không phải vì nếu bạn có một hệ thống sống hoạt động 24/7 (hầu hết mọi thứ hiện nay) thì việc khôi phục từ bản sao lưu đồng nghĩa với thời gian chết và điều đó thật tồi tệ . Tôi nghĩ sẽ tốt hơn nhiều nếu sống chung với mức phạt 33/66% của RAID1 3 chiều, điều này sẽ mang lại kết quả với những khách hàng hài lòng và dịch vụ không có thời gian ngừng hoạt động. Tôi chỉ cần tìm hiểu xem điều đó có khả thi trên Synology DS hay không.
adamsfamily avatar
lá cờ in
@shodanshok Có vẻ như Synology (sử dụng Linux MDADM) có khả năng RAID1 3 chiều và cả 4 chiều, điều đó có nghĩa là bằng cách thay thế 1 ổ cứng mỗi năm, hệ thống có thể chạy gần như mãi mãi. (https://www.synology.com/en-global/company/news/article/Synology_Showcases_Full_featured_NAS_Server_the_DiskStation_and_its_System_Software_DiskStation_Manager_2_3_at_DSE_2010/Synology)
lá cờ pl
Nó sẽ được thôi. Kinh nghiệm cá nhân.
J... avatar
lá cờ jp
@adamsf Family `khôi phục từ bản sao lưu có nghĩa là thời gian ngừng hoạt động` Nếu bạn bị thủng **bạn đã ngừng hoạt động** và sẽ không an toàn nếu tiếp tục sử dụng mảng cho đến khi bạn có thể xác minh tính toàn vẹn của nó. Và vâng, RAID6 có thể chấp nhận một ổ đĩa bị lỗi và bất kỳ số lượng lỗi đọc nào miễn là hai trong số các ổ đĩa còn lại không bị lỗi trên cùng một khu vực. RAID5 hoàn toàn là thứ rác rưởi vào năm 2021 và nó không phải là giải pháp phù hợp trong hầu hết mọi trường hợp.
adamsfamily avatar
lá cờ in
@J...- *Nếu bạn bị thủng nghĩa là bạn đã thất bại rồi* - Nếu tôi có RAID 1 3 chiều và một đĩa bị lỗi và đĩa kia có các thành phần xấu ở đây hoặc ở đó, miễn là chúng không trùng nhau, tôi sẽ ổn với thời gian chết bằng không. Sau đó, tôi có thể thay thế từng đĩa bị lỗi mà vẫn hoạt động bình thường 100%. Tôi có thiếu thứ gì không?
J... avatar
lá cờ jp
@adamsf Family Điều duy nhất bạn còn thiếu là tình huống bạn đã mô tả *không phải là một vết thủng*. Đó là một *mảng xuống cấp*, nghĩa là nó đã mất một phần hoặc toàn bộ phần dư thừa nhưng dữ liệu còn lại vẫn còn nguyên vẹn. Một mảng RAID5 với một đĩa xấu không bị thủng - nó bị xuống cấp. Nếu trong quá trình xây dựng lại, bạn gặp lỗi URE, ** thì ** mảng của bạn bị thủng (tức là: không phải tất cả dữ liệu đều có thể được bảo toàn).
J... avatar
lá cờ jp
@adamsf Family Tôi đề xuất rằng *trong trường hợp RAID5 bị thủng*, khôi phục từ bản sao lưu là tùy chọn tốt hơn, nhưng cụ thể là khôi phục về *cấp độ RAID khác* vì nó cho bạn cơ hội bỏ RAID5 và khôi phục bản sao lưu của mình đến một kiến ​​trúc lành mạnh hơn không dễ bị thủng trong tương lai (ví dụ: RAID6, RAID1 3 chiều, v.v.). RAID6 hiệu quả hơn với không gian nhưng chậm hơn, kém hiệu quả hơn. Một trong hai sẽ vượt trội so với RAID5, vốn thiếu đủ dự phòng để thực sự hoạt động như dự định.
lá cờ jp
Nếu dữ liệu của bạn thực sự quan trọng, hãy xem xét một mảng 4 đĩa đột kích-1 trở lên. Bộ điều khiển "đột kích" phần cứng lười biếng thường không hỗ trợ mảng đột kích-1 lớn hơn 2 đĩa, mặc dù tôi không thể nghĩ ra lý do nghiêm trọng tại sao lại không. Nhưng cuộc đột kích TRUE, được thực hiện trong nhân linux với mdadm hỗ trợ nó một cách dễ dàng và dễ dàng. Ngoài ra, nếu bạn đang sử dụng btrfs, bạn nên đọc về cách btrfs triển khai các kỹ thuật giống như đột kích và sao chép ở mức âm lượng. Về cơ bản, một hệ thống tệp btrfs có thể mở rộng trên nhiều thiết bị khối. Và thực sự gọn gàng, nó có thể thực hiện hai lần sao chép đột kích1 trên BA đĩa, luân phiên đĩa nào chứa tệp nào
adamsfamily avatar
lá cờ in
@J... điểm công bằng, đồng ý.
adamsfamily avatar
lá cờ in
@BillyC. Thật thú vị, chưa bao giờ nghe nói về khả năng này của `btrfs`, có thể thay thế RAID.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.