are storage options that let you implement high availability (HA) services in Compute Engine. Regional Persistent Disk and Hyperdisk Balanced High Availability synchronously replicate data between two zones in the same region and ensure HA for disk data for up to one zonal failure. The regional disk can be a boot disk or a non-boot disk.
You can also allow different instances to concurrently access a Hyperdisk Balanced High Availability disk by setting the disk access mode. Regional disks can only be attached to instances in the same zones as the disk's replicas. For more information, see Share a disk between instances.
This document explains how to do the following tasks for regional disks:
Select the tab for how you plan to use the samples on this page:
ConsoleWhen you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloudInstall the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Note: If you installed the gcloud CLI previously, make sure you have the latest version by runninggcloud components update
.To use the Terraform samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
Install the Google Cloud CLI.
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Note: If you installed the gcloud CLI previously, make sure you have the latest version by runninggcloud components update
.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
For more information, see Set up authentication for a local development environment.
RESTTo use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
Install the Google Cloud CLI.
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
To get the permissions that you need to create a regional disk, ask your administrator to grant you the following IAM roles on the project:
roles/compute.instanceAdmin.v1
)roles/iam.serviceAccountUser
)For more information about granting roles, see Manage access to projects, folders, and organizations.
These predefined roles contain the permissions required to create a regional disk. To see the exact permissions that are required, expand the Required permissions section:
Required permissionsThe following permissions are required to create a regional disk:
compute.disks.create
compute.instances.attachDisk
compute.disks.use
compute.disks.createSnapshot
compute.disks.get
compute.disks.list
compute.disks.update
You might also be able to get these permissions with custom roles or other predefined roles.
LimitationsYou can attach a regional Persistent Disk or Hyperdisk Balanced High Availability disk as a boot disk for stateful workloads that are provisioned ahead of time, before you provision a production workload. Regional boot disks are not intended for hot standbys, because the regional boot disks cannot be attached simultaneously to two compute instances.
You can only create regional Persistent Disk or Hyperdisk Balanced High Availability volumes from snapshots; it isn't possible to create a regional disk from an OS image.
To use a regional disk as the boot disk for an instance, use either of the following methods:
If you need to failover a regional boot disk to a running standby instance in the replica zone, then use the steps described in Attach a regional boot disk to an instance.
Create a regional diskCreate a regional Persistent Disk or Hyperdisk Balanced High Availability volume. The disk must be in the same region as the compute instance that you plan to attach it to.
If you create a Hyperdisk Balanced High Availability volume, you can also allow different instances to concurrently access the disk by setting the disk access mode. For more information, see Share a disk between instances.
For regional Persistent Disk, if you create a disk in the Google Cloud console, the default
disk typeis
pd-balanced
. If you create a disk using the gcloud CLI or REST, the default disk type is
pd-standard
.
ConsoleIn the Google Cloud console, go to the Disks page.
Select the required project.
Click Create disk.
Specify a Name for your disk.
For the Location, choose Regional.
Select the Region and Zone. You must select the same region when you create your instance.
Select the Replica zone in the same region. Make a note of the zones that you select because you must attach the disk to your instance in one of those zones.
Select the Disk source type.
Under Disk settings, choose a Disk type and Size. You can also change the default Provisioned IOPS, and Provisioned Throughput settings.
Optional: For Hyperdisk Balanced High Availability volumes, you can enable attaching the disk to multiple instances by creating the disk in multi-writer mode. In Access mode, select Multiple VMs read write.
Click Create to finish creating your disk.
Create a regional disk by using the compute disks create
command.
If you need a regional SSD Persistent Disk for additional throughput or IOPS, include the --type
flag and specify pd-ssd
.
gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --type=DISK_TYPE \ --region=REGION \ --replica-zones=ZONE1,ZONE2 --access-mode=DISK_ACCESS_MODE
Replace the following:
DISK_NAME
: the name of the new diskDISK_SIZE
: the size, in GiB, of the new diskDISK_TYPE
: For regional Persistent Disk, this is the type of the regional disk. The default value is pd-standard
. For Hyperdisk, specify the value hyperdisk-balanced-high-availability
.REGION
: the region for the regional disk to reside in, for example: europe-west1
ZONE1
,ZONE2
: the zones within the region where the two disk replicas are located, for example: europe-west1-b,europe-west1-c
DISK_ACCESS_MODE
: Optional: specifies how instances can access the data on a Hyperdisk Balanced High Availability disk. The following values are supported:
READ_WRITE_SINGLE
, for read-write access from one instance. This is the default.READ_WRITE_MANY
, for read-write access from multiple instances.You can set the access mode only for Hyperdisk Balanced High Availability disks.
To create a regional Persistent Disk or Hyperdisk Balanced High Availability volume, you can use the google_compute_region_disk
resource.
To create a regional Persistent Disk or Hyperdisk Balanced High Availability volume, construct a POST
request to the compute.regionDisks.insert
method.
To create a blank disk, don't specify a snapshot source.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks { "name": "DISK_NAME", "region": "projects/PROJECT_ID/regions/REGION", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE1", "projects/PROJECT_ID/zones/ZONE2" ], "sizeGb": "DISK_SIZE", "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE", "accessMode": "DISK_ACCESS_MODE" }
Replace the following:
PROJECT_ID
: your project IDREGION
: the region for the regional disk to reside in, for example: europe-west1
DISK_NAME
: the name of the new diskZONE1
,ZONE2
: the zones where replicas of the new disk should be locatedDISK_SIZE
: the size, in GiB, of the new diskDISK_TYPE
: For regional Persistent Disk, this is the type of Persistent Disk. For Hyperdisk, specify the value hyperdisk-balanced-high-availability
.DISK_ACCESS_MODE
: Optional: specifies how instances can access the data on the Hyperdisk Balanced High Availability disk. The following values are supported:
READ_WRITE_SINGLE
, for read-write access from one instance. This is the default.READ_WRITE_MANY
, for read-write access from multiple instances.You can set the access mode only for Hyperdisk Balanced High Availability disks.
For disks that are not boot disks, after you create a regional Persistent Disk or Hyperdisk Balanced High Availability volume, you can attach it to an instance. The instance must be in the same region as the disk.
To attach a regional boot disk to an instance, see Attach a regional boot disk to an instance.
To attach a Hyperdisk Balanced High Availability disk to multiple instances, repeat the procedure in this section for each instance. You can attach Hyperdisk Balanced High Availability disks only in read-write mode.
ConsoleTo attach a disk to an instance, go to the VM instances page.
In the Name column, click the name of the instance.
Click Edit edit.
Click +Attach existing disk.
Choose the previously created regional disk to add to your instance.
If you see a warning that indicates the selected disk is already attached to another instance, select the Force-attach disk box to force-attach the disk to the instance that you are editing.
Review the use cases for force-attaching regional disks at Regional disk failover.
Optional: If attaching a Hyperdisk Balanced High Availability disk to multiple instances, for Disk attachment mode, select Read/write.
Click Save.
On the Edit VM page, click Save.
To attach a regional disk to a running or stopped instance, use the compute instances attach-disk
command with the --disk-scope
flag set to regional
.
If attaching a Hyperdisk Balanced High Availability disk in multi-writer mode to multiple instances, the only supported attachment mode is rw
, which is is the default access mode. You don't need to include the --mode
flag.
gcloud compute instances attach-disk INSTANCE_NAME \ --disk=DISK_NAME \ --disk-scope=regional \ --device-name=DEVICE_NAME
Replace the following:
INSTANCE_NAME
: the name of the instance to which you're adding the regional diskDISK_NAME
: the name of the new disk that you're attaching to the instanceDEVICE_NAME
: Optional: a name that the guest OS uses to create a symlink, which helps identify the disk at the OS level.To attach a regional Persistent Disk or Hyperdisk Balanced High Availability volume to an instance, you can use the google_compute_attached_disk
resource.
To attach a regional disk to a running or stopped instance, construct a POST
request to the compute.instances.attachDisk
method and include the URL to the regional disk that you created.
If attaching a Hyperdisk Balanced High Availability disk in multi-writer mode to multiple instances, the only supported attachment mode is READ-WRITE
, which is is the default access mode. You don't need to include the mode
property.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME", "deviceName": DEVICE_NAME }
Replace the following:
PROJECT_ID
: your project IDZONE
: the location of your instanceINSTANCE_NAME
: the name of the instance to which you're adding the new regional diskREGION
: the region where the regional disk is locatedDISK_NAME
: the name of the regional disk (as as shown in the Google Cloud console).DEVICE_NAME
: Optional: a name that the guest OS uses to create a symlink, which helps identify the disk at the OS level.For non-boot disks, after you create and attach a blank regional disk to a instance, you must format and mount the disk, so that the operating system can use the available storage space.
Change a zonal disk to a regional diskTo convert an existing zonal Persistent Disk to a Regional Persistent Disk, create a new disk by cloning an existing zonal disk. For more information, see
Creating a regional disk clone from a zonal disk.
To convert a Hyperdisk to a regional disk, create a new Hyperdisk Balanced High Availability disk from a snapshot of the existing disk, as described in Change a zonal disk to a Hyperdisk Balanced High Availability disk.
Create a new instance with a regional boot diskWhen setting up a highly available compute instance, you can create the primary instance with a regional boot disk. If a zonal outage occurs, this lets you restart the instance in the secondary zone instead of creating a new instance.
In a high availability setup, if the boot device is a regional disk, Google recommends that you don't pre-create and start the standby instance. Instead, at the failover stage, attach the existing regional disk when you create the standby instance by using the forceAttach
option.
If you want to change an existing zonal disk to a regional disk, see Change a zonal disk to a regional disk instead. Otherwise, to create an instance with a boot disk that is a regional disk, use one of the following methods:
ConsoleIn the Google Cloud console, go to the Create an instance page.
If prompted, select your project and click Continue.
The Create an instance page appears and displays the Machine configuration pane.
In the Machine configuration pane, do the following:
Optional: In the Zone field, select a zone for this instance.
The default selection is Any. If you don't change this default selection, then Google automatically chooses a zone for you based on machine type and availability.
Select a machine family for your instance from one of the following options:
The Google Cloud console then displays the machine series that are available for your selected machine family.
In the Series column, select the machine series for your instance.
If you selected GPUs as the machine family in the previous step, then select the GPU type that you want. The machine series is then automatically selected for the selected GPU type.
In the Machine type section, select the machine type for your instance.
In the navigation menu, click OS and storage. In the Operating system and storage pane that appears, complete the following steps.
To learn more about the parameters that you can configure while adding new disks, see About Persistent Disk and About Google Cloud Hyperdisk.
Configure the data source for the boot disk in one of the following ways:
Note: Unless you explicitly choose a different boot disk, if the name of the new instance matches the name of an existing disk, then the existing disk automatically attaches to the new instance as the boot disk.To choose a standard snapshot as the data source for your boot disk, click Snapshots and then, in the Snapshots tab that appears, specify the following:
To choose an archive snapshot as the data source for your boot disk, click Archive snapshots and then, in the Archive snapshots tab that appears, specify the following:
To choose an existing disk as your boot disk, click Existing disks. Then, in the Existing disks tab that appears, select an existing regional Persistent Disk or Hyperdisk Balanced High Availability volume in the Disk list.
Optional: For advanced configuration options, expand the expand_more Show advanced configurations section.
To confirm your boot disk options and return to the Operating system and storage pane, click Select.
Optional: To learn how to attach non-boot disks to your instance, see Create an instance with additional non-boot disks.
If you did not choose an existing boot disk, configure it to be a regional disk by doing the following:
In the navigation menu, click Data protection. In the Data protection pane that appears, do the following:
Caution: The data backup and replication settings that you specify while creating an instance using the Google Cloud console are applied only when your selected instance and disk configurations support those options. You must verify that your configuration for the instance and each disk meets the requirements for each data protection option that you specify. For more information, see the requirements for regional disks and Data protection options.To configure all new disks for the instance to use synchronous disk replication (regional Persistent Disk or Hyperdisk Balanced High Availability), select the Regional disks checkbox.
(No action required by default.) Clear the Exclude boot disks checkbox.
Optional: Specify other configuration options. For more information, see Configuration options during instance creation.
To create and start the instance, click Create.
Use the gcloud compute instances create
command to create an instance, and the --create-disk
flag to specify the regional disk.
gcloud compute instances create PRIMARY_INSTANCE_NAME \ --zone=ZONE \ --create-disk=^:^name=REGIONAL_DISK_NAME:boot=true:type=DISK_TYPE:source-snapshot=SNAPSHOT_NAME:replica-zones=ZONE,REMOTE_ZONE
When specifying the disk parameters, the characters ^:^
specify that the separation character between parameters is a colon (:
). This lets you use a comma (,
) when specifying the replica-zones parameter.
Replace the following:
hyperdisk-balanced-high-availability
. If using a Persistent Disk, then you must also specify scope=regional
within the --create-disk
flag to create a Regional Persistent Disk.Create a POST
request to the instances.insert
method and specify the properties boot: 'true'
and replicaZones
. For example:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ], "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE" } }], "networkInterfaces": [ { "network": "global/networks/default" } ] }
Replace the following:
PROJECT_ID
: your project IDZONE
: the name of the zone where you want to create the instanceINSTANCE_NAME
: a name for the instanceBOOT_SNAPSHOT_NAME
: the name of the boot disk snapshotREMOTE_ZONE
: the remote zone for the regional diskDISK_TYPE
: the type of disk to create, for example, hyperdisk-balanced-high-availability
or pd-balanced
When creating an instance, you can optionally include regional Persistent Disk or Hyperdisk Balanced High Availability volumes as additional disks.
To create and attach a regional Persistent Disk or Hyperdisk Balanced High Availability volume to an instance during instance creation, see either of the following:
Attach a regional boot disk to an instanceUse the following steps to:
These steps assume that the regional disk and instance already exist.
gcloudgcloud compute instances stop INSTANCE_NAME --zone=ZONE
gcloud compute instances detach-disk INSTANCE_NAME \ --zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME
gcloud compute instances attach-disk INSTANCE_NAME \ --zone=ZONE \ --disk=REGIONAL_DISK_NAME \ --disk-scope=regional --force-attach \ --boot
Restart the instance.
gcloud compute instances start INSTANCE_NAMENote: If the instance you want to start uses customer-supplied encryption keys, you must provide those keys when trying to start the instance. For more information, see Start an instance that has encrypted disks.
Replace the variables in the previous commands with the following:
INSTANCE_NAME
: the name of the instance to which you want to attach the regional boot diskZONE
: the zone in which the instance is locatedCURRENT_BOOT_DEVICE_NAME
: the name of the boot disk being used by the instance. This is usually the same as the name of the instance.REGIONAL_DISK_NAME
: the name of the regional disk that you want to attach to the instance as a boot diskOptional: If you can't successfully detach the regional boot disk from the primary instance due to an outage or failure, include the flag --force-attach
.
Stop the instance.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
Detach the current boot disk from the instance.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
Attach the regional boot disk to the instance.
Construct a POST
request to the compute.instances.attachDisk
method, and include the URL to the regional boot disk:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REGIONAL_DISK_NAME", "boot": true }
Restart the instance.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/startNote: If the instance you want to start uses customer-supplied encryption keys, you must provide those keys when trying to start the instance. For more information, see Start an instance that has encrypted disks.
Replace the variables in the previous commands with the following:
PROJECT_ID
: your project IDINSTANCE_NAME
: the name of the instance to which you want to attach the regional diskZONE
: the zone in which the instance is locatedCURRENT_BOOT_DEVICE_NAME
: the name of the boot disk being used by the instance. This is usually the same as the name of the instance.REGION
: the region in which the regional disk is locatedREGIONAL_DISK_NAME
: the name of the regional disk that you want to attach to the instance as a boot diskOptional: If you can't successfully detach the regional boot disk from the instance that it was originally attached to because of an outage or failure, include "forceAttach": true
in the request body.
You can view a list of all your configured regional disks, and information about their properties, including the following:
To view detailed information about your regional disks, use the following:
GET
request to the compute.regionDisks.list
method.gcloud compute disks list
command and filter the results by region.gcloud compute disks describe
command with the --region
flag, and specify the name of the disk and its region.GET
request to the compute.regionDisks.get
method.If instances with regional disks require additional storage space, you can resize the disks. You can resize disks at any time, regardless of whether the disk is attached to a running instance. If you need to separate your data into unique volumes, create multiple secondary disks for the instance. For Hyperdisk Balanced High Availability you can also increase the IOPS and throughput limits for the disk.
The command for resizing a regional disk is very similar to that for resizing a zonal disk. However, you must specify a region instead of a zone for the disk location.
You can only increase, and not decrease, the size of a disk. To decrease the disk size, you must create a new disk with a smaller size. Until you delete the original, larger disk, you are charged for both disks.
For instructions on how to modify a regional disk, see the following:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4