Eine Neuinstallation von Debian 6.0.6 für ein System hat 13 angeschlossene SATA-Laufwerke. 12 generalüberholte WD-10EARS-Laufwerke sind noch nicht partitioniert. 1 WD1500BLFS-Laufwerk ist für OS und Swap konfiguriert. Die Swap-Partition ist auf /dev/sda5 gemäß /etc/fstab
konfiguriert[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
Da die 12 Laufwerke keine Festplattenaktivität haben, wechselt der Laufwerksstatus nach einer Weile von „aktiv/idle“ zu „standby“.
[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
Beim Ausgeben eines reboot
Befehl zeigt die Konsole „Deactivating swap...
” und dann gestaffelt beginnen alle 12 Laufwerke zu drehen, was durch Geräusche und Stromverbrauch bestätigt wird. Die Änderung des Laufwerkszustands von Standby zu Aktiv kann bis zu 30 Sekunden dauern. Mit anderen Worten, ein Neustart dauert jetzt zwischen 3 und 7 Minuten. Wie lange würde ein Neustart dauern, wenn 70 Laufwerke angeschlossen sind!
Aktualisierung Nr. 1
Das Problem bezieht sich auf „sd“ (Speichergerät), das „SCSI-Cache synchronisieren möchte ” auf jedem Laufwerk.
Wie kann man verhindern, dass der Status aller Laufwerke beim Neustart von „Standby“ auf „Aktiv“ geändert wird (höchstwahrscheinlich verursacht durch den „Deaktivierungs-Swap“-Prozess)?
# uname -mrsn
Linux debian 2.6.32-5-amd64 x86_64
Akzeptierte Antwort:
Nach dem Wechsel zu Backports Kernel 3.2.0-0.bpo.3-amd64 gibt es kein Aufwecken aller Laufwerke mehr zwischen der Ausgabe von reboot
und die Meldung Will now restart.
erscheint, mit oder ohne aktiviertem Swap.
Beachten Sie, dass die Konsolen-Fehlermeldungen „end_request I/O error, dev sdb, sector {0, 8, 16, 128, 4096}“ weiterhin vorhanden sind, wenn sich die Laufwerke im Standby-Zustand befinden.
Aktualisierung Nr. 1
Das Problem „SCSI-Cache vor dem Neustart synchronisieren“ tritt in 3.2.0-0.bpo.4 erneut auf -amd64. Obwohl beide die gleiche Version des mpt2sas-Moduls zu teilen scheinen:
# 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
Aktualisierung Nr. 2
Das Problem scheint nicht im Zusammenhang mit dem Kernel und dem Speichermodul zu stehen. Nach dem Zurückwechseln auf Kernel 2.6.32-5-amd64, dem Setzen aller Laufwerke in den Standby-Modus und dem Befehl zum Neustart gab es kein „Synchronizing SCSI cache“, kein Hochfahren der Laufwerke und daher keine Verzögerungen.
Aktualisierung Nr. 3
Beim Ausschalten des Schreibcaches hdparm -W0 /dev/sd?
und den Schreibcache leeren mit sync && sdparm --command=sync /dev/sd? && sleep 1
und schließlich das Laufwerk mit hdparm -y /dev/sd?
in den Standby-Modus versetzen dann gibt es nach dem Ausführen von reboot
kein „Synchronizing SCSI cache“ für jedes Laufwerk und die Ausgabe „Mounting root filesystem read-only…done“ sehen. und „Wird jetzt neu starten.“ bei Verwendung von:
- Linux debian 2.6.32-5-amd64 #1 SMP Sonntag, 23. September 10:07:46 UTC 2012 x86_64
- Linux debian 3.2.0-0.bpo.3-amd64 #1 SMP Do, 23. August 07:41:30 UTC 2012 x86_64
Kernel 3.2.0-0.bpo.4-amd64 ist fehlerhaft und führt „Synchronizing SCSI cache“ für jedes Laufwerk bei jedem reboot
durch .