Есть сервер с несколькими винтами Seagate ST3000DM001 сомнительного качества, тем не менее поначалу работавший стабильно. На сервере крутится Citrix XenServer с десятком Windows виртуалок, которые распределены по 3 дискам (образы хранятся в LVM). В системе также имеется 4 диск, который довольно быстро вышел из строя с симптомами
183 Runtime_Bad_Block 0x0032 099 099 000 Old_age Always - 1
187 Reported_Uncorrect 0x0032 001 001 000 Old_age Always - 305
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 65537
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 8
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 8
Периодически, раз в неделю-две-три, случается ситуация, когда все винты разом отваливаются. Хост-система при этом продолжает работать, хотя смонтированные разделы становятся недоступны - «Input/output error». По моим наблюдениям падения случаются не в то время, когда нагрузка на I/O является высокой, а скорее наоборот - в моменты наибольшего простоя (нерабочее время).
Если после случившегося обвала открыть консоль с логом, то там бесконечно бегут сообщения
end_request: I/O error, dev sd*, sector ******
После хард резета всё возвращается на места. Проблем с детектом дисков не наблюдается. У всех винтов по мере эксплуатации SMART аттрибут Runtime_Bad_Block стал ненулевым, но пока исчисляется единицами. Что выглядит откровенно подозрительно, так это соотношение Start_Stop_Count и Power-Off_Retract_Count
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 61
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 44
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 77
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 45
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 62
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 45
Фрагмент из /proc/kmsg, сохранённый в прошлый раз: http://pastebin.com/UNp8qtZU
В той же стойке работают ещё 2 сервера (Debian+Xen и Citrix XenServer) с такими же винтами, там проблем не наблюдается.