PowerPath : La commande « pprootdev on » échoue car le volume logique HD5 est trop petit
Summary: Avec AIX 7.2, la taille de l’enregistrement de démarrage, lorsque PowerPath n’est pas activé sur rootvg, est proche de 32 Mo. Lorsque PowerPath est activé sur rootvg, l’enregistrement de démarrage peut dépasser 32 Mo et si hd5 ne fait qu’une seule partition physique (PP) et si la taille de PP est de 32 Mo, l’enregistrement de démarrage ne peut pas être écrit. Cet article de la base de connaissances propose une méthode permettant d’augmenter la taille de hd5 afin qu’il puisse contenir l’enregistrement de démarrage lors de l’activation de PowerPath sur rootvg (pprootdev on). ...
Symptoms
pprootdev on La commande échoue avec les erreurs suivantes :
dd: 0511-053 The write failed. : There is a request to a device or address that does not exist. 35509+1 records in. 554+1 records out. 0301-161 bosboot: dd failed to copy bootimage. 0301-165 bosboot: WARNING! bosboot failed - do not attempt to boot device. pprootdev: bosboot has failed. The configuration change has not been saved to the boot device.
Cause
Le script PowerPath pprootdev on appelle l’attribut bosboot Commande permettant de créer une image de démarrage et de la stocker dans le volume logique de démarrage spécifié. Lorsque PowerPath est activé, l’image de démarrage peut avoir une taille >de 32 Mo. Le volume logique a une taille d’une partition physique (PP), mais si la taille PP de rootvg est de 32 Mo, la taille du volume sera de 32 Mo, ce qui est trop petit pour stocker l’image de démarrage.
La taille d’un PP dépend de la taille du disque lui-même. Plus le disque est grand, plus la taille d’un PP est grande.
Resolution
Il existe trois méthodes différentes pour augmenter la taille d’un volume logique. Le volume hd5 est supposé être utilisé dans les exemples ci-dessous :
Méthode 1 : ajout d’une partition physique (PP) à hd5
Les partitions sur lesquelles se trouve hd5 doivent être contiguës, et dans les 4 premiers Go du disque dur. Si vous voulez savoir s’il existe des partitions libres disponibles à côté de hd5, exécutez la commande suivante :
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2-15 hdisk0:16 fslv00:1 hdisk0:17 fslv00:2
-
Utilisez
extendlvCommande permettant d’ajouter une deuxième partition à HD5. Pour cet exemple, nous créerions un fichier appelé « Map » par exemple, et dans le fichier nous n’aurions qu’une seule ligne avec hdisk0:2. Ensuite, nous exécuterionsextendlv -m Map hd5 1. Cela étendrait hd5 d’un PP à partir de hdisk0:2. Cela garantirait que l’extension est contiguë. -
Exécuter
pprootdev on(si vous rencontrez le problème après l’exécution depprootdev on, cette deuxième tentative d’exécutionpprootdev onéchouera parce que le précédent a partiellement réussi. Cela signifie que vous devrez probablement créer une nouvelle copie de votre disque de démarrage pour répéter à nouveau toute la procédure... et étendez le LV hd5 AVANT l’exécutionpprootdev on).
Méthode 2 - Modification de la disposition hd5 dans rootvg avec l’utilitaire alt_disk_copy
-
Exécuter
mkszfile. Cette commande crée un fichier /image.data qui correspond à la mise en page de rootvg. -
Modifiez le fichier image.data et ajustez les LP et les LV_MIN_LPS pour hd5 (nous avons besoin d’un PP de plus. Par conséquent, si LP et LV_MIB_LPS sont définis sur 1, remplacez ces valeurs par 2)
Exemple :
lv_data: VOLUME_GROUP= rootvg VOLUME_GROUP= rootvg LV_SOURCE_DISK_LIST= hdisk4 LV_SOURCE_DISK_LIST= hdisk4 LV_IDENTIFIER= 00f98edf00004c00000001860d2daee6.1 LV_IDENTIFIER= 00f98edf00004c00000001860d2daee6.1 LOGICAL_VOLUME= hd5 LOGICAL_VOLUME= hd5 VG_STAT= active/complete VG_STAT= active/complete TYPE= boot TYPE= boot MAX_LPS= 512 MAX_LPS= 512 COPIES= 1 COPIES= 1 LPs= 1 LPs= 2 STALE_PPs= 0 STALE_PPs= 0 INTER_POLICY= minimum INTER_POLICY= minimum INTRA_POLICY= edge INTRA_POLICY= edge MOUNT_POINT= MOUNT_POINT= MIRROR_WRITE_CONSISTENCY= on/ACTIVE MIRROR_WRITE_CONSISTENCY= on/ACTIVE LV_SEPARATE_PV= yes LV_SEPARATE_PV= yes PERMISSION= read/write ==> PERMISSION= read/write LV_STATE= closed/syncd LV_STATE= closed/syncd WRITE_VERIFY= off WRITE_VERIFY= off PP_SIZE= 128 PP_SIZE= 128 SCHED_POLICY= parallel SCHED_POLICY= parallel PP= 1 PP= 1 BB_POLICY= non-relocatable BB_POLICY= non-relocatable RELOCATABLE= no RELOCATABLE= no UPPER_BOUND= 32 UPPER_BOUND= 32 LABEL= primary_bootlv LABEL= primary_bootlv MAPFILE= MAPFILE= LV_MIN_LPS= 1 LV_MIN_LPS= 2 STRIPE_WIDTH= STRIPE_WIDTH= STRIPE_SIZE= STRIPE_SIZE= SERIALIZE_IO= no SERIALIZE_IO= no FS_TAG= FS_TAG= DEV_SUBTYP= DEV_SUBTYP=
-
Clonez rootvg à l’aide de la commande :
alt_disk_copy -i /image.data -d hdiskY(hdiskY est le disque cible) -
Redémarrez le serveur pour activer le disque cloné (avec une nouvelle taille PP)
-
Exécuter
pprootdev oncommand
Méthode 3 : recréer hd5
Comme mentionné précédemment, les partitions sur lesquelles se trouve hd5 doivent être contiguës, et dans les 4 premiers Go du disque dur. Si vous voulez savoir s’il existe des partitions libres disponibles à côté de hd5, exécutez la commande suivante :
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2
-
Dans l’exemple ci-dessus, il n’y a pas de PP libre après le premier utilisé par hd5. L’utilisation d’un
extendlvne fonctionnera pas puisque le PP supplémentaire ne sera pas contigu. Étant donné que hd5 ne contient que l’enregistrement de démarrage et que ce contenu peut être généré avec unbosboot, nous pouvons complètement recréer hd5.# rmlv -f hd5 (hdisk0 = rootvg disk) # mklv -y hd5 -t boot -u2 rootvg 2 hdisk0
-
Nous pouvons ensuite vérifier à l’aide d’un
lspv -M hdiskXXque le hd5 nouvellement créé a maintenant deux PP consécutifs.# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2 .... hdisk0:13 hd5:1 hdisk0:14 hd5:2
Le pprootdev on devrait maintenant réussir, en supposant que le LV hd5 a été créé dans les 4 premiers Go (c’est ce que dit la documentation, mais cela dépend de la version d’AIX et avec AIX 7.2 TL5, la limite est plus élevée). Par conséquent, et avant d’exécuter une commande pprootdev on, exécutez une commande bosboot! Si la demande bosboot hd5 ne peut pas être trouvé, cela signifie qu’il est trop éloigné du début du disque et pprootdev on échouera également : La modification doit être annulée (rmlv -f hd5; mklv -y hd5 -t boot -u1 rootvg 1 hdiskX) et la méthode 2 doit être utilisée.