Čerstvá instalace Debianu 6.0.6 pro systém má připojeno 13 SATA disků. 12 repasovaných disků WD-10EARS dosud není rozděleno na oddíly. 1 disk WD1500BLFS je nakonfigurován pro OS a swap. Odkládací oddíl je nakonfigurován na /dev/sda5 podle /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
Protože těchto 12 disků nevykazuje žádnou aktivitu disku, stav disku se po chvíli změní z „aktivní/nečinný“ do „pohotovostního režimu“.
[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
Při vydání reboot
příkaz konzole zobrazí „Deactivating swap...
“ a poté stupňovitě roztáčel všech 12 jednotek, jak bylo ověřeno zvukem a spotřebou energie. Změna stavu disku z pohotovostního na aktivní může trvat až 30 sekund. Jinými slovy, restart nyní trvá 3 až 7 minut. Jak dlouho by restart trval, když je připojeno 70 disků!
Aktualizace č. 1
Problém se týká „sd“ (úložné zařízení), které si přeje „Synchronizace mezipaměti SCSI ” na každé jednotce.
Jak zastavit změnu stavu všech disků z „pohotovostního“ na „aktivní“ při restartu (nejspíše způsobeno procesem „deaktivace swapu“)?
# uname -mrsn
Linux debian 2.6.32-5-amd64 x86_64
Přijatá odpověď:
Po změně na backports kernel 3.2.0-0.bpo.3-amd64 již mezi vydáním reboot
nedochází k probuzení všech jednotek a zpráva Will now restart.
se objeví, ať už je swap povolen nebo bez něj.
Všimněte si, že chybové zprávy konzoly „end_request I/O error, dev sdb, sektor {0, 8, 16, 128, 4096}“ stále existují, když jsou disky v pohotovostním stavu.
Aktualizace č. 1
Problém „Synchronizace mezipaměti SCSI před restartem“ se znovu objeví ve verzi 3.2.0-0.bpo.4 -amd64. Ačkoli se zdá, že oba sdílejí stejnou verzi modulu 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
Aktualizace č. 2
Zdá se, že problém nesouvisí s jádrem a modulem úložiště. Po přepnutí zpět na jádro 2.6.32-5-amd64, nastavení všech disků do pohotovostního režimu a příkazu k restartu nedošlo k žádné „synchronizaci mezipaměti SCSI“, žádnému roztočení disku, a tedy žádnému zpoždění.
Aktualizace č. 3
Při vypínání mezipaměti zápisu hdparm -W0 /dev/sd?
a vyprázdnění mezipaměti pro zápis pomocí sync && sdparm --command=sync /dev/sd? && sleep 1
a nakonec nastavte disk do pohotovostního režimu pomocí hdparm -y /dev/sd?
pak po spuštění reboot
není pro každý disk žádná „Synchronizace mezipaměti SCSI“. a vidět výstup „Připojování kořenového souborového systému jen pro čtení… hotovo“. a "Nyní se restartuje." při použití:
- Linux debian 2.6.32-5-amd64 #1 SMP Ne 23. září 10:07:46 UTC 2012 x86_64
- Linux debian 3.2.0-0.bpo.3-amd64 #1 SMP Čt 23. srpna 07:41:30 UTC 2012 x86_64
Kernel 3.2.0-0.bpo.4-amd64 je vadný a při každém reboot
provádí „synchronizaci mezipaměti SCSI“ pro každý disk .