Create a VM from a backup

After a backup is created, you can create a restore for that backup, which initiates the restoration of the entire virtual machine (VM). The restored VM and its associated disks have different names based on what you specify as the New VM instance name in the GDCH console, or the restoredResourceName in the application programming interface (API).

When a backup is restored, the entire VM is restored. After the resources are created, actual restoration of application functionality is subject to the VM operating system or image.

To get the permissions that you need to backup and restore your data, ask your Project IAM Admin to grant you the following roles:

  • Project VM Admin: project-vm-admin.
  • Backup Creator: backup-creator.
  • Project Viewer: project-viewer.

Create a restore for VMs

Restore a VM backup using the GDCH console or the API.

Console

  1. Sign in to the GDCH console.
  2. In the navigation menu, click Backup for Virtual Machines.
  3. Select a project.
  4. Click the Backups tab.
  5. In the list of backups, find the backup that you want to restore and click Restore.
  6. In the New VM instance name field, enter a name for the new target virtual instance to restore the backup in.
  7. Optional: In the New VM instance description field, enter a description.
  8. Enter a Name for the restore.
  9. Click Restore.

API

Define a VirtualMachineRestoreRequest custom resource to initiate the restore process. The referenced backup in the virtualMachineBackup field refers to a VirtualMachineBackup custom resource generated by a VirtualMachineBackupRequest. Here's an example of a VirtualMachineRestoreRequest:

Define a VirtualMachineRestoreRequest custom resource to initiate the restore process:

apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineRestoreRequest
metadata:
  name: RESTORE_REQUEST_NAME
  namespace: PROJECT_NAME
spec:
  virtualMachineBackup: VM_BACKUP_NAME
  restoreName: RESTORE_NAME
  restoredResourceName: RESTORED_RESOURCE_NAME
  restoredResourceDescription: RESTORED_RESOURCE_DESCRIPTION

Replace the following:

  • VM_BACKUP_NAME: the name of the VirtualMachineBackup to restore from.
  • PROJECT_NAME: the name of the GDCH project.
  • RESTORE_REQUEST_NAME: the name to give the restore request that is being initiated.
  • RESTORE_NAME: name to give the restore that is being initiated.
  • RESTORED_RESOURCE_NAME: the name to give the restored VM.
  • RESTORED_RESOURCE_DESCRIPTION: notes for why the restore is being performed.

The result of the restore creates a new VM with the same configuration and disk state as the backup.

View a restore for VMs

View a list of restores using the GDCH console:

  1. Sign in to the GDCH console.
  2. In the navigation menu, click Backup for Virtual Machines.
  3. Select a project.
  4. Click the Restores tab.
  5. Click a restore in the list to view its details.

Delete a restore

Delete a restore by using the GDCH console or kubectl.

Console

  1. Sign in to the GDCH console.
  2. In the navigation menu, click Backup for Virtual Machines.
  3. Select a project.
  4. Click the Restores tab.
  5. In the list of restores, find the restore to delete and click Delete Restore.
  6. In the Restore name field, enter the name of the restore to delete.
  7. Click Delete Restore.

kubectl

  1. List the existing restores:

    kubectl get virtualmachinerestores.virtualmachine.gdc.goog -n PROJECT_NAME
    

    Replace PROJECT_NAME with the name of the project.

  2. In the list, find the restore that you want to delete.

  3. Delete the restore:

    kubectl delete virtualmachinerestores.virtualmachine.gdc.goog RESTORE_NAME -n PROJECT_NAME
    

    Replace the following:

    • RESTORE_NAME: the name of the restore.
    • PROJECT_NAME: the name of the project.