1 de septiembre de 2022

Como restaurar una Vm en Oracle OCI Compute (Restore a VM compute in OCI)

  Buenas buenas!!, espero seguir aportando a la comunidad.

Venimos post evento LAOUC (Grupo de usuarios de Oracle de Latinoamerica). En el cual presente una nueva versión de mi charla sobre Cloud Guard. Si no lo pudieron ver, va a estar disponible en el canal de youtube de LAOUC. (https://www.laouc.org/)

Volviendo a lo nuestro, muchos clientes me consultan y piden que hagamos demostraciones de como restaurar una compute instance en OCI, lo cual la idea de este post es explicarles y mostrarles las distintas opciones que tenemos.

Un breve resumen, recuerden que en OCI las instancias no son VMS a las cuales se le puede tomar un snapshot como venimos acostumbrados en otras tecnologias. Sino que es algo mejor. Tenemos una instancia lógica a la cual le atachamos volumenes (boot o block). Lo cual nos permite eliminar en cualquier momento la instancia sin correr riego de perder datos.. (lo se, da miedo al principio. Pero se puede eliminar la instancia y crearla sin riego a perder datos).

Dicho eso, tenemos varias opciones, según la situación.

1. Restaurar utilizando la misma ip privada

2. Crear una nueva VM desde los backups

3. Crear una nueva VM y atachar el block volume con los datos.

1. Restaurar utilizando la misma ip privada

Vamos a ver la primer opción y la que por lo gral es más necesaria. Si bien la buena práctica es que toda resolución sea por nombre en muchos casos se requiere mantener la misma ip. Recuerden que la ip privada en oci se mantiene durante toda la vida de la instancia y no es posible cambiarla. 

a) Validar información de las vms a restaurar

Buscamos las VMs a restaurar y nos guardamos las ips que utilizan.



b) Procedemos a validar si tienen Block Volume
















Al validar que tenemos block Volume, tenemos claro que hay que restaurar el boot y el block volumen.

 c) Chequear si tenemos backups vigentes. Validamos tanto para el boot volume como para el Block Volume. Haciendo click sobre cada uno luego vamos abajo a la izquierda en Resources

     Block Volume:


Boot Volume:

d) Restaurar Backups.

Una buena práctica o por lo menos que a mi me sirve, es cambiar el nombre de los BV (Block Volume) originales para no mezclarnos.
















Por ejemplo editamos el nombre del boot volumen y le ingresamos una referencia a que es original.

Click en edit de la misma instancia y modificamos el nombre. (del boot y el block volumen).

Nota: Tomar en cuenta que una vez eliminado el BV, se borra el histórico de backups. Por eso es preferible no eliminar inmediatamente los backups.

e)       Buscar el backup y restaurarlo. (usar el nombre original para evitar confusiones)



Ingresar el nombre, compartment. El tamaño si indicamos el default, es el tamaño original. Mantener la política de backup original entorno. Click en Restore


f)       Repetir la misma actividad para el block volumen

g)      Eliminar las instancias originales para restaurarlas con la misma ip.


Siempre es preferible, no eliminar el boot original. Hasta no tener seguridad de que la nueva instancia se inicia correctamente.











Una vez eliminada la instancia, se puede observar que se libera la ip que tenia asignada. Así que ahora podemos restaurar la VM con la misma ip.

e)       Creación de instancia desde el boot restaurado.


Si nos posicionamos en la lista de Boot Volumes en el compartment en cuestión. Vamos a visualizar los boot del mismo. Podemos observar que esta el que le pusimos la referencia “ori” que sería el viejo.

Sobre el nuevo hacemos click en el menú de la derecha y luego en “créate instance”.



-    





















      Indicamos el nombre de la instancia, el compartment que corresponde y el AD en caso de aplicar. También podemos detallar el FD para utilizar el mismo que estaba antes.




La imagen, es la que utilizamos y seleccionamos del boot restaurado. Y el shape validamos que tenga los mismo recursos que tenía la vm originalmente (De ser necesario se podría cambiar también)



















En el apartado de Networking, seleccionamos la VCN y Subnet que corresponda al entorno.

Hacemos click en Show Advance options, para que nos permita ingresar manualmente la ip que tenia la instancia originalmente.



No es necesario agregar una nueva ssh keys, ya que lo estamos restaurando de la original.

Al finalizar todo hacemos click en “Create”.

f)       Atachar Block Volume

Una vez restaurada la instancia, podemos atachar el BV restaurado.

Buscamos la VM restaurada y vamos abajo a la izquierda en recursos.



En Attached Block Volúmenes y click en attach












“Notar que vemos aqui también el BV que marcamos como original”

Seleccionamos la restaurada, el tipo (paravirtualiced) y click en atachar
















Una vez que aparece atachada, reiniciamos la VM y probamos el acceso.

2.      Crear una nueva VM desde los backups.

No voy a detallar el paso a paso. Solo explicar como se deberia proceder.

En caso de no necesitar mantener la misma ip, se podría restaurar la VM con una nueva ip. Pero para esto tenemos que tener cuidado que los servicios no causen problemas o se conecten a una DB duplicando procesos. Depende mucho el caso, pero por ejemplo:

* Un error de archivos y que es necesario solo restaurar algo, se podia crear una instancia desde un backup en una nueva subnet . De esta forma nos aseguramos de que la nueva instancia no se conecte a ningún equipo que este vinculado.

3.      Crear una nueva VM y atachar el block volume con los datos.

En muchos casos, las aplicaciones estan instaladas en el /u01 por ejemplo. (Es una buena práctica no usar el boot para binarios). 
Si son aplicaciones como Middeware y tenemos algún error de kernel o de Sistema Operativo, como podriamos proceder?.

1- Crear Nueva VM o restaurar el boot
2- Apagamos servicios VM original.
3. Desatachamos el /u01 de la VM con error
4. Atachamos el /u01 a la nueva VM
5. Subimos los servicios

Espero que estos pasos los ayude a entender como se puede proceder con las instancias en OCI cuando se tiene algún problema en el cual es necesario recurrir a los backups.

Cualquier sugerencia es bienvenida!

Gracias