Skip to main content
NetApp Solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Utilizar Trident Protect para implementar la conmutación por error y la conmutación por recuperación de equipos virtuales en la virtualización de OpenShift

Colaboradores

Descripción general

Esta sección proporciona detalles para implementar la conmutación por error y la conmutación por recuperación de VM en la virtualización de OpenShift mediante Trident Protect. Los procedimientos son los mismos independientemente de si las máquinas virtuales son clústeres OpenShift locales o en clústeres ROSA. En esta sección se muestran los procedimientos para crear un almacenamiento de objetos ONTAP S3 que se utilizará como appvault para Trident Protect y crear una programación para el mirroring de aplicaciones. Después de eso, muestra cómo crear una relación de reflejo de aplicación. Por último, muestra cómo cambiar el estado de la relación de reflejo de la aplicación para realizar conmutaciones al respaldo y conmutaciones tras recuperación.

Requisitos previos

  • Se debe instalar Trident. Las clases de backend y almacenamiento se deben crear antes de instalar OpenShift Virtualization en el clúster mediante el operador OpenShift Virtualization.

  • Trident Protect debe instalarse para implementar operaciones de conmutación al nodo de respaldo y conmutación de retorno tras recuperación de las máquinas virtuales de OpenShift. Consulte las instrucciones aquí "instale Trident protect"

OCP-v Trident Protect instalado en el espacio de nombres Trident-Protect

Debe haber una máquina virtual disponible en OpenShift Virtualization. Para obtener más información sobre la implementación de una nueva VM o la migración de una VM existente a OpenShift Virtualization, consulte la sección correspondiente en la documentación.

Máquina virtual OCP-v instalada en el espacio de nombres de origen ns

Crear almacén de aplicaciones con ONTAP S3

Esta sección muestra cómo configurar un almacén de aplicaciones en Trident Protect con el almacenamiento de objetos de ONTAP S3.

Utilice los comandos oc y los archivos yaml que se muestran a continuación para crear un recurso personalizado secreto y appvault para ONTAP S3. Asegúrese de crearlos en el espacio de nombres Trident Protect.

oc create -f app-vault-secret.yaml -n trident-protect
oc create -f app-vault.yaml -n trident-protect
apiVersion: v1
# You can provide the keys either as stringData or base 64 encoded data
stringData:
  accessKeyID: "<access key id as obtained from ONTAP>"
  secretAccessKey: "<secret access key as obtained from ONTAP>"
#data:
  #accessKeyID: <base 64 encoded value of access key>
  #secretAccessKey: <base 64 encoded value of secret access key>
kind: Secret
metadata:
  name: appvault-secret
  namespace: trident-protect
type: Opaque
apiVersion: protect.trident.netapp.io/v1
kind: AppVault
metadata:
  name: ontap-s3-appvault
  namespace: trident-protect
spec:
  providerConfig:
    azure:
      accountName: ""
      bucketName: ""
      endpoint: ""
    gcp:
      bucketName: ""
      projectID: ""
    s3:
      bucketName: trident-protect
      endpoint: <data lif to use to access S3>
      secure: "false"
      skipCertValidation: "true"
  providerCredentials:
    accessKeyID:
      valueFromSecret:
        key: accessKeyID
        name: appvault-secret
    secretAccessKey:
      valueFromSecret:
        key: secretAccessKey
        name: appvault-secret
  providerType: OntapS3

Asegúrese de crear el almacén de ONTAP S3 y que esté en estado Disponible

OCP-v appvault en el espacio de nombres Trident-Protect

Cree una aplicación Trident Protect para la máquina virtual

Crear un recurso personalizado de aplicación en el espacio de nombres donde se encuentra la máquina virtual.

Aplicación OCP-v en el espacio de nombres source-ns

tridentctl-protect create app source-vm -n source-ns --namespaces source-ns

Aplicación OCP-v en el espacio de nombres source-ns

Cree una aplicación Trident Protect para el equipo virtual de recuperación ante desastres en un nuevo espacio de nombres

oc create ns dr-ns
tridentctl-protect create app dr-vm -n dr-ns --namespaces dr-ns

Aplicación OCP-v en el espacio de nombres source-ns

Cree una programación de AppMirror en el espacio de nombres de origen

Cree un programa para AppMirror usando el yaml como se muestra. Esto creará copias Snapshot usando la programación (cada 5 minutos) y conservará 2 copias Snapshot

oc create -f appmirror-schedule.yaml -n source-ns
apiVersion: protect.trident.netapp.io/v1
kind: Schedule
metadata:
  name: appmirror-sched1
spec:
  appVaultRef: ontap-s3-appvault
  applicationRef: source-vm
  backupRetention: "0"
  enabled: true
  granularity: Custom
  recurrenceRule: |-
    DTSTART:20240901T000200Z
    RRULE:FREQ=MINUTELY;INTERVAL=5
  snapshotRetention: "2"

App mirror Schedule source-ns namespace

Copia Snapshot creada

Cree una relación de appMirror en el espacio de nombres de recuperación ante desastres

Cree una relación de Appmirror en el espacio de nombres de recuperación ante desastres. Establezca el estado deseado en Establecido.

apiVersion: protect.trident.netapp.io/v1
kind: AppMirrorRelationship
metadata:
  name: amr1
spec:
  desiredState: Established
  destinationAppVaultRef: ontap-s3-appvault
  destinationApplicationRef: dr-vm
  namespaceMapping:
  - destination: dr-ns
    source: source-ns
  recurrenceRule: |-
    DTSTART:20240901T000200Z
    RRULE:FREQ=MINUTELY;INTERVAL=5
  sourceAppVaultRef: ontap-s3-appvault
  sourceApplicationName: source-vm
  sourceApplicationUID: "<application UID of the source VM>"
  storageClassName: "ontap-nas"
Nota Puede obtener el UID de la aplicación de la VM de origen desde la salida json de la aplicación de origen como se muestra a continuación

UID de aplicación creado

Crear una relación de App Mirror

Cuando se establece la relación AppMirror, la snapshot más reciente se transfiere al espacio de nombres de destino. La RVP se crea para el equipo virtual en el espacio de nombres de la recuperación ante desastres; sin embargo, el pod de la máquina virtual aún no se ha creado en el espacio de nombres de la recuperación ante desastres.

Se ha establecido la relación de creación de reflejo de aplicación

Cambios de estado del mirror de la aplicación

La RVP se crea en el espacio de nombres de destino

Ascender la relación a Failover

Puede cambiar el estado deseado de la relación a «promocionado» para crear la máquina virtual en el espacio de nombres de recuperación ante desastres. El equipo virtual aún se está ejecutando en el espacio de nombres de origen.

oc patch amr amr1 -n dr-ns --type=merge -p '{"spec":{"desiredState":"Promoted"}}'

Parche de aplicación de relaciones de AppMirror

La relación AppMirror se encuentra en estado promocionado

Equipo virtual creado en el espacio de nombres de recuperación ante desastres

Las máquinas virtuales en el origen siguen en ejecución

Establecer la relación de nuevo con el fin de realizar una conmutación tras recuperación

Cambie el estado deseado de la relación a “Establecido”. La máquina virtual se elimina del espacio de nombres de recuperación ante desastres. la rvp todavía existe en el espacio de nombres DR. El equipo virtual aún se está ejecutando en el espacio de nombres de origen. Se establece la relación original entre el espacio de nombres de origen y la recuperación ante desastres ns. .

oc patch amr amr1 -n dr-ns --type=merge -p '{"spec":{"desiredState":"Established"}}'

Parche a Estado Establecido

App Mirror en estado establecido

La PVC en DR ns todavía permanece

EL POD y la PVC en la fuente ns aún permanecen