par Gaston » 31 Mai 2010 14:32
Bonjour,
il me semble qu'il y ait quelques confusions/raccourcis hatif
Il ne faut pas confondre dans un même raisonnement, le hotplug matériel et la déconnexion logicielle du device.
Un hot plug matériel est géré par un matériel spécifique : l'interface de connexion electrique est prévue pour. La dénomination rack amovible n'est pas pour moi équivalente à "hot plug" (ou hot swap).
Le fait que l'inerface soit hotplug a aussi des avantages quant à la presence ou non présence du device sur le bus SCSI et donc à la qualité des informations que l'on récupérera via les commandes "echo ... /scsi/ ..."
Mais ce type de commande n'a pas de lien avec la couche FileSystem. Leur action se limite à informer l'OS d'une modification de la configuration hardware du serveur.
C'est dans l'OS, via UDEV par exemple, que celui-ci va pouvoir réagir à ce changement matériel en "montant" automatiquement le FS sur un point de montage pré-connu.
Dans l'autre sens, il est clair, qu'aucun des mécanismes automatique ne peut deviner qu'un matériel va être retiré et si on veut mettre le maximum de chance de son côté, il est important d'être minutieux dans ces opérations (ceci n'est pas spécifique à Linux) :
- on arrête les IO/s sur le périphérique (arrêt des process)
- on démonte les FS (umount) , ceci provoque un flush des données _déjà_ en cache et prévient toute nouvelle modif comme le souligne Jibe
- on informe le système d'une modification du hard (echo single-remove scsi .... - ancienne commande)
Je n'ai pas constaté de freeze de config sur du RHEL 5.xx en respectant ces consignes, pareil lors des tests fait avec un SME (7.0) avec du hotplug SCSI.
Par contre il est évident que la couche logicielle doit être correctement montée, et les dépendances respectées..
Si le système s'attend à pouvoir écrire sur un disque, il est important que celui-ci soit là à ce moment là. Effectivement, il n'y a pas de raison pour qu'il "panic", sauf erreur dans le driver, par contre il y a de forte chance qu'il "hang".
On trouve ici un intérrêt dans le RAID : l'OS s'adresse à /dev/mdxxx et non pas à /dev/sdxxx , on a déjà réussi une première isolation hard et soft.
On est encore plus souple avec LVM, les couches applicative de l'OS n'ont plus aucune idée du matériel sous jacent.
Ainsi, le retrait des LV d'un disque particulier, puis le retrait du disque du VG, puis le retrait du disque du device RAID, et finalement le retrait hardware du disque sont des choses qui se passent bien, si on les fait dans l'ordre, sinon on est typiquement dans le cas "accroche toi au pinceau je retire l'échelle" - et quelque fois cela fonctionne, comme quoi y a du code en trop dans le noyau ...
On est souple mais on complexifie l'administration ...
G.