Une nouvelle installation de Debian 6.0.6 pour un système comporte 13 disques SATA connectés. 12 disques WD-10EARS remis à neuf ne sont pas encore partitionnés. 1 lecteur WD1500BLFS est configuré pour le système d'exploitation et le swap. La partition d'échange est configurée sur /dev/sda5 selon /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
Étant donné que les 12 disques n'ont aucune activité de disque, l'état du disque passe de "actif/inactif" à "en veille" après un certain temps.
[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
Lors de l'émission d'un reboot
commande la console affiche "Deactivating swap...
", puis échelonnés, les 12 disques commencent à tourner, comme en témoignent le son et la consommation d'énergie. Faire passer l'état d'un disque de veille à actif peut prendre jusqu'à 30 secondes. En d'autres termes, un redémarrage prend désormais entre 3 et 7 minutes. Combien de temps prendrait un redémarrage lorsque 70 disques sont connectés !
Mise à jour #1
Le problème est lié à "sd" (périphérique de stockage) qui souhaite "Synchroniser le cache SCSI ” sur chaque lecteur.
Comment arrêter de changer l'état de tous les disques de "veille" à "actif" au redémarrage (probablement causé par le processus de "désactivation de l'échange") ?
# uname -mrsn
Linux debian 2.6.32-5-amd64 x86_64
Réponse acceptée :
Après avoir changé pour rétroporter le noyau 3.2.0-0.bpo.3-amd64, il n'y a plus de réveil de tous les lecteurs entre l'émission de reboot
et le message Will now restart.
apparaît, avec ou sans permutation activée.
Notez que les messages d'erreur "end_request I/O error, dev sdb, sector {0, 8, 16, 128, 4096}" de la console sont toujours là lorsque les disques sont en état de veille.
Mise à jour #1
Le problème "Synchronisation du cache SCSI avant le redémarrage" réapparaît dans 3.2.0-0.bpo.4 -amd64. Bien que les deux semblent partager la même version du module 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
Mise à jour #2
Le problème ne semble pas être lié au noyau et au module de stockage. Après être revenu au noyau 2.6.32-5-amd64, avoir mis tous les disques en veille et commandé un redémarrage, il n'y a pas eu de "synchronisation du cache SCSI", pas de démarrage du disque, et donc pas de retard.
Mise à jour #3
Lors de la désactivation du cache en écriture hdparm -W0 /dev/sd?
et vider le cache en écriture avec sync && sdparm --command=sync /dev/sd? && sleep 1
et enfin mettre le disque en veille en utilisant hdparm -y /dev/sd?
alors il n'y a pas de "synchronisation du cache SCSI" pour chaque lecteur après l'exécution du reboot
et voir la sortie "Mounting root filesystem read-only…done." et "va maintenant redémarrer". lors de l'utilisation :
- Linux debian 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64
- Linux debian 3.2.0-0.bpo.3-amd64 #1 SMP jeu 23 août 07:41:30 UTC 2012 x86_64
Le noyau 3.2.0-0.bpo.4-amd64 est défectueux et effectue la "synchronisation du cache SCSI" pour chaque lecteur à chaque reboot
.