创建新的 Persistent Disk 卷


您可以创建空白的 Persistent Disk 卷,也可以从数据源创建磁盘。您可以将 Persistent Disk 用作虚拟机 (VM) 实例的启动磁盘,也可以用作挂接到虚拟机的数据磁盘。

本文档介绍了如何创建空白的非启动可用区级 Persistent Disk 卷,并将其挂接到虚拟机。

如需了解如何创建和添加其他类型的磁盘,请参阅以下内容:

准备工作

  • 如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:

    限制

    • 在创建虚拟机期间,您最多可以挂接 127 个辅助非启动可用区级永久性磁盘卷。
    • 每个虚拟机可以挂接的总容量为 257 TB。如需了解如何在使用大容量卷时确保最高性能,请参阅逻辑卷大小

    将非启动磁盘添加到虚拟机

    使用 Google Cloud consoleGoogle Cloud CLIREST 创建并挂接非启动型可用区级磁盘。

    Persistent Disk 类型变量

    下表列出了每种 Persistent Disk 类型的参考值。使用 Google Cloud CLI、REST 或 Cloud Client Libraries for Compute Engine 创建 Persistent Disk 卷时,请通过提供表格中的相应值来指明要创建的 Persistent Disk 类型。

    如果您在 Google Cloud 控制台中创建磁盘,则默认磁盘类型pd-balanced。如果您使用 gcloud CLI 或 REST 创建磁盘,则默认磁盘类型为 pd-standard

    磁盘类型 参考名称
    平衡永久性磁盘 pd-balanced
    高性能 (SSD) 永久性磁盘 pd-ssd
    标准永久性磁盘 pd-standard
    极端永久性磁盘 pd-extreme

    在将磁盘挂接到虚拟机时,您应指定自定义设备名称。您指定的名称将用于在客户机操作系统中为磁盘生成符号链接,以方便识别。

    控制台

    1. 转到虚拟机实例页面。

      转到“虚拟机实例”页面

    2. 点击要在其中添加磁盘的虚拟机的名称。

    3. 在详细信息页面上,点击修改

    4. 额外磁盘下,点击添加新磁盘

    5. 指定磁盘名称,配置磁盘属性,然后选择空白作为来源类型

    6. 可选:在设备名称标题下,选择使用自定义设备名称选项。您输入的名称用于为磁盘生成符号链接,以方便识别磁盘。

    7. 点击完成完成磁盘的配置。

    8. 点击保存以将更改应用于虚拟机并添加新磁盘。

    gcloud

    1. In the Google Cloud console, activate Cloud Shell.

      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.

    2. 使用 gcloud compute disks create 命令创建可用区级 Persistent Disk 卷。

      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:Persistent Disk 卷类型的完整或部分网址。例如 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
    3. 创建磁盘后,将其挂接到任何正在运行或已停止的虚拟机。使用 gcloud compute instances attach-disk 命令

      gcloud compute instances attach-disk VM_NAME \
        --disk DISK_NAME --device-name=DEVICE_NAME
      

      替换以下内容:

      • VM_NAME:要在其中添加新的可用区级 Persistent Disk 卷的虚拟机的名称
      • DISK_NAME:要挂接到虚拟机的新磁盘的名称
      • DEVICE_NAME(可选):客户机操作系统用于识别磁盘的名称。
    4. 使用 gcloud compute disks describe 命令查看磁盘的说明。

    Terraform

    如需创建磁盘,请使用 google_compute_disk 资源

    # Using pd-standard because it's the default for Compute Engine
    
    resource "google_compute_disk" "default" {
      name = "disk-data"
      type = "pd-standard"
      zone = "us-west1-a"
      size = "5"
    }

    如需将磁盘挂接到虚拟机,请使用 google_compute_instance 资源

    resource "google_compute_instance" "test_node" {
      name         = "test-node"
      machine_type = "f1-micro"
      zone         = "us-west1-a"
    
      boot_disk {
        initialize_params {
          image = "debian-cloud/debian-11"
        }
      }
      attached_disk {
        source      = google_compute_disk.default.id
        device_name = google_compute_disk.default.name
      }
    
      network_interface {
        network = "default"
        access_config {
          # Ephemeral IP
        }
      }
    
      # Ignore changes for persistent disk attachments
      lifecycle {
        ignore_changes = [attached_disk]
      }
    
    
    }

    如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

    REST

    1. 使用 disks.insert 方法构建 POST 请求,以创建可用区级 Persistent Disk 永久性磁盘。请添加 namesizeGbtype 属性。如需创建一个空白且未格式化的非启动磁盘,请不要为此磁盘指定来源映像或来源快照。

      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:Persistent Disk 类型的完整或部分网址。例如 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
    2. 构建一个向 compute.instances.attachDisk 方法发出的 POST 请求,并添加您刚刚创建的可用区级 Persistent Disk 卷的网址:

      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:您的项目 ID
      • ZONE:您的虚拟机和新磁盘所在的可用区
      • VM_NAME:要在其中添加新的 Persistent Disk 卷的虚拟机的名称
      • DISK_NAME:新磁盘的名称
      • DEVICE_NAME(可选):客户机操作系统用于识别磁盘的名称。

    创建新磁盘并将其挂接到虚拟机后,必须格式化并装载磁盘,以便操作系统可以使用可用的存储空间。

    后续步骤