Stay organized with collections
Save and categorize content based on your preferences.
This page describes how to back up your VM disks in the form of snapshots in Google Distributed Cloud (GDC) air-gapped.
Back up your disks regularly to ensure that your snapshot data is relatively
current, and to reduce the risk of unexpected data loss when carrying out data backup and recovery operations.
Create snapshots to periodically back up data from your persistent disks.
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.
Create a snapshot
Create a snapshot using either the GDC console or the API.
Console
Sign in to the GDC console.
In the navigation menu, click Virtual Machines > Snapshots.
Select a project.
Click Create snapshot.
In the Source disk field, select the disk that you want to create
the snapshot from.
Enter the Snapshot name.
Click Create.
API
Issue a VirtualMachineBackupRequest to initiate a snapshot:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThis page details how to create, view, and delete VM disk snapshots within Google Distributed Cloud (GDC) air-gapped environments for data backup purposes.\u003c/p\u003e\n"],["\u003cp\u003eRegularly backing up disks through snapshots is recommended to ensure data is current and to minimize the risk of data loss.\u003c/p\u003e\n"],["\u003cp\u003eCreating a snapshot can be accomplished through either the GDC console or by using the API with \u003ccode\u003eVirtualMachineBackupRequest\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSnapshots can be viewed via the GDC console or using \u003ccode\u003ekubectl\u003c/code\u003e, allowing you to check their details and manage them effectively.\u003c/p\u003e\n"],["\u003cp\u003eSnapshots can be deleted through the GDC console or with \u003ccode\u003ekubectl\u003c/code\u003e using a \u003ccode\u003eVirtualMachineDeleteBackupRequest\u003c/code\u003e, and it is important to note deleting snapshots does not affect disks created from them.\u003c/p\u003e\n"]]],[],null,["# Back up disks\n\nThis page describes how to back up your VM disks in the form of snapshots in Google Distributed Cloud (GDC) air-gapped.\n\n\u003cbr /\u003e\n\nBack up your disks regularly to ensure that your snapshot data is relatively\ncurrent, and to reduce the risk of unexpected data loss when carrying out data backup and recovery operations.\nCreate snapshots to periodically back up data from your persistent disks.\n\nBefore you begin\n----------------\n\nTo back up disks, you must have the following:\n\n- A [single VM backup\n repository](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/vm-backup/create-backup-repository) for disk snapshots.\n- A [VM backup plan](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/vm-backup/create-backup-plan) with the `disk-snapshot-bpt` name.\n- The necessary identity and access roles:\n\n - 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.\n - Backup Creator: creates manual backups and restores. Ask your Project IAM Admin to grant you the Backup Creator (`backup-creator`) role.\n - 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.\n\nCreate a snapshot\n-----------------\n\nCreate a snapshot using either the GDC console or the API. \n\n### Console\n\n1. Sign in to the GDC console.\n2. In the navigation menu, click **Virtual Machines \\\u003e Snapshots**.\n3. Select a project.\n4. Click **Create snapshot**.\n5. In the **Source disk** field, select the disk that you want to create the snapshot from.\n6. Enter the **Snapshot name**.\n7. Click **Create**.\n\n### API\n\nIssue a `VirtualMachineBackupRequest` to initiate a snapshot: \n\n apiVersion: virtualmachine.gdc.goog/v1\n kind: VirtualMachineBackupRequest\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBACKUP_REQUEST_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_NAME\u003c/span\u003e\u003c/var\u003e\n spec:\n virtualMachineBackupPlanTemplate: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eVM_BACKUP_PLAN\u003c/span\u003e\u003c/var\u003e\n virtualMachineDisk: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eVM_DISK\u003c/span\u003e\u003c/var\u003e\n virtualMachineBackupName: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eVM_BACKUP_NAME\u003c/span\u003e\u003c/var\u003e\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eBACKUP_REQUEST_NAME\u003c/var\u003e: the name to give the backup request that is being initiated.\n- \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e: the name of the GDC project.\n- \u003cvar translate=\"no\"\u003eVM_BACKUP_PLAN\u003cvar translate=\"no\"\u003e\u003c/var\u003e\u003c/var\u003e: the name of the `VirtualMachineBackupPlanTemplate` to use for configuration of the snapshot.\n- \u003cvar translate=\"no\"\u003eVM_DISK\u003cvar translate=\"no\"\u003e\u003c/var\u003e\u003c/var\u003e: the name of the disk to snapshot.\n- \u003cvar translate=\"no\"\u003eVM_BACKUP_NAME\u003cvar translate=\"no\"\u003e\u003c/var\u003e\u003c/var\u003e: the name of the snapshot to create.\n\nView snapshots\n--------------\n\nView snapshots and their details by using the Google Cloud console or `kubectl`. \n\n### Console\n\n1. Sign in to the GDC console.\n2. In the navigation menu, click **Virtual Machines \\\u003e Snapshots**.\n3. Select a project.\n4. In the list of snapshots, click the snapshot name to view its details.\n\n### kubectl\n\nView a snapshot by listing the snapshots and viewing their details.\n\n1. List the existing snapshots:\n\n kubectl get virtualmachinebackups.virtualmachine.gdc.goog -n \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e with the name of the project.\n2. In the list, find the snapshot that you want to view.\n\n3. View the snapshot details:\n\n kubectl describe virtualmachinebackup.virtualmachine.gdc.goog \u003cvar translate=\"no\"\u003eVM_BACKUP_NAME\u003c/var\u003e -n \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eVM_BACKUP_NAME\u003c/var\u003e: the name of the snapshot.\n - \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e: the name of the project.\n\nDelete a snapshot\n-----------------\n\nDelete snapshots by using the Google Cloud console or `kubectl`. Disks created from\nsnapshots are not affected when the underlying snapshot is deleted. \n\n### Console\n\n1. Sign in to the GDC console.\n2. In the navigation menu, click **Virtual Machines \\\u003e Snapshots**.\n3. Select a project.\n4. In the list of snapshots, find the snapshot to delete and click **Delete**.\n5. Click **Confirm**.\n\n### kubectl\n\nDelete a snapshot using `kubectl`.\n\n1. List the existing snapshots:\n\n kubectl get virtualmachinebackups.virtualmachine.gdc.goog -n \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e with the name of the project.\n2. In the list, find the snapshot that you want to delete.\n\n3. Issue a `VirtualMachineDeleteBackupRequest` to delete the snapshot:\n\n apiVersion: virtualmachine.gdc.goog/v1\n kind: VirtualMachineDeleteBackupRequest\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDELETE_BACKUP_REQUEST_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_NAME\u003c/span\u003e\u003c/var\u003e\n spec:\n virtualMachineBackupRef:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eVM_BACKUP_NAME\u003c/span\u003e\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eDELETE_BACKUP_REQUEST_NAME\u003c/var\u003e: name to give the delete backup request that is being initiated.\n - \u003cvar translate=\"no\"\u003eVM_BACKUP_NAME\u003c/var\u003e: the name of the snapshot to delete.\n - \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e: the name of the project.\n\nWhat's next\n-----------\n\n- [Restore a VM from a snapshot](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/vm-backup/restore-from-a-snapshot)."]]