Cette section décrit le remplacement d'un disque multihôtes sans interruption des services de Sun Cluster (remplacement en ligne) lorsque le gestionnaire de volumes signale des problèmes tels que :
Composant dans l'état Maintenance exigée.
Remplacement de réserve dynamique.
Erreurs de disque intermittentes.
Consultez la documentation du logiciel de gestion de volumes pour connaître les méthodes de remplacement hors ligne.
Utilisez la procédure qui suit si vous avez déterminé que des composants d'un disque sont dans l'état Maintenance exigée, si une réserve dynamique a remplacé un composant ou si un disque génère des erreurs intermittentes.
La liste qui suit énumère les étapes générales du remplacement d'un disque Sun StorEdge MultiPackou Sun StorEdge D1000 dans une configuration Solstice DiskSuite.
Identification du disque qui doit être remplacé.
Identification de l'unité d'expansion de disque qui renferme le disque à remplacer.
Retrait du disque défectueux de l'ensemble de disques.
Arrêt du disque et ouverture du boîtier de disque.
Remplacement de l'unité de disque.
Exécution de la commande scdidadm -R.
Ajout du nouveau disque à l'ensemble de disques.
Mise en réserve et activation du mode failfast sur le disque.
Partitionnement du nouveau disque.
Exécution de la commande metastat(1M) pour vérifier si le problème a été corrigé.
Les étapes expliquées maintenant décrivent en détails le remplacement d'un disque Sun StorEdge MultiPack ou Sun StorEdge D1000défectueux dans une configuration Solstice DiskSuite.
Appliquez la procédure sur l'hôte maître de l'ensemble de disques dans lequel se trouve le disque défectueux. Pour cela, vous devrez peut-être commuter sur l'ensemble de disques à l'aide de la commande haswitch(1M).
Déterminez quel disque doit être remplacé.
Exécutez la commande metastat(1M) et produisez la sortie /var/adm/messages.
Si la commande metastat(1M) signale qu'un périphérique est en état de maintenance ou que des composants ont été remplacés par des réserves dynamiques, vous devez trouver et remplacer le périphérique en question. Un exemple de sortie de la commande metastat(1M) est présenté ci-après. Dans cet exemple, le périphérique c3t3d4s0 est en état de maintenance :
phys-hahost1# metastat -s hahost1 ... d50:Submirror of hahost1/d40 State: Needs Maintenance Stripe 0: Device Start Block Dbase State Hot Spare c3t3d4s0 0 No Okay c3t5d4s0 ... |
Vérifiez /var/adm/messages afin de déterminer quel type de problème a été détecté.
... Jun 1 16:15:26 host1 unix: WARNING: /io-unit@f,e1200000/sbi@0.0/SUNW,pln@a0000000,741022/ssd@3,4(ssd49): Jun 1 16:15:26 host1 unix: Error for command `write(I))' Err Jun 1 16:15:27 host1 unix: or Level: Fatal Jun 1 16:15:27 host1 unix: Requested Block 144004, Error Block: 715559 Jun 1 16:15:27 host1 unix: Sense Key: Media Error Jun 1 16:15:27 host1 unix: Vendor `CONNER': Jun 1 16:15:27 host1 unix: ASC=0x10(ID CRC or ECC error),ASCQ=0x0,FRU=0x15 ... |
Déterminez l'emplacement du disque défectueux.
Utilisez la commande mount(1M) ou format(1M) pour déterminer le numéro du contrôleur.
Si le disque défectueux contient des répliques, prenez note de la tranche et du numéro, puis supprimez les répliques.
Exécutez la commande metadb(1M) pour supprimer les répliques.
Déconnectez tous les sous-miroirs avec composants sur le disque à remplacer.
Si vous déconnectez un sous-miroir qui comporte un composant défectueux, vous devez commander la déconnexion au moyen de l'option metadetach -f. L'exemple suivant déconnecte le sous-miroir d50 du métamiroir d40.
phys-hahost1# metadetach -s hahost1 -f d40 d50 |
Exécutez la commande metaclear(1M) afin de vider les sous-miroirs déconnectés à Étape 5.
phys-hahost1# metaclear -s hahost1 -f d50 |
Si le disque défectueux contient des réserves dynamiques, prenez note du nom des périphériques et de la liste des périphériques qui contiennent des pools de réserves dynamiques, puis supprimez les réserves dynamiques.
Exécutez la commande metahs(1M) pour supprimer les réserves dynamiques.
Vous devez prendre note des informations avant de supprimer les objets, afin de pouvoir procéder dans l'ordre inverse des opérations suite au remplacement du disque.
Exécutez la commande metaset(1M) afin de supprimer le disque défectueux de l'ensemble de disques.
La syntaxe de la commande est la suivante, où ensemble_disques représente le nom de l'ensemble de disques contenant le disque défectueux et unité le nom DID du disque dans le format dN (pour les nouvelles installations de Sun Cluster) ou cNtYdZ (pour les installations mises à niveau à partir de HA 1.3) :
phys-hahost1# metaset -s ensemble_disques -d unité |
Cette opération peut nécessiter 15 minutes ou plus, selon la taille de la configuration et le nombre de disques.
Remplacez le disque défectueux.
Pour plus de détails, reportez-vous aux manuels d'entretien du boîtier de disque.
Vérifiez si le nouveau disque tourne.
Le disque doit tourner automatiquement.
Mettez à jour la base de données de pilotes DID en précisant l'ID du nouveau périphérique.
Si vous avez effectué une mise à niveau depuis HA 1.3, le système n'utilise pas le programme pilote DID. Si c'est le cas, sautez cette étape.
Utilisez l'indicateur -l de la commande scdidadm(1M) pour identifier le nom DID du périphérique de bas niveau de l'unité à remplacer. Mettez ensuite à jour la base de données des pilotes DID en utilisant l'indicateur -R avec la commande scdidadm(1M). Consultez le Sun Cluster 2.2 Software Installation Guide pour des détails complémentaires sur le pseudo-pilote DID.
phys-hahost1# scdidadm -o name -l /dev/rdsk/c3t3d4 6 phys-hahost1:/dev/rdsk/c3t3d4 /dev/did/rdsk/d6 phys-hahost1# scdidadm -R d6 |
Rajoutez le nouveau disque dans l'ensemble de disques à l'aide de la commande metaset(1M).
Cette étape rajoute automatiquement le nombre adéquat de répliques qui ont été supprimées du disque défectueux. La syntaxe de la commande est indiquée ci-après. Dans cet exemple, ensemble_disques représente le nom de l'ensemble de disques contenant le disque défectueux et unité le nom DID du disque dans le format dN (pour les nouvelles installations de Sun Cluster) ou cNtYdZ (pour les installations mises à niveau à partir de la version HA 1.3).
phys-hahost1# metaset -s ensemble_disques -a unité |
Cette opération peut demander 15 minutes et même davantage, selon la taille de la configuration et le nombre de disques.
Exécutez la commande scadmin(1M) pour réserver et activer le mode failfast sur le disque spécifié qui vient d'être rajouté à l'ensemble de disques.
phys-hahost1# scadmin reserve c3t3d4 |
Exécutez la commande format(1M) ou fmthard(1M) pour repartitionner le nouveau disque.
Veillez à partitionner le nouveau disque exactement de la même manière que l'ancien. (L'enregistrement des données de format du disque est recommandé au Chapitre 1.)
Exécutez la commande metainit(1M) pour réinitialiser les disques supprimés à l'Étape 6.
phys-hahost1# metainit -s hahost1 d50 |
Attachez les sous-miroirs déconnectés à l'Étape 5.
Pour ce faire, exécutez la commande metattach(1M). Pour plus de détails, consultez la page de manuel metattach(1M).
phys-hahost1# metattach -s hahost1 d40 d50 |
Restaurez toutes les réserves dynamiques supprimées à l'Étape 7.
Exécutez la commande metahs(1M) pour rajouter les réserves dynamiques. Pour plus de détails, consultez la page de manuel metahs(1M).
phys-hahost1# metahs -s hahost1 -a hsp000 c3t2d5s0 |
Vérifiez si le remplacement a remédié au problème.
phys-hahost1# metastat -s hahost1 |
La liste qui suit énumère les étapes générales du remplacement d'un disque Sun StorEdge MultiPackou Sun StorEdge D1000 dans une configuration VxVM.
Retrait du disque défectueux du boîtier de disque au moyen de la commande vxdiskadm.
Remplacement du disque défectueux.
Remplacement du disque retiré auparavant au moyen de la commande vxdiskadm.
Pour les systèmes n'utilisant pas des groupes de disques partagés, le noeud maître est le noeud qui a importé le groupe de disques.
Si vous utilisez des groupes de disques partagés, déterminez le noeud maître et le noeud esclave en entrant la commande suivante sur tous les noeuds de la grappe :
# vxdctl -c mode |
Effectuez les étapes suivantes depuis le noeud maître.
Déterminez si le disque en question a connu des pannes et s'il est en état NODEVICE.
Si ce n'est pas le cas, passez à l'Étape 8.
Exécutez l'utilitaire vxdiskadm puis entrez 4 (Retirer un disque en vue du remplacement).
Cette option retire un disque physique tout en conservant son nom. L'utilitaire vous demande ensuite de spécifier le périphérique à remplacer.
Entrez le nom du disque ou list.
L'exemple suivant illustre le retrait du disque c2t8d0.
Enter disk name [<disk>,list,q,?] list Disk group: rootdg DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE ... Disk group: demo DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE dm c1t2d0 c2t2d0s2 sliced 1519 4152640 - dm c1t3d0 c2t3d0s2 sliced 1519 4152640 - dm c1t4d0 c2t4d0s2 sliced 1519 4152640 - dm c1t5d0 c2t5d0s2 sliced 1519 4152640 - dm c1t8d0 c2t8d0s2 sliced 1519 4152640 - dm c1t9d0 c2t9d0s2 sliced 1519 4152640 - dm c2t2d0 c1t2d0s2 sliced 1519 4152640 - dm c2t3d0 c1t3d0s2 sliced 1519 4152640 - dm c2t4d0 c1t4d0s2 sliced 1519 4152640 - dm c2t5d0 c1t5d0s2 sliced 1519 4152640 - dm c2t8d0 c1t8d0s2 sliced 1519 4152640 - dm c2t9d0 c1t9d0s2 sliced 1519 4152640 - Enter disk name [<disk>,list,q,?] c2t8d0 The requested operation is to remove disk c2t8d0 from disk group demo. The disk name will be kept, along with any volumes using the disk, allowing replacement of the disk. Select "Replace a failed or removed disk" from the main menu when you wish to replace the disk. |
Tapez y ou Entrée pour continuer.
Continue with operation? [y,n,q,?] (default: y) y Removal of disk c2t8d0 completed successfully. |
Tapez q pour quitter l'utilitaire.
Remove another disk? [y,n,q,?] (default: n) q |
Tapez vxdisk list et vxprint pour visualiser les changements.
Le disque exemple c2t8d0 a été retiré.
# vxdisk list . c2t3d0s2 sliced c1t3d0 demo online shared c2t4d0s2 sliced c1t4d0 demo online shared c2t5d0s2 sliced c1t5d0 demo online shared c2t8d0s2 sliced c1t8d0 demo online shared c2t9d0s2 sliced c1t9d0 demo online shared - - c2t8d0 demo removed # vxprint . dm c2t3d0 c1t3d0s2 - 4152640 - - - - dm c2t4d0 c1t4d0s2 - 4152640 - - - - dm c2t5d0 c1t5d0s2 - 4152640 - - - - dm c2t8d0 - - - - REMOVED - - dm c2t9d0 c1t9d0s2 - 4152640 - - - - pl demo05-02 - DISABLED 51200 - REMOVED - - sd c2t8d0-1 demo05-02 DISABLED 51200 0 REMOVED - - . . . |
Remplacez l'unité physique sans mettre hors tension aucun composant.
Pour plus de détails, reportez-vous à la documentation fournie avec le boîtier de disque.
Pendant que vous remplacez l'unité, des messages semblables à ceux de l'exemple suivant peuvent apparaître sur la console système. Ne vous alarmez pas, car ces messages ne révèlent pas la présence d'un problème. Poursuivez plutôt le remplacement, conformément aux étapes décrites ci-après.
3 nov 17:44:00 updb10a unix: WARNING: /sbus@1f,0/SUNW,fas@0,8800000/sd@2,0 (sd17) : 3 nov 17:44:00 updb10a unix : SCSI transport failed: reason "incomplete": \ retrying command 3 Nov 17:44:03 updb10a unix: WARNING: /sbus@1f,0/SUNW,fas@0,8800000/sd@2,0 (sd17) : 3 nov 17:44:03 updb10a unix : disk not responding to selection |
Exécutez l'utilitaire vxdiskadm puis tapez 5 (Remplacer un disque défectueux ou retiré).
Entrez le nom du disque.
Vous pouvez taper list pour afficher la liste des disques dont l'état est REMOVED.
L'état apparent du disque peut être NODEVICE s'il a subi des pannes.
Select a removed or failed disk [<disk>,list,q,?] list Disk group: rootdg DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE ... Disk group: demo DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE dm c2t8d0 - - - - REMOVED Select a removed or failed disk [<disk>,list,q,?] c2t8d0 |
L'utilitaire vxdiskadm détecte le nouveau périphérique et vous demande si celui-ci doit remplacer le périphérique retiré.
Si d'autres disques inutilisés sont reliés au système, l'utilitaire vxdiskadm propose également ces disques à titre de choix valable.
Entrez le nom du périphérique ou, si l'utilitaire indique le périphérique par défaut, appuyez sur Entrée.
The following devices are available as replacements: c1t8d0s2 You can choose one of these disks to replace c2t8d0. Choose "none" to initialize another disk to replace c2t8d0. Choose a device, or select "none" [<device>,none,q,?] (default: c1t8d0s2) <Return> The requested operation is to use the initialized device c1t8d0s2 to replace the removed or failed disk c2t8d0 in disk group demo. |
Tapez y ou Entrée pour confirmer votre volonté de faire de ce périphérique (dans l'exemple, c1t8d0s2) le disque de replacement.
Continue with operation? [y,n,q,?] (default: y) <Entrée> Replacement of disk c2t8d0 in group demo with disk device c1t8d0s2 completed successfully. |
Tapez n ou Entrée pour quitter l'utilitaire.
Replace another disk? [y,n,q,?] (default: n) <Entrée> |
Tapez vxdisk list et vxprint pour visualiser les changements.
L'état du disque d'exemple, c2t8d0, n'est plus REMOVED.