Come posso ridurre i tempi di attesa e i tentativi di IO in modo che il sistema operativo non tenti continuamente di scrivere su un'unità guasta?
Ho un sistema che uso per fare copie di contenuti demo che vengono prestati ai clienti su normali dischi rigidi desktop SATA. Colleghiamo molte unità contemporaneamente tramite SAS e copiamo il contenuto su di esse utilizzando uno script.
Poiché le unità vengono prestate, a volte alcuni ritorni danneggiati ma non so che sono danneggiati, quindi la volta successiva che l'unità viene riutilizzata in un'operazione di copia, rallenta altre unità mentre il sistema ritenta IO su quell'unità. A volte possono volerci ore prima di notare l'unità difettosa e rimuoverla. Dopo aver rimosso l'unità, le altre unità iniziano a scrivere a velocità normale.
Non mi interessa recuperare i dischi difettosi. Devo solo eliminarli in modo che non rallentino tutto il resto.
Sto anche ricercando badblock e smartmontools e sto pensando di scrivere un controllo preliminare sui drive prima di iniziare a scrivere.
Sistema operativo: Ubuntu Linux (12.04 lts)
ddrescue
modo che non tocchino nemmeno i settori segnalati da SMART.)
udisks
/smartmonctl
? Un classico problema XY qui, pensa.