Nota:

Llamar a scripts personalizados con el comando run con Oracle Cloud Infrastructure Full Stack Disaster Recovery

Introducción

Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery organiza la transición de recursos informáticos, bases de datos y aplicaciones entre regiones OCI de todo el mundo con un solo clic. Los clientes pueden automatizar los pasos necesarios para recuperar uno o más sistemas de negocio sin rediseñar ni volver a diseñar la infraestructura, las bases de datos o las aplicaciones existentes y sin necesidad de servidores de conversión o gestión especializados.

La recuperación ante desastres de la pila completa de OCI ofrece una flexibilidad excepcional. Permite utilizar grupos definidos por el usuario dentro del plan de recuperación ante desastres, lo que permite gestionar pasos personalizados como parte del plan general de recuperación ante desastres. Una vez que la recuperación ante desastres de pila completa establece el plan de recuperación ante desastres inicial con pasos y grupos de planes incorporados, puede incorporar pasos y grupos de planes definidos por el usuario adicionales. Puede llamar a scripts y funciones de OCI con un grupo de planes definido por el usuario.

El comando de OCI Compute run se realiza mediante el agente de Oracle Cloud disponible en la instancia de OCI Compute. Oracle Cloud Agent es un proceso ligero que gestiona plugins que se ejecutan en la instancia de OCI Compute. Los plugins recopilan métricas de rendimiento, instalan actualizaciones del sistema operativo y realizan otras tareas de gestión de instancias. Para ejecutar scripts con el comando run, debe agregar las instancias informáticas (moverse o no) como miembros del grupo de protección de recuperación ante desastres.

La recuperación ante desastres de pila completa crea una máquina virtual en la región de recuperación ante desastres para mover instancias durante la ejecución del plan de recuperación ante desastres. Una vez iniciadas las máquinas virtuales, puede utilizar la función de ejecución de comandos para realizar pasos adicionales mediante scripts. Ejemplos: cambios de configuración del equilibrador de carga, conexión a una base de datos y tabla de actualización, detención e inicio de servidores de aplicaciones. En función de sus requisitos, también puede utilizar la configuración systemd o cloud-init en la instancia informática para iniciar sus aplicaciones o cualquier otra operación durante el inicio de la instancia. La opción Run Command del plan de recuperación ante desastres tiene una mayor flexibilidad, como el uso de scripts escritos en cualquier idioma, y opciones de observación como la supervisión stop/restart/log en un único plano de cristal. Para las instancias que no se mueven, dado que las máquinas virtuales ya se han creado en la región de recuperación ante desastres, la función de comando run sería la opción ideal para utilizar scripts para iniciar/parar aplicaciones, bases de datos, etc.

En este tutorial se explicará cómo utilizar la función de comando run de OCI Compute mediante el movimiento de instancias y la ejecución de scripts como parte de un plan de recuperación ante desastres de pila completa. Pasos y grupos de planes definidos por el usuario.

Objetivos

Para mover una instancia entre dos regiones de OCI y llamar a scripts personalizados mediante la función de comando run de OCI Compute en pasos y grupos de planes definidos por el usuario en el plan de recuperación ante desastres de pila completa. La región principal es Ashburn y la región de recuperación ante desastres es Phoenix.

Puede utilizar el usuario "administrador" o de privilegios equivalentes para crear recursos de Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) y realizar operaciones de recuperación ante desastres de pila completa con un comando run. También puede crear un usuario independiente para el administrador de recuperación ante desastres de pila completa y asignar los recursos de OCI IAM necesarios para realizar operaciones de recuperación ante desastres de pila completa con el comando run. En este artículo se explica cómo utilizar el acceso de "administrador" para crear recursos de OCI IAM y el usuario administrador de pila completa para realizar operaciones de recuperación ante desastres de pila completa.

El tutorial está destinado a mostrar los pasos necesarios para ejecutar un script de trabajo desde el grupo de planes definido por el usuario Full Stack Disaster Recovery mediante el comando run.

Si configura la replicación de bloques en distintos dominios de disponibilidad, el mismo tutorial debería funcionar en las regiones.

Para obtener más información, consulte Ejecución de comandos en una instancia.

Los siguientes pasos se tratarán en el tutorial

  1. Crear usuario, grupo y política para la recuperación ante desastres de pila completa
  2. Crear grupos dinámicos y actualizar la política para la recuperación ante desastres de pila completa y el comando run
  3. Configurar y validar el comando run en la VM de región principal
  4. Crear grupos de volúmenes y activar la replicación entre regiones para la VM de región principal
  5. Crear y asociar grupos de protección de recuperación ante desastres (DRPG)
  6. Crear plan de switchover en el DRPG en espera
  7. Personalizar el plan de switchover con grupos de planes definidos por el usuario para ejecutar el comando run
  8. Ejecutar comprobaciones previas y ejecutar plan de switchover

Arquitectura de despliegue

Arquitectura de Object Storage

Requisitos

Implementación

Para este tutorial, ya hemos creado los siguientes recursos.

Recursos Región principal - Ashburn (IAD)
Cubo de almacenamiento de objetos fsdr-cubo-hash
Compartimento cmp-compute-fsdrdemo
Compute VM demostración-fsdr-inst
Script para crear una carpeta y un archivo /home/opc/scripts/testCommand.sh
#!/bin/bash
# coding: utf-8
echo "Creating Dir testDir under /home/opc"
mkdir -p "/home/opc/testDir"
echo "Creating Testfile"
echo "Contents from `run` Command!!" > /home/opc/testDir/testFile.txt
Recursos Región en espera - Phoenix(PHX)
Cubo de almacenamiento de objetos fsdr-cubo-phx
Compartimento cmp-compute-fsdrdemo

Tarea 1: Creación de usuarios, grupos y políticas para la recuperación ante desastres de pila completa

  1. Conéctese a la consola de OCI con credenciales de administrador o usuario que tenga privilegios equivalentes para crear y modificar los recursos de OCI IAM necesarios.

  2. En la región Principal (Ashburn) del menú de hamburguesa, vaya a Identidad y seguridad, Dominios, Valor por defecto,Usuarios. Haga clic en Crear usuario, proporcione el nombre, los apellidos y el ID de correo electrónico y, a continuación, haga clic en Crear.

    Usuario de Full Stack Disaster Recovery

  3. En la región Principal (Ashburn) del menú de hamburguesa, vaya a Identidad y seguridad, Dominios, Por defecto, Grupos. Haga clic en Crear grupo, proporcione el nombre de grupo como "demo-fsdr-admins", "descripción", seleccione los usuarios que desea asignar a este grupo. Seleccione el usuario creado en el paso 1.

    Grupos de recuperación ante desastres de pila completa

  4. En la región Principal (Ashburn) del menú Hamburger, vaya a Identidad y seguridad, Dominios,Políticas,Crear política en el compartimento raíz o un compartimento en el que desee crear la política. disaster-recovery-family es el tipo de familia para la recuperación ante desastres de pila completa.

    Política de recuperación ante desastres de pila completa

    Allow group demo-fsdr-admins to manage disaster-recovery-family in compartment cmp-compute-fsdrdemo
    
  5. Para permitir que el servicio de recuperación ante desastres gestione recursos de OCI que forman parte de la pila de aplicaciones, debe configurar el acceso basado en políticas para permitir el acceso a estos recursos. Hemos agregado todas las políticas de servicio de OCI soportadas actualmente como tipo de miembro. Las políticas se pueden modificar en función de los tipos de recursos que se utilizan con la recuperación ante desastres de pila completa. Agregue las siguientes políticas a demo-fsdr-admin-policies, como se muestra a continuación.

    Allow group demo-fsdr-admins to manage buckets in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage objects in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage databases in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage autonomous-databases in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage instance-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage instance-agent-command-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage volume-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read virtual-network-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use subnets in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use vnics in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use network-security-groups in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use private-ips in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read fn-app in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read fn-function in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use fn-invocation in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins use tag-namespaces in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read vaults in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read secret-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read all-resources in compartment cmp-compute-fsdrdemo
    
  6. En el menú, vaya a Identidad y seguridad, Políticas, seleccione la política creada en el paso 4, seleccione Editar sentencias de política, Creador de políticas, Avanzado.

  7. Copie la lista de políticas como se ha indicado anteriormente y haga clic en Guardar cambios. Verifique si todas las políticas agregadas se reflejan correctamente.

    Nota: Debe utilizar el nombre de grupo correcto (creado en el paso 3) y el nombre de compartimento en la sintaxis de política.

Editar políticas avanzadas

Tarea 2: Creación de grupos dinámicos y políticas para la recuperación ante desastres de pila completa y el comando run

  1. Conéctese a la consola de OCI con credenciales de administrador o usuario que tenga privilegios equivalentes para crear y modificar los recursos de OCI IAM necesarios.

  2. Para permitir que la instancia informática realice llamadas de API en los servicios de OCI, necesitamos crear grupos dinámicos y convertir las instancias informáticas en actores principales. Crear grupo dinámico en la región principal (Ashburn) desde el menú de hamburguesa, vaya a Identidad y seguridad, Dominios,Grupos dinámicos, Crear grupo dinámico.

    • Si tiene varias instancias en el compartimento, puede utilizar la regla All {instance.compartment.id = 'compartment OCID'}. En este ejemplo, hemos copiado el OCID del compartimento cmp-compute-fsdrdemo y esto permite que todas las instancias de este compartimento utilicen comandos run.

      Editar políticas avanzadas

    • También puede utilizar un grupo dinámico para restringir el acceso con el nivel de instancia agregando reglas como Cualquiera {instance.id='ocid....'}.

  3. Actualice la política demo-fsdr-admins que hemos creado en la tarea 1 con la siguiente política. Se necesita para utilizar funciones del comando run como ejecutar comandos, cancelar comandos y ver la salida del comando para las instancias de un compartimento.

    Allow dynamic-group demofsdr-runcmd-dgp to manage instance-agent-command-execution-family in compartment cmp-compute-fsdrdemo
    

    Editar políticas avanzadas

Nota: Si el script interactúa con otros servicios de OCI, debe actualizar las políticas de grupo dinámico.

Tarea 3. Configurar y validar el comando run en la VM de origen

  1. Inicie sesión en la consola de OCI con el usuario administrador de recuperación ante desastres de pila completa que hemos creado en la tarea 1.

  2. Conéctese a la máquina virtual informática (demo-fsdr-inst) como usuario opc. Asegúrese de colocar el script testCommand.sh en la carpeta /home/opc/scripts/ y cambie los permisos del archivo con privilegios de ejecución. El contenido de los scripts está disponible en la sección Implantación en la parte superior de la página.

  3. Debe otorgar permisos de administrador al plugin de comando run de la instancia informática para poder ejecutar el comando. El plugin se ejecuta como usuario ocarun.

  4. Cree un archivo de configuración sudoers para el plugin de comando run de la instancia informática.

    vi ./101-oracle-cloud-agent-run-command
    

    Comando `run` - VI

  5. Permita al usuario ocarun ejecutar todos los comandos como sudo agregando la siguiente línea al archivo de configuración.

    ocarun ALL=(ALL) NOPASSWD:ALL
    

    Comando Display - VI

    Opcionalmente, puede mostrar comandos específicos. Consulte la página del comando man de Linux para obtener más información sobre los sudoers.

  6. Valide si la sintaxis del archivo de configuración es correcta.

    visudo -cf ./101-oracle-cloud-agent-run-command
    

    Si la sintaxis es correcta, se devuelve el siguiente mensaje:

    ./101-oracle-cloud-agent-run-command: se ha analizado OK

    Comando de validación - VI

  7. Agregue el archivo de configuración a /etc/sudoers.d.

    sudo cp ./101-oracle-cloud-agent-run-command /etc/sudoers.d/
    

    Copiar comando - VI

    Nota: Los pasos para otorgar permisos de administrador dependen del sistema operativo. En este ejemplo, hemos utilizado el sistema operativo Linux. Para obtener más información, consulte Ejecución de comandos en una instancia.

  8. Reinicie el agente de Cloud manualmente con el siguiente comando. Este comando se aplica a Oracle Linux 7.x y Oracle Linux 8.x. Para otras versiones de Linux y sistemas operativos, consulte Ejecución de comandos en una instancia.

    sudo systemctl restart oracle-cloud-agent
    

    Reiniciar Agente

  9. Conéctese a la consola de OCI, navegue a la máquina virtual demo-fsdr-inst, seleccione el separador Oracle Cloud Agent y el estado del comando Compute Instance run debería mostrar Running

    Estado del Agente

    Nota: Si el estado no está en ejecución, consulte Solución de problemas de Oracle Cloud Agent para solucionar el problema. El estado del comando run de la instancia informática debe ser En ejecución.

  10. Navegue hasta Instances, demo-fsdr-inst, run Command, Create run Command.

    `run` Command Navigate

  11. Pruebe el comando run como se muestra a continuación.

    Comando `run` de prueba

  12. Compruebe el estado del comando haciendo clic en tres puntos en la esquina derecha.

    Estado del Comando de Prueba

  13. Debe ver la salida y el estado del comando como se muestra a continuación.

    Estado correcto de comando de prueba

Para solucionar problemas del comando run en la VM, puede ver los logs que genera el plugin mediante el siguiente comando.

tail -f /var/log/oracle-cloud-agent/plugins/runcommand/runcommand.log

Para conocer los errores y la resolución conocidos, consulte la sección Solución de problemas del plugin de comando run de la instancia informática en Ejecución de comandos en una instancia.

Tarea 4: creación de grupos de volúmenes en principal (Ashburn)

  1. Inicie sesión en la consola de OCI con el usuario administrador de recuperación ante desastres de pila completa que hemos creado en la tarea 1.

  2. En la región Principal (Ashburn) del menú de hamburguesa, vaya a Migración y recuperación ante desastres, Recuperación ante desastres, Grupo de protección de recuperación ante desastres, Crear grupo de protección de recuperación ante desastres.

    Crear grupo de volúmenes en Ashburn

  3. Agregue el volumen de inicio de Compute demo-fsdr-inst.

    Elegir volumen de inicio en Ashburn

  4. Active la replicación entre regiones desde Ashburn hasta Phoenix.

    Activar replicación entre regiones en Ashburn

  5. Deje la política de copia de seguridad como Ninguna, haga clic en Siguiente y revise el resumen.

    Resumen de Grupos de Volúmenes

Tarea 5: Creación de grupos de protección de recuperación ante desastres en principal y en espera

  1. Inicie sesión en la consola de OCI con el usuario administrador de recuperación ante desastres de pila completa que hemos creado en la tarea 1.

  2. En la región Principal (Ashburn) del menú de hamburguesa, vaya a Migración y recuperación ante desastres, Recuperación ante desastres, Grupo de protección de recuperación ante desastres, Crear grupo de protección de recuperación ante desastres.

    Crear grupo de protección de recuperación ante desastres en Ashburn

  3. En la región En espera (Phoenix) del menú Hamburger, vaya a Migración y recuperación ante desastres, Recuperación ante desastres, Grupo de protección de recuperación ante desastres, Crear grupo de protección de recuperación ante desastres.

    Crear grupo de protección de recuperación ante desastres en Phoenix

    Nota: Para este ejemplo de tutorial, seleccionamos Ashburn como región principal y Phoenix como región en espera.

  4. En la región principal (Ashburn), seleccione el DRPG fsdr-runcmd-drpg-ash y haga clic en Asociar. Seleccione el rol como Primary, Peer Region US West (Phoenix), Peer Disaster Recovery Protection group fsdr-runcmd-drpg-phx y haga clic en Associate (Asociar).

    Asociar principal y en espera

    Nota: Verifique el rol de fsdr-runcmd-drpg-ash como principal y fsdr-runcmd-drpg-phx como base de datos en espera.

  5. En la región principal (Ashburn), seleccione el DRPG fsdr-runcmd-drpg-ash y haga clic en Miembros y, a continuación, haga clic en Agregar miembros para agregar grupos de volúmenes y VM.

    Miembros principales en Ashburn

Tarea 6: Creación del plan de switchover en el DRPG en espera (Phoenix)

Plan de switchover: tipo de plan de recuperación ante desastres que realiza una transición planificada de servicios del grupo de protección de recuperación ante desastres principal al grupo de protección de recuperación ante desastres en espera.

  1. Inicie sesión en la consola de OCI con el usuario administrador de recuperación ante desastres de pila completa que hemos creado en la tarea 1.

  2. Cree un plan de switchover en el DRPG en espera fsdr-runcmd-drpg-phx.

  3. Seleccione Planes y haga clic en Crear plan.

  4. Proporcione el nombre como switchover-to-phx y elija el tipo de plan como Switchover (planificado).

  5. Haga clic en Crear.

    Plan de switchover

    Nota: Asegúrese de crear el plan de switchover desde el DRPG en espera (Phoenix).

  6. Haga clic en Plan y asegúrese de que los planes incorporados se hayan generado como se muestra a continuación.

    Plan incorporado por defecto

Tarea 7: Personalizar el plan de switchover con grupos de planes definidos por el usuario

  1. Inicie sesión en la consola de OCI con el usuario administrador de recuperación ante desastres de pila completa que hemos creado en la tarea 1.

  2. En Grupos de planes, haga clic en Agregar grupo para crear un grupo de planes personalizado para realizar el switchover. Proporcione el nombre de grupo como CustGroup-Demostración.

    Cambio de grupo personalizado a PHX

  3. Haga clic en Agregar paso y agregue detalles como se muestra a continuación. Agregaremos un paso en el grupo de planes.

    Cambio de grupo personalizado a paso de PHX

    • Asegúrese de seleccionar la región como Ashburn. Seleccione la opción run local Script.

    • Teniendo en cuenta que no tenemos una máquina virtual en Phoenix durante la creación del grupo de planes definido por el usuario, debe seleccionar Región como Ashburn, que es Primaria, y Instancia de destino como máquina virtual demo-for-inst. La recuperación ante desastres de pila completa asignará automáticamente esas instancias y el script se ejecutará en la instancia recién iniciada en Phoenix.

    • Seleccione la instancia de destino en el compartimento donde se crea la máquina virtual. Hemos creado la máquina virtual como demo-fsdr-inst.

    • Introduzca el parámetro de script como /home/opc/scripts/testCommand.sh.

    • Introduzca opc en run como campo de usuario.

    • Haga clic en Agregar paso y verifique el paso agregado.

      Cambio de paso personalizado a paso de PHX agregado

    • Verifique que el paso se ha agregado y haga clic en Agregar.

  4. Verifique los grupos del plan de switchover en la secuencia derecha como se muestra anteriormente.

Tarea 8: Ejecutar comprobaciones previas y ejecutar plan de switchover

La opción Ejecutar comprobaciones previas realiza una validación rápida de todos los pasos de un plan de recuperación ante desastres (recuperación ante desastres).

  1. En el plan de switchover switchover-to-phx, haga clic en Ejecutar comprobaciones previas para iniciar el cuadro de diálogo Ejecutar comprobaciones previas.

    Comprobación previa de intercambio

    Estado de comprobación previa de switchover

    Verifique que la finalización sea correcta.

  2. En el plan de switchover switchover-to-phx, haga clic en Ejecutar plan de recuperación ante desastres para ejecutar el plan.

    Ejecutar plan de recuperación ante desastres

  3. Compruebe el estado del plan y asegúrese de que todos los pasos del plan sean correctos.

    Ejecutar estado del plan de recuperación ante desastres

  4. Después de ejecutar correctamente el plan de switchover, conéctese a la instancia en Phoenix y verifique que se han creado testDir y testFile.

    Verificar máquina virtual de phx tras switchover

  5. El cambio automático del rol se producirá en el grupo de protección para la recuperación ante desastres. Ahora, Phoenix tendrá el rol Primary y Ashburn tendrá el rol Standby.

Pasos Siguientes

Ha visto cómo utilizar grupos personalizados para llamar a scripts con la recuperación ante desastres de pila completa de OCI. Idealmente, dispondrá de pasos para recuperar los recursos informáticos, la base de datos y el almacenamiento de bloques junto con el almacenamiento de objetos de su pila de aplicaciones. Puede utilizar fácilmente este tutorial para personalizar su plan de recuperación ante desastres de pila completa si desea agregar cualquier grupo definido por el usuario como parte del grupo de planes definido por el usuario.

Agradecimientos

Autores: Vasudeva Manikandan (líder de tecnología de implantación - Oracle Lift Services), Suraj Ramesh (gestor de productos de recuperación ante desastres de pila completa)

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre los productos, visite Oracle Help Center.