Un mécanisme de retrait de périphérique isole un périphérique défectueux grâce à la structure de gestion des pannes (FMA, Fault Management Framework). Cette fonction permet de désactiver les périphériques défectueux automatiquement et en toute sécurité, afin d'éviter les pertes de données, l'altération de données et les paniques et interruptions du système. Le processus de retrait tient compte de la stabilité du système après retrait du périphérique.
Les périphériques critiques ne sont pas retirés. Après avoir remplacé manuellement un périphérique retiré, exécutez la commande fmadm repair afin d'informer le système du remplacement du périphérique.
Pour de plus amples informations, reportez-vous à fmadm(1M).
Lorsqu'un périphérique est retiré, un message similaire à celui-ci est affiché à la console et enregistré dans le fichier /var/adm/messages.
Aug 9 18:14 starbug genunix: [ID 751201 kern.notice] \ NOTICE: One or more I/O devices have been retired
La commande prtconf permet d'identifier des périphériques retirés spécifiques. Ainsi,
# prtconf . . . pci, instance #2 scsi, instance #0 disk (driver not attached) tape (driver not attached) sd, instance #3 sd, instance #0 (retired) scsi, instance #1 (retired) disk (retired) tape (retired) pci, instance #3 network, instance #2 (driver not attached) network, instance #3 (driver not attached) os-io (driver not attached) iscsi, instance #0 pseudo, instance #0 . . .
Suivez les étapes ci-dessous pour résoudre un problème relatif à un périphérique défectueux ou un périphérique qui a été retiré.
# fmadm faulty --------------- ------------------------------------ -------------- --------- TIME EVENT-ID MSG-ID SEVERITY --------------- ------------------------------------ -------------- --------- Jun 20 16:30:52 55c82fff-b709-62f5-b66e-b4e1bbe9dcb1 ZFS-8000-LR Major Problem Status : solved Diag Engine : zfs-diagnosis / 1.0 System Manufacturer : unknown Name : ORCL,SPARC-T3-4 Part_Number : unknown Serial_Number : 1120BDRCCD Host_ID : 84a02d28 ---------------------------------------- Suspect 1 of 1 : Fault class : fault.fs.zfs.open_failed Certainty : 100% Affects : zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a Status : faulted and taken out of service FRU Name : "zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a" Status : faulty Description : ZFS device 'id1,sd@n5000c500335dc60f/a' in pool 'pond' failed to open. Response : An attempt will be made to activate a hot spare if available. Impact : Fault tolerance of the pool may be compromised. Action : Use 'fmadm faulty' to provide a more detailed view of this event. Run 'zpool status -lx' for more information. Please refer to the associated reference document at http://support.oracle.com/msg/ZFS-8000-LR for the latest service procedures and policies regarding this diagnosis.
# zpool clear pond c0t5000C500335DC60Fd0
Si une erreur de périphérique intermittente s'est produite mais que le périphérique n'a pas été remplacé, vous pouvez essayer d'effacer l'erreur précédente.
# fmadm repaired zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ \ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a fmadm: recorded repair to of zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a
# fmadm faulty
Si le message d'erreur est effacé, la commande fmadm faulty ne renvoie rien.