mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-08 10:35:03 +00:00
383 lines
17 KiB
Text
383 lines
17 KiB
Text
NAME
|
|
gcloud alpha compute disks create - create Compute Engine persistent disks
|
|
|
|
SYNOPSIS
|
|
gcloud alpha compute disks create DISK_NAME [DISK_NAME ...]
|
|
[--access-mode=ACCESS_MODE] [--architecture=ARCHITECTURE]
|
|
[--confidential-compute] [--csek-key-file=FILE]
|
|
[--description=DESCRIPTION] [--erase-windows-vss-signature]
|
|
[--guest-os-features=[GUEST_OS_FEATURE,...]] [--interface=INTERFACE]
|
|
[--labels=[KEY=VALUE,...]] [--licenses=[LICENSE,...]] [--multi-writer]
|
|
[--physical-block-size=PHYSICAL_BLOCK_SIZE; default="4096"]
|
|
[--primary-disk-project=PRIMARY_DISK_PROJECT]
|
|
[--provisioned-iops=PROVISIONED_IOPS]
|
|
[--provisioned-throughput=PROVISIONED_THROUGHPUT]
|
|
[--replica-zones=ZONE,ZONE] [--no-require-csek-key-create]
|
|
[--resource-policies=[RESOURCE_POLICY,...]] [--size=SIZE]
|
|
[--storage-pool=STORAGE_POOL] [--type=TYPE]
|
|
[--user-licenses=[LICENSE,...]]
|
|
[--image-family-scope=IMAGE_FAMILY_SCOPE
|
|
--image-project=IMAGE_PROJECT --image=IMAGE
|
|
| --image-family=IMAGE_FAMILY | --primary-disk=PRIMARY_DISK
|
|
| --source-disk=SOURCE_DISK
|
|
| --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT
|
|
| --source-snapshot=SOURCE_SNAPSHOT]
|
|
[--kms-key=KMS_KEY : --kms-keyring=KMS_KEYRING
|
|
--kms-location=KMS_LOCATION --kms-project=KMS_PROJECT]
|
|
[--primary-disk-region=PRIMARY_DISK_REGION
|
|
| --primary-disk-zone=PRIMARY_DISK_ZONE]
|
|
[--region=REGION | --zone=ZONE]
|
|
[--source-disk-region=SOURCE_DISK_REGION
|
|
| --source-disk-zone=SOURCE_DISK_ZONE] [GCLOUD_WIDE_FLAG ...]
|
|
|
|
DESCRIPTION
|
|
(ALPHA) gcloud alpha compute disks create creates one or more Compute
|
|
Engine persistent disks. When creating virtual machine instances, disks can
|
|
be attached to the instances through the gcloud compute instances create
|
|
command. Disks can also be attached to instances that are already running
|
|
using gcloud compute instances attach-disk.
|
|
|
|
Disks are zonal resources, so they reside in a particular zone for their
|
|
entire lifetime. The contents of a disk can be moved to a different zone by
|
|
snapshotting the disk (using gcloud compute disks snapshot) and creating a
|
|
new disk using --source-snapshot in the desired zone. The contents of a
|
|
disk can also be moved across project or zone by creating an image (using
|
|
gcloud compute images create) and creating a new disk using --image in the
|
|
desired project and/or zone.
|
|
|
|
For a comprehensive guide, including details on minimum and maximum disk
|
|
size, refer to: https://cloud.google.com/compute/docs/disks
|
|
|
|
EXAMPLES
|
|
When creating disks, be sure to include the --zone option. To create disks
|
|
'my-disk-1' and 'my-disk-2' in zone us-east1-a:
|
|
|
|
$ gcloud alpha compute disks create my-disk-1 my-disk-2 \
|
|
--zone=us-east1-a
|
|
|
|
POSITIONAL ARGUMENTS
|
|
DISK_NAME [DISK_NAME ...]
|
|
Names of the disks to create. For details on the naming convention for
|
|
this resource, refer to:
|
|
https://cloud.google.com/compute/docs/naming-resources
|
|
|
|
FLAGS
|
|
--access-mode=ACCESS_MODE
|
|
Specifies the access mode that the disk can support. ACCESS_MODE must
|
|
be one of: READ_ONLY_MANY, READ_WRITE_MANY, READ_WRITE_SINGLE.
|
|
|
|
--architecture=ARCHITECTURE
|
|
Specifies the architecture or processor type that this disk can
|
|
support. For available processor types on Compute Engine, see
|
|
https://cloud.google.com/compute/docs/cpu-platforms. ARCHITECTURE must
|
|
be one of: ARM64, X86_64.
|
|
|
|
--confidential-compute
|
|
Creates the disk with confidential compute mode enabled. Encryption
|
|
with a Cloud KMS key is required to enable this option.
|
|
|
|
--csek-key-file=FILE
|
|
Path to a Customer-Supplied Encryption Key (CSEK) key file that maps
|
|
Compute Engine resources to user managed keys to be used when creating,
|
|
mounting, or taking snapshots of disks.
|
|
|
|
If you pass - as value of the flag, the CSEK is read from stdin. See
|
|
https://cloud.google.com/compute/docs/disks/customer-supplied-encryption
|
|
for more details.
|
|
|
|
--description=DESCRIPTION
|
|
An optional, textual description for the disks being created.
|
|
|
|
--erase-windows-vss-signature
|
|
Specifies whether the disk restored from a source snapshot should erase
|
|
Windows specific VSS signature. See
|
|
https://cloud.google.com/sdk/gcloud/reference/compute/disks/snapshot#--guest-flush
|
|
|
|
--guest-os-features=[GUEST_OS_FEATURE,...]
|
|
Enables one or more features for VM instances that use the image for
|
|
their boot disks. See the descriptions of supported features at:
|
|
https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features.
|
|
GUEST_OS_FEATURE must be one of: BARE_METAL_LINUX_COMPATIBLE, GVNIC,
|
|
IDPF, MULTI_IP_SUBNET, SEV_CAPABLE, SEV_LIVE_MIGRATABLE,
|
|
SEV_LIVE_MIGRATABLE_V2, SEV_SNP_CAPABLE, TDX_CAPABLE, UEFI_COMPATIBLE,
|
|
VIRTIO_SCSI_MULTIQUEUE, WINDOWS.
|
|
|
|
--interface=INTERFACE
|
|
Specifies the disk interface to use for attaching this disk. Valid
|
|
values are SCSI and NVME. The default is SCSI.
|
|
|
|
--labels=[KEY=VALUE,...]
|
|
List of label KEY=VALUE pairs to add.
|
|
|
|
Keys must start with a lowercase character and contain only hyphens
|
|
(-), underscores (_), lowercase characters, and numbers. Values must
|
|
contain only hyphens (-), underscores (_), lowercase characters, and
|
|
numbers.
|
|
|
|
--licenses=[LICENSE,...]
|
|
A list of URIs to license resources. The provided licenses will be
|
|
added onto the created disks to indicate the licensing and billing
|
|
policies.
|
|
|
|
--multi-writer
|
|
Create the disk in multi-writer mode so that it can be attached with
|
|
read-write access to two VMs. The multi-writer feature requires
|
|
specialized filesystems, among other restrictions. For more
|
|
information, see
|
|
https://cloud.google.com/compute/docs/disks/sharing-disks-between-vms.
|
|
|
|
--physical-block-size=PHYSICAL_BLOCK_SIZE; default="4096"
|
|
Physical block size of the persistent disk in bytes. Valid values are
|
|
4096(default) and 16384. PHYSICAL_BLOCK_SIZE must be one of: 4096,
|
|
16384.
|
|
|
|
--primary-disk-project=PRIMARY_DISK_PROJECT
|
|
Project of the primary disk for asynchronous replication.
|
|
|
|
--provisioned-iops=PROVISIONED_IOPS
|
|
Provisioned IOPS of disk to create. Only for use with disks of type
|
|
pd-extreme and hyperdisk-extreme.
|
|
|
|
--provisioned-throughput=PROVISIONED_THROUGHPUT
|
|
Provisioned throughput of disk to create. The throughput unit is MB per
|
|
sec. Only for use with disks of type hyperdisk-throughput.
|
|
|
|
--replica-zones=ZONE,ZONE
|
|
A comma-separated list of exactly 2 zones that a regional disk will be
|
|
replicated to. Required when creating regional disk. The zones must be
|
|
in the same region as specified in the --region flag. See available
|
|
zones with gcloud compute zones list.
|
|
|
|
--require-csek-key-create
|
|
Refuse to create resources not protected by a user managed key in the
|
|
key file when --csek-key-file is given. This behavior is enabled by
|
|
default to prevent incorrect gcloud invocations from accidentally
|
|
creating resources with no user managed key. Disabling the check allows
|
|
creation of some resources without a matching Customer-Supplied
|
|
Encryption Key in the supplied --csek-key-file. See
|
|
https://cloud.google.com/compute/docs/disks/customer-supplied-encryption
|
|
for more details. Enabled by default, use --no-require-csek-key-create
|
|
to disable.
|
|
|
|
--resource-policies=[RESOURCE_POLICY,...]
|
|
A list of resource policy names to be added to the disk. The policies
|
|
must exist in the same region as the disk.
|
|
|
|
--size=SIZE
|
|
Size of the disks. The value must be a whole number followed by a size
|
|
unit of GB for gigabyte, or TB for terabyte. If no size unit is
|
|
specified, GB is assumed. For example, 10GB will produce 10 gigabyte
|
|
disks. Disk size must be a multiple of 1 GB. If disk size is not
|
|
specified, the default size of 500GB for pd-standard disks, 100GB for
|
|
pd-balanced disks, 100GB for pd-ssd disks, and 1000GB for pd-extreme
|
|
will be used. For details about disk size limits, refer to:
|
|
https://cloud.google.com/compute/docs/disks
|
|
|
|
--storage-pool=STORAGE_POOL
|
|
Specifies the URI of the storage pool in which the disk is created.
|
|
|
|
--type=TYPE
|
|
Specifies the type of disk to create. To get a list of available disk
|
|
types, run gcloud compute disk-types list. The default disk type is
|
|
pd-standard.
|
|
|
|
--user-licenses=[LICENSE,...]
|
|
List of URIs to license resources. User-provided licenses can be edited
|
|
after disk is created.
|
|
|
|
--image-family-scope=IMAGE_FAMILY_SCOPE
|
|
Sets the scope for the --image-family flag. By default, when specifying
|
|
an image family in a public image project, the zonal image family scope
|
|
is used. All other projects default to the global image. Use this flag
|
|
to override this behavior. IMAGE_FAMILY_SCOPE must be one of: zonal,
|
|
global.
|
|
|
|
--image-project=IMAGE_PROJECT
|
|
The Google Cloud project against which all image and image family
|
|
references will be resolved. It is best practice to define
|
|
image-project. A full list of available projects can be generated by
|
|
running gcloud projects list.
|
|
◆ If specifying one of our public images, image-project must be
|
|
provided.
|
|
◆ If there are several of the same image-family value in multiple
|
|
projects, image-project must be specified to clarify the image to be
|
|
used.
|
|
◆ If not specified and either image or image-family is provided, the
|
|
current default project is used.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--image=IMAGE
|
|
An image to apply to the disks being created. When using this option,
|
|
the size of the disks must be at least as large as the image size.
|
|
Use --size to adjust the size of the disks.
|
|
|
|
This flag is mutually exclusive with --source-snapshot and
|
|
--image-family.
|
|
|
|
--image-family=IMAGE_FAMILY
|
|
The image family for the operating system that the boot disk will be
|
|
initialized with. Compute Engine offers multiple Linux distributions,
|
|
some of which are available as both regular and Shielded VM images.
|
|
When a family is specified instead of an image, the latest
|
|
non-deprecated image associated with that family is used. It is best
|
|
practice to use --image-family when the latest version of an image is
|
|
needed.
|
|
|
|
--primary-disk=PRIMARY_DISK
|
|
Primary disk for asynchronous replication. This flag is required when
|
|
creating a secondary disk.
|
|
|
|
--source-disk=SOURCE_DISK
|
|
Source disk used to create the disk(s). It is safe to delete a source
|
|
disk after a disk has been created from the source disk. To get a
|
|
list of disks in your current project, run gcloud compute disks list.
|
|
This flag is mutually exclusive with --image and --source-snapshot.
|
|
|
|
When using this option, the size of the disks must be at least as
|
|
large as the source disk size. Use --size to adjust the size of the
|
|
disks.
|
|
|
|
The source disk must be in the same zone/region as the disk to be
|
|
created.
|
|
|
|
--source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT
|
|
Source instant snapshot used to create the disks.
|
|
|
|
--source-snapshot=SOURCE_SNAPSHOT
|
|
Source snapshot used to create the disks. It is safe to delete a
|
|
snapshot after a disk has been created from the snapshot. In such
|
|
cases, the disks will no longer reference the deleted snapshot. To
|
|
get a list of snapshots in your current project, run gcloud compute
|
|
snapshots list. A snapshot from an existing disk can be created using
|
|
the gcloud compute disks snapshot command. This flag is mutually
|
|
exclusive with --image.
|
|
|
|
When using this option, the size of the disks must be at least as
|
|
large as the snapshot size. Use --size to adjust the size of the
|
|
disks.
|
|
|
|
Key resource - The Cloud KMS (Key Management Service) cryptokey that will
|
|
be used to protect the disk. The arguments in this group can be used to
|
|
specify the attributes of this resource.
|
|
|
|
--kms-key=KMS_KEY
|
|
ID of the key or fully qualified identifier for the key.
|
|
|
|
To set the kms-key attribute:
|
|
▸ provide the argument --kms-key on the command line.
|
|
|
|
This flag argument must be specified if any of the other arguments in
|
|
this group are specified.
|
|
|
|
--kms-keyring=KMS_KEYRING
|
|
The KMS keyring of the key.
|
|
|
|
To set the kms-keyring attribute:
|
|
▸ provide the argument --kms-key on the command line with a fully
|
|
specified name;
|
|
▸ provide the argument --kms-keyring on the command line.
|
|
|
|
--kms-location=KMS_LOCATION
|
|
The Cloud location for the key.
|
|
|
|
To set the kms-location attribute:
|
|
▸ provide the argument --kms-key on the command line with a fully
|
|
specified name;
|
|
▸ provide the argument --kms-location on the command line;
|
|
▸ provide the argument --region on the command line.
|
|
|
|
--kms-project=KMS_PROJECT
|
|
The Cloud project for the key.
|
|
|
|
To set the kms-project attribute:
|
|
▸ provide the argument --kms-key on the command line with a fully
|
|
specified name;
|
|
▸ provide the argument --kms-project on the command line;
|
|
▸ set the property core/project.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--primary-disk-region=PRIMARY_DISK_REGION
|
|
Region of the primary disk for asynchronous replication. The primary
|
|
and secondary disks must not be in the same region. Overrides the
|
|
default compute/region property value for this command invocation.
|
|
|
|
--primary-disk-zone=PRIMARY_DISK_ZONE
|
|
Zone of the primary disk for asynchronous replication. The primary
|
|
and secondary disks must not be in the same region. Overrides the
|
|
default compute/zone property value for this command invocation.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--region=REGION
|
|
Region of the disks to create. If not specified, you might be
|
|
prompted to select a region (interactive mode only).
|
|
|
|
To avoid prompting when this flag is omitted, you can set the
|
|
compute/region property:
|
|
|
|
$ gcloud config set compute/region REGION
|
|
|
|
A list of regions can be fetched by running:
|
|
|
|
$ gcloud compute regions list
|
|
|
|
To unset the property, run:
|
|
|
|
$ gcloud config unset compute/region
|
|
|
|
Alternatively, the region can be stored in the environment variable
|
|
CLOUDSDK_COMPUTE_REGION.
|
|
|
|
--zone=ZONE
|
|
Zone of the disks to create. If not specified and the compute/zone
|
|
property isn't set, you might be prompted to select a zone
|
|
(interactive mode only).
|
|
|
|
To avoid prompting when this flag is omitted, you can set the
|
|
compute/zone property:
|
|
|
|
$ gcloud config set compute/zone ZONE
|
|
|
|
A list of zones can be fetched by running:
|
|
|
|
$ gcloud compute zones list
|
|
|
|
To unset the property, run:
|
|
|
|
$ gcloud config unset compute/zone
|
|
|
|
Alternatively, the zone can be stored in the environment variable
|
|
CLOUDSDK_COMPUTE_ZONE.
|
|
|
|
At most one of these can be specified:
|
|
|
|
--source-disk-region=SOURCE_DISK_REGION
|
|
Region of the source disk. This argument is not required if the
|
|
target disk is in the same region as the source disk. Overrides the
|
|
default compute/region property value for this command invocation.
|
|
|
|
--source-disk-zone=SOURCE_DISK_ZONE
|
|
Zone of the source disk. This argument is not required if the target
|
|
disk is in the same zone as the source disk. Overrides the default
|
|
compute/zone property value for this command invocation.
|
|
|
|
GCLOUD WIDE FLAGS
|
|
These flags are available to all commands: --access-token-file, --account,
|
|
--billing-project, --configuration, --flags-file, --flatten, --format,
|
|
--help, --impersonate-service-account, --log-http, --project, --quiet,
|
|
--trace-token, --user-output-enabled, --verbosity.
|
|
|
|
Run $ gcloud help for details.
|
|
|
|
NOTES
|
|
This command is currently in alpha and might change without notice. If this
|
|
command fails with API permission errors despite specifying the correct
|
|
project, you might be trying to access an API with an invitation-only early
|
|
access allowlist. These variants are also available:
|
|
|
|
$ gcloud compute disks create
|
|
|
|
$ gcloud beta compute disks create
|
|
|