在 Compute Engine 中创建永久性磁盘或 Hyperdisk 后,您可以查看有关磁盘配置的信息。您可以使用此信息来监控磁盘性能、增强数据安全性,以及优化存储空间和费用。本文档介绍了如何查看以下基本磁盘详细信息:
- 项目中的所有可用磁盘的列表,包括未挂接到实例的磁盘
- 关联的实例
- 磁盘是否会随实例一起自动删除
- 访问模式
- 吞吐量和每秒输入/输出操作数 (IOPS) 性能指标
- 加密信息
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 Google Cloud 服务和 API。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
- Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
查看项目中的所有磁盘
如需全面了解存储资源,您可以列出项目中的所有磁盘,包括未挂接到实例的磁盘。
控制台
在 Google Cloud 控制台中,前往磁盘页面。
磁盘页面列出了项目中的所有磁盘。
gcloud
运行
disks list
命令。gcloud compute disks list
命令输出
项目中的所有 Persistent Disk 卷和 Hyperdisk 卷的列表。
如需查看特定区域或可用区中的磁盘,请使用
--zone
或--region
标志指定位置。REST
向
compute.disks.aggregatedList
方法发出POST
请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/disks/
替换以下内容:
PROJECT_ID
:您的项目 ID。
请求响应
项目中的所有 Persistent Disk 卷和 Hyperdisk 卷的列表。
查看磁盘所挂接到的实例
了解磁盘的使用情况,并通过确定哪些实例挂接到该磁盘来防止因未使用磁盘而产生费用。
控制台
在 Google Cloud 控制台中,前往磁盘页面。
在名称列中,点击磁盘的名称。
在属性表格中,标有使用方的行会列出所有已挂接到相应磁盘的实例。
gcloud
运行
gcloud compute disks describe
命令。gcloud compute disks describe DISK_NAME
--zone=ZONE --format="json(users)"替换以下内容:
ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称。
命令输出
如果输出为
null
,则表示相应磁盘未挂接到任何实例。 否则,输出为包含名为users
的字段的 JSON 对象。users
字段列出了使用相应磁盘的所有实例的网址。REST
向
compute.disks.get
方法发出POST
请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
替换以下内容:
PROJECT_ID
:您的项目 ID。ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称。
请求响应
REST 响应是一个 JSON 对象,其中包含名为
users
的字段。如果
users
字段的值为null
,则表示相应磁盘未挂接到任何实例。否则,users 对象会列出使用相应磁盘的所有实例的网址。查看磁盘是否已启用自动删除
为防止意外丢失数据,请检查在删除所挂接的实例时,系统是否会同时删除启动磁盘或非启动磁盘。
默认情况下,启动磁盘已启用
autoDelete
,这意味着删除实例也会删除其挂接的启动磁盘。不过,如果您想保留所挂接的启动磁盘,可以替换此设置。如果非启动磁盘已启用autoDelete
,也会被删除。控制台
在 Google Cloud 控制台中,前往虚拟机实例页面。
在名称列中,点击实例的名称。
在存储部分中,找到删除实例时列。删除实例时可以是下列值之一:
- 删除磁盘:磁盘将随实例一起删除。
- 保留磁盘:磁盘不会随实例一起删除。
gcloud
运行
gcloud compute disks describe
命令。gcloud compute disks describe DISK_NAME
--zone=ZONE替换以下内容:
ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称。
命令输出
包含名为
autoDelete
的字段的 JSON 对象。autoDelete
用于描述磁盘是否会随其所挂接的实例一起删除,可以是以下值之一:true
:磁盘将随实例一起删除。false
:磁盘不会随实例一起删除。
REST
向
compute.disks.get
方法发出POST
请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
替换以下内容:
PROJECT_ID
:您的项目 ID。ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称。
请求响应
包含名为
autoDelete
的字段的 JSON 对象。autodelete
用于描述磁盘是否会随其挂接的实例一起删除,可以是以下值之一:true
:磁盘将随实例一起删除。false
:磁盘不会随实例一起删除。
查看磁盘上还剩多少空间
如需在不连接到所挂接实例的情况下查看磁盘上剩余的空间,您需要在实例上安装 Ops Agent。Ops Agent 为
bytes_used
(已用磁盘字节数)和percent_used
(磁盘利用率)提供了其他指标。如需详细了解如何监控磁盘空间,请参阅 Ops Agent 指标。
查看 Hyperdisk 的访问模式
访问模式决定了 Hyperdisk 卷是否可以挂接到多个实例,以及挂接的实例是否对磁盘具有只读或读写访问权限。
控制台
在 Google Cloud 控制台中,前往磁盘页面。
在名称列中,点击磁盘的名称。
在属性表中,标记为访问模式的行描述了实例如何访问磁盘上的数据,并且可以是以下值之一:
- 以读写模式连接至单个虚拟机(默认),表示从一个实例进行读写访问。
- 以读写模式连接至多个虚拟机,表示从多个实例进行读写访问。
- 以只读模式连接至多个虚拟机,表示从多个实例进行只读访问。
gcloud
运行
gcloud compute disks describe
命令。gcloud compute disks describe DISK_NAME
--zone=ZONE
--format="json(accessMode)"替换以下内容:
ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称。
命令输出
包含名为
accessMode
的字段的 JSON 对象。accessMode
用于描述实例如何访问磁盘上的数据,可以是以下值之一:READ_ONLY_MANY
,表示从多个实例进行只读访问。READ_WRITE_MANY
,表示从多个实例进行读写访问。READ_WRITE_SINGLE
,表示从一个实例进行读写访问。
REST
向
compute.disks.get
方法发出POST
请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
替换以下内容:
PROJECT_ID
:您的项目 ID。ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称
请求响应
REST 响应是一个 JSON 对象,其中包含名为
accessMode
的字段。accessMode
用于描述实例如何访问磁盘上的数据,可以是以下值之一:READ_ONLY_MANY
,表示从多个实例进行只读访问。READ_WRITE_MANY
,表示从多个实例进行读写访问。READ_WRITE_SINGLE
,表示从一个实例进行读写访问。
确定磁盘是否按预期运行
磁盘可以达到的最大 IOPS 和吞吐量存在限制。这些限制取决于磁盘大小和所连接的实例。磁盘的最高性能不能超过所挂接实例的限制。
如需确定 Hyperdisk 或永久性磁盘卷是否根据其大小和所挂接的实例以预期水平运行,请完成以下步骤:
- 检查磁盘的预配性能或最高性能。
- 将预配的性能或最高性能与磁盘的实际性能进行比较。
检查磁盘的预配性能或最高性能的步骤取决于磁盘是 Hyperdisk 还是永久性磁盘。
查看 Hyperdisk 的预配性能
如需查看 Hyperdisk 卷的预配 IOPS 和吞吐量值,请参阅查看 Hyperdisk 的预配性能设置。
查看Persistent Disk的最大性能
永久性磁盘卷具有其可以维持的每 GiB 和每个实例的吞吐量和 IOPS 限制。以下各部分详细介绍了可用区级和区域级永久性磁盘的性能限制:
- 可用区级 Persistent Disk 的 IOPS 和吞吐量限制
- 区域级 Persistent Disk 的 IOPS 和吞吐量限制
平衡永久性磁盘和固态硬盘(性能)永久性磁盘还为持续 IOPS 和吞吐量提供了基准性能。如需计算平衡永久性磁盘或 SSD 永久性磁盘卷的最大 IOPS 和吞吐量值,请使用以下等式:
Maximum expected performance = Baseline performance + (Per GiB performance limit * Combined disk size in GiB)
如需了解详情,请参阅基准性能。
查看磁盘的实际性能
如需查看磁盘的 IOPS 和吞吐量性能,请使用 Google Cloud 控制台。
控制台
在 Google Cloud 控制台中,前往虚拟机实例页面。
在名称列中,点击磁盘所挂接到的虚拟机的名称。
点击可观测性。
在菜单中,依次选择磁盘 > 性能
系统会显示图表,其中展示了磁盘的 IOPS 和吞吐量性能。 如需查看所有图表,您必须安装 Ops Agent。
如需查看有关磁盘性能的更详细报告,请参阅查看磁盘性能指标。
如果磁盘性能不符合预期,请查看监控磁盘的健康状况中的指南。
查看有关磁盘加密的信息
Compute Engine 中的磁盘使用以下类型的加密密钥进行加密:
- Google-owned and managed keys
- 客户管理的加密密钥 (CMEK)
- 客户提供的加密密钥 (CSEK)
默认情况下,Compute Engine 使用 Google-owned and managed keys。
控制台
在 Google Cloud 控制台中,前往磁盘页面。
在名称列中,点击磁盘的名称。
在属性表中,标记为加密的行表示加密的类型:由 Google 管理、由客户管理或由客户提供。
gcloud
运行
gcloud compute disks describe
命令。gcloud compute disks describe DISK_NAME
--zone=ZONE
--format="json(diskEncryptionKey)"替换以下内容:
ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称。
命令输出
如果输出为
null
,则表示磁盘使用 Google-owned and managed key。否则,输出为 JSON 对象。
如果 JSON 对象包含名为
diskEncryptionKey
的字段,则磁盘会进行加密。diskEncryptionKey
对象包含有关磁盘是使用 CMEK 加密还是 CSEK 加密的信息:- 如果存在
diskEncryptionKey.kmsKeyName
属性,则表示磁盘采用 CMEK 加密。kmsKeyName
属性指示用于加密磁盘的特定密钥的名称:{ "diskEncryptionKey": { "kmsKeyName": "projects/my-proj/.." } }
- 如果存在
diskEncryptionKey.sha256
属性,则表示磁盘采用 CSEK 加密。sha256
属性是用于保护磁盘的客户提供的加密密钥的 SHA-256 哈希。{ "diskEncryptionKey": { "sha256": "abcdefghijk134560459345dssfd" } }
REST
向
compute.disks.get
方法发出POST
请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
替换以下内容:
PROJECT_ID
:您的项目 ID。ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称
请求响应
如果响应为
null
,则表示磁盘使用 Google-owned and managed key。否则,响应为 JSON 对象。
如果 JSON 对象包含名为
diskEncryptionKey
的字段,则磁盘会进行加密。diskEncryptionKey
对象包含有关磁盘是使用 CMEK 加密还是 CSEK 加密的信息:- 如果存在
diskEncryptionKey.kmsKeyName
属性,则表示磁盘采用 CMEK 加密。kmsKeyName
属性指示用于加密磁盘的特定密钥的名称:{ "diskEncryptionKey": { "kmsKeyName": "projects/my-proj/.." } }
- 如果存在
diskEncryptionKey.sha256
属性,则表示磁盘采用 CSEK 加密。sha256
属性是用于保护磁盘的客户提供的加密密钥的 SHA-256 哈希。{ "diskEncryptionKey": { "sha256": "abcdefghijk134560459345dssfd" } }
如果磁盘使用 CMEK,您可以按照按项目查看密钥中的步骤找到有关密钥、其密钥环和位置的详细信息。
如果磁盘使用 CSEK,请与组织管理员联系,以详细了解该密钥。您还可以使用 CMEK,通过密钥使用情况跟踪来查看密钥所保护的资源。如需了解详情,请参阅查看密钥使用情况。
查看磁盘的所有详细信息
如需大致了解磁盘,您可以一次性查看磁盘的所有属性。
控制台
在 Google Cloud 控制台中,前往磁盘页面。
在名称列中,点击磁盘的名称。
系统会显示属性表,其中包含基本磁盘信息的摘要。
如需查看其他磁盘信息,请点击 EQUIVALENT REST。
系统会显示一个对话框,其中包含来自 Compute Engine API 的原始 REST 响应。
gcloud
运行
gcloud compute disks describe
命令。gcloud compute disks describe DISK_NAME \ --zone=ZONE
替换以下内容:
DISK_NAME
:磁盘的名称。ZONE
:您的磁盘所在的区域。
命令输出
与 Compute Engine 磁盘关联的所有数据。
REST
向
compute.disks.get
方法发出POST
请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
替换以下内容:
PROJECT_ID
:您的项目 ID。ZONE
:您的磁盘所在的区域。DISK_NAME
:磁盘的名称
请求响应
REST 响应包含与 Compute Engine 磁盘关联的所有数据。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-09-22。
-