unmirroring d'un rootvg

Creation: 20 juillet 2009
Mise à jour:
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2009 Jean-Louis BICQUELET-SALAÜN

présentation

La méthode présentée ci dessous, décrit comment retirer un mirroir sur le rootvg d'un serveur AIX.

unmirroring du rootvg

suppression du mirroir

Nous allons commencer par déterminer si le volume groupe de boot est mirroré.

La commande lsvg -p permet de déterminer les disque composant le rootvg.

#lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            active            542         199         108..28..00..00..63
hdisk1            active            542         383         108..12..46..108..10
9

Pour savoir si le disque est mirroré, on observe les volumes logiques à l'aide de lsvg -l. SI le nombre de PV est à deux c'est que les volumes logiques sont mirrorés. Dans un même volume groupe, il peut y avoir coexistance de volumes logiques mirrorés et d'autres qui ne le sont pas. C'est le cas ici avec lrootvg0101.

#lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
hd5                 boot       1     2     2    closed/syncd  N/A
hd6                 paging     80    160   2    open/syncd    N/A
hd8                 jfs2log    1     2     2    open/syncd    N/A
hd4                 jfs2       1     2     2    open/syncd    /
hd2                 jfs2       33    66    2    open/syncd    /usr
hd9var              jfs2       6     12    2    open/syncd    /var
hd3                 jfs2       16    32    2    open/syncd    /tmp
hd1                 jfs2       2     4     2    open/syncd    /home
hd10opt             jfs2       3     6     2    open/syncd    /opt
lg_dumplv           sysdump    200   200   1    open/syncd    N/A
lrootvg0101         jfs2       16    16    1    open/syncd    /TUNING

Le volume logique hd5 est le volume de boot. Il faut impérativement vérifier que le disque que l'on conserve contient celui-ci. La commande lslv -m détermine son emplacement.

#lslv -m hd5
hd5:N/A
LP    PP1  PV1               PP2  PV2               PP3  PV3
0001  0001 hdisk0            0001 hdisk1

Dans notre cas, hd5 se trouve sur deux disques hdisk0 et hdisk1. Démirrore maintenant retournerait un message comme suit:

#unmirrorvg rootvg hdisk1
0516-1246 rmlvcopy: If hd5 is the boot logical volume, please run 'chpv -c '
        as root user to clear the boot record and avoid a potential boot
        off an old boot image that may reside on the disk from which this
        logical volume is moved/removed.
0516-1132 unmirrorvg: Quorum requirement turned on, reboot system for this
        to take effect for rootvg.
0516-1144 unmirrorvg: rootvg successfully unmirrored, user should perform
        bosboot of system to reinitialize boot records.  Then, user must modify
        bootlist to just include:  hdisk0.

On doit donc nettoyer le boot record du disque que l'on ne veut pas garder, puis vérifier que le volume logique de boot est correct.

#chpv -c hdisk1
#lslv -m hd5
hd5:N/A
LP    PP1  PV1               PP2  PV2               PP3  PV3
0001  0001 hdisk0

Une vérification du nombre de physical volume doit retourner 1 seul PV par LV.

#lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
hd5                 boot       1     1     1    closed/syncd  N/A
hd6                 paging     80    80    1    open/syncd    N/A
hd8                 jfs2log    1     1     1    open/syncd    N/A
hd4                 jfs2       1     1     1    open/syncd    /
hd2                 jfs2       33    33    1    open/syncd    /usr
hd9var              jfs2       6     6     1    open/syncd    /var
hd3                 jfs2       16    16    1    open/syncd    /tmp
hd1                 jfs2       2     2     1    open/syncd    /home
hd10opt             jfs2       3     3     1    open/syncd    /opt
lg_dumplv           sysdump    200   200   1    open/syncd    N/A
lrootvg0101         jfs2       16    16    1    open/syncd    /TUNING

Il reste à déplacer les PPs encore utilisés sur le second disque en les migrant vers le premier. En effet lsvg -p montre que le second disque n'est pas composé uniquement de PPs libres.

#lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            active            542         199         108..28..00..00..63
hdisk1            active            542         526         109..92..108..108..109

migratepv du disque à vider vers le disque qui doit contenir l'intégralité durootvg, va effectuer l'opération.. Au final, il doit y a voir sur le disque à libérer autant de PPs libres qu'il existe de PPs.

# migratepv hdisk1 hdisk0

#lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            active            542         183         108..12..00..00..63
hdisk1            active            542         542         109..108..108..108.109

Il reste à retirer le disque du volume groupe à l'aide de reducevg.

#reducevg rootvg hdisk1
#lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            active            542         183         108..12..00..00..63

remise à jour de la bootlist

Il reste maintenant à fixer le device d'IPL. On force avec le lien entre le disque et le device ipldevice (option-f). Ce n'est pas grave, si le lien était correctement configuré.

#ln -f /dev/rhdisk0 /dev/ipldevice
ln: /dev/rhdisk0 and /dev/ipldevice are identical.

On fixe la bootlist pour le mode normal ainsi que pour le mode service et notre serveur est près à redémarrer.

#bootlist -m normal hdisk0

#bootlist -o -m normal
hdisk0

#bootlist -o -m service
hdisk0