Migrar un cluster de Oracle RAC12 en vmware

Por cambio de cabina nos vemos “obligados” a mover de datastore nuestro Oracle RAC, esto significa que tenemos que hacer una parada de sistema, y tiene que ser lo más rápida posible.

Bien, os explico la arquitectura, teníamos un clúster Oracle RAC 12.2.0.1.0 completamente funcional de 2 nodos, que se ejecutaba en OEL 7 con vmdk/s en el almacén de datos compatible NFS en VMware vSphere 6.0.

Hasta aquí todo bien, ahora vamos a migrar este clúster de Oracle RAC a un almacenamiento diferente.

Las máquinas virtuales de Oracle RAC son ‘zofio1’ y ‘zofio2’.

node1

Lo primero, realizamos una copia de seguridad de los archivos.vmx ‘zofio1’ y ‘zofio2’ del RAC VM en una ubicación de copia de seguridad.

[root@ESXI01:/vmfs/volumes/2f464f4c-94993f7d/zofio1] cp zofio1.vmx zofio1.vmx.ORIG
[root@ESXI01:/vmfs/volumes/2f464f4c-94993f7d/zofio2] cp zofio2.vmx zofio2.vmx.ORIG

Listamos y guardamos todas las líneas de multiwriter, de los archivos VM.vmx a otro archivo, por ejemplo ‘multi-writer.out’

[root@ESXI01:/vmfs/volumes/2f464f4c-94993f7d/zofio1] grep -i multi zofio1.vmx
scsi3: 0.sharing = "multi-writer"
scsi3: 1.sharing = "multi-writer"
scsi3: 2 .sharing = "multi-writer"
scsi3: 3.sharing = "multi-writer"

 

[root@ESXI01:/vmfs/volumes/2f464f4c-94993f7d/zofio1] grep -i multi zofio1.vmx> multi-writer.out

 

Cierre Oracle RAC Cluster en todas las máquinas virtuales de RAC, ‘zofio1’ y ‘zofio2’

[root@zofio1 ~] # /u01/app/12.2.0/grid/bin/crsctl stop cluster -all

Apagamos TODAS las VM de RAC, ‘zofio1’ y ‘zofio2’.

Vamos a editar la configuración de VM ‘zofio2’ y eliminaremos TODOS los dispositivos compartidos de VM ‘zofio2’.  Cuidado de no eliminar los vmdks del almacenamiento.

disk oracle

Movemos vMotion VM ‘zofio2’ en al nuevo datastore. Recordamos, el archivo zofio2.vmx.ORIG y multi-writer.out NO se copiará, así que lo copiamos a un lugar seguro.

Eliminamos la configuración de multi-writer de todos los discos compartidos en VM ‘zofio1’. Esto se puede hacer de una de las dos formas siguientes.

  • En el cliente web, hacemos clic en ‘Editar configuración’ para VM ‘zofio1’, navegue a vmdk compartido y elegimos la opción ‘No sharing’ en el cuadro desplegablemulti-writter

Realizamos el mismo paso para TODOS los vmdk compartidos

  • ssh al servidor ESXI y navegue a la carpeta VM ‘zofio1’. Usando el editor vi, edite el archivo zofio1.vmx y elimine todas las líneas que contengan la palabra ‘multi-writer’ del archivo vmx y guarde el archivo. vmx.

* a partir de aquí cuidado: yo tengo los discos en una carpeta a parte con nombres específicos, es decir, CRS, FRA, DATA…… con store vmotion te los renombra tipo: zofio1_3, zofio1_4…. Si quieres tenernos como antes de la migración. Es conveniente renombrarlos antes de arrancar la maquina una vez migrada. Si no puedes moverlos de manera manual por ssh.

Hacemos un store vMotion VM ‘zofio1’ a nuevo almacenamiento, podemos elegir si queremos separarlo en diferente datastore de la siguiente manera:

Pulsamos en advanced en la elección de datastore

datastores vmotion

Elegimos el disco y el datastore elegimos browser

select datastore

Yo en este caso voy a separar en otro datastore los disco de RAC, como los tenía antes.

migrate oracle

Una vez que el storage vMotion de VM ‘zofio1’ se termine, restauramos la configuración de multi-writer para todos los vmdk compartidos en VM ‘zofio1’. Esto se puede hacer de una de las dos formas siguientes.

  • Desde la web, vamos clic en ‘Editar configuración’ para VM ‘zofio1’, navegue a vmdk compartidos y elija la opción ‘multi-writer’ en el cuadro desplegable

multishare oracle

  • Para versiones 6.5 o superior, si no deberás quitar la máquina de inventario y volverla a poner. ssh al servidor ESXI y vamos a la carpeta VM ‘zofio1’. Agregamos el contenido del archivo ‘multi-writer.out’ guardado al final del archivo ‘zofio1.vmx’
[root@ESXI01:/vmfs/volumes/2f464f4c-94993f7d/zofio1] cat multi-writer.out >> /vmfs/volumes/NetApp8200_SD_41_DES/zofio1/zofio1.vmx
[root@ESXI01:/vmfs/volumes/2f464f4c-94993f7d/zofio1] cat multi-writer.out >> zofio1.vmx

Ahora agregamos nuevamente los discos compartidos con la configuración de multi-writer a la máquina virtual ‘zofio2’.

  • Desde la web, hacemos clic en ‘Editar configuración’ para VM ‘zofio2’, elegimos ‘Disco duro existente’, navegamos a la carpeta VM ‘zofio1’ donde se encuentra el vmdk y lo agregamos a la misma ranura SCSI X:Y que está presente en VM ‘zofio1’.
  • Solo para versiones 6.5 o superior, si no deberás quitar la máquina de inventario y volverla a poner. ssh al servidor ESXI y navegamos a la carpeta VM ‘zofio2’ y copiamos el contenido del archivo VM ‘zofio2.vmx.ORIG’ al archivo ‘zofio2.vmx’. A continuación, editamos el archivo ‘zofio2.vmx’ y cambiamos la ubicación de almacenamiento de la ubicación original del almacén de datos NFS, a la nueva ubicación del almacén de datos. Luego, agregamos el contenido del archivo ‘multi-writer.out’ guardado al final del archivo ‘zofio2.vmx’ como se hizo anteriormente para el archivo ‘zofio1.vmx’

datastore oracle

Iniciamos TODAS las máquinas virtuales de RAC, ‘zofio1’ y ‘zofio2’, hacemos clic en Aceptar para la opción ‘Copié’ cuando se le solicité. Arrancamos todos los servicios RAC según sea necesario.

Con esto ya tenemos nuestro Oracle RAC con 2 VM’s ‘zofio1’ y ‘zofio2’ movido con éxito a la nuevo datastore.

Espero que os sirva

Deja un comentario