您可以创建空白的永久性磁盘,也可以从数据源创建磁盘。您可以将永久性磁盘用作虚拟机实例的启动磁盘,也可以用作挂接到虚拟机的数据磁盘。
本文档介绍如何:
- 创建空白的非启动可用区永久性磁盘,并将其挂接到虚拟机。
如果您要创建稍后可用于创建虚拟机的启动磁盘,请参阅创建自定义启动磁盘。
如果要将 Google Cloud Hyperdisk 磁盘添加到虚拟机,请参阅将 Hyperdisk 存储添加到虚拟机。
如果您需要在虚拟机上格式化或装载永久性磁盘,请参阅:
如需大致了解 Persistent Disk 以及可用磁盘类型,请参阅 Persistent Disk 概览。
准备工作
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 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
-
Create local authentication credentials for your user account:
gcloud auth application-default login
- 在创建虚拟机期间,您最多可以挂接 127 个辅助非启动可用区级永久性磁盘。
- 每个虚拟机可以挂接的总容量为 257 TB。如需了解如何在使用大容量卷时确保最高性能,请参阅逻辑卷大小。
转到虚拟机实例页面。
点击要在其中添加磁盘的虚拟机的名称。
在详细信息页面上,点击修改。
在额外磁盘下,点击添加新磁盘。
指定磁盘名称,配置磁盘属性,然后选择空白作为来源类型。
可选:在设备名称标题下,选择使用自定义设备名称选项。您输入的名称用于为磁盘生成符号链接,以方便识别磁盘。
点击完成完成磁盘的配置。
点击保存以将更改应用于虚拟机并添加新磁盘。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
使用
gcloud compute disks create
命令创建可用区永久性磁盘。gcloud compute disks create DISK_NAME \ --size DISK_SIZE \ --type DISK_TYPE
请替换以下内容:
DISK_NAME
:新磁盘的名称。DISK_SIZE
:新磁盘的大小(以 GB 为单位)。可接受的大小范围介于 10 GB 到 65536 GB(含边界值)之间并以 1 GB 为增量。DISK_TYPE
:永久性磁盘类型的完整或部分网址。例如https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
。
创建磁盘后,将其挂接到任何正在运行或已停止的虚拟机。使用
gcloud compute instances attach-disk
命令:gcloud compute instances attach-disk VM_NAME \ --disk DISK_NAME --device-name=DEVICE_NAME
替换以下内容:
VM_NAME
:要添加新可用区级永久性磁盘的虚拟机的名称DISK_NAME
:要挂接到虚拟机的新磁盘的名称DEVICE_NAME
(可选):客户机操作系统用于识别磁盘的名称。
使用
gcloud compute disks describe
命令查看磁盘的说明。使用
disks.insert
方法构建POST
请求,以创建可用区级 Persistent Disk 永久性磁盘。请添加name
、sizeGb
、type
属性。如需创建一个空白且未格式化的非启动磁盘,请不要为此磁盘指定来源映像或来源快照。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "DISK_TYPE" }
替换以下内容:
PROJECT_ID
:您的项目 ID。ZONE
:您的虚拟机和新磁盘所在的可用区。DISK_NAME
:新磁盘的名称。DISK_SIZE
:新磁盘的大小(以 GB 为单位)。可接受的大小范围介于 10 GB 到 65536 GB(含边界值)之间并以 1 GB 为增量。DISK_TYPE
:永久性磁盘类型的完整或部分网址。例如https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
。
构建一个向
compute.instances.attachDisk
方法发出的 POST 请求,并在其中添加您刚创建的可用区级永久性磁盘的网址:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME", "deviceName": DEVICE_NAME }
替换以下内容:
PROJECT_ID
:您的项目 IDZONE
:您的虚拟机和新磁盘所在的可用区VM_NAME
:要添加新的永久性磁盘的虚拟机的名称DISK_NAME
:新磁盘的名称DEVICE_NAME
(可选):客户机操作系统用于识别磁盘的名称。
- 在 Linux 或 Windows 虚拟机上格式化并装载新磁盘。
- 了解如何调整永久性磁盘的大小。
- 了解如何定期使用快照备份磁盘,防止意外丢失数据。
- 使用区域永久性磁盘在两个可用区之间同步复制。
Terraform
如需在本地开发环境中使用本页面上的 Terraform 示例,请安装并初始化 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 时进行身份验证。
限制
将非启动磁盘添加到虚拟机
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 创建并挂接可用区级非启动磁盘。
如果您在 Google Cloud 控制台中创建磁盘,则默认磁盘类型为
pd-balanced
。如果您使用 gcloud CLI 或 REST 创建磁盘,则默认磁盘类型为pd-standard
。在将磁盘挂接到虚拟机时,您应指定自定义设备名称。您指定的名称将用于在客户机操作系统中为磁盘生成符号链接,以方便识别。
控制台
gcloud
Terraform
如需创建磁盘,请使用
google_compute_disk
资源。如需将磁盘挂接到虚拟机,请使用
google_compute_instance
资源。如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
REST
创建新磁盘并将其挂接到虚拟机后,必须格式化并装载磁盘,以便操作系统可以使用可用的存储空间。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-22。
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"翻译问题" },{ "type": "thumb-down", "id": "otherDown", "label":"其他" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"易于理解" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"解决了我的问题" },{ "type": "thumb-up", "id": "otherUp", "label":"其他" }] -