This page describes how to restore a virtual machine (VM) disk from an image disk snapshot that was created through Google Distributed Cloud (GDC) air-gapped backup and restore procedures.
Before you begin
To restore a VM disk from a snapshot, you must have the following:
- An existing snapshot. For more information, see Back up disks.
The necessary identity and access roles:
- Project VirtualMachine Admin: manages VMs in the project namespace. Ask your
Project IAM Admin to grant you the Project VirtualMachine Admin
(
project-vm-admin
) role. - Backup Creator: creates manual backups and restores. Ask your Project IAM
Admin to grant you the Backup Creator (
backup-creator
) role. - Project Viewer: has read-only access to all resources within project
namespaces. Ask your Project IAM Admin to grant you the Project Viewer
(
project-viewer
) role.
- Project VirtualMachine Admin: manages VMs in the project namespace. Ask your
Project IAM Admin to grant you the Project VirtualMachine Admin
(
Restore a snapshot
Create a new VM from a disk snapshot by using the GDC console or the application programming interface (API).
Console
- Sign in to the GDC console.
- In the navigation menu, click Virtual Machines > Snapshots.
- Select a project.
- In the list of snapshots, find the snapshot to restore and click Restore.
- In the New disk name field, enter the name of the disk to restore the backup in.
- Enter a Restore name for the restore.
- Click Restore.
API
Create a VirtualMachineRestoreRequest
custom resource to initiate the restore
process.
The restoration of application capability is subject to the VM operating system or image.
Create 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: RESTORE_PREFIX
restoredResourceDescription: RESTORED_RESOURCE_DESCRIPTION
Replace the following:
VM_BACKUP_NAME
: the name of theVirtualMachineBackup
resource to restore from.PROJECT_NAME
: the name of the GDC project.RESTORE_REQUEST_NAME
: the name of the restore request that is being initiated.RESTORE_NAME
: the name to give the restore that is being initiated.RESTORE_PREFIX
: a prefix that is appended to the start of the name for backups that this request restores.RESTORED_RESOURCE_DESCRIPTION
: description of why the restore is performed.
The result of the restore creates a new disk with the same configuration and disk state as the snapshot, completing the data backup and recovery process.
View a restore
View a restore using the GDC console or kubectl
command-line interface
(CLI).
Console
- Sign in to the GDC console.
- In the navigation menu, click Virtual Machines > Snapshots.
- Select a project.
- Click the Restores tab.
- In the list of restores, click the restore name to view its details.
kubectl
View a restore by listing the restores and viewing their details:
List the existing snapshots:
kubectl get virtualmachinerestores.virtualmachine.gdc.goog -n PROJECT_NAME
Replace
PROJECT_NAME
with the name of the project.In the list, find the restore that you want to view.
View the restore details:
kubectl describe virtualmachinerestore.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.
Delete a restore
Delete a restore by using the GDC console or kubectl
command-line interface
(CLI).
Console
- Sign in to the GDC console.
- In the navigation menu, click Backup for Virtual Machines.
- Select a project.
- Click the Restores tab.
- In the list of restores, find the restore to delete and click Delete Restore.
- In the Restore name field, enter the name of the restore to delete.
- Click Delete Restore.
kubectl
View a restore by listing the restores and viewing their details:
List the existing restores:
kubectl get virtualmachinerestores.virtualmachine.gdc.goog -n PROJECT_NAME
Replace
PROJECT_NAME
with the name of the project.In the list, find the restore that you want to delete.
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.