Una nuova installazione di Debian 6.0.6 per un sistema ha 13 unità SATA collegate. 12 unità WD-10EARS ricondizionate non sono ancora partizionate. 1 L'unità WD1500BLFS è configurata per il sistema operativo e lo scambio. La partizione di scambio è configurata su /dev/sda5 in base a /etc/fstab
[email protected]:~# cat /etc/fstab | grep swap
# swap was on /dev/sda5 during installation
UUID=641cc8ad-838d-4e92-8c2c-0b73359a5aa3 none swap sw 0 0
Poiché le 12 unità non hanno attività su disco, lo stato dell'unità passa da "attivo/inattivo" a "attesa" dopo un po'.
[email protected]:~# hdparm -C /dev/sdm
/dev/sda:
drive state is: active/idle
[email protected]:~# hdparm -C /dev/sdm
/dev/sda:
drive state is: standby
Quando si esegue un reboot
comando la console mostra “Deactivating swap...
” e quindi sfalsate tutte le 12 unità iniziano a girare come verificato dal suono e dal consumo energetico. Il cambio dello stato dell'unità da standby a attivo può richiedere fino a 30 secondi. In altre parole, un riavvio richiede ora tra 3 e 7 minuti. Quanto tempo impiegherebbe un riavvio quando sono collegate 70 unità!
Aggiornamento n. 1
Il problema è correlato a "sd" (dispositivo di archiviazione) che desidera "Sincronizzare la cache SCSI ” su ogni unità.
Come interrompere la modifica dello stato di tutte le unità da "standby" a "attivo" al riavvio (molto probabilmente causato dal processo di "disattivazione dello scambio")?
# uname -mrsn
Linux debian 2.6.32-5-amd64 x86_64
Risposta accettata:
Dopo essere passati al backport kernel 3.2.0-0.bpo.3-amd64 non c'è più una scia di tutte le unità tra l'emissione di reboot
e messaggio Will now restart.
viene visualizzato, con o senza scambio abilitato.
Tieni presente che i messaggi di errore della console "end_request I/O error, dev sdb, sector {0, 8, 16, 128, 4096}" sono ancora presenti quando le unità sono in stato di standby.
Aggiornamento n. 1
Il problema "Sincronizzazione della cache SCSI prima del riavvio" si ripresenta in 3.2.0-0.bpo.4 -amd64. Sebbene entrambi sembrino condividere la stessa versione del modulo mpt2sas:
# modinfo /lib/modules/3.2.0-0.bpo.{3,4}-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko | grep ^version
version: 10.100.00.00
version: 10.100.00.00
Aggiornamento n. 2
Il problema non sembra essere correlato al kernel e al modulo di archiviazione. Dopo il ritorno al kernel 2.6.32-5-amd64, l'impostazione di tutte le unità in standby e il comando di riavvio, non si sono verificati "Sincronizzazione della cache SCSI", spin-up delle unità e quindi nessun ritardo.
Aggiornamento n. 3
Quando si disattiva la cache di scrittura hdparm -W0 /dev/sd?
e svuotare la cache di scrittura con sync && sdparm --command=sync /dev/sd? && sleep 1
e infine impostando l'unità in standby usando hdparm -y /dev/sd?
quindi non c'è "Sincronizzazione della cache SCSI" per ogni unità dopo aver eseguito reboot
e vedendo l'output "Montaggio del filesystem di root in sola lettura... fatto". e "Ora si riavvierà". quando si utilizza:
- Linux debian 2.6.32-5-amd64 #1 SMP dom 23 settembre 10:07:46 UTC 2012 x86_64
- Linux debian 3.2.0-0.bpo.3-amd64 #1 SMP Thu Aug 23 07:41:30 UTC 2012 x86_64
Il kernel 3.2.0-0.bpo.4-amd64 è difettoso e esegue la "sincronizzazione della cache SCSI" per ogni unità su ogni reboot
.