MIGRATEPV + VIOS + LUNs Guide
Procedimiento que muestra el uso del comando mígratepv y al mismo tiempo la asignación / des-asignación de discos virtualizados mediante VIOS redundantes. Todo esto surge de un requerimiento real el cual se opto por migratepv como método de migración. Se puede utilizar esta información por separado y esta bien hacerlo, de hecho muchas de las tareas son independientes y dependen del rol administrativo.
Recursos:
Storage Manager (SAN)
VIOS 2.2.0.10-FP-24
LPAR AIX 6100-04-06-1034
LUNs (Discos)
DS4700 (nombre de pila Obelix)
Que deseamos lograr?
Asignación de una LUN desde Storage
1. Creacion de la LU N para migrar
1.1 Ingresar con usuario administrador de Storage Manager
Ir a la pestaña Logical del Storage Manager, seleccionar el array donde se quiere crear la LUN- Click //Logical Drive/Create/ y seguir el asistente:
1.2 Seguir los siguientes pasos del Wizard
1.2.1 Datos de la LUN: Tamaño en GBs, nombre, Array, Raid
1.2.2 Indicar tipo de host al que vamos a asignar la LUN y si ya queremos mapearla.
1.2.3 Estado de ejecución (creación) de la LUN
Tips: Esto no impide que ya podamos asignarla al host en cuestión.
2. Mapear la LUN al Host Group VIO Server
Seleccionar la pestaña Mapping del Storage Manager y pararse en la lun a mapear, click //Mappings/Define/additional Mapping…/
2.1 Asignar la nueva LUN a los VIOS: host o hosrgroup - ID de LUN - Nombre de LUN
Nota: Un Host Group son más de un host (LPAR en nuestro caso)al cual le asignamos la LUN, esto es ambos nodos podrán ver la misma LUN. Es muy usado para ambiente en cluster y para ambientes en redundancia, tal como muestra este instructivo. En el caso de que sea una Host, la asignación se realiza unicamente a una LPAR.
Asignación de la LUN a una LPAR que “pasa” VIOS redundantes
En los VIOS:
Nota previa: $ = prompt de padmin
# = prompt de root
En vios1
0. Reconocer la nueva LUN
$ cfgdev
1. Identificar el disco (hdisk) según LUN que nos asigno Storage (solicitar nombre o eventualmente el ID de LUN). En nuestro ejemplo se llama "lu2002e_migra".
1.1 Pasarse al prompt de root
$ oem_setup_env
1.2 Usar el comando mpio_get_config para identificar el disco correspondiente a la nueva LUN
# mpio_get_config -Av | grep "lu2002e_migra"
hdisk19 47 A (preferred) lu2002e_migra
1.3 Cambiar los atributos del disco: política de reserva
$ chdev -dev hdisk19 -attr pv=yes
hdisk19 changed
$ chdev -dev hdisk19 -attr reserve_policy=no_reserve
hdisk19 changed
1.3.1 Verificar que la política de reserva sea la deseada
$ oem_setup_env
# lsattr -El hdisk19 |grep reserve_policy
reserve_policy no_reserve
1.4 Asignar el disco “físico” a un Virtual Host (cliente vios) y darle un nombre virtual (eg: vhdisk19)
1.4.1 Asegurarse que vhost3 es el cliente (LPAR) es el correcto
1.4.1.1 Vía HMC ingresar con usuario hscroot a: Systems Management -> Server -> Nombre Servidor que tiene la LPAR -> Divisar la lpar cliente VIOS y fijarse el ID (anotarlo).
1.4.1.2 En promt del VIOS con el usuario padmin:
$ lsmap -all |grep "005"
vhost3 U9117.MMA.10B7E32-V6-C14 0x00000005
Nota: En este caso, vemos que el ID5 corresponde al vhost3, al cual le queremos agregar la nueva LUN.
1.4.2 Asignar disco con el comando mkvdev
$ mkvdev -vdev hdisk19 -vadapter vhost3 -dev vhdisk19
vhdisk19 Available
vdev: disco físico
vadapter: cliente VIOS
dev: nuevo dispositivo virtual
En vio2: Igual procedimiento, teniendo en cuanta que la base de dispositivo puede haberle asignado a la LUN otro nombre de hdisk (pero mismo ID de disco, e.g.: 00cb7e326f3212af).
$ cfgdev
$ oem_setup_env
# mpio_get_config -Av | grep "lu2002e_migra"
hdisk3 47 A (preferred) lu2002e_migra
$ chdev -dev hdisk3 -attr pv=yes
$ chdev -dev hdisk3 -attr reserve_policy=no_reserve
$ oem_setup_env
# lsattr -El hdisk19 |grep reserve_policy
$ mkvdev -vdev hdisk3 -vadapter vhost3 -dev vhdisk3
TIPS para trabajar en los VIOS:
Por prolijidad se suele poner al dispositivo virtual el mismo nombre que al dispositivo físico, identificando con una v delante del nombre: hdisk3/vhdisk3
Migración del nuevo disco AIX con el comando migratepv
En LPAR AIX:
1. Listar los discos existents:
# lspv
hdisk0 00cb7e3219962a68 rootvg active
hdisk1 00cb7e32199622b9 rootvg active
hdisk2 00cb7e326f3212af vg2002e active
hdisk3 00cb7e326f419b74 vg2012e active
hdisk5 00cb7e327cb4125a vgaudit active
hdisk4 00cb7e326f525043 vg2022e active
hdisk6 00cb7e326f641e9c vg2032e active
hdisk7 00cb7e326f6fb295 vg2042e active
hdisk8 00cb7e326f75dc60 vg2052e active
2. Como usuario root correr el commando cfgmgr para reconocer el Nuevo disco:
# cfgmgr
2.1 Divisar el Nnuevo disco:
# lspv
hdisk0 00cb7e3219962a68 rootvg active
hdisk1 00cb7e32199622b9 rootvg active
hdisk2 00cb7e326f3212af vg2002e active
hdisk3 00cb7e326f419b74 vg2012e active
hdisk5 00cb7e327cb4125a vgaudit active
hdisk4 00cb7e326f525043 vg2022e active
hdisk6 00cb7e326f641e9c vg2032e active
hdisk7 00cb7e326f6fb295 vg2042e active
hdisk8 00cb7e326f75dc60 vg2052e active
hdisk9 00cb7e32d680caba None
3. Identificar el Volume Gorup correspondiente al disco que queremos migrar (este dato lo conocemos de antes, de todas formas nos aseguramos, este caso hdisk2):
# lspv
hdisk0 00cb7e3219962a68 rootvg active
hdisk1 00cb7e32199622b9 rootvg active
hdisk2 00cb7e326f3212af vg2002e active
hdisk3 00cb7e326f419b74 vg2012e active
hdisk5 00cb7e327cb4125a vgaudit active
hdisk4 00cb7e326f525043 vg2022e active
hdisk6 00cb7e326f641e9c vg2032e active
hdisk7 00cb7e326f6fb295 vg2042e active
hdisk8 00cb7e326f75dc60 vg2052e active
hdisk9 00cb7e32d680caba None
4. Extendemos el VG correspondiente:
Nota: No es posible realizar un migratepv si el disco no está en el mismo Volume Group que el disco que deseamos migrar.
# smitty vg
Set Characteristics of a Volume Group
Add a Physical Volume to a Volume Group
Add a Physical Volume to a Volume Group
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
FORCE the creation of volume group? no
* VOLUME GROUP name [vg2002e]
* PHYSICAL VOLUME names [hdisk9]
+--------------------------------------------------------------------------+
| ARE YOU SURE? |
| |
| Continuing may delete information you may want |
| to keep. This is your last chance to stop |
| before continuing. |
| Press Enter to continue. |
| Press Cancel to return to the application. |
| |
| F1=Help F2=Refresh F3=Cancel |
| F8=Image F10=Exit Enter=Do |
+--------------------------------------------------------------------------+
4.1 Confirmamos que el disco este en el VG correspondiente:
# lsvg -p vg2002e
vg2002e:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk2 active 319 1 00..00..00..00..01
hdisk9 active 319 319 64..64..63..64..64
5. Realizar el migratepv
# migratepv hdisk2 hdisk9
Nota: La idea es que deseamos realizar una copia física de disco a disco, esto es, el contenido (datos) del hdisk2 se migraran al hdisk9. El hdisk9 queda “vació” y pronto para ser devuelto a la SAN.
Nota2: Observar la cantidad y distribución de las PPs de un disco y del otro en el paso 4.1.
5.1 Estado actual de los discos:
# lsvg -p vg2002e
vg2002e:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk2 active 319 319 64..64..63..64..64
hdisk9 active 319 1 00..00..00..00..01
5.2 Como ejemplo podemos listar el contenido ya migrado el Nuevo disco con el siguiente commando:
# lsvg -l vg2002e
vg2002e:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
lvoracle jfs2 24 24 1 open/syncd /oracle
loglv00 jfs2log 1 1 1 open/syncd N/A
lvoraprd jfs2 40 40 1 open/syncd /oracle/PRD
lvora10264 jfs2 128 128 1 open/syncd /oracle/PRD/102_64
lvstage jfs2 125 125 1 open/syncd /oracle/stage/102_64
Proceso de Eliminación del disco recientemente migrado
6. Reducir el Volume Group (quitar disco “viejo”)
Nota: NO intentar remover el disco antes de hacer el reducevg, puesto que no va permitir hacerlo.
# smitty vg
Set Characteristics of a Volume Group
Remove a Physical Volume from a Volume Group
Remove a Physical Volume from a Volume Group
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
* VOLUME GROUP name vg2002e
* PHYSICAL VOLUME names [hdisk2] FORCE deallocation of all partitions on yes this physical volume?
F1=Help F2=Refresh F3=Cancel F4=List F5=Reset F6=Command F7=Edit F8=Image F9=Shell F10=Exit Enter=Do
Salida deseada:
COMMAND STATUS
Command: OK stdout: no stderr: no
Before command completion, additional instructions may appear below.
6.1 Asegurarse que el disco ya no este asignado al VG:
# lsvg -p vg2002e
vg2002e:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk9 active 319 1 00..00..00..00..01
7. Remover el disco definivamente de la LPAR:
7.1. Eliminar el disco ya migrado en la LPAR
# rmdev -dl hdisk2
hdisk2 deleted
7.2 Eliminar el disco en los VIOS
Nota: Como se menciono en puntos anteriores el ID de disco se mantiente en todos lados, esto es, el disco tiene el mismo ID en ambos VIOS y se mantiene la LPAR. Esto nos ayudara a seguir identificando el disco en hdisk2 de la LPAR en los VIOS.
En vios1: Remove
7.2.1 Identificar el disco:
$ lspv | grep "00cb7e326f3212af"
hdisk3 00cb7e326f3212af None
7.3.2 Identificamos que disposotivo virtual se asigno al disco físico, cuando se asigno al cliente VIOS:
$lsmap -all | more
SVSA Physloc Client Partition ID
--------------- -------------------------------------------- ------------------
vhost3 U9117.MMA.10B7E32-V6-C14 0x00000005
VTD vhdisk3
Status Available
LUN 0x8100000000000000
Backing device hdisk3
Physloc U5796.001.15112A0-P1-C1-T2-W203400A0B842359C-L1000000000000
Mirrored false
7.3 Remover el Virtual Taget Device:
$ rmvdev -vtd vhdisk3
7.4 Remover el dispisitvo definitivamente del VIOS
7.4.1 Cambiar al usuario root
$ oem_setup_env
7.4.2 Remover el dispotivo (disco/lun) físico
# rmdev -dl hdisk3
hdisk3 deleted
En vios2: Remove = Procedimiento
$ lspv |grep "00cb7e326f3212af"
hdisk2 00cb7e326f3212af None
$ lsmap -all | grep hdisk2
VTD vhdisk2
Backing device hdisk2
$ rmvdev -vtd vhdisk2
$ oem_setup_env
# rmdev -dl hdisk2
hdisk2 deleted
TIPS: lsmap -all | grep hdisk2 es una forma más facil de identificar el VTD.
8. Como último paso le comunicamos a los admins de Storage que pueden desmapaer la LUN al host group de los VIOS.