VMWare – Restore delle VM tramite script ghettoVCB (Part 3)
Abbiamo visto precedentemente come effettuare i backup di VM tramite script ghettoVCB. Vedremo in questo post come effettuare il restore di una VM.
Entriamo in SSH nel nostro server VMWare ESXi; supponiamo che la macchina su cui vogliamo operare sia la VM con ID=19 (OPNSense); procederemo al restore tramite riga di comando con accesso SSH al server VMWare ESXi. Chiaramente il nostro server ESXi deve avere montato un FS su cui si trovi il backup della VM.
# vim-cmd vmsvc/getallvm Vmid Name File Guest OS Version Annotation ...... 19 OPNSense [datastore1] OPNSense/OPNSense.vmx freebsd64Guest vmx-13 ......
La procedura che seguiremo per eseguire il restore della VM è la seguente:
- spegnere la VM ed effettuarne l’unregister;
- cancellarla (o meglio rinominare la directory che ospita la VM);
- procedere con il restore
Cominciamo a spegnere la VM; abbiamo trovato che l’ID della VM su cui lavorare sia il 19; controlliamo lo stato della macchina, e se fosse “Powered ON” (cioè accesa), procediamo con lo spegnimento:
# vim-cmd vmsvc/power.getstate 19 Retrieved runtime info Powered on # vim-cmd vmsvc/power.shutdown 19 ..... aspettiamo qualche minuto ... # vim-cmd vmsvc/power.getstate 19 Retrieved runtime info Powered off
Procediamo con il passo seguente: unregister e moving della directory
# vim-cmd vmsvc/unregister 19 # mv /vmfs/volumes/datastore1/OPNSense /vmfs/volumes/datastore1/OPNSense.OLD
Per effettuare un restore, creiamo il file /etc/ghettovcb/restore-OPNSense.conf, al cui interno inseriremo:
# DISK_FORMATS # 1 = zeroedthick # 2 = 2gbsparse # 3 = thin # 4 = eagerzeroedthick "/vmfs/volumes/Backup/VM/OPNsense/OPNsense-2020-06-24_13-59-38;/vmfs/volumes/datastore1;1;OPNsense"
Nel dettaglio:
- /vmfs/volumes/Backup/VM/OPNsense/OPNsense-2020-06-24_13-59-38
- è la directory che contiene il backup che vogliamo ripristinare;
- /vmfs/volumes/datastore1
- è il volume che ospiterà la VM
- 1
- Utilizzeremo come tipo di disco il formato zeroedthick
- OPNSense
- è il nome con cui registreremo la nostra VM (che precedentemente abbiamo cancellato)
Vediamo se lo script che abbiamo creato è sintatticamente corretto:
# /opt/ghettovcb/bin/ghettoVCB-restore.sh -c /etc/ghettovcb/restore-OPNSense.conf -d 1 ########## DEBUG MODE Virtual Machine: "OPNSense" VM_ORIG_VMX: "OPNSense.vmx" VM_ORG_FOLDER: "" VM_RESTORE_VMX: "OPNSense.vmx" VM_RESTORE_FOLDER: "OPNSense" VMDK_LIST_TO_MODIFY: scsi0:0.fileName = "OPNSense-000001.vmdk" scsi0:0.fileName = "OPNSense-0.vmdk" # Start time: Mon Dec 14 15:40:41 UTC 2020 End time: Mon Dec 14 15:40:42 UTC 2020 Duration : 1 Seconds
Visto che lo script è corretto, possiamo lanciare il restore della nostra VM:
# /opt/ghettovcb/bin/ghettoVCB-restore.sh -c /etc/ghettovcb/restore-OPNSense.conf ############ Restoring VM: OPNSense Start time: Mon Dec 14 15:42:52 UTC 2020 Restoring VM from: "/vmfs/volumes/Backup/VM/OPNsense/OPNsense-2020-06-24_13-59-38/" Restoring VM to Datastore: "/vmfs/volumes/datastore1/" using Disk Format: "zeroedthick" Creating VM directory: "/vmfs/volumes/datastore1/OPNSense" … Copying "OPNSense.vmx" file … Restoring VM's VMDK(s) … Updating VMDK entry in "OPNSense.vmx" file … Option --adaptertype is deprecated and hence will be ignored Destination disk format: VMFS zeroedthick Cloning disk '/vmfs/volumes/Backup/VM/OPNsense/OPNsense-2020-06-24_13-59-38/OPNSense-000001.vmdk'… Clone: 19% done. Clone: 50% done Clone: 73% done Clone: 89% done Clone: 100% done. Registering OPNSense … 182 End time: Mon Dec 14 15:43:18 UTC 2020 ############ Completed restore for OPNSense! Start time: Mon Dec 14 15:42:52 UTC 2020 End time: Mon Dec 14 15:43:18 UTC 2020 Duration : 26 Seconds
La VM è stata correttamente rispristinata e registrata; vediamo il nuovo ID a cui è associata (lo possiamo anche vedere nell’output del comando precedente) ed avviamo la “nuova” VM:
# vim-cmd vmsvc/getallvm Vmid Name File Guest OS Version Annotation ...... 182 OPNSense [datastore1] OPNSense/OPNSense.vmx freebsd64Guest vmx-13 ...... # vim-cmd vmsvc/power.on 182 # vim-cmd vmsvc/power.getstate 182 Retrieved runtime info Powered on
← VMWare – Backup delle VM tramite script ghettoVCB (Part 2)