Skip to main content
NetApp virtualization solutions
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Configurer le basculement et la restauration automatique pour les machines virtuelles dans Red Hat OpenShift Virtualization à l'aide de Trident Protect

Contributeurs netapp-jsnyder kevin-hoke

Configurez la reprise après sinistre pour les machines virtuelles dans OpenShift Virtualization à l’aide de Trident Protect. Cette procédure comprend la création d'un AppVault avec ONTAP S3, l'établissement de relations AppMirror entre les espaces de noms source et de reprise après sinistre, la planification de la réplication et l'exécution d'opérations de basculement et de restauration pour maintenir la disponibilité de la machine virtuelle pendant les pannes du site.

Prérequis

  • Trident doit être installé. Les classes backend et de stockage doivent être créées avant l’installation d’OpenShift Virtualization sur le cluster à l’aide de l’opérateur OpenShift Virtualization.

  • Trident Protect doit être installé pour implémenter les opérations de basculement et de restauration pour les machines virtuelles OpenShift. Reportez-vous aux instructions ici pour"installer trident protect"

OCP-v trident protect installé dans l'espace de noms trident-protect

Une machine virtuelle doit être disponible dans OpenShift Virtualization. Pour plus de détails sur le déploiement d'une nouvelle machine virtuelle ou la migration d'une machine virtuelle existante vers OpenShift Virtualization, consultez la section appropriée dans la documentation.

Machine virtuelle OCP-v installée dans l'espace de noms source-ns

Créer un App Vault à l'aide d' ONTAP S3

Cette section montre comment configurer un coffre-fort d'applications dans Trident Protect à l'aide du stockage d'objets S3 d'ontap.

Utilisez les commandes oc et les fichiers yaml indiqués ci-dessous pour créer un secret et la ressource personnalisée appvault pour ontap s3. Assurez-vous de les créer dans l’espace de noms 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

Assurez-vous que le coffre-fort S3 ontap est créé et qu'il est dans l'état Disponible

Appvault OCP-v dans l'espace de noms trident-protect

Créer une application de protection Trident pour la machine virtuelle

Créez une ressource d’application personnalisée dans l’espace de noms où se trouve la machine virtuelle.

Application OCP-v dans l'espace de noms source-ns

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

Application OCP-v dans l'espace de noms source-ns

Créer une application de protection Trident pour la machine virtuelle de récupération après sinistre dans un nouvel espace de noms

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

Application OCP-v dans l'espace de noms source-ns

Créer une planification AppMirror dans l'espace de noms source

Créez une planification pour AppMirror en utilisant le fichier yaml comme indiqué. Cela créera des instantanés en utilisant le calendrier (toutes les 5 minutes) et conservera 2 instantanés

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"

Miroir d'application Planifier l'espace de noms source-ns

Instantané créé

Créer une relation appMirror dans l'espace de noms DR

Créez une relation Appmirror dans l’espace de noms Disaster Recovery. Définissez l'état souhaité sur Établi.

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"
Remarque Vous pouvez obtenir l'UID de l'application de la machine virtuelle source à partir de la sortie JSON de l'application source, comme indiqué ci-dessous.

UID de l'application créé

Créer une relation App Mirror

Lorsque la relation AppMirror est établie, l’instantané le plus récent est transféré vers l’espace de noms de destination. Le PVC est créé pour la VM dans l'espace de noms dr, cependant, le pod VM n'est pas encore créé dans l'espace de noms dr.

La relation Créer un miroir d'application est établie

Modifications d'état pour le miroir d'application

Le PVC est créé dans l'espace de noms de destination

Promouvoir la relation avec Failover

Modifiez l’état souhaité de la relation sur « Promu » pour créer la machine virtuelle dans l’espace de noms DR. La machine virtuelle est toujours en cours d’exécution dans l’espace de noms source.

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

Application du correctif de la relation AppMirror

La relation AppMirror est à l'état promu

VM créée dans l'espace de noms DR

La machine virtuelle dans le réseau source est toujours en cours d'exécution

Rétablir la relation avec Failback

Modifiez l'état souhaité de la relation sur « Établi ». La machine virtuelle est supprimée dans l’espace de noms DR. Le pvc existe toujours dans l'espace de noms DR. La machine virtuelle est toujours en cours d’exécution dans l’espace de noms source. La relation d'origine entre l'espace de noms source et DR ns est établie. .

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

Patch vers l'état établi

Miroir d'application dans l'état établi

Le PVC dans DR ns reste toujours

POD et PVC dans la source ns restent toujours

Démonstration vidéo

La vidéo suivante montre une démonstration de la mise en œuvre d'un scénario de reprise après sinistre pour une machine virtuelle OpenShift à l'aide de Trident Protect

Reprise après sinistre avec Trident Protect