Skip to main content
NetApp virtualization solutions
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Crea una macchina virtuale con Red Hat OpenShift Virtualization utilizzando lo storage ONTAP tramite metodi alternativi

Collaboratori banum-netapp

Oltre al metodo di creazione di una macchina virtuale tramite l'interfaccia utente di OpenShift Virtualization, ci sono altri metodi per creare macchine virtuali su OpenShift Virtualization. Questa sezione fornisce una panoramica di alcuni di questi metodi.

Crea una macchina virtuale da un file YAML con Red Hat OpenShift Virtualization

Puoi anche creare una VM applicando un file YAML con il comando oc apply. Questo metodo è utile per chi preferisce usare la CLI o vuole automatizzare la creazione della VM tramite script. Per creare una VM con questo metodo, puoi creare un file YAML che definisce la VM e le risorse associate, come i PVC per i dischi della VM. Poi puoi applicare il file YAML usando il comando oc apply -f <yaml-file> per creare la VM sul cluster OpenShift.

Mostra esempio
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: test-vms-vm
  namespace: test-5vms
  labels:
    app: test-vms-vm
    vm.kubevirt.io/template: centos-stream9-server-small
spec:
  dataVolumeTemplates:
    - apiVersion: cdi.kubevirt.io/v1beta1
      kind: DataVolume
      metadata:
        name: test-vms-vm-rootdisk
      spec:
        sourceRef:
          kind: DataSource
          name: centos-stream9
          namespace: openshift-virtualization-os-images
        storage:
          resources:
            requests:
              storage: 30Gi
  runStrategy: Always
  template:
    metadata:
      labels:
        kubevirt.io/domain: test-vms-vm
    spec:
      domain:
        cpu:
          cores: 1
          sockets: 1
          threads: 1
        devices:
          disks:
            - bootOrder: 1
              disk:
                bus: virtio
              name: rootdisk
            - disk:
                bus: virtio
              name: cloudinitdisk
          interfaces:
            - masquerade: {}
              model: virtio
              name: default
        resources:
          requests:
            memory: 2Gi
      networks:
        - name: default
          pod: {}
      terminationGracePeriodSeconds: 180
      volumes:
        - dataVolume:
            name: test-vms-vm-rootdisk
          name: rootdisk
        - cloudInitNoCloud:
            userData: |-
              #cloud-config
              user: admin
              password: <replace with your password>
              chpasswd: { expire: False }
          name: cloudinitdisk

Crea una VM da una copia snapshot con Red Hat OpenShift Virtualization

Puoi creare una VM da uno snapshot con OpenShift Virtualization. Questa procedura include la creazione di una VolumeSnapshotClass, l'acquisizione di uno snapshot della persistent volume claim (PVC) della VM, il ripristino dello snapshot su un nuovo PVC e il deployment di una nuova VM che utilizza il PVC ripristinato come disco di root.

Con Trident e Red Hat OpenShift, gli utenti possono acquisire uno snapshot di un volume persistente sulle classi di archiviazione da esso fornite. Grazie a questa funzionalità, gli utenti possono effettuare una copia di un volume in un dato momento e utilizzarla per creare un nuovo volume o ripristinare lo stesso volume a uno stato precedente. Ciò consente o supporta una varietà di casi d'uso, dal rollback alla clonazione al ripristino dei dati.

Per le operazioni Snapshot in OpenShift, è necessario definire le risorse VolumeSnapshotClass, VolumeSnapshot e VolumeSnapshotContent.

  • Un VolumeSnapshotContent è l'istantanea effettiva acquisita da un volume nel cluster. Si tratta di una risorsa a livello di cluster analoga a PersistentVolume per l'archiviazione.

  • Un VolumeSnapshot è una richiesta di creazione dello snapshot di un volume. È analogo a PersistentVolumeClaim.

  • VolumeSnapshotClass consente all'amministratore di specificare attributi diversi per un VolumeSnapshot. Consente di avere attributi diversi per snapshot diversi acquisiti dallo stesso volume.

VM dall'architettura Snapshot

Mostra esempio

Prerequisito

Devi avere una VM esistente con un PVC collegato, effettuato il provisioning su una Trident Storage Class, e la VM deve essere in esecuzione prima che tu possa creare uno snapshot del PVC. Devi avere una VolumeSnapshotClass creata che può poi essere usata per creare una VolumeSnapshot. Questa sarebbe stata creata come parte dei prerequisiti per l’installazione di OpenShift Virtualization. Puoi fare riferimento alla "Passaggio 3 per creare una configurazione VolumeSnapshotClass" per i dettagli.

Per creare Snapshot di una macchina virtuale, completa i seguenti passaggi:

  1. Identificare il PVC collegato alla VM di origine e quindi creare uno snapshot di tale PVC. Vai a Storage > VolumeSnapshots e fare clic su Crea VolumeSnapshot.

  2. Selezionare il PVC per cui si desidera creare lo Snapshot, immettere il nome dello Snapshot o accettare quello predefinito e selezionare la VolumeSnapshotClass appropriata. Quindi fare clic su Crea.

  3. In questo modo si crea un'istantanea del PVC in quel momento.

Crea istantanea

Crea una nuova VM dallo snapshot

  1. Per prima cosa, ripristina lo Snapshot in un nuovo PVC. Passare a Storage > VolumeSnapshots, fare clic sui puntini di sospensione accanto allo Snapshot che si desidera ripristinare e fare clic su Ripristina come nuovo PVC.

  2. Inserisci i dettagli del nuovo PVC e fai clic su Ripristina. In questo modo si crea un nuovo PVC.

Ripristina lo snapshot su un nuovo PVC

  1. Successivamente, creare una nuova VM da questo PVC. Vai su Virtualizzazione > Macchine virtuali e fai clic su Crea > Con YAML.

  2. Nella sezione spec > template > spec > volumi, specificare il nuovo PVC creato da Snapshot anziché dal disco del contenitore. Fornisci tutti gli altri dettagli per la nuova VM in base alle tue esigenze.

- name: rootdisk
  persistentVolumeClaim:
    claimName: rhel8-short-frog-rootdisk-28dvb-snapshot-restore
  1. Fare clic su Crea per creare la nuova VM.

  2. Dopo aver creato correttamente la VM, accedi e verifica che la nuova VM abbia lo stesso stato della VM il cui PVC è stato utilizzato per creare lo snapshot al momento della creazione dello snapshot.

Clona una VM in OpenShift Virtualization usando Trident

Questa procedura prevede l'utilizzo della clonazione dei volumi Trident CSI, che ti permette di creare una nuova macchina virtuale arrestando la macchina virtuale di origine oppure di mantenerla in esecuzione.

Mostra esempio

Clonazione di macchine virtuali

La clonazione di una VM esistente in OpenShift viene eseguita con il supporto della funzionalità di clonazione Volume CSI di Trident. La clonazione del volume CSI consente di creare un nuovo PVC utilizzando un PVC esistente come origine dati, duplicandone il PV. Una volta creato, il nuovo PVC funziona come un'entità separata, senza alcun collegamento o dipendenza dal PVC di origine.

Architettura di clonazione della VM

Esistono alcune restrizioni da considerare per quanto riguarda la clonazione del volume CSI:

  1. Il PVC di origine e quello di destinazione devono trovarsi nello stesso progetto.

  2. La clonazione è supportata all'interno della stessa classe di archiviazione.

  3. La clonazione può essere eseguita solo quando i volumi di origine e di destinazione utilizzano la stessa impostazione VolumeMode; ad esempio, un volume a blocchi può essere clonato solo su un altro volume a blocchi.

Le VM in un cluster OpenShift possono essere clonate in due modi:

  1. Arrestando la VM di origine

  2. Mantenendo attiva la VM di origine

Spegnendo la macchina virtuale di origine

La clonazione di una VM esistente tramite l'arresto della VM è una funzionalità nativa di OpenShift implementata con il supporto di Trident. Per clonare una VM, completare i seguenti passaggi.

  1. Vai su Carichi di lavoro > Virtualizzazione > Macchine virtuali e fai clic sui puntini di sospensione accanto alla macchina virtuale che desideri clonare.

  2. Fare clic su Clona macchina virtuale e fornire i dettagli per la nuova VM.

    clonazione della macchina virtuale

  3. Fare clic su Clona macchina virtuale; la macchina virtuale di origine viene arrestata e viene avviata la creazione della macchina virtuale clone.

  4. Una volta completato questo passaggio, è possibile accedere e verificare il contenuto della VM clonata.

Mantenendo attiva la macchina virtuale di origine

È anche possibile clonare una VM esistente clonando il PVC esistente della VM di origine e creando quindi una nuova VM utilizzando il PVC clonato. Con questo metodo non è necessario arrestare la VM di origine. Per clonare una VM senza arrestarla, completare i seguenti passaggi.

  1. Passare a Storage > PersistentVolumeClaims e fare clic sui puntini di sospensione accanto al PVC associato alla VM di origine.

  2. Fare clic su Clona PVC e fornire i dettagli per il nuovo PVC.

    pvc clone

  3. Quindi fare clic su Clona. In questo modo si crea un PVC per la nuova VM.

  4. Vai a Carichi di lavoro > Virtualizzazione > Macchine virtuali e fai clic su Crea > Con YAML.

  5. Nella sezione spec > template > spec > volumi, allegare il PVC clonato al posto del disco contenitore. Fornisci tutti gli altri dettagli per la nuova VM in base alle tue esigenze.

- name: rootdisk
  persistentVolumeClaim:
    claimName: rhel8-short-frog-rootdisk-28dvb-clone
  1. Fare clic su Crea per creare la nuova VM.

  2. Dopo aver creato correttamente la VM, accedi e verifica che la nuova VM sia un clone della VM di origine.