Dans le cadre de l'administration standard de Sun Cluster, il vous incombe de surveiller l'état de la configuration. Pour de plus amples informations sur les méthodes de surveillance, voir le Chapitre 2. Durant le processus de surveillance, vous pouvez découvrir des problèmes avec les disques multihôtes. Les sections qui suivent présentent des instructions qui permettent de corriger ces problèmes.
Sun Cluster prend en charge les types de disques SSA suivants :
Modèles 100
Modèles 200 avec plateau SCSI différentiel
Modèles 200 avec RSM (214 RSM)
Selon le type de disque que vous utilisez et les caractéristiques mécaniques et électriques du boîtier, l'ajout de disques peut exiger la préparation de tous les disques connectés à un contrôleur particulier, de tous les disques d'un plateau particulier ou des disques ajoutés seulement. Ainsi, pour les modèles de tableau SPARCstorage Array 200 avec plateau SCSI différentiel, vous devez préparer le contrôleur de tableau et le boîtier de disque. Pour les modèles SPARCstorage Array 200 avec RSM (214 RSM), seul le nouveau disque doit être préparé. Pour le modèle SPARCstorage Array 110, un seul plateau doit être préparé.
Si vous utilisez un tableau SPARCstorage Array100, suivez les étapes indiquées. Si vous utilisez un tableau SPARCstorage Array200 avec plateau SCSI différentiel, vous devez arrêter tous les disques attachés au contrôleur de tableau qui sera connecté au nouveau disque. Autrement dit, vous devez répéter toutes les étapes relatives au plateau pour tous les boîtiers de disque attachés au contrôleur de tableau qui sera connecté au nouveau disque. Si vous utilisez un tableau SPARCstorage Array 214 RSM, il n'est pas nécessaire d'exécuter les étapes relatives au plateau, puisque les disques individuels peuvent être installés sans affecter les autres disques.
Pour la description du boîtier de disque, reportez-vous au manuel d'entretien de l'unité d'expansion de disque multihôtes.
Selon le type du boîtier de disque, l'ajout de disques multihôtes à un tableau SPARCstorage Array (SSA) peut nécessiter la mise hors ligne de tous les objets du gestionnaire de volumes dans le plateau ou le boîtier de disque affecté. Par ailleurs, il est possible que le plateau ou le boîtier de disque contienne des disques de plusieurs groupes de disques, auquel cas un seul noeud doit être propriétaire de tous les groupes de disques affectés.
La liste qui suit énumère les étapes générales de l'ajout d'un disque multihôtes dans une configuration Solstice DiskSuite:
Commutation des hôtes logiques sur un noeud de grappe.
Identification du contrôleur pour le nouveau disque et d'un connecteur libre dans le plateau ou le boîtier.
Dans le cas d'un tableau SPARCstorage Array modèle 100, préparation du boîtier de disque en vue du retrait d'un plateau.
Dans le cas d'un tableau SPARCstorage Array modèle 200 avec plateaux différentiels Wide-SCSI, mise hors tension du contrôleur et de tous les disques attachés.
Suppression de toutes les réserves dynamiques sur les unités affectées.
Suppression de toutes les bases de données d'état des métapériphériques des unités affectées.
Mise hors ligne de tous les métapériphériques contenant des unités affectées.
Arrêt de toutes les unités affectées.
Ajout du nouveau disque.
Remise en service des unités affectées.
Démarrage de toutes les unités.
Remise en ligne de tous les métapériphériques affectés.
Rajout de toutes les réserves dynamiques supprimées.
Recréation de tous les métapériphériques supprimés.
Exécution des tâches administratives pour la préparation du disque pour son utilisation par Sun Cluster.
Création des fichiers spéciaux /devices et des liens /dev/dsk et /dev/rdsk.
Exécution de la commande scdidadm -r.
Ajout du disque à l'ensemble de disques.
Formatage et partitionnement du disque, au besoin.
Exécution des tâches administratives relatives au gestionnaire de volumes.
Les étapes expliquées maintenant décrivent en détail l'ajout d'un nouveau disque multihôtes dans une configuration Solstice DiskSuite.
Rendez d'autres noeuds de la grappe propriétaires de l'hôte logique qui inclura le nouveau disque.
Commutez les hôtes logiques dont les disques se trouvent dans le plateau qui sera retiré.
phys-hahost1# haswitch phys-hahost1 hahost1 hahost2 |
Trouvez le numéro de contrôleur du plateau auquel le disque sera ajouté.
Des noms universels sont attribués aux tableaux SPARCstorage Array. Le nom universel à l'avant du tableau SPARCstorage Arrayfigure également dans l'entrée /devices, laquelle est reliée par un pointeur à l'entrée /dev contenant le numéro du contrôleur. Exemple :
phys-hahost1# ls -l /dev/rdsk | grep -i WWN | tail -1 |
Si le nom universel à l'avant du tableau SPARCstorage Arrayest 36cc, la sortie suivante sera affichée et le numéro de contrôleur sera c2 :
phys-hahost1# ls -l /dev/rdsk | grep -i 36cc | tail -1 lrwxrwxrwx 1 root root 94 Jun 25 22:39 c2t5d2s7 -> ../../devices/io-unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW, pln@a0000800,201836cc/ssd@5,2:h,raw |
Exécutez la commande luxadm(1M) avec l'option display pour afficher les emplacements libres.
phys-hahost1# luxadm display c2 SPARCstorage Array Configuration ... DEVICE STATUS TRAY 1 TRAY 2 TRAY 3 slot 1 Drive: 0,0 Drive: 2,0 Drive: 4,0 2 Drive: 0,1 Drive: 2,1 Drive: 4,1 3 NO SELECT NO SELECT NO SELECT 4 NO SELECT NO SELECT NO SELECT 5 NO SELECT NO SELECT NO SELECT 6 Drive: 1,0 Drive: 3,0 Drive: 5,0 7 Drive: 1,1 NO SELECT NO SELECT 8 NO SELECT NO SELECT NO SELECT 9 NO SELECT NO SELECT NO SELECT 10 NO SELECT NO SELECT NO SELECT ... |
Les emplacements vides ont l'état AUCUN CHOIX. La sortie affichée ici provient d'un tableau SPARCstorage Array110 ; l'affichage sera légèrement différent si vous utilisez un autre modèle.
Identifiez le plateau auquel vous ajouterez le nouveau disque. Si vous pouvez ajouter le disque sans influencer les autres unités (avec le modèle SPARCstorage Array 214 RSM, par exemple), passez à Étape 11.
Dans les étapes suivantes de la procédure, le plateau 2 est utilisé à titre d'exemple. L'emplacement sélectionné pour le nouveau disque est le plateau 2, emplacement 7. Le nouveau disque porte la désignation c2t3d1.
Trouvez toutes les réserves dynamiques affectées par l'installation.
Pour connaître l'état et l'emplacement de toutes les réserves dynamiques, exécutez la commande metahs(1M) avec l'option -i sur chaque hôte logique.
phys-hahost1# metahs -s hahost1 -i ... phys-hahost1# metahs -s hahost2 -i ... |
Enregistrez la liste des réserves dynamiques. Cette liste sera utilisée plus tard dans cette procédure de maintenance. Prenez en note la liste des réserves dynamiques et de leurs pools.
Exécutez la commande metahs(1M) avec l'option -d pour supprimer toutes les réserves dynamiques affectées.
Pour plus de détails, consultez la page de manuel metahs(1M).
phys-hahost1# metahs -s hahost1 -d composants-pool-réserves dynamiques phys-hahost1# metahs -s hahost2 -d composants-pool-réserves dynamiques |
Trouvez toutes les répliques de base de données d'état des métapériphériques situées sur les disques affectés.
Exécutez la commande metadb(1M) sur chaque hôte logique pour trouver toutes les bases de données d'état des métapériphériques. Dirigez la sortie vers des fichiers temporaires.
phys-hahost1# metadb -s hahost1 > /usr/tmp/mddb1 phys-hahost1# metadb -s hahost2 > /usr/tmp/mddb2 |
La sortie de la commande metadb(1M) indique l'emplacement des répliques de base de données d'état des métapériphériques dans ce boîtier de disque. Enregistrez ces informations pour utilisation lors de la restauration des répliques.
Supprimez les répliques de base de données d'état des métapériphériques situées sur les disques affectés.
Notez le numéro et l'emplacement des répliques que vous supprimez. Les répliques doivent être restaurées plus tard au cours de la procédure.
phys-hahost1# metadb -s hahost1 -d répliques phys-hahost1# metadb -s hahost2 -d répliques |
Exécutez la commande metastat(1M) pour identifier tous les composants de métapériphérique sur les disques affectés.
Dirigez la sortie de la commande metastat(1M) vers un fichier temporaire pour pouvoir utiliser ces informations plus tard au cours de la suppression et de l'ajout des métapériphériques.
phys-hahost1# metastat -s hahost1 > /usr/tmp/replicalog1 phys-hahost1# metastat -s hahost2 > /usr/tmp/replicalog2 |
Mettez hors ligne tous les sous-miroirs contenant des disques affectés.
Utilisez les fichiers temporaires pour créer un script de mise hors ligne de tous les sous-miroirs affectés dans l'unité d'expansion de disque. S'il n'y a que quelques sous-miroirs, exécutez la commande metaoffline(1M) pour les mettre chacun hors ligne. Voici un script d'exemple.
#!/bin/sh # metaoffline -s <ensemble_disques> <miroir> <sous-miroir> metaoffline -s hahost1 d15 d35 metaoffline -s hahost2 d15 d35 ... |
Arrêtez les disques SPARCstorage Array du plateau au moyen de la commande luxadm(1M).
phys-hahost1# luxadm stop -t 2 c2 |
Ajoutez le nouveau disque.
Ajoutez le disque conformément aux directives du manuel d'entretien du matériel pour votre unité d'expansion de disque multihôtes. Après avoir ajouté le disque :
Vérifiez que tous les disques du plateau sont en rotation.
Les disques dans le plateau SPARCstorage Arraydémarrent normalement automatiquement, mais si le plateau n'a pas démarré dans les deux minutes, forcez le démarrage au moyen de la commande suivante :
phys-hahost1# luxadm start -t 2 c2 |
Remettez en ligne les sous-miroirs.
Modifiez le script que vous avez créé à l' Étape 9 pour remettre en ligne les sous-miroirs.
#!/bin/sh # metaonline -s <ensemble_disques> <miroir> <sous_miroir> metaonline -s hahost1 d15 d35 metaonline -s hahost2 d15 d35 ... |
Restaurez les réserves dynamiques supprimées à l'Étape 5.
phys-hahost1# metahs -s hahost1 -a composants-pool-réserves dynamiques phys-hahost1# metahs -s hahost2 -a composants-pool-réserves dynamiques |
Restaurez le nombre initial de répliques de base de données d'état des métapériphériques sur les périphériques du plateau.
Les répliques ont été supprimées à Étape 7.
phys-hahost1# metadb -s hahost1 -a répliques phys-hahost1# metadb -s hahost2 -a répliques |
Exécutez les commandes drvconfig(1M) et disks(1M) pour créer les nouvelles entrées dans /devices, /dev/dsk et /dev/rdsk pour tous les nouveaux disques.
phys-hahost1# drvconfig phys-hahost1# disks |
Attribuez la propriété de l'hôte logique auquel le disque va être ajouté à l'autre noeud connecté au tableau SPARCstorage Array.
Pour cette opération, on suppose que chaque disque est connecté à deux noeuds.
phys-hahost1# haswitch phys-hahost2 hahost2 |
Exécutez les commandes drvconfig(1M) et disks(1M) sur le noeud de grappe désormais propriétaire de l'ensemble de disques auquel le disque sera ajouté.
phys-hahost2# drvconfig phys-hahost2# disks |
Exécutez la commande scdidadm(1M) pour initialiser le nouveau disque pour son utilisation par le pseudo-pilote DID.
Vous devez exécuter la commande scdidadm(1M) sur le noeud 0 de la grappe. Pour plus de détails sur le pseudo-pilote DID, reportez-vous au Sun Cluster 2.2 Software Installation Guide.
phys-hahost2# scdidadm -r |
Ajoutez le disque à un 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) :
# metaset -s ensemble_disques -a unité |
La commande metaset(1M) peut repartitionner ce disque automatiquement. Pour de plus amples informations, voir la documentation de Solstice DiskSuite.
Exécutez la commande scadmin(1M) pour réserver et activer le mode failfast sur le disque spécifié qui vient d'être ajouté à l'ensemble de disques.
phys-hahost2# scadmin reserve cNtXdYsZ |
Exécutez les tâches administratives habituelles pour le nouveau disque.
Vous pouvez maintenant exécuter les étapes d'administration habituelles pour la mise en service du nouveau disque (partitionnement du disque, ajout de celui-ci à la configuration comme réserve dynamique ou configuration comme métapériphérique, entre autres). Pour de plus amples informations sur ces tâches, voir la documentation de Solstice DiskSuite.
Au besoin, retransférez les hôtes logiques à leurs maîtres par défaut.
La liste qui suit énumère les étapes générales de l'ajout d'un disque multihôtes dans une configuration VxVM:
Commutation des hôtes logiques sur un noeud de grappe.
Identification du contrôleur pour le nouveau disque et d'un emplacement vide dans le plateau ou le boîtier.
Dans le cas d'un tableau SPARCstorage Array modèle 100, préparation du boîtier de disque en vue du retrait d'un plateau.
Dans le cas d'un tableau SPARCstorage Array modèle 200 avec plateaux différentiels Wide-SCSI, mise hors tension du contrôleur et de tous les disques attachés.
Identification des objets VxVM sur le plateau affecté.
Arrêt des E/S dans les volumes avec sous-disques sur le plateau affecté.
Ajout du nouveau disque.
Remise en service des unités affectées.
Démarrage de toutes les unités.
Remise en ligne de tous les objets VxVM affectés.
Exécution des tâches administratives pour la préparation du disque pour son utilisation par Sun Cluster.
Création des fichiers spéciaux /devices et des liens /dev/dsk et /dev/rdsk.
Repérage du nouveau disque.
Mise du disque sous le contrôle de la machine virtuelle (VM).
Formatage et partitionnement du disque, au besoin.
Exécution des tâches administratives relatives au gestionnaire de volumes.
Les étapes expliquées maintenant décrivent en détail l'ajout d'un disque multihôtes dans une configuration VxVM.
Rendez un autre noeud de la grappe propriétaire de l'hôte logique qui inclura le nouveau disque.
Commutez les hôtes logiques dont les disques se trouvent dans le plateau qui sera retiré.
phys-hahost1# haswitch phys-hahost1 hahost1 hahost2 |
Dans une configuration en miroir, il n'est pas nécessaire de commuter les hôtes logiques si le noeud n'est pas arrêté.
Trouvez le numéro de contrôleur du plateau auquel le disque sera ajouté.
Des noms universels sont attribués aux tableaux SPARCstorage Array. Le nom universel à l'avant du tableau SPARCstorage Arrayfigure également dans l'entrée /devices, laquelle est reliée par un pointeur à l'entrée /dev contenant le numéro du contrôleur. Exemple :
phys-hahost1# ls -l /dev/rdsk | grep -i WWN | tail -1 |
Si le nom universel à l'avant du tableau SPARCstorage Arrayest 36cc, la sortie suivante sera affichée et le numéro de contrôleur sera c2 :
phys-hahost1# ls -l /dev/rdsk | grep -i 36cc | tail -1 lrwxrwxrwx 1 root root 94 Jun 25 22:39 c2t5d2s7 -> ../../devices/io-unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW, pln@a0000800,201836cc/ssd@5,2:h,raw phys-hahost1# |
Exécutez la commande luxadm(1M) avec l'option display pour afficher les emplacements vides.
Si vous pouvez ajouter le disque sans influencer les autres unités, passez à Étape 11.
phys-hahost1# luxadm display c2 SPARCstorage Array Configuration ... DEVICE STATUS TRAY 1 TRAY 2 TRAY 3 slot 1 Drive: 0,0 Drive: 2,0 Drive: 4,0 2 Drive: 0,1 Drive: 2,1 Drive: 4,1 3 NO SELECT NO SELECT NO SELECT 4 NO SELECT NO SELECT NO SELECT 5 NO SELECT NO SELECT NO SELECT 6 Drive: 1,0 Drive: 3,0 Drive: 5,0 7 Drive: 1,1 NO SELECT NO SELECT 8 NO SELECT NO SELECT NO SELECT 9 NO SELECT NO SELECT NO SELECT 10 NO SELECT NO SELECT NO SELECT ... |
Les emplacements vides ont l'état AUCUN CHOIX. La sortie affichée ici provient d'un tableau SPARCstorage Array110 ; l'affichage sera légèrement différent si vous utilisez un autre modèle.
Identifiez le plateau auquel vous ajouterez le nouveau disque.
Dans les étapes suivantes de la procédure, le plateau 2 est utilisé à titre d'exemple. L'emplacement sélectionné pour le nouveau disque est le plateau 2, emplacement 7. Le nouveau disque porte la désignation c2t3d1.
Identifiez tous les volumes et les périphériques virtuels sur les disques du plateau qui contiendra le nouveau disque.
Trouvez, dans l'adresse physique du périphérique (cNtNdN), le numéro du contrôleur et le numéro de la cible.
Dans cet exemple, le numéro du contrôleur est 2 et la cible 3.
Identifiez les périphériques dans la sortie de la commande vxdisk list.
L'exemple qui suit montre comment la commande vxdisk peut être utilisée pour obtenir les informations.
# vxdisk -g groupe_disques -q list | nawk '/^c2/ {print $3}' |
Notez le nom du volume pour les disques figurant sur la sortie de la commande.
Identifiez tous les périphériques virtuels sur les périphériques ci-dessus, à l'aide de la version qui convient (csh, ksh, ou shell Bourne) de la commande suivante.
PLLIST=`vxprint -ptq -g groupe_disques -e '(aslist.sd_dm_name in ("c2t3d0")) && (pl_kstate=ENABLED)' | nawk '{print $2}'` |
Pour csh, la syntaxe est set PLLIST .... Pour ksh, la syntaxe est export PLLIST= .... Avec le shell Bourne, vous devez utiliser la commande export PLLIST après définition de la variable.
Après avoir défini la variable, interrompez les E/S sur les volumes dont les composants (sous-disques) se trouvent sur le plateau.
Veillez à ce que tous les volumes associés à ce plateau soient détachés (configurations en miroir ou RAID5) ou arrêtés (périphériques virtuels simples). Exécutez la commande suivante pour détacher un périphérique virtuel mis en miroir.
# vxplex -g groupe_disques det ${PLLIST} |
Autre commande permettant de détacher un périphérique virtuel d'un plateau :
# vxplex -g groupe_disques -v volume det périphérique_virtuel |
Pour interrompre les E/S sur des périphériques virtuels simples, démontez les systèmes de fichiers ou interrompez tout accès à la base de données.
Les volumes mis en miroir seront quand même actifs, car l'autre moitié du miroir est encore disponible.
Ajoutez le nouveau disque.
Ajoutez le disque conformément aux directives du manuel d'entretien du matériel pour votre unité d'expansion de disque multihôtes.
Vérifiez que tous les disques du plateau sont en rotation.
Les disques du plateau SPARCstorage Array démarrent normalement automatiquement, mais si le plateau ne démarre pas dans les deux minutes, forcez le démarrage au moyen de la commande suivante :
phys-hahost1# luxadm start -t 2 c2 |
Exécutez les commandes drvconfig(1M) et disks(1M) pour créer les nouvelles entrées dans /devices, /dev/dsk et /dev/rdsk pour tous les nouveaux disques.
phys-hahost1# drvconfig phys-hahost1# disks |
Forcez le pilote vxconfigd VxVMà rechercher les nouveaux disques.
phys-hahost1# vxdctl enable |
Mettez le nouveau disque sous le contrôle de la machine virtuelle (VM) à l'aide de la commande vxdiskadd.
Exécutez les tâches administratives habituelles pour le nouveau disque.
Vous pouvez maintenant exécuter les étapes d'administration habituelles pour la mise en service du nouveau disque (partitionnement du disque, ajout de celui-ci à la configuration comme réserve dynamique ou configuration comme périphérique virtuel, entre autres).
Ainsi prend fin la procédure d'ajout d'un disque multihôtes à un tableau SPARCstorage Array existant.
Cette section explique comment remplacer un disque multihôtes dans un tableau SPARCstorage Array (SSA) sans interrompre les services Sun Cluster (remplacement en ligne) lorsque le gestionnaire de volumes signale des problèmes tels que :
Composants affichant l'état "Maintenance requise".
Remplacement de réserve dynamique.
Erreurs de disque intermittentes.
La liste qui suit énumère les étapes générales du remplacement d'un disque multihôtes dans une configuration Solstice DiskSuite. Certaines de ces étapes ne s'appliquent que dans le cas de configurations utilisant les tableaux SPARCstorage Arraymodèles 100 ou 200 (avec plateau SCSI différentiel).
Commutation des hôtes logiques sur un noeud de grappe.
Identification du disque qui doit être remplacé.
Identification du plateau contenant le disque à remplacer.
(SSA100 et SSA 200 exclusivement) Déconnexion des sous-miroirs du plateau ou du boîtier de disque affecté.
(SSA100 et SSA 200 exclusivement) Exécution de la commande metaclear(1M) sur les sous-miroirs déconnectés.
(SSA100 et SSA 200 exclusivement) Suppression des réserves dynamiques disponibles dans le plateau affecté.
Retrait du disque défectueux de l'ensemble de disques.
(SSA100 et SSA 200 exclusivement) Suppression des répliques de base de données d'état des métapériphériques éventuellement affectées sur les disques du plateau affecté.
(SSA100 et SSA 200 exclusivement) Production d'une liste de métapériphériques dans le plateau affecté.
(SSA100 et SSA 200 exclusivement) Exécution de la commande metaoffline(1M) sur les sous-miroirs dans le plateau affecté ou les sous-miroirs exploitant les réserves dynamiques du plateau.
(SSA100 et SSA 200 exclusivement) Vidage de la mémoire non-volatile NVRAM, si celle-ci est activée.
Arrêt des disques et retrait du plateau ou 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.
Réservation et activation du mode failfast sur le nouveau disque.
Partitionnement du nouveau disque.
(SSA100 et SSA 200 exclusivement) Exécution de la commande metainit(1M) pour initialiser les périphériques précédemment supprimés par la commande metaclear(1M).
(SSA100 et SSA 200 exclusivement) Remise en ligne des miroirs hors ligne avec la commande metaonline(1M) et resynchronisation.
(SSA100 et SSA 200 exclusivement) Reconnexion des sous-miroirs précédemment déconnectés.
(SSA100 et SSA 200 exclusivement) Remplacement des réserves dynamiques utilisées par les sous-miroirs venant d'être reconnectés.
(SSA100 et SSA 200 exclusivement) Retour des réserves dynamiques supprimées à leurs pools d'origine.
Exécution de la commande metastat(1M) pour vérifier si le problème a été corrigé.
Les étapes expliquées maintenant décrivent le remplacement d'un disque multihôtes défectueux dans une configuration Solstice DiskSuite.
Exécutez la commande haswitch(1M) pour que d'autres noeuds deviennent propriétaires des hôtes logiques affectés.
phys-hahost1# haswitch phys-hahost1 hahost1 hahost2 |
Il est possible que le plateau SPARCstorage Arraycontenant le disque défectueux contienne aussi des disques inclus dans plusieurs hôtes logiques. Si c'est le cas, attribuez à un autre noeud de la grappe la propriété de tous les hôtes logiques contenant des disques utilisant ce plateau.
Trouvez le disque devant être remplacé en examinant les sorties produites par les commandes metastat(1M) et /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éfaillant à l'aide de la commande luxadm(1M).
La commande luxadm(1M) énumère les plateaux et les disques qui leur sont associés. La sortie varie en fonction du modèle de tableau SPARCstorage Array. Un exemple de sortie pour un tableau SPARCstorage Array 100 est illustré ci-dessous. Le disque défectueux figure en caractères gras.
phys-hahost1# luxadm display c3 SPARCstorage Array Configuration Controller path: /devices/iommu@f,e0000000/sbus@f,e0001000/SUNW,soc@0,0/SUNW,pln@a0000000,779a16:ctlr DEVICE STATUS TRAY1 TRAY2 TRAY3 Slot 1 Drive:0,0 Drive:2,0 Drive:4,0 2 Drive:0,1 Drive:2,1 Drive:4,1 3 Drive:0,2 Drive:2,2 Drive:4,2 4 Drive:0,3 Drive:2,3 Drive:4,3 5 Drive:0,4 Drive:2,4 Drive:4,4 6 Drive:1,0 Drive:3,0 Drive:5,0 7 Drive:1,1 Drive:3,1 Drive:5,1 8 Drive:1,2 Drive:3,2 Drive:5,2 9 Drive:1,3 Drive:3,3 Drive:5,3 10 Drive:1,4 Drive:3,4 Drive:5,4 CONTROLLER STATUS Vendor: SUN Product ID: SSA110 Product Rev: 1.0 Firmware Rev: 3.9 Serial Num: 000000741022 Accumulate performance Statistics: Enabled |
Déconnectez tous les sous-miroirs avec composants sur le disque à remplacer.
Si vous détachez un sous-miroir dont un composant est défectueux, vous devez forcer l'opération au moyen de la commande metadetach -f. Dans l'exemple qui suit, la commande détache le sous-miroir d50 du métamiroir d40.
phys-hahost1# metadetach -s hahost1 -f d40 d50 |
Exécutez la commande metaclear(1M) pour supprimer les sous-miroirs détachés à l' Étape 4.
phys-hahost1# metaclear -s hahost1 -f d50 |
Avant de supprimer les répliques et les réserves dynamiques, notez l'emplacement (tranche), le nombre de répliques et les informations relatives aux réserves dynamiques (nom et liste des périphériques contenant les pools correspondants) afin de pouvoir répéter les actions dans l'ordre inverse, une fois le disque remplacé.
Supprimez toutes les réserves dynamiques ayant l'état Disponible qui se trouvent dans le plateau contenant le disque défectueux.
Cela inclut toutes les réserves dynamiques, quel que soit l'hôte logique auquel elles sont attribuées. Dans l'exemple qui suit, la commande metahs(1M) signale la présence de réserves dynamiques sur hahost1, mais indique également qu'il n'y en a aucune sur hahost2.
phys-hahost1# metahs -s hahost1 -i hahost1:hsp000 2 hot spares c1t4d0s0 Available 2026080 blocks c3t2d5s0 Available 2026080 blocks phys-hahost1# metahs -s hahost1 -d hsp000 c3t2d4s0 hahost1:hsp000: Hotspare is deleted phys-hahost1# metahs -s hahost2 -i phys-hahost1# hahost1:hsp000 1 hot spare c3t2d5s0 Available 2026080 blocks |
Exécutez la commande metaset(1M) afin de supprimer le disque défectueux de l'ensemble de disques.
La syntaxe de la commande est précisé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).
# metaset -s ensemble_disques -d unité |
Cette opération peut demander 15 minutes et même davantage, selon la taille de la configuration et le nombre de disques.
Supprimez les répliques de base de données d'état des métapériphériques présentes sur les disques du plateau affecté.
La commande metadb(1M) avec l'option -s signale des répliques dans l'ensemble de disques spécifié.
phys-hahost1# metadb -s hahost1 phys-hahost1# metadb -s hahost2 phys-hahost1# metadb -s hahost1 -d répliques-dans-plateau phys-hahost1# metadb -s hahost2 -d répliques-dans-plateau |
Trouvez les sous-miroirs utilisant des composants résidant dans le plateau affecté.
Une méthode possible consiste à utiliser la commande metastat(1M) pour créer des fichiers temporaires contenant les noms de tous les métapériphériques. Exemple :
phys-hahost1# metastat -s hahost1 > /usr/tmp/hahost1.stat phys-hahost1# metastat -s hahost2 > /usr/tmp/hahost2.stat |
Recherchez les composants en question dans les fichiers temporaires (c3t3dn et c3t2dn dans cet exemple). Les informations contenues dans les fichiers temporaires se présentent de la manière suivante :
... hahost1/d35: Submirror of hahost1/d15 State: Okay Hot Spare pool: hahost1/hsp100 Size: 2026080 blocks Stripe 0: Device Start Block Dbase State Hot Spare c3t3d3s0 0 No Okay hahost1/d54: Submirror of hahost1/d24 State: Okay Hot Spare pool: hahost1/hsp106 Size: 21168 blocks Stripe 0: Device Start Block Dbase State Hot Spare c3t3d3s6 0 No Okay ... |
Mettez hors ligne tous les autres sous-miroirs ayant des composants dans le plateau affecté.
En utilisant la sortie obtenue des fichiers temporaires à l'Étape 10, exécutez la commande metaoffline(1M) sur tous les sous-miroirs du plateau affecté.
phys-hahost1# metaoffline -s hahost1 d15 d35 phys-hahost1# metaoffline -s hahost1 d24 d54 ... |
Exécutez la commande metaoffline(1M) autant de fois que nécessaire pour mettre hors ligne tous les sous-miroirs. Cela force Solstice DiskSuite à cesser d'utiliser les composants de sous-miroir.
Si la mémoire non-volatile NVRAM est activée, videz-la en transférant ses données au contrôleur, au plateau, au disque ou aux disques qui conviennent.
phys-hahost1# luxadm sync_cache pathname |
Le message de confirmation affiché indique que la mémoire non-volatile NVRAM a été vidée. Pour plus de détails sur le vidage de la mémoire NVRAM, reportez-vous à la section "Vidage et purge de la mémoire NVRAM".
Arrêtez tous les disques contenus dans les plateaux de tableau SPARCstorage Array affectés.
Utilisez la commande luxadm stop pour arrêter les disques. Pour plus de détails à ce sujet, consultez la page de manuel luxadm(1M).
phys-hahost1# luxadm stop -t 2 c3 |
N'exécutez pas de commandes Solstice DiskSuitependant l'arrêt d'un plateau du tableau SPARCstorage Array, car cela pourrait entraîner le démarrage d'un ou plusieurs disques du plateau.
Remplacez le disque.
Pour plus de détails sur cette procédure, reportez-vous aux manuels d'entretien du matériel de tableau SPARCstorage Array.
Mettez à jour la base de données de pilotes DID en précisant l'ID du nouveau périphérique.
Utilisez l'indicateur -l avec 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 |
Vérifiez que tous les disques dans l'unité d'expansion de disque multihôtes sont en rotation.
Les disques dans l'unité d'expansion de disque multihôtes démarrent normalement automatiquement. Si le plateau n'a pas démarré au bout de deux minutes, forcez le démarrage au moyen de la commande suivante :
phys-hahost1# luxadm start -t 2 c3 |
Ajoutez le nouveau disque dans l'ensemble de disques avec la commande metaset(1M).
Au cours de cette étape, les répliques supprimées du disque défectueux sont automatiquement ajoutées. 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) :
# metaset -s ensemble_disques -a unité |
(Facultatif) Si vous avez supprimé des répliques, appartenant à d'autres ensembles de disques, de disques contenus dans le même plateau que le disque défectueux, exécutez la commande metadb(1M) pour rétablir ces répliques.
phys-hahost1# metadb -s hahost2 -a répliques-supprimées |
Pour ajouter plusieurs répliques sur la même tranche, utilisez l'option -c.
Exécutez la commande scadmin(1M) pour réserver et activer le mode failfast sur le disque spécifié qui vient d'être ajouté à l'ensemble de disques.
phys-hahost2# 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 5.
phys-hahost1# metainit -s hahost1 d50 |
Remettez en ligne tous les sous-miroirs mis hors ligne à l' Étape 11.
phys-hahost1# metaonline -s hahost1 d15 d35 phys-hahost1# metaonline -s hahost1 d24 d54 ... |
Exécutez la commande metaonline(1M) autant de fois que nécessaire pour mettre en ligne tous les sous-miroirs.
Lorsque les sous-miroirs sont remis en ligne, Solstice DiskSuiteresynchronise automatiquement tous les sous-miroirs et met ainsi à jour toutes les données.
Si la commande metastat(1M) était exécutée à cette étape-ci, l'affichage indiquerait que tous les métapériphériques contenant des composants résidant sur le plateau affecté seraient en cours de resynchronisation.
Attachez les sous-miroirs déconnectés à l'Étape 4.
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 |
Remplacez s'il y a lieu les réserves dynamiques utilisées dans les sous-miroirs attachés à l'Étape 23.
Si, avant d'être détaché, un sous-miroir a fait l'objet d'un remplacement dynamique, ce remplacement reste en vigueur lorsque le sous-miroir est rattaché. Au cours de cette étape, la réserve dynamique retourne à l'état Disponible.
phys-hahost1# metareplace -s hahost1 -e d40 c3t3d4s0 |
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 |
Au besoin, commutez les hôtes logiques sur leurs maîtres par défaut.
phys-hahost1# haswitch phys-hahost2 hahost2 |
Vérifiez si le remplacement a remédié au problème.
phys-hahost1# metastat -s hahost1 |
Dans une configuration VxVM, il est possible de remplacer un disque SPARCstorage Array sans arrêter le système, à condition que la configuration en question ait été mise en miroir.
Si vous devez remplacer un disque dans un tableau SPARCstorage Arrayamorçable, ne supprimez pas les plateaux SSA contenant le disque d'initialisation des hôtes. Arrêtez plutôt l'hôte dont le disque d'initialisation se trouve sur ce plateau. Laissez le logiciel de grappe reconfigurer les noeuds restants pour qu'il y ait reprise avant la réparation du disque défaillant. Pour de plus amples informations, reportez-vous au Guide de l'utilisateur des tableaux SPARCstorage.
La liste qui suit énumère les étapes générales du remplacement d'un disque multihôtes dans un environnement VxVM utilisant des disques de tableau SPARCstorage Array100 :
Identification de tous les volumes et des périphériques virtuels correspondants sur les disques du plateau contenant le disque défectueux.
Identification du contrôleur et du numéro de cible du disque défectueux.
Identification des périphériques du plateau au moyen de la commande vxdisk list.
Identification de tous les périphériques virtuels sur le plateau affecté.
Déconnexion des tous les périphériques virtuels sur le plateau affecté.
Suppression du disque de son groupe de disques.
Arrêt des disques du plateau.
Remplacement de l'unité de disque.
Démarrage des disques du plateau.
Initialisation du disque de remplacement.
Analyse de la configuration de disque actuelle.
Ajout du disque de remplacement dans le groupe de disques.
Resynchronisation des volumes.
Les étapes expliquées maintenant décrivent en détail le remplacement d'un disque multihôtes dans un environnement VxVMutilisant des disques de tableau SPARCstorage Array 100.
Si le disque remplacé est un périphérique de quorum, utilisez la commande scconf -q pour faire d'un autre disque le périphérique de quorum.
Identifiez tous les volumes et les périphériques virtuels correspondants sur les disques du plateau contenant le disque défectueux.
Trouvez, dans l'adresse physique du périphérique (cNtNdN), le numéro du contrôleur et le numéro de la cible.
Dans l'adresse c3t2d0, par exemple, le numéro du contrôleur est 3 et la cible 2.
Identifiez les périphériques dans la sortie de la commande vxdisk list.
Si la cible est 0 ou 1, identifiez tous les périphériques dont l'adresse physique commence par cNt0 et cNt1, où N est le numéro du contrôleur. Si la cible est 2 ou 3, identifiez tous les périphériques dont l'adresse physique commence par cNt2 et cNt3. Si la cible est 4 ou 5, identifiez tous les périphériques dont l'adresse physique commence par cNt4 et cNt5. Voici un exemple illustrant comment la commande vxdisk peut être utilisée pour obtenir les informations.
# vxdisk -g groupe_disques -q list | egrep c3t2\|c3t3 | nawk '{print $3}' |
Notez le nom du support du volume pour le disque défectueux (selon la sortie produite par la commande).
Vous en aurez besoin à l'Étape 10.
Identifiez tous les périphériques virtuels sur les périphériques ci-dessus, à l'aide de la version qui convient (csh, ksh, ou shell Bourne) de la commande suivante.
PLLIST=`vxprint -ptq -g groupe_disques -e '(aslist.sd_dm_name in ("c3t2d0","c3t3d0","c3t3d1")) && (pl_kstate=ENABLED)' | nawk '{print $2}'` |
Pour csh, la syntaxe est set PLLIST .... Pour ksh, la syntaxe est export PLLIST= .... Avec le shell Bourne, vous devez utiliser la commande export PLLIST après définition de la variable.
Après avoir défini la variable, interrompez les E/S sur les volumes dont les composants (sous-disques) se trouvent sur le plateau.
Veillez à ce que tous les volumes associés à ce plateau soient détachés (configurations en miroir ou RAID5) ou arrêtés (périphériques virtuels simples). Exécutez la commande suivante pour détacher un périphérique virtuel mis en miroir.
# vxplex det ${PLLIST} |
Autre commande permettant de détacher un périphérique virtuel d'un plateau :
# vxplex -g groupe_disques -v volume det périphérique_virtuel |
Pour interrompre les E/S sur des périphériques virtuels simples, démontez les systèmes de fichiers ou interrompez tout accès à la base de données.
Les volumes mis en miroir seront quand même actifs, car l'autre moitié du miroir est encore disponible.
Supprimez le disque du groupe de disques.
# vxdg -g groupe_disques rmdisk disque |
Arrêtez les disques du plateau.
# luxadm stop -t contrôleur plateau |
Remplacez le disque défectueux.
Démarrez les disques.
# luxadm start -t contrôleurplateau |
Initialisez le disque de remplacement.
# vxdisksetup -i périphérique |
Détectez de nouveau la configuration actuelle du disque.
Exécutez les commandes suivantes sur tous les noeuds de la grappe.
# vxdctl enable # vxdisk -a online |
Ajoutez le nouveau disque au groupe de disques.
L'élément nom_support_périphérique correspond au nom du support de volume enregistré à l'Étape 2c.
# vxdg -g groupe_disques -k adddisk nom-support-périphérique=nom-périphérique |
Resynchronisez les volumes.
# vxrecover -g groupe_disques -b -o |