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

Ripristinare un'applicazione da un backup

Collaboratori

In questa sezione viene descritto come ripristinare le app da un backup.

Prerequisiti

Per eseguire il ripristino da un backup, presupponiamo che lo spazio dei nomi in cui esisteva l'applicazione sia stato eliminato accidentalmente.

App eliminata

Ripristinare nello stesso namespace

Per eseguire il ripristino dal backup appena creato, è necessario creare una risorsa personalizzata di ripristino (CR). Dobbiamo fornirgli un nome, fornire il nome del backup da cui eseguire il ripristino e impostare su true. È possibile impostare parametri aggiuntivi come illustrato nella "documentazione". Fare clic sul pulsante Crea.

Crea ripristino CR

apiVersion: velero.io/v1
kind: Restore
apiVersion: velero.io/v1
metadata:
  name: restore
  namespace: openshift-adp
spec:
  backupName: backup-postgresql-ontaps3
  restorePVs: true

Quando la fase viene visualizzata come completata, è possibile vedere che l'app è stata ripristinata allo stato in cui è stata scattata l'istantanea. L'applicazione viene ripristinata nello stesso spazio dei nomi.

Ripristino completato Ripristinato nello stesso namespace

Ripristinare in un namespace diverso

Per ripristinare l'app in uno spazio dei nomi diverso, è possibile fornire un namespaceMapping nella definizione yaml di Restore CR.

Il seguente file yaml di esempio crea una CR di ripristino per ripristinare un'app e la relativa memoria persistente dallo spazio dei nomi postgresql al nuovo spazio dei nomi postgresql-ripristinato.

apiVersion: velero.io/v1
kind: Restore
metadata:
  name: restore-to-different-ns
  namespace: openshift-adp
spec:
  backupName: backup-postgresql-ontaps3
  restorePVs: true
  includedNamespaces:
  - postgresql
  namespaceMapping:
    postgresql: postgresql-restored

Quando la fase viene visualizzata come completata, è possibile vedere che l'app è stata ripristinata allo stato in cui è stata scattata l'istantanea. L'app viene ripristinata in uno spazio dei nomi diverso, come specificato in yaml.

Ripristino completato in un nuovo namespace

Ripristinare in una classe di archiviazione diversa

Velero fornisce una capacità generica di modificare le risorse durante il ripristino specificando le patch json. Le patch json vengono applicate alle risorse prima di essere ripristinate. Le patch json sono specificate in una configmap e la configmap è referenziata nel comando restore. Questa funzione consente di eseguire il ripristino utilizzando una classe di archiviazione diversa.

Nell'esempio seguente, l'applicazione, in fase di implementazione, utilizza ontap-nas come classe di storage per i propri volumi persistenti. Viene creato un backup dell'applicazione denominata backup-postgresql-ontaps3.

VM che utilizzano ontap-nas

Backup ontap-nas VM

Simula una perdita dell'app disinstallando l'app.

Per ripristinare la macchina virtuale utilizzando una classe di storage diversa, ad esempio ontap-nas-eco storage, devi effettuare i due seguenti passaggi:

Passo 1

Creare una mappa di configurazione (console) nello spazio dei nomi openshift-adp come segue: Inserire i dettagli come mostrato nella schermata: Selezionare namespace : openshift-adp Nome: Change-ontap-sc (può essere qualsiasi nome) chiave: Change-ontap-sc-config.yaml: Valore:

version: v1
resourceModifierRules:
- conditions:
     groupResource: persistentvolumeclaims
     resourceNameRegex: "data-postgresql*"
     namespaces:
     - postgresql
  patches:
  - operation: replace
    path: "/spec/storageClassName"
    value: "ontap-nas-eco"

interfaccia utente della mappa di configurazione

L'oggetto della mappa di configurazione risultante dovrebbe essere simile al seguente (CLI):

Config map CLI

Questa mappa di configurazione applicherà la regola del modificatore di risorse quando viene creato il ripristino. Verrà applicata una patch per sostituire il nome della classe storage in ontap-nas-eco per tutte le richieste di volume persistenti a partire da rhel.

Passo 2

Per ripristinare la macchina virtuale, utilizzare il seguente comando dall'interfaccia CLI di Velero:

#velero restore create restore1 --from-backup backup1 --resource-modifier-configmap change-storage-class-config -n openshift-adp

L'applicazione viene ripristinata con lo stesso namespace con le persistenti richieste di volume create utilizzando la classe di storage ontap-nas-eco.

Ripristino ontap-nas-eco delle macchine virtuali