La réponse est ailleurs On le vois dans le diff de dpkg -l plus haut…
Je ne sais pour quelle raison, ce qui fait la différence en fait entre
mes différentes installations, ce n’est pas la version du noyau, mais
la présence du paquet smartmontooles, l’hotplug fonctionne une fois que
l’on a installé ce paquet dans toutes les configurations.
Debian linux-image¹ smartmontools sata-hotplug
======= =============== ================ ============
Lenny 2.6.26-21lenny4 - -
Lenny 2.6.26-21lenny4 5.38-2+lenny1 Oui
Lenny 2.6.26-22lenny1 - -
Lenny 2.6.26-22lenny1 5.38-2+lenny1 Oui
Lenny 2.6.26-24 - -
Lenny 2.6.26-24 5.38-2+lenny1 Oui
Lenny 2.6.26-24lenny1 - -
Lenny 2.6.26-24lenny1 5.38-2+lenny1 Oui
Squeeze 2.6.32-18 - -
Squeeze 2.6.32-18 5.39.1+svn3124-1 Oui
Le paquet smartmontools installe libcap-ng0 en dépendance, mais c’est bien le
paquet smartmontools qui contient ce qui permet l’hotplug.
Debian linux-image¹ smartmontools libcap-ng0 sata-hotplug
======= ============ ================ ========== ============
Squeeze 2.6.32-18 - - -
Squeeze 2.6.32-18 - 0.6.4-1 -
Squeeze 2.6.32-18 5.39.1+svn3124-1 0.6.4-1 Oui
Il n’est pas nécessaire que le démon smartd fonctionne (start_smartd=no ou
absent dans /etc/default/smartmontools), il suffit que le paquet smartmontools
soit installé, seulement présent. /etc/default/smartmontools peut aussi être
absent.
[code]présence-au-démarrage présence-à-l’insertion sata-hotplug
===================== ====================== ============
Oui Oui Oui
Oui - Oui[/code]
Il faut que le paquet soit présent lorsque le noyau démarre, et peut être
désinstallé après démarrage, et cela fonctionne encore jusqu’au prochain
redémarrage, donc il y a un lien direct avec le noyau.
mis à part /usr/share/bug/, /usr/share/doc/, /sur/share/man/, le paquet
smartmontools contient :
/etc/default/smartmontools
/etc/init.d/smartmontools
/etc/smartd.conf
/etc/smartmontools/run.d/10mail
/etc/smartmontools/run.d/10powersave-notify
/usr/sbin/smartctl
/usr/sbin/smartd
/usr/share/lintian/overrides/smartmontools
/usr/share/smartmontools/smartd-runner
/var/lib/smartmontools
Qu’y a t’il dans cela qui puisse contrôler le noyau ?
- Si /usr/sbin/smartctl est supprimé, l’hotplug fonctionne toujours
- Si /usr/sbin/smartd est supprimé, après redémarrage l’hotplug ne
fonctionne pas, il faut qu’il soit présent au démarrage.
Smartd n’est pas sensé être lancé lors de l’init, mais à un moment ce
binaire sert tout de même à quelquechose puisqu’il est indispensable à
l’hotplug, il ne sert pas qu’au monitoring !
Dans la description du paquet smartmontools, il est écrit :
[quote]control and monitor storage systems using S.M.A.R.T.
The smartmontools package contains two utility programs (smartctl and smartd)
to control and monitor storage systems using the Self-Monitoring, Analysis and
Reporting Technology System (S.M.A.R.T.) built into most modern ATA and SCSI
hard disks. It is derived from the smartsuite package, and includes support
for ATA/ATAPI-5 disks. It should run on any modern Linux system.[/quote]
Rien à propos de l’hotplug.
Rien non plus à ce propos dans le man de smartctl, smartd ou smartd.conf .
Rien dans smartd.conf ni dans /usr/share/doc/smartmontools/README …
Ce que j’en conclus c’est qu’une installation Debian Lenny ou Debian Squeeze
par défaut ne sait pas gérer l’hotplug SATA parce que smartmontools n’est pas
installé par défaut, et à priori rien dans la doc ne permet de savoir qu’il est
nécessaire et qu’il faut donc l’installer, non pas seulement pour le monitoring,
mais aussi pour l’hotplug !
Mais voilà, dans toutes les configurations, mais pas dans tout les cas…
Parfois quand je redémarre l’hotplug ne fonctionne pas… et après un autre
redémarrage l’hotplug refonctionne à nouveau; là j’ai du mal à voir !
Donc j’ai toujours un problème : il n’est pas garanti que l’hotplug
refonctionne après un redémarrage, ce qui n’est pas du tout pratique, et je
ne vois pas d’autre moyen de le vérifier qu’en insérant un disque (et donc
être sur place).
[1] idem avec linux-image-2.6.??-?-686 ou linux-image-2.6.??-?-xen-686