Làm cách nào tôi có thể giảm thời gian chờ IO và thời gian thử lại để HĐH không liên tục cố ghi vào ổ đĩa bị lỗi?
Tôi có một hệ thống mà tôi sử dụng để tạo các bản sao nội dung demo được cho khách hàng mượn trên các ổ cứng máy tính để bàn thông thường. Chúng tôi kết nối nhiều ổ đĩa cùng một lúc thông qua SAS và sao chép nội dung vào chúng bằng tập lệnh.
Bởi vì các ổ đĩa được cho mượn, đôi khi một số trở lại bị hỏng nhưng tôi không biết rằng chúng bị hỏng, vì vậy lần sau ổ đĩa đó được sử dụng lại trong một hoạt động sao chép, nó làm chậm các ổ đĩa khác khi hệ thống thử lại IO cho ổ đĩa đó. Đôi khi có thể mất vài giờ trước khi tôi nhận thấy ổ đĩa xấu và loại bỏ nó. Sau khi ổ đĩa được gỡ bỏ, phần còn lại của ổ đĩa bắt đầu ghi ở tốc độ bình thường.
Tôi không quan tâm đến việc khôi phục các ổ đĩa xấu. Tôi chỉ cần loại bỏ chúng để chúng không làm chậm mọi thứ khác.
Tôi cũng đang nghiên cứu các badblocks và smartmontools và xem xét việc viết một kiểm tra trước trên các ổ đĩa trước khi tôi bắt đầu viết.
HĐH: Ubuntu Linux (12,04 lts)
ddrescue
nó thậm chí không chạm vào các lĩnh vực được báo cáo bởi SMART.)
udisks
/smartmonctl
? Một vấn đề XY cổ điển ở đây, methinks.