Q: MDADM không khớp_nt> 0. Có cách nào để xác định khối nào không đồng ý không?


12

Được chứ. Sau khi chà thường xuyên, MDADM RAID5 của tôi đang báo cáo mismatch_cnt = 16. Theo tôi hiểu, điều này có nghĩa là trong khi không có thiết bị nào báo lỗi đọc, có 16 khối mà dữ liệu và tính chẵn lẻ không đồng ý.

Câu hỏi số 1: Người ta có thể có được danh sách các khối này không?

Câu hỏi số 2: Giả sử # 1 là có thể, với điều kiện là hệ thống tập tin cơ bản là EXT4, có cách nào để xác định tập tin nào được liên kết với các khối này không?

Tôi có các bản sao lưu gần và trong một thế giới lý tưởng, tôi chỉ có thể làm khác mảng trực tiếp với dữ liệu sao lưu để xác định vị trí bất kỳ tệp nào bị hỏng âm thầm. Nhưng thực tế việc thu hồi 6TB dữ liệu sao lưu sẽ vừa tốn kém vừa tốn thời gian. Biết nơi để tìm và những gì để phục hồi sẽ đơn giản hóa rất nhiều thứ.

(Tôi nên lưu ý rằng tôi chỉ chạy chương trình chà RAID với tùy chọn 'kiểm tra'. Chạy chà với tùy chọn 'sửa chữa' có vẻ rất nguy hiểm vì MDADM chỉ biết rằng dữ liệu hoặc tính chẵn lẻ là sai nhưng không biết là gì. Vì vậy, dường như có 50% khả năng MDADM đoán sai và tái tạo lại dữ liệu không chính xác. Do đó tôi muốn biết tệp nào có khả năng bị ảnh hưởng để tôi có thể khôi phục chúng từ bản sao lưu, nếu cần)

Bất kỳ đề xuất đánh giá rất cao!


kiểm tra dmesghoặc / var / log / syslog?
psusi

Chào. Gần như tôi có thể nói, các tin nhắn duy nhất được ghi vào syslog bởi bộ lọc là các tin nhắn bắt đầu và dừng. Không có tin nhắn liên quan đến sự không phù hợp đã được ghi lại.
arcasinky

Xem icheck+ nchecktrong debugfsđể xác định các tệp dựa trên offset của ngành.
sch

Tôi đã thử thêm đăng nhập cho số ngành. Bây giờ tôi đang cố gắng tìm ra những việc cần làm tiếp theo: unix.stackexchange.com/questions/266432/ mẹo
Peter Cordes

2
Tôi biết không có gì nói đĩa là xấu, nhưng kiểm tra chúng. Sử dụng gói smartmontools để làm như vậy cho từng đĩa (như trong smartctl -a /dev/sdavà v.v.) hoặc sử dụng bất kỳ phương pháp nào khác bạn có để chạy thử nghiệm SMART ngắn trên mỗi đĩa và in báo cáo đầy đủ. Rất có khả năng một trong số họ sắp chết và phải chịu một mức độ nghiêm trọng nghiêm trọng để kích hoạt báo động sức khỏe SMART tổng thể.
đệm

Câu trả lời:


1

Xin lỗi, 'kiểm tra' thực sự ghi lại vào mảng khi gặp lỗi - xem https://www.apt-browse.org/browse/ubfox/trusty/main/amd64/mdadm/3.2.5-5ubuntu4/file /usr/share/doc/mdadm/README.checkarray

'Kiểm tra' là thao tác chỉ đọc, mặc dù các bản ghi kernel có thể đề xuất khác (ví dụ / Proc / mdstat và một số thông báo kernel sẽ đề cập đến "resync"). Xin vui lòng xem câu hỏi 21 của Câu hỏi thường gặp.

Tuy nhiên, trong khi đọc, xảy ra lỗi đọc, kiểm tra sẽ kích hoạt phản hồi bình thường để đọc các lỗi đó là tạo ra dữ liệu 'chính xác' và cố gắng ghi ra - vì vậy có thể 'kiểm tra' sẽ kích hoạt viết. Tuy nhiên, trong trường hợp không có lỗi đọc, nó chỉ đọc.

... Vì vậy, có thể đã quá muộn để thu thập dữ liệu bạn đang tìm kiếm, xin lỗi.

Về lâu dài, đáng chú ý là RAID5 (và 6 và 1) không có khả năng bảo vệ chống lại sự quay vòng bit , có khả năng là tình huống bạn gặp phải. Khi dữ liệu trong một đĩa bị hỏng, họ không có cách nào xác định dữ liệu nào là tốt so với xấu. Tôi khuyên bạn nên lập kế hoạch để di chuyển đến một hệ thống tập tin kiểm tra từng đĩa như btrfs hoặc zfs.

(RAID-5 thực sự không nên được sử dụng trong các triển khai mới - và thực sự không nên sử dụng dung lượng của các đĩa thô trên 2TB - xem http://www.zdnet.com/article/why-ston-5- ngừng hoạt động trong năm 2009 / )

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.