Jak mogę skrócić czas oczekiwania IO i ponowić próbę, aby system operacyjny nie próbował ciągle zapisywać na uszkodzonym dysku?
Mam system, którego używam do tworzenia kopii treści demonstracyjnych, które są pożyczane klientom na zwykłych komputerowych dyskach twardych SATA. Łączymy wiele dysków jednocześnie za pośrednictwem SAS i kopiujemy do nich zawartość za pomocą skryptu.
Ponieważ dyski są wypożyczone, czasami niektóre wrócą uszkodzone, ale nie wiem, czy są uszkodzone, więc następnym razem, gdy dysk zostanie ponownie użyty w operacji kopiowania, spowalnia inne dyski, gdy system próbuje IO na tym dysku. Czasami zauważenie nieprawidłowego dysku i usunięcie go może potrwać kilka godzin. Po usunięciu dysku pozostałe dyski zaczynają pisać z normalną prędkością.
Nie dbam o odzyskiwanie złych dysków. Muszę je tylko usunąć, żeby nie spowalniały wszystkiego innego.
Badam też badblocks i smartmontools i zastanawiam się nad napisaniem wstępnej kontroli dysków, zanim zacznę pisać.
System operacyjny: Ubuntu Linux (12,04 lts)
ddrescue
udisks
/smartmonctl
? To klasyczny problem XY.