View disk details

After you create a Persistent Disk or Hyperdisk in Compute Engine,you can review information about the disk's configuration. You can use thisinformation to monitor disk performance, enhance data security,and optimize your storage and costs. Thisdocument explains how to view the following essential disk details:

  • A list of all disks available in a project, including disks that aren'tattached to an instance
  • Attached instances
  • Whether a disk will be automatically deleted with its instance
  • Access mode
  • Throughput and input/output operations per second (IOPS) performance metrics
  • Encryption information

Before you begin

View all disks in a project

For a comprehensive view of your storage resources, you can list all of thedisks within a project, including disks that aren't attached to an instance.

Console

In the Google Cloud console, go to theDisks page.

Go to Disks

TheDisks page lists all of the disks in your project.

gcloud

Run thedisks list command.

gcloud compute disks list

Command output

A list of all Persistent Disk and Hyperdisk volumes in your project.

To view disks in a specific region or zone, use the--zone or--regionflag to specify the location.

REST

Make aPOST request to thecompute.disks.aggregatedList method.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/disks/

Replace the following:

  • PROJECT_ID: your project ID.

Request response

A list of all Persistent Disk and Hyperdisk volumes in your project.

View the instances that a disk is attached to

Understand how your disk is being used, and prevent incurring costs from unuseddisks, by identifying which instances are attached to it.

Console

  1. In the Google Cloud console, go to theDisks page.

    Go to Disks

  2. In theName column, click the name of the disk.

  3. In theProperties table, the row labeledIn use by lists allinstances that are attached to the disk.

gcloud

Run thegcloud compute disks describe command.

    gcloud compute disks describeDISK_NAME
--zone=ZONE --format="json(users)"

Replace the following:

  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk.

Command output

If the output isnull, the disk isn't attached to any instances.Otherwise, the output is a JSON object that contains a field namedusers.Theusers field lists the URLs of all instances that use the disk.

REST

Make aPOST request to thecompute.disks.get method.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

Replace the following:

  • PROJECT_ID: your project ID.
  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk.

Request response

The REST response is a JSON object that contains a field namedusers.

If the value for theusers field isnull, the disk isn't attached to anyinstances. Otherwise, the users object lists the URLs of all instances thatuse the disk.

View if a disk has autodelete enabled

To prevent accidental data loss, check if your boot or non-boot disk will bedeleted when you delete the attached instance.

By default, boot disks haveautoDelete enabled, meaning that deleting aninstance also deletes its attached boot disk. However, you canoverride this setting if you want to preserve the attached boot disk. Non-bootdisks will also be deleted if they haveautoDelete enabled.

Console

  1. In the Google Cloud console, go to theVM instances page.

    Go to VM instances

  2. In theName column, click the name of the instance.

  3. In theStorage section, navigate to theWhen deleting instancecolumn.When deleting instance can be one of the following values:

    • Delete disk: the disk will be deleted with the instance.
    • Keep disk: the disk won't be deleted with the instance.

gcloud

Run thegcloud compute disks describe command.

    gcloud compute disks describeDISK_NAME
--zone=ZONE

Replace the following:

  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk.

Command output

A JSON object that contains a field namedautoDelete.autoDelete describes if the disk will be deleted with itsattached instance, and can be one of the following values:

  • true: the disk will be deleted with the instance.
  • false: the disk won't be deleted with the instance.

REST

Make aPOST request to thecompute.disks.get method.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

Replace the following:

  • PROJECT_ID: your project ID.
  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk.

Request response

A JSON object that contains a field namedautoDelete.autodelete describes if the disk will be deleted with its attachedinstance, and can be one of the following values:

  • true: the disk will be deleted with the instance.
  • false: the disk won't be deleted with the instance.

View how much space is left on a disk

To view how much space is left on a disk without connecting to the attachedinstance, you need to install theOps Agent on your instances.Ops Agent provides additional metrics forbytes_used(disk bytes used) andpercent_used(disk utilization).

To learn more about monitoring disk space, seeOps Agent metrics.

View a Hyperdisk's access mode

Access mode determines if a Hyperdisk volume can be attachedto multiple instances and if the attached instances have read-only orread-write access to the disk.

Console

  1. In the Google Cloud console, go to theDisks page.

    Go to Disks

  2. In theName column, click the name of the disk.

  3. In theProperties table, the row labeledAccess mode describeshow instances can access the data on the disk, and can be one of thefollowing values:

    • Single VM read-write (default), for read-write access from one instance.
    • Multiple VMs read-write, for read-write access from multiple instances.
    • Multiple VMs read-only, for read-only access from multiple instances.

gcloud

Run thegcloud compute disks describe command.

    gcloud compute disks describeDISK_NAME
--zone=ZONE
--format="json(accessMode)"

Replace the following:

  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk.

Command output

A JSON object that contains a field namedaccessMode.accessMode describes how instances can access the data on the disk, andcan be one of the following values:

  • READ_ONLY_MANY, for read-only access from multiple instances.
  • READ_WRITE_MANY, for read-write access from multiple instances.
  • READ_WRITE_SINGLE, for read-write access from one instance.

REST

Make aPOST request to thecompute.disks.get method.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

Replace the following:

  • PROJECT_ID: your project ID.
  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk

Request response

The REST response is a JSON object that contains a field namedaccessMode.accessMode describes how instances can access the data on the disk, andcan be one of the following values:

  • READ_ONLY_MANY, for read-only access from multiple instances.
  • READ_WRITE_MANY, for read-write access from multiple instances.
  • READ_WRITE_SINGLE, for read-write access from one instance.

Determine if a disk is performing as expected

Disks have limits for the maximum IOPS and throughput that they can perform at.These limits depend on the disk size and connected instance. A disk's maximumperformance can't exceed thelimits of the instancethat it's attached to.

To determine if a Hyperdisk or Persistent Disk volume is performing at theexpected level based on its size andattached instance, complete the following steps:

  1. Check the disk's provisioned or maximum performance.
  2. Compare the provisioned or maximum performance with the disk's actualperformance.

The steps to check for a disk's provisioned or maximum performance depend on ifthe disk is a Hyperdisk or Persistent Disk.

View a Hyperdisk's provisioned performance

To view the provisioned IOPS and throughput values for a Hyperdiskvolume, seeView the provisioned performance settings for Hyperdisk.

View a Persistent Disk's maximum performance

Persistent Disk volumes have throughput and IOPS limits per GiB and per instancethat they can sustain. The following sections provide detailed information onthe performance limits for zonal and regional Persistent Disk:

Balanced Persistent Disk and SSD (performance) Persistent Disk also offerbaseline performancefor sustained IOPS and throughput. To calculate the maximum IOPS and throughputvalues for a BalancedPersistent Disk or SSD Persistent Disk volume, use the following equation:

Maximum expected performance = Baseline performance + (Per GiB performance limit * Combined disk size in GiB)

For more information, seeBaseline performance.

View a disk's actual performance

To view a disk's IOPS and throughput performance, use the Google Cloud console.

Console

  1. In the Google Cloud console, go to theVM instances page.

    Go to VM instances

  2. In theName column, click the name of the VM that the disk isattached to.

  3. ClickObservability.

  4. In the menu, selectDisk >Performance

    Graphs appear that illustrate the disk's IOPS and Throughput performance.To view all graphs, you must installOps Agent.

To view a more detailed report on a disk's performance, seeReview disk performance metrics.

If the disk isn't performing as expected, review the guidance inMonitor a disk's health.

View information about a disk's encryption

Disks in Compute Engine are encrypted with one of the following types ofencryption keys:

  • Google-owned and managed keys
  • Customer-managed encryption keys (CMEKs)
  • Customer-supplied encryption keys (CSEKs)

By default, Compute Engine uses Google-owned and managed keys.

Console

  1. In the Google Cloud console, go to theDisks page.

    Go to Disks

  2. In theName column, click the name of the disk.

  3. In theProperties table, the row labeledEncryption indicates the typeof encryption:Google managed,Customer-managed, orCustomer-supplied.

gcloud

Run thegcloud compute disks describe command.

    gcloud compute disks describeDISK_NAME
--zone=ZONE
--format="json(diskEncryptionKey)"

Replace the following:

  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk.

Command output

If the output isnull, the disk uses a Google-owned and managed key.

Otherwise, the output is a JSON object.

If the JSON object contains a field nameddiskEncryptionKey, the disk is encrypted.ThediskEncryptionKey object contains information about whether the disk is CMEK- or CSEK-encrypted:

  • If thediskEncryptionKey.kmsKeyName property is present, the disk is CMEK-encrypted. ThekmsKeyName property indicates the name of the specific key used to encrypt the disk:
    {  "diskEncryptionKey": {    "kmsKeyName": "projects/my-proj/.."  }}
  • If thediskEncryptionKey.sha256 property is present, the disk is CSEK-encrypted. Thesha256 property is the SHA-256 hash of the customer-supplied encryption key that protects the disk.
      {    "diskEncryptionKey": {      "sha256": "abcdefghijk134560459345dssfd"    }  }

REST

Make aPOST request to thecompute.disks.get method.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

Replace the following:

  • PROJECT_ID: your project ID.
  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk

Request response

If the response isnull, the disk uses a Google-owned and managed key.

Otherwise, the response is a JSON object.

If the JSON object contains a field nameddiskEncryptionKey, the disk is encrypted.ThediskEncryptionKey object contains information about whether the disk is CMEK- or CSEK-encrypted:

  • If thediskEncryptionKey.kmsKeyName property is present, the disk is CMEK-encrypted. ThekmsKeyName property indicates the name of the specific key used to encrypt the disk:
    {  "diskEncryptionKey": {    "kmsKeyName": "projects/my-proj/.."  }}
  • If thediskEncryptionKey.sha256 property is present, the disk is CSEK-encrypted. Thesha256 property is the SHA-256 hash of the customer-supplied encryption key that protects the disk.
      {    "diskEncryptionKey": {      "sha256": "abcdefghijk134560459345dssfd"    }  }

If the disk uses CMEKs, you can find detailed information about thekey, its key ring, and location by following the steps inView keys by project.

If the disk uses CSEKs, contact your organization's administratorfor details about the key. By using a CMEK, you can also see what resourcesthat key protects with key usage tracking. For more information, seeView key usage.

View all of a disk's details

For general information about your disk, you can view all of a disk's propertiesat once.

Console

  1. In the Google Cloud console, go to theDisks page.

    Go to Disks

  2. In theName column, click the name of the disk.

    TheProperties table appears with a summary of basic diskinformation.

  3. To view additional disk information, clickEQUIVALENT REST.

    A dialog window appears with the original REST response from theCompute Engine API.

gcloud

Run thegcloud compute disks describe command.

  gcloud compute disks describeDISK_NAME \    --zone=ZONE

Replace the following:

  • DISK_NAME: the name of the disk.
  • ZONE: the zone where your disk is located.

Command output

All data associated with the Compute Engine disk.

REST

Make aPOST request to thecompute.disks.get method.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

Replace the following:

  • PROJECT_ID: your project ID.
  • ZONE: the zone where your disk is located.
  • DISK_NAME: the name of the disk

Request response

The REST response contains all data associated with the Compute Enginedisk.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-15 UTC.