RAID-5: Hai đĩa bị lỗi đồng thời?


21

Chúng tôi có máy chủ Dell PowerEdge T410 chạy CentOS, với mảng RAID-5 chứa 5 đĩa SATA Seagate Barracuda 3 TB. Hôm qua hệ thống bị sập (tôi không biết chính xác như thế nào và tôi không có bất kỳ nhật ký nào).

Khi khởi động vào BIOS bộ điều khiển RAID, tôi thấy rằng trong số 5 đĩa, đĩa 1 được dán nhãn là "mất tích" và đĩa 3 được dán nhãn là "xuống cấp". Tôi buộc đĩa 3 sao lưu và thay thế đĩa 1 bằng ổ cứng mới (có cùng kích thước). BIOS đã phát hiện ra điều này và bắt đầu xây dựng lại đĩa 1 - tuy nhiên nó bị kẹt ở% 1. Chỉ báo tiến độ quay không nhúc nhích suốt đêm; hoàn toàn đóng băng

lựa chọn của tôi là gì đây? Có cách nào để thử xây dựng lại, ngoài việc sử dụng một số dịch vụ phục hồi dữ liệu chuyên nghiệp không? Làm thế nào hai ổ cứng có thể thất bại đồng thời như vậy? Có vẻ quá trùng hợp. Có thể là đĩa 1 không thành công và kết quả là đĩa 3 "không đồng bộ hóa?" Nếu vậy, có tiện ích nào tôi có thể sử dụng để lấy lại "đồng bộ hóa không?"


20
Vâng, đĩa sata lớn có xu hướng làm điều đó. (Việc xây dựng lại 3 TB mất nhiều giờ trong khi bạn gặp phải các lỗi kép). Vì vậy, điều này được mong đợi và đó là lý do tại sao RAID-5 sử dụng cấu hình như vậy hoàn toàn không được khuyến khích.
MichelZ

9
Thật. Trong một thế giới lý tưởng tỷ lệ thất bại ổ đĩa được phân phối ngẫu nhiên. Trên thực tế, điều này không xảy ra - chúng thường được mua từ cùng một đợt và chịu cùng một căng thẳng, điều đó có nghĩa là tất cả chúng bắt đầu kết thúc cuộc sống cùng một lúc. Một sự thay đổi đột ngột trong quá trình tải có thể dễ dàng đưa ra một số 'vượt quá giới hạn', ngay cả trước khi bạn bắt đầu xem xét tỷ lệ lỗi không thể phục hồi trên các đĩa SATA. Dù sao đi nữa - tôi sợ tin xấu là, trừ khi bạn có thể lấy một trong những ổ đĩa đó trực tuyến, đã đến lúc lấy bản sao lưu ra.
Sobrique


5
Tôi biết bây giờ nó không giúp được gì nhiều, nhưng chỉ là FYI - sự đồng thuận chung là sử dụng RAID6 cho các ổ đĩa lớn hơn 1TB (nhất là khi chúng ta nói về 7200rpm).
pauseka

2
RAID 5 cho khả năng chịu lỗi, nhưng đó là một tùy chọn thỏa hiệp - bạn có khả năng phục hồi N + 1, nhưng nếu bạn có ổ đĩa lớn, bạn có một cửa sổ lớn, nơi có thể xảy ra lỗi thứ hai. RAID-6 cung cấp khả năng chịu lỗi N + 2, thường được coi là tốt (tỷ lệ thất bại ba lần thấp hơn rất nhiều). Tuy nhiên, bạn cũng sẽ tìm thấy tỷ lệ thất bại của các đĩa đắt tiền hơn (ví dụ: không phải ổ đĩa SATA giá rẻ)
Sobrique

Câu trả lời:


24

Sau khi bạn chấp nhận một xấu câu trả lời, tôi thực sự xin lỗi vì quan điểm dị giáo của tôi (mà lưu mảng như vậy nhiều lần rồi).

Đĩa thất bại thứ hai của bạn có thể có một vấn đề nhỏ, có thể là lỗi khối. Đây là nguyên nhân, tại sao công cụ đồng bộ hóa xấu của phần mềm raid5 xấu của bạn bị sập trên nó.

Bạn có thể dễ dàng tạo một bản sao cấp ngành bằng công cụ nhân bản đĩa lowlevel (ví dụ, gddresTHER có thể rất hữu ích) và sử dụng đĩa này làm đĩa mới3. Trong trường hợp này, mảng của bạn tồn tại với một lỗi dữ liệu nhỏ.

Tôi xin lỗi, có lẽ đã quá muộn, vì bản chất của câu trả lời chính thống trong trường hợp này: "thất bại nhiều lần trong một cuộc đột kích5, đây là ngày tận thế!"

Nếu bạn muốn cuộc đột kích rất tốt, dự phòng, hãy sử dụng cuộc đột kích phần mềm trong linux. Ví dụ, bố cục dữ liệu siêu chặn đột kích của nó là công khai và được ghi lại ... Tôi thực sự xin lỗi, vì ý kiến ​​dị giáo này của tôi.


8
Xấu hổ vì điều này đã bỏ phiếu, nó thực sự cố gắng giúp OP sửa chữa mớ hỗn độn không giống như một số người khác. +1
Vality

3
@Vality nó không cố gắng giải quyết mớ hỗn độn, nó mở rộng vấn đề của anh ta. Một raid5 với các khối bị hỏng bị cháy trong không có kết thúc đau đớn vì nó sẽ vượt qua kiểm tra tính toàn vẹn nhưng thường xuyên xuống cấp. Ngoài ra anh ta sẽ không biết dữ liệu nào bị hỏng. Nếu nó dễ như sửa một khối thì đó sẽ là giải pháp chuẩn.
JamesRyan

4
@JamesRyan Tôi đồng ý rằng nó sẽ gây ra một số vấn đề sau này và tôi thậm chí đồng ý rằng có những vấn đề tiềm ẩn ở đây. Tuy nhiên, nó cung cấp một giải pháp hợp lệ về cách lấy lại một số chức năng và vì OP đã nói về các chuyên gia phục hồi dữ liệu, tôi chỉ có thể giả sử rằng họ không có bản sao lưu để lấy lại dữ liệu của họ. Cuối cùng, giải pháp này sẽ chỉ là một phần của sửa chữa, một khi phương pháp này đã khởi động lại hệ thống, bạn có thể muốn chuyển hệ thống tập tin sang 5 đĩa mới và sau đó sao lưu quan trọng.
Vality

1
"Bạn có thể dễ dàng tạo một bản sao cấp ngành của một công cụ sao chép khối" Đây có thực sự là những gì bạn muốn viết không?
Arnaud Meuret

1
@MikeFurlender Tôi nghĩ phần cứng nhanh hơn, nhưng độc quyền và do đó dễ vỡ vì bạn cần có bộ điều khiển chính xác trong trường hợp không thành công. RAID phần mềm độc lập với phần cứng. Xem btrfs và zfs.
Martin Uting

38

Bạn có một lỗi đĩa đôi. Điều này có nghĩa là dữ liệu của bạn đã biến mất và bạn sẽ phải khôi phục từ bản sao lưu. Đây là lý do tại sao chúng tôi không nên sử dụng đột kích 5 trên các đĩa lớn. Bạn muốn thiết lập cuộc đột kích của mình để bạn luôn có khả năng chịu được hai lỗi đĩa, đặc biệt là với các đĩa lớn chậm.


3
Có hai vấn đề với RAID5. Thứ nhất: xây dựng lại thời gian 3TB, với một ổ đĩa chậm chậm có thể lớn, khiến tỷ lệ thất bại gộp cao. Cái khác là tốc độ lỗi bit không thể phục hồi - bảng thông số kỹ thuật trên hầu hết các ổ đĩa SATA có 1/10 ^ 14, tức là - xấp xỉ - 12TB dữ liệu. Với 5 cách, RAID 3B, điều này trở nên gần như không thể tránh khỏi khi cần xây dựng lại.
Sobrique

1
Tôi sử dụng RAID5 trên mảng ổ đĩa 3TB 5 của mình, tôi đã chơi với việc lấy một mảng thứ hai để sử dụng như một bản sao của bản thứ nhất. Cách đó để tôi mất dữ liệu sẽ yêu cầu nhiều hơn 1 đĩa bị lỗi trên cả hai mảng cùng một lúc (vì vậy tôi sẽ cần 4 đĩa) nhưng vẫn giữ số lượng lớn đó cho dung lượng khả dụng. Đọc xong tôi có thể bước lên khung thời gian đó để lấy mảng thứ hai.
Chiến tranh

1
Anh ta có lẽ chỉ có một badblock trên đĩa3. Tôi thực sự tự hỏi tại sao một sysadmin chuyên nghiệp không bao giờ nghe thấy từ các công cụ sao chép cấp khối.
peterh nói phục hồi lại

1
@Wardy, sẽ không đột kích 6 cung cấp cho bạn điều đó?
Basil

3
Không phải là một câu trả lời rất hữu ích. Chắc chắn, với lỗi đĩa đôi trên RAID 5, cơ hội phục hồi là không tốt. Nhưng hầu hết các lỗi đĩa đôi trên RAID 5 có lẽ chỉ là vấn đề của một đĩa bị lỗi và một vài lỗi đọc không được sửa chữa trên các đĩa khác. Nếu đó là trường hợp, việc khôi phục hầu hết dữ liệu vẫn có thể được cung cấp đúng công cụ. Con trỏ đến các công cụ như vậy sẽ hữu ích.
kasperd

37

Lựa chọn của bạn là:

  1. Khôi phục từ bản sao lưu.
    • Bạn làm có sao lưu, không bạn? RAID không phải là một bản sao lưu.

  2. Phục hồi dữ liệu chuyên nghiệp
    • Mặc dù rất tốn kém và không được bảo đảm, một dịch vụ khôi phục chuyên nghiệp sẽ có thể khôi phục dữ liệu của bạn.

  3. Chấp nhận mất dữ liệu của bạn và học hỏi từ kinh nghiệm.
    • Như đã lưu ý trong các nhận xét, các đĩa SATA lớn không được khuyến nghị cho cấu hình RAID 5 vì có khả năng xảy ra lỗi kép trong quá trình xây dựng lại khiến mảng bị lỗi.
      • Nếu nó phải là RAID chẵn lẻ, RAID 6 sẽ tốt hơn và lần sau cũng sử dụng một phụ tùng nóng.
      • Các đĩa SAS tốt hơn vì nhiều lý do, bao gồm độ tin cậy, khả năng phục hồi cao hơn và tỷ lệ lỗi bit không thể phục hồi thấp hơn có thể gây ra URE (lỗi đọc không thể phục hồi)
    • Như đã nói ở trên, RAID không phải là bản sao lưu. Nếu dữ liệu quan trọng, hãy đảm bảo rằng nó đã được sao lưu và các bản sao lưu của bạn đã được kiểm tra khôi phục.

1
Nếu bạn có 5 đĩa (theo OP) và được cam kết dự phòng nóng, chắc chắn bạn sẽ dùng RAID10 qua RAID6 ...?
jimbobmcgee

1
Chà, đối với người mới bắt đầu - bạn sẽ sử dụng 4 cọc trong RAID 1 + 0 để có được 2 đĩa trống, để lại một đĩa 'dự phòng'. Bạn có thể chịu đựng hai thất bại (ít nhất là hai bên phải). RAID6 sẽ cung cấp cho bạn 3 đĩa dung lượng và cũng có thể chịu được hai lỗi (bất kỳ hai). RAID1 + 0 có khả năng hoạt động tốt hơn, với mức phạt ghi thấp hơn và khả năng đọc ngẫu nhiên tốt hơn (có thể được đọc từ một trong hai trục chính).
Sobrique

Đối với điểm 2. Phục hồi dữ liệu. Phục hồi dữ liệu từ RAID5 một cách chuyên nghiệp có thể giúp bạn kiếm được $ 20k dễ dàng. Hơn nữa, OP cho phép xây dựng lại chạy qua đêm, gây căng thẳng cho đĩa, điều này có thể khiến việc phục hồi trở nên khó khăn hơn hoặc thậm chí là không thể. Chỉ cần cho bạn biết trước thời hạn. Hãy chắc chắn để gửi tất cả các đĩa.
Toàn năngEntity

4

Thất bại đồng thời là có thể, thậm chí có thể xảy ra, vì những lý do mà người khác đã đưa ra. Khả năng khác là một trong những đĩa đã bị hỏng một thời gian trước đó và bạn không chủ động kiểm tra nó.

Đảm bảo rằng giám sát của bạn sẽ nhận được một ổ RAID đang chạy ở chế độ xuống cấp. Có thể bạn không nhận được một tùy chọn nhưng sẽ không bao giờ tốt khi phải học những điều này từ BIOS.


3
+1 để đề cập đến giám sát bị bỏ quên. Điều quan trọng cần lưu ý là bước "bình thường" -> "quan trọng", không phải là bước "quan trọng" -> "thất bại". Điều này cũng áp dụng tương tự cho tất cả các loại dự phòng khác (đường dây dự phòng, bia trong tầng hầm, lốp dự phòng, ...).
Hagen von Eitzen

2

Để trả lời "Làm thế nào hai ổ cứng có thể thất bại đồng thời như vậy?" chính xác, tôi muốn trích dẫn từ bài viết này :

Mấu chốt của lập luận là điều này. Khi các ổ đĩa đã trở nên lớn hơn và lớn hơn (xấp xỉ gấp đôi trong hai năm), URE (lỗi đọc không thể phục hồi) đã không được cải thiện với cùng tốc độ. URE đo tần suất xuất hiện của Lỗi đọc không thể phục hồi và thường được đo bằng lỗi trên mỗi bit đọc. Ví dụ, tốc độ URE là 1E-14 (10 ^ -14) ngụ ý rằng về mặt thống kê, lỗi đọc không thể phục hồi sẽ xảy ra một lần trong mỗi 1E14 bit đọc (1E14 bit = 1,25E13 byte hoặc khoảng 12TB).

...

Lập luận là khi dung lượng đĩa tăng lên và tốc độ URE không cải thiện với cùng tốc độ, khả năng lỗi xây dựng lại RAID5 tăng theo thời gian. Theo thống kê, ông cho thấy rằng trong năm 2009, dung lượng ổ đĩa đã tăng đủ để khiến việc sử dụng RAID5 trở nên vô nghĩa đối với bất kỳ mảng có ý nghĩa nào.

Vì vậy, RAID5 không an toàn trong năm 2009. RAID6 cũng sẽ sớm ra mắt. Đối với RAID1, tôi bắt đầu làm cho chúng ra khỏi 3 đĩa. RAID10 với 4 đĩa cũng bấp bênh.


3
Một lần nữa, RAID không phải là một giải pháp thay thế dự phòng, hoàn toàn là về việc thêm "vùng đệm" trong đó đĩa có thể được thay thế để giữ dữ liệu khả dụng ... có sẵn. Tùy chọn khác là sử dụng sao chép sẽ yêu cầu 2 mảng bị lỗi cùng một lúc ... tôi sẽ ít nghĩ đến hơn.
Chiến tranh

Cá nhân, tôi không thích câu thần chú rằng RAID không phải là bản sao lưu. Từ điển nói: "một người, kế hoạch, thiết bị, v.v., được giữ trong dự trữ để phục vụ như một sự thay thế, nếu cần." Nếu số lượng dự phòng là không đủ, nó sẽ không phục vụ như là một thay thế. Nếu bạn không quan tâm đến việc RAID dự phòng cung cấp, bạn cũng có thể không sử dụng nó. Đối với nó không phải là một sự thay thế cho sao lưu ngoài đĩa và ngoài trang web, đó là một vấn đề hoàn toàn khác, mà tôi đồng ý (tất nhiên).
Halfgaar

Vì vậy, suy nghĩ của bạn về những người sử dụng các sọc RAID không có dự phòng là gì? trong trường hợp này, mảng RAID đang được sử dụng hoàn toàn để đạt được lợi ích hiệu năng, đó là cách sử dụng hoàn toàn hợp lệ IMO trong tâm trí của tôi RAID phục vụ 2 mục đích 1. để cung cấp tốc độ bằng cách nhóm các ổ đĩa hoặc 2. để cung cấp một mạng lưới an toàn trong trường hợp n ổ đĩa không đảm bảo dữ liệu vẫn có sẵn.
Chiến tranh

Bất cứ ai triển khai RAID đều chọn loại RAID mà họ muốn sử dụng dựa trên nhu cầu, tốc độ, độ tin cậy hoặc sự kết hợp của cả 2 nhưng điều đó vẫn không tạo cho RAID bất kỳ hình thức giải pháp sao lưu nào.
Chiến tranh

1
Khi mọi người nói RAID không phải là bản sao lưu, họ sẽ không nói về tính khả dụng. Tôi nghĩ bạn chỉ đang chơi chữ. :)
gparent

2

Chủ đề đã cũ nhưng nếu bạn đang đọc, hãy hiểu khi một ổ đĩa bị lỗi trong một mảng đột kích, hãy kiểm tra tuổi của các ổ đĩa. Nếu bạn có một vài đĩa trong một mảng đột kích và chúng đã hơn 4-5 tuổi, rất có thể ổ đĩa khác sẽ thất bại. *** TẠO HÌNH ẢNH hoặc Sao lưu ** trước khi bạn tiến hành. Nếu bạn nghĩ rằng bạn có một bản sao lưu, hãy kiểm tra nó để đảm bảo bạn có thể đọc nó và khôi phục từ nó.

Lý do là bạn đang đặt nhiều năm hao mòn thông thường trên các ổ đĩa còn lại khi chúng quay hết tốc độ trong nhiều giờ. Số lượng ổ đĩa 6 năm càng lớn, khả năng một ổ đĩa khác sẽ thất bại do căng thẳng càng lớn. Nếu là RAID5 và bạn thổi mảng, thật tuyệt vời khi bạn có bản sao lưu nhưng đĩa 2TB sẽ mất 8 - 36 giờ để khôi phục tùy thuộc vào loại bộ điều khiển đột kích và phần cứng khác.

Chúng tôi thường xuyên thay thế toàn bộ tổ ong đột kích trên các máy chủ sản xuất nếu tất cả các ổ đĩa đều cũ. Tại sao phải lãng phí thời gian thay thế một ổ đĩa, sau đó đợi cho đến khi ổ đĩa tiếp theo thất bại trong một ngày, tuần, tháng hoặc hai. Cheep như ổ đĩa, nó chỉ không đáng thời gian xuống.


1

Thông thường khi mua nhiều ổ đĩa từ một đại lý có uy tín, bạn có thể yêu cầu các ổ đó đến từ các lô khác nhau, điều này rất quan trọng vì những lý do đã nêu ở trên. Tiếp theo, đây chính xác là lý do RAID 1 + 0 tồn tại. Nếu bạn đã sử dụng 6 ổ đĩa trong RAID 1 + 0, bạn sẽ có 9TB dữ liệu với dự phòng ngay lập tức trong đó không cần xây dựng lại một ổ đĩa.


Đâu là bằng chứng cho thấy phần về việc sử dụng các ổ đĩa từ các lô khác nhau là bất cứ điều gì ngoài một huyền thoại đô thị? Ngoài ra, RAID 1 không bảo vệ một cách kỳ diệu khỏi việc chạy vào các khu vực không thể đọc được trong quá trình xây dựng lại. Nếu bạn muốn bảo vệ chống lại điều đó, bạn hãy sử dụng RAID 6 hoặc RAID 1 với 3 gương (đắt tiền).
kasperd

1
@kasperd Tôi nghĩ rằng câu hỏi hình thành phần đầu tiên trong nhận xét của bạn tương tự như vậy, mặc dù rõ ràng là không hoàn toàn giống như, tôi có nên chạy trong một đĩa của cặp RAID 1 mới để giảm nguy cơ thất bại tương tự không? .
một CVn

1

Nếu bộ điều khiển của bạn được nhận ra bởi dmared (ví dụ ở đây ) trên linux, bạn có thể sử dụng ddresTHER để khôi phục đĩa bị lỗi sang ổ đĩa mới và sử dụng dmared để xây dựng mảng, thay vì bộ điều khiển phần cứng của bạn.

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.