您可以通过完成以下任务,将 Hyperdisk Extreme 或 Hyperdisk Throughput 卷与虚拟机搭配使用:
- 创建空白的非启动、可用区 Hyperdisk 卷,并将其作为虚拟机的一部分,或者作为单独的任务挂接到虚拟机。
- 格式化卷并进行装载,以提供对数据或文件系统的访问权限。
该过程对于 Hyperdisk Balanced 卷是相同的,但您还可以创建 Hyperdisk Balanced 类型的启动磁盘。
如需了解 Hyperdisk 的一般信息,请参阅关于 Hyperdisk。
准备工作
- 在将 Hyperdisk 卷添加到虚拟机之前,请查看 Hyperdisk 限制。
-
请设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
如需连接到可以作为服务账号运行的虚拟机:
Service Account User (v1) (
roles/iam.serviceAccountUser
) -
为了创建并挂接 Hyperdisk 卷:
- 针对项目的
compute.disks.create
权限 -
针对虚拟机的
compute.instances.attachDisk
权限 -
针对您要挂接到虚拟机的卷的
compute.disks.use
- 针对项目的
-
为了格式化和装载挂接的卷:针对虚拟机的
compute.instances.setMetadata
转到虚拟机实例页面。
点击要在其中添加磁盘的虚拟机的名称。
在虚拟机实例详情页面上,点击修改。
在额外磁盘标题下,点击添加新磁盘。
为磁盘指定一个名称,并视需要添加说明。选择空白磁盘作为磁盘来源类型。
在磁盘设置下,从以下列表中选择磁盘类型。您指定的值必须在支持的值范围内。
- Hyperdisk Balanced。您还可以更改默认磁盘的大小、预配 IOPS 和预配吞吐量设置。
- Hyperdisk Extreme。您还可以更改默认磁盘的大小和预配 IOPS 设置。
- Hyperdisk ML。您还可以更改默认磁盘的大小和预配吞吐量设置。
- Hyperdisk Throughput。您还可以更改默认磁盘大小和预配吞吐量设置。
可选。对于 Hyperdisk Balanced,您可以通过创建多写入者模式下的磁盘来允许将磁盘挂接到多个虚拟机。在访问模式下,选择从多个虚拟机进行读写。
点击保存。
如需将更改应用于虚拟机,请点击保存。
使用
gcloud compute disks create
命令创建 Hyperdisk 卷。gcloud compute disks create DISK_NAME \ --zone=ZONE \ --size=DISK_SIZE \ --type=DISK_TYPE \ --provisioned-iops=IOPS_LIMIT --provisioned-throughput=THROUGHPUT_LIMIT --access-mode=DISK_ACCESS_MODE
替换以下内容:
DISK_NAME
:新磁盘的名称。ZONE
:要在其中创建新磁盘的可用区的名称。DISK_SIZE
:可选:新磁盘的大小。该值必须是一个整数,后跟大小单位(GB 表示吉比字节,或 TB 表示太比字节)。如果未指定大小单位,则使用 100 GB 作为默认值。接受的磁盘大小值包括:- Hyperdisk Balanced:从 4 GiB 到 64 TiB(含边界值),以 1 GiB 为增量。
- Hyperdisk Extreme:从 64 GiB 到 64 TiB(含边界值),以 1 GiB 为增量。
- Hyperdisk ML:从 4 GiB 到 64 TiB(含边界值),以 1 GiB 为增量。
- Hyperdisk Throughput:从 2 TiB 到 32 TiB(含边界值),以 1 GiB 为增量。
DISK_TYPE
:磁盘类型。请使用以下值之一:hyperdisk-balanced
、hyperdisk-extreme
、hyperdisk-ml
或hyperdisk-throughput
IOPS_LIMIT
(可选):对于 Hyperdisk Balanced 磁盘或 Hyperdisk Extreme 磁盘,这是磁盘可处理的每秒 I/O 操作数 (IOPS)。THROUGHPUT_LIMIT
(可选):对于 Hyperdisk Balanced、Hyperdisk ML 或 Hyperdisk Throughput 卷,这是一个整数,表示磁盘可处理的吞吐量(以 MiB/秒为单位)。DISK_ACCESS_MODE
(可选):虚拟机如何访问磁盘上的数据。只有 Hyperdisk Balanced 和 Hyperdisk ML 支持此项。支持的值为:READ_WRITE_SINGLE
,表示从一个虚拟机进行读写访问。这是默认值。READ_WRITE_MANY
,表示从多个虚拟机进行读写访问。READ_ONLY_MANY
,用于从多个虚拟机进行只读访问。
可选:使用
gcloud compute disks describe DISK_NAME
命令查看磁盘的说明。创建磁盘后,您可以将磁盘挂接到虚拟机。
使用
disks.insert
方法构建POST
请求以创建可用区级 Hyperdisk。 请求应包含name
、sizeGb
、type
、provisionedIops
和provisionedThroughput
属性。 如需创建一个空白且未格式化的非启动磁盘,请不要为此磁盘指定来源映像或来源快照。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE", "provisionedIops": "IOPS_LIMIT", "provisionedThroughput": "THROUGHPUT_LIMIT", "accessMode": "DISK_ACCESS_MODE" }
替换以下内容:
PROJECT_ID
:您的项目 IDZONE
:您的虚拟机和新磁盘所在的可用区DISK_NAME
:新磁盘的名称DISK_SIZE
:可选:新磁盘的大小。 该值必须是一个整数,后跟大小单位(GB 表示吉比字节,或 TB 表示太比字节)。DISK_TYPE
:磁盘类型。如需创建 Hyperdisk 卷,请使用以下值之一:hyperdisk-balanced
、hyperdisk-extreme
、hyperdisk-ml
或hyperdisk-throughput
。IOPS_LIMIT
(可选):对于 Hyperdisk Balanced 和 Hyperdisk Extreme,这是磁盘可处理的每秒 I/O 操作数。THROUGHPUT_LIMIT
(可选):对于 Hyperdisk Balanced、Hyperdisk ML 或 Hyperdisk Throughput 卷,这是一个整数,表示磁盘可处理的吞吐量(以 MiB/秒为单位)。DISK_ACCESS_MODE
:虚拟机如何访问磁盘上的数据。只有 Hyperdisk Balanced 和 Hyperdisk ML 支持此项。支持的值为:READ_WRITE_SINGLE
,表示从一个虚拟机进行读写访问。这是默认值。READ_WRITE_MANY
,表示从多个虚拟机进行读写访问。READ_ONLY_MANY
,用于从多个虚拟机进行只读访问。
可选:使用
compute.disks.get
方法查看磁盘的说明。创建磁盘后,您可以将磁盘挂接到任何正在运行或已停止的虚拟机。
- Linux:请参阅在 Linux 虚拟机上格式化和装载非启动磁盘
- Windows:请参阅在 Windows 虚拟机上格式化和装载非启动磁盘
- 了解如何自定义 Hyperdisk 卷上的 IOPS 和吞吐量。
- 了解如何定期使用快照备份磁盘,防止意外丢失数据。
Go
如需在本地开发环境中使用本页面上的 Go 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
Java
如需在本地开发环境中使用本页面上的 Java 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
Node.js
如需在本地开发环境中使用本页面上的 Node.js 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色和权限
如需获得将 Hyperdisk 卷添加到虚拟机所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色可提供将 Hyperdisk 卷添加到虚拟机所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需将 Hyperdisk 磁盘卷添加到虚拟机,您需要具备以下权限:
Hyperdisk 卷支持的值
创建或修改 Hyperdisk 卷时使用的值必须在每个磁盘的 Hyperdisk 限制中所述的最大值和最小值范围内。
如果您要修改挂接到虚拟机的 Hyperdisk 卷的大小,则新值不能超过每个虚拟机的 Hyperdisk 限制。
Hyperdisk 卷的预配 IOPS 和吞吐量必须遵循关于 Hyperdisk 的 IOPS 和吞吐量预配中所述的规则。
将 Hyperdisk 卷添加到虚拟机
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST 创建并挂接 Hyperdisk 卷。
您在创建 Hyperdisk 卷时指定的大小、吞吐量和 IOPS 必须在支持的值范围内。
如果您要创建 Hyperdisk Balanced 卷,则可以视情况通过创建多写入者模式下的磁盘来允许多个虚拟机访问磁盘。
控制台
gcloud
REST
Go
Java
Node.js
创建磁盘后,您可以将磁盘挂接到任何正在运行或已停止的虚拟机。
格式化并装载磁盘
创建新磁盘并将其挂接到虚拟机后,必须格式化并装载磁盘,以便操作系统可以使用可用的存储空间。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-24。
-