Reemplazar discos duros en AIX (en mirror y en LVM)

La situación es mas o menos así:

Hay un servidor con 2 discos duros y uno de ellos falla. Lo quitan y se espera a que llegue uno nuevo. El problema reside en que este disco está dentro de un Volume Group, y este Volume Group está en espejo; por lo que no se puede simplemente meter el disco nuevo y esperar a que todo funcione como estaba antes. Además que el hdisk0 que ya quitaron nos deja con información faltante.

Según las diversas consultas que hice a mis gurú amigos lo que debería de hacer es lo siguiente:
  1. Cambiar el arranque del sistema al disco1 (hdisk1)
  2. Romper el mirror
  3. Que metan el otro disco
  4. Crear el mirror nuevamente
  5. Sincronizar
 Antes de hacer todo eso es recomendable obtener algunos datos sobre los discos y los Volume Groups:

# lspv hdisk0
PHYSICAL VOLUME:    hdisk0                   VOLUME GROUP:     rootvg
PV IDENTIFIER:      00c4870ee76ee9af VG IDENTIFIER     00c4870e00004c0000000126e76eea39
PV STATE:           removed
STALE PARTITIONS:   65                       ALLOCATABLE:      yes
PP SIZE:            32 megabyte(s)           LOGICAL VOLUMES:  15
TOTAL PPs:          545 (17440 megabytes)    VG DESCRIPTORS:   0
FREE PPs:           113 (3616 megabytes)     HOT SPARE:        no
USED PPs:           432 (13824 megabytes)    MAX REQUEST:      256 kilobytes
FREE DISTRIBUTION:  12..00..00..00..101
USED DISTRIBUTION:  97..109..109..109..08
MIRROR POOL:        None


# lspv hdisk1
PHYSICAL VOLUME:    hdisk1                   VOLUME GROUP:     rootvg
PV IDENTIFIER:      00c4870e1b06c786 VG IDENTIFIER     00c4870e00004c0000000126e76eea39
PV STATE:           active
STALE PARTITIONS:   0                        ALLOCATABLE:      yes
PP SIZE:            32 megabyte(s)           LOGICAL VOLUMES:  13
TOTAL PPs:          545 (17440 megabytes)    VG DESCRIPTORS:   2
FREE PPs:           48 (1536 megabytes)      HOT SPARE:        no
USED PPs:           497 (15904 megabytes)    MAX REQUEST:      256 kilobytes
FREE DISTRIBUTION:  00..00..00..00..48
USED DISTRIBUTION:  109..109..109..109..61
MIRROR POOL:        None


# lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            removed           545         113         12..00..00..00..101
hdisk1            active            545         48          00..00..00..00..48


# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       2       2    closed/stale  N/A
hd6                 paging     32      64      2    open/syncd    N/A
hd8                 jfs2log    1       2       2    open/stale    N/A
hd4                 jfs2       8       16      2    open/stale    /
hd2                 jfs2       96      192     2    open/stale    /usr
hd9var              jfs2       7       14      2    open/stale    /var
hd3                 jfs2       32      64      2    open/stale    /tmp
hd1                 jfs2       19      38      2    open/stale    /home
hd10opt             jfs2       32      64      2    open/stale    /opt
lg_dumplv           sysdump    64      64      1    closed/syncd  N/A
livedump            jfs2       8       16      2    open/stale    /var/adm/ras/livedump
fslv00              jfs2       4       8       2    open/stale    /root
fslv01              jfs2       1       1       1    open/syncd    /infradm
fslv02              jfs2       256     256     1    open/syncd    /temp
fslv03              jfs2       64      64      1    closed/syncd  /web
fslv04              jfs2       32      32      1    closed/syncd  /usr/IBMIHS
fslv05              jfs2       32      32      1    closed/syncd  /usr/UpdateInstaller


Atención en este último paso. Si el número en la columna de LPs es el doble en la columna de PPs significa que tenemos el mirror activado.
Otro detalle que tenemos es que los LVs en estado stale son probablemente las que se encontraban en mirror pero no pueden continuar debido a que hace falta el otro disco (hdisk0).

Al no haber hdisk0, necesitamos especificarle al sistema que arranque con el hdisk1 en el próximo arranque:
# bootlist  -m  normal  hdisk1
# mkboot -cd /dev/hdisk1

Hay que romper el mirror:
# unmirrorvg rootvg hdisk0 
o
# unmirrorvg rootvg

Eliminamos también la definición del hdisk0:
# rmdev -dl hdisk0

Confirmamos que ya no exista la definición del hdisk0 en el VG y que no exista el mirror:
# lspv
hdisk1          00c4870e1b06c786                    rootvg          active






# 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     32      32      1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       8       8       1    open/syncd    /
hd2                 jfs2       96      96      1    open/syncd    /usr
hd9var              jfs2       7       7       1    open/syncd    /var
hd3                 jfs2       32      32      1    open/syncd    /tmp
hd1                 jfs2       19      19      1    open/syncd    /home
hd10opt             jfs2       32      32      1    open/syncd    /opt
lg_dumplv           sysdump    64      64      1    closed/syncd  N/A
livedump            jfs2       8       8       1    open/syncd    /var/adm/ras/livedump
fslv00              jfs2       4       4       1    open/syncd    /root
fslv01              jfs2       1       1       1    open/syncd    /infradm
fslv02              jfs2       256     256     1    open/syncd    /temp
fslv03              jfs2       64      64      1    closed/syncd  /web
fslv04              jfs2       32      32      1    closed/syncd  /usr/IBMIHS
fslv05              jfs2       32      32      1    closed/syncd  /usr/UpdateInstaller


La columna de LPs es igual a la de PPs por lo que podemos confirmar que el espejo ya se eliminó. Además la columan de LV state ya muestra a las particiones como syncd.

En la próxima entrega, la instalación del nuevo disco, creación del mirror y resincronización.

2 comentarios:

Anónimo

Genial guia, un buen "how to"

toxickore

que bueno que te fué de utilidad