添加地区永久性磁盘或调整其大小

本页面介绍如何调整地区永久性启动磁盘和辅助(非启动)地区永久性磁盘的大小。本页面还介绍如何在实例上添加和格式化新的地区永久性磁盘。地区永久性磁盘只能调大,不能调小。

最佳做法是使用快照备份磁盘,防止意外丢失数据。

地区永久性磁盘可以标准硬盘 (HDD)固态硬盘 (SSD) 的形式提供。如需更加概括地了解地区永久性磁盘以及可用的永久性磁盘类型,请参阅永久性磁盘概览。

Compute Engine 会管理地区永久性磁盘背后的硬件,因此您可以添加磁盘以及调整其大小,而无需处理分割或冗余。您可挂接一个大型辅助磁盘并在需要更多空间时调整其大小,或者挂接多个较小的磁盘以将数据分布到多个卷中。

除非您通过映像创建磁盘,否则新的地区永久性磁盘最初没有任何数据或文件系统。将这些磁盘挂接到实例后,必须自行格式化磁盘。

如果地区标准永久性磁盘或地区 SSD 永久性磁盘无法满足您的所有性能或灵活性要求,则可以为实例添加其他存储选项

您创建的每个永久性磁盘的默认物理块大小为 4 KB。如果您的数据库应用要求增加物理块大小,您可以在创建磁盘时选择 16 KB。启动磁盘不支持此功能。如果您想要更改现有磁盘的物理块大小,则必须先截取磁盘的快照,然后创建新磁盘。您无法直接修改永久性磁盘的物理块大小。

准备工作

将地区永久性磁盘添加到您的实例

您可以创建地区标准永久性磁盘或地区 SSD 永久性磁盘并将其挂接到现有实例。如果您没有任何实例,则必须先创建并启动新实例。创建实例期间,您最多可以挂接 15 个辅助非启动地区永久性磁盘,以将应用、数据文件、数据库、日志存储在不同的卷上。

您可以通过 Google Cloud Platform Consolegcloud 工具API 创建并挂接地区永久性磁盘。

Console

您可以在 Google Cloud Platform Console 中创建并挂接地区永久性磁盘:

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

    转到“虚拟机实例”页面

  2. 点击要在其中添加磁盘的实例的名称。
  3. 在实例详情页面顶部,点击修改
  4. 额外磁盘下,点击添加项目
  5. 名称下拉菜单中,点击创建磁盘
  6. 指定磁盘的名称,配置磁盘的属性并指定磁盘的来源类型

  7. (可选)您可以选择物理块大小 (KB)。磁盘的默认物理块大小为 4 KB。但是,您可以从下拉菜单中选择 16 KB 以增加磁盘的物理块大小。

  8. 点击创建以创建磁盘。

  9. 在实例详情页面底部,点击保存以将更改应用到实例并挂接新磁盘。

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

gcloud

您可以使用 gcloud 工具创建并挂接地区永久性磁盘:

  1. 使用 gcloud beta compute disks create 命令创建新的地区永久性磁盘。如果您需要地区 SSD 永久性磁盘以实现更高的吞吐量或 IOPS,请添加 --type 标志并指定 pd-ssd。(可选)添加 --physical-block-size 标志以设置物理块大小。

    gcloud beta compute disks create [DISK_NAME] /
        --size [DISK_SIZE] /
        --type [DISK_TYPE] /
        --physical-block-size [BLOCK_SIZE]
    

    其中:

    • [DISK_NAME] 是新磁盘的名称。
    • [DISK_SIZE] 是以 GB 为单位的新磁盘大小。
    • [DISK_TYPE] 是永久性磁盘的类型,即 pd-standardpd-ssd
    • [BLOCK_SIZE] 可以是 4096 (4 KB) 或 16384 (16 KB)。4 KB 是默认物理块大小。16 KB 是增加后的物理块大小。

  2. 创建磁盘后,将其挂接到任何正在运行或已停止的实例。为此,请使用 gcloud compute instances attach-disk 命令:

    gcloud compute instances attach-disk [INSTANCE_NAME] /
        --disk [DISK_NAME]
    

    其中:

    • [INSTANCE_NAME] 是您要为其添加新地区永久性磁盘的实例的名称。
    • [DISK_NAME] 是您要挂接到实例的新磁盘的名称。

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

  3. 使用 gcloud beta compute disks describe 命令查看磁盘的说明。响应将包含磁盘的物理块大小。

API

  1. 在 API 中,构建 POST 请求以使用 disks.insert 方法创建地区永久性磁盘。添加 namesizeGbtype 属性。因为这是一个空白数据磁盘,所以必须添加 sourceImage 属性。(可选)添加 physicalBlockSizeBytes 属性以设置物理块大小。

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/disks
    
    {
     "name": "[DISK_NAME]",
     "sizeGb": "[DISK_SIZE]",
     "type": "zones/[ZONE]/diskTypes/[DISK_TYPE]"
     "physicalBlockSizeBytes": "[BLOCK_SIZE]"
    }
    

    其中:

    • [PROJECT_ID] 是您的项目 ID。
    • [ZONE] 是您的实例和新磁盘所在的地区。
    • [DISK_NAME] 是新磁盘的名称。
    • [DISK_SIZE] 是以 GB 为单位的新磁盘大小。
    • [DISK_TYPE] 是永久性磁盘的类型,即 pd-standardpd-ssd
    • [BLOCK_SIZE] 可以是 4096 (4 KB) 或 16384 (16 KB)。4 KB 是默认物理块大小。16 KB 是增加的物理块大小。

  2. 构建一个向 compute.instances.attachDisk 方法发出的 POST 请求,并在其中添加您刚创建的地区永久性磁盘的网址:

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk
    
    {
     "source": "/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]"
    }
    

    其中:

    • [PROJECT_ID] 是您的项目 ID。
    • [ZONE] 是您的实例和新磁盘所在的地区。
    • [INSTANCE_NAME] 是您要在其中添加新永久性磁盘的实例的名称。
    • [DISK_NAME] 是新磁盘的名称。

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

格式化并装载地区永久性磁盘

新的地区永久性磁盘最初不含数据或文件系统。将这些磁盘挂接到实例后,必须自行格式化磁盘。Linux 实例和 Windows 实例上的格式化过程有所不同。

Linux 实例


在 Linux 实例上格式化并装载新磁盘。您可以使用您需要的任何分区格式和配置,但创建无分区表的单个 ext4 文件系统最为简单。这样,以后需要更多存储空间时,只需调整磁盘大小即可。

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

    转到“虚拟机实例”页面

  2. 点击挂接了新磁盘的实例旁的 SSH 按钮。浏览器会建立连到实例的终端连接。

  3. 在终端中,使用 lsblk 命令列出挂接到实例的磁盘,并找到要格式化并装载的磁盘。

    $ sudo lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   10G  0 disk
    └─sda1   8:1    0   10G  0 part /
    sdb      8:16   0  250G  0 disk
    

    在本示例中,sdb 是新的地区永久性磁盘的设备 ID。

  4. 格式化磁盘。可以使用您需要的任何文件格式,但最简单的做法是格式化整个磁盘,创建单个 ext4 文件系统但不创建分区表。如果您以后要调整地区永久性磁盘的大小,则可以调整文件系统大小,无需修改磁盘分区。

    使用 mkfs 工具格式化磁盘。此命令会删除指定磁盘中的所有数据,因此请确保正确指定磁盘设备。如需最大限度地提高磁盘性能,请在 -E 标志中使用建议的格式化选项。无需在此辅助磁盘上为 root 保留空间,因此请指定 -m 0 以使用所有可用的磁盘空间。

    $ sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/[DEVICE_ID]
    

    其中,[DEVICE_ID] 是您要格式化的地区永久性磁盘的设备 ID。对于本示例,请指定 sdb 以格式化整个磁盘而不创建分区表。

  5. 创建用作新磁盘装载点的目录。您可以使用您喜欢的任何目录,但本示例会在 /mnt/disks/ 下创建一个新目录。

    $ sudo mkdir -p /mnt/disks/[MNT_DIR]
    

    其中:[MNT_DIR] 是您将在其中装载地区永久性磁盘的目录。

  6. 使用 mount 工具在启用 discard 选项的情况下将磁盘装载到实例:

    $ sudo mount -o discard,defaults /dev/[DEVICE_ID] /mnt/disks/[MNT_DIR]
    

    其中:

    • [DEVICE_ID] 是您要装载的地区永久性磁盘的设备 ID。
    • [MNT_DIR] 是您将在其中装载地区永久性磁盘的目录。
  7. 配置对设备的读写权限。对于本示例,为所有用户授予对设备的写入访问权限。

    $ sudo chmod a+w /mnt/disks/[MNT_DIR]
    

    其中:[MNT_DIR] 是您在其中装载了地区永久性磁盘的目录。

(可选)您可以将地区永久性磁盘添加到 /etc/fstab 文件中,以使该设备在实例重启时自动重新装载。

  1. 创建当前 /etc/fstab 文件的备份。

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. 使用 blkid 命令查找地区永久性磁盘的 UUID。在您格式化磁盘时,系统会生成此 UUID。请使用 UUID 装载地区永久性磁盘,因为在系统之间移动磁盘时,UUID 不会更改。

    $ sudo blkid /dev/[DEVICE_ID]
    
    /dev/[DEVICE_ID]: UUID="[UUID_VALUE]" TYPE="ext4"
    

    其中:

    • [DEVICE_ID] 是您要自动装载的地区永久性磁盘的设备 ID。如果您在磁盘上创建了分区表,请指定您要装载的分区。
    • [UUID_VALUE] 是您必须添加到 /etc/fstab 文件中的地区永久性磁盘 UUID。
  3. 在文本编辑器中打开 /etc/fstab 文件,并创建一个包含 UUID 的条目。例如:

    UUID=[UUID_VALUE] /mnt/disks/[MNT_DIR] ext4 discard,defaults,[NOFAIL_OPTION] 0 2
    

    其中:

    • [UUID_VALUE] 是您必须添加到 /etc/fstab 文件中的地区永久性磁盘 UUID。
    • [MNT_DIR] 是您在其中装载了地区永久性磁盘的目录。
    • [NOFAIL_OPTION] 是一个变量,指定操作系统在启动时无法装载地区永久性磁盘的情况下应该执行的操作。如需允许系统在无法装载地区永久性磁盘的情况下继续启动,请指定此选项。对于大多数发行版,请指定 nofail 选项。对于 Ubuntu 12.04 或 Ubuntu 14.04,请指定 nobootwait 选项。

    您可以选择使用单个命令完成此步骤。例如,以下命令会在 /etc/fstab 中创建一个条目,以使用 /dev/sdb 地区永久性磁盘的 UUID 将该磁盘装载到 /mnt/disks/disk-1

    $ echo UUID=`sudo blkid -s UUID -o value /dev/sdb` /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
    
    UUID=c994cf26-1853-48ab-a6a5-9d7c0250fed4 /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2
    
    
  4. 使用 cat 命令验证您的 /etc/fstab 条目是否正确:

    $ cat /etc/fstab
    
    LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
    UUID=d761bdc5-7e2a-4529-a393-b9aefdb623b6 /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2
    
    

如果您分离了此地区永久性磁盘,或从此实例的启动磁盘创建了一个快照,请修改 /etc/fstab 文件并移除此地区永久性磁盘所对应的条目。即使配置了 nofailnobootwait 选项,您也应该使 /etc/fstab 文件与挂接到实例的设备保持同步,并在您创建启动磁盘快照之前或分离地区永久性磁盘时移除这些条目。

Windows 实例


使用 Windows 磁盘管理工具在 Windows 实例上格式化和装载新磁盘。

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

    转到“虚拟机实例”页面

  2. 点击已调整大小的磁盘所在实例旁的 RDP 按钮。浏览器将会建立连到该实例的 RDP 连接。

  3. 右键点击 Windows“开始”按钮并选择磁盘管理

    从 Windows“开始”按钮的右键菜单中选择 Windows“磁盘管理器”工具。

  4. 如果之前尚未初始化地区永久性磁盘,则该工具会提示您为新磁盘选择分区方案。选择 GPT 并点击确定

    在磁盘初始化窗口中选择分区方案。

  5. 磁盘初始化后,右键点击未分配的磁盘空间,然后选择新建简单卷

    从所挂接的磁盘创建新的简单卷。

  6. 按照新建简单卷向导中的说明配置新卷。可以使用您需要的任何分区格式,但对于本示例,请选择 NTFS。另外,请勾选执行快速格式化以加快格式化过程的速度。可以选择在分配单元大小字段中设置集群大小。集群大小会限制分区的大小上限。如果您稍后尝试调整地区永久性磁盘和此分区的大小,请勿超过此上限。

    在“新建简单卷”向导中选择分区格式类型。

  7. 完成向导步骤并且完成卷格式化后,请检查所挂接磁盘列表中的 Status 列,以确保新磁盘的状态为 Healthy

    查看 Windows 识别的磁盘列表,验证该实例是否处于联机状态且运行状况良好。

您现在可以将文件写入地区永久性磁盘。

调整地区永久性磁盘的大小

您可以在实例需要更多存储空间时调整地区永久性磁盘的大小;只有在您需要将数据分开放到独特的分区时才应挂接多个辅助磁盘

无论磁盘是否挂接到正在运行的实例,您都可以随时调整磁盘的大小。

Console

  1. 转到“磁盘”页面以查看项目中的地区永久性磁盘列表。

    转到“磁盘”页面

  2. 点击您要调整大小的磁盘的名称。
  3. 在磁盘详情页面顶部,点击修改
  4. 大小字段中,为磁盘输入新的大小。使用 MBR 分区表的启动磁盘和辅助磁盘最大只能调整到 2 TB。
  5. 在磁盘详情页面底部,点击保存以将您的更改应用到磁盘。
  6. 调整磁盘大小后,必须调整文件系统的大小,以便操作系统可以访问额外空间。

gcloud


gcloud 工具中,使用 disks resize 命令并使用所需的磁盘大小(以 GB 为单位)指定 --size 标志。

gcloud compute disks resize [DISK_NAME] --size [DISK_SIZE]

其中:

  • [DISK_NAME] 是您要调整大小的磁盘的名称。
  • [DISK_SIZE] 是以 GB 为单位的磁盘新大小。使用 MBR 分区表的启动磁盘和辅助磁盘最大只能调整到 2 TB。

调整磁盘大小后,必须调整文件系统的大小,以便操作系统可以访问额外的空间。

API


在 API 中,构建一个向 compute.disks.resize 方法发出的 POST 请求。在请求正文中,指定 sizeGb 参数并将其设置为所需的磁盘大小(以 GB 为单位)。

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/resize

{
 "sizeGb": "[DISK_SIZE]"
}

其中:

  • [PROJECT_ID] 是您的项目 ID。
  • [ZONE] 是您的磁盘所在的地区。
  • [DISK_NAME] 是您要调整大小的磁盘的名称。
  • [DISK_SIZE] 是以 GB 为单位的磁盘新大小。使用 MBR 分区表的启动磁盘和辅助磁盘最大只能调整到 2 TB。

调整磁盘大小后,必须调整文件系统的大小,以便操作系统可以访问额外空间。

调整地区永久性磁盘上文件系统和分区的大小

调整地区永久性磁盘的大小后,您必须将该磁盘上的文件系统配置为使用额外的磁盘空间。如果磁盘具有分区表(例如启动磁盘),您必须增大该分区并调整该分区上文件系统的大小。如果您的地区永久性磁盘只有一个文件系统,并且没有分区表,您可以只调整文件系统的大小。

此外,使用最新版本公用映像的实例可以在系统重新启动后自动调整其分区和文件系统的大小。SUSE Linux Enterprise Server (SLES) 公共映像是唯一不支持此功能的映像。

在修改地区永久性磁盘上的文件系统之前,请创建快照

Linux 实例


在 Linux 实例上,连接到您的实例并手动调整您的分区和文件系统的大小,以使用您增加的额外磁盘空间。此手动处理过程不要求您重启实例。

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

    转到“虚拟机实例”页面

  2. 点击挂接了新磁盘的实例旁的 SSH 按钮。浏览器会建立连到该实例的终端连接。

  3. 找出含有您要调整大小的文件系统和分区的磁盘。如果您的磁盘已装载,您可以使用 df 命令和 lsblk 命令比较文件系统的大小并查找磁盘 ID。在本示例中,/dev/sda1 分区位于大小已调整为 20 GB 的启动磁盘上,但分区表和文件系统仅向操作系统提供 9.7 GB 的容量。此外,/dev/sdb 辅助磁盘没有分区表,但该磁盘上的文件系统仅为操作系统提供 250 GB 的容量。

    $ df -h
    
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1       9.7G  1.2G  8.5G  12% /
    /dev/sdb        250G   60M  250G   1% /mnt/disks/disk-1
    
    
    $ sudo lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   20G  0 disk
    └─sda1    8:1    0   10G  0 part /
    sdb       8:16   0  500G  0 disk /mnt/disks/disk-1
    
    

    在本示例中,df 命令显示 /dev/sda1 分区已作为根文件系统装载,而 /dev/sdb 磁盘已作为辅助磁盘装载到 /mnt/disks/disk-1

  4. 如果磁盘没有分区表,只有写入磁盘的文件系统,则可以跳过“growpart”步骤。

    如果您要调整大小的磁盘具有分区表,则必须在调整文件系统大小之前增大该分区。使用 growpart 来调整您的映像分区的大小。并非所有映像都在其实用工具中包含 growpart,因此可能需要由您来安装该工具。

    $ sudo growpart /dev/[DEVICE_ID] [PARTITION_NUMBER]

    其中 [DEVICE_ID] 是设备 ID,而 [PARTITION_NUMBER] 是该设备的分区号。例如,sudo growpart /dev/sda 1。请注意,在这种情况下,设备 ID 与分区号之间有一个空格。

  5. 扩展磁盘或分区上的文件系统以使用增加的空间。

    如果您使用的是 ext4,请使用 resize2fs 命令。如果您在磁盘上增大了一个分区,请指定该分区。如果您的磁盘没有分区表,请仅指定磁盘 ID。

    $ sudo resize2fs /dev/[DEVICE_ID][PARTITION_NUMBER]

    其中 [DEVICE_ID] 是设备 ID,[PARTITION_NUMBER] 是您要在其中调整文件系统大小的设备的分区号。例如,/dev/sda 指向一个磁盘,/dev/sda1 指向该磁盘上的第一个分区。

    如果您使用的是 XFS,请使用 xfs_growfs 命令扩展文件系统,并指定装载点(而不是设备 ID):

    $ sudo xfs_growfs /mnt/disks/disk-1
  6. 可以选择使用 df 命令来验证文件系统的大小是否已调整。

    $ df -h /dev/[DEVICE_ID]
    
    Filesystem        Size  Used Avail Use% Mounted on
    /dev/[DEVICE_ID]  493G   70M  492G   1% /mnt/disks/disk-1
    

    其中 [DEVICE_ID] 是您要在其中查看文件系统配置的磁盘的设备 ID。

Windows 实例


使用 Windows 磁盘管理工具调整 Windows 实例上的分区大小。

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

    转到“虚拟机实例”页面

  2. 点击已调整大小的磁盘所在实例旁的 RDP 按钮。浏览器将会建立连到该实例的 RDP 连接。
  3. 右键点击 Windows“开始”按钮,然后选择磁盘管理以打开“磁盘管理”工具。

    从 Windows“开始”按钮的右键菜单中选择 Windows“磁盘管理器”工具。

  4. 刷新“磁盘管理”工具,使其识别地区永久性磁盘上的额外空间。在“磁盘管理”窗口顶部,点击操作并选择刷新

    在“磁盘管理”工具中点击“操作”菜单并选择“刷新”以更新地区永久性磁盘信息。

  5. 在已调整大小的磁盘上,右键点击已格式化的分区并选择扩展卷

    右键点击磁盘的已格式化部分并选择“扩展卷”选项。

  6. 按照扩展卷向导中的说明扩展现有分区以包含额外的磁盘空间。如果现有分区已格式化为 NTFS,则分区大小上限受其集群大小设置的限制

  7. 完成向导步骤并且完成卷格式化后,请检查所挂接磁盘列表中的 Status 列,以确保新磁盘的状态为 Healthy

    查看 Windows 识别的磁盘列表,验证该实例是否处于联机状态且运行状况良好。

您现在可以使用额外的地区永久性磁盘空间存储数据。

设置地区永久性磁盘的自动删除状态

删除关联的虚拟机实例时,系统可能会自动删除读写地区永久性磁盘。此行为由挂接的给定地区永久性磁盘的虚拟机实例上的 autoDelete 属性控制,并且可以随时更新。同样,您也可以通过将 autoDelete 值标记为 false 来防止地区永久性磁盘被删除。

Console

  1. 转到“虚拟机实例”页面
  2. 虚拟机实例页面上,选择要从中分离磁盘的实例。
  3. 启动磁盘和本地磁盘下,检查是否选择了在删除实例时也删除启动磁盘选项。如果您想取消选择此选项,请点击页面顶部的修改按钮。
  4. 保存更改。

gcloud


如需设置地区永久性磁盘的自动删除状态,请使用 gcloud compute instances set-disk-auto-delete 命令:

gcloud compute instances set-disk-auto-delete example-instance \
  [--auto-delete|--no-auto-delete] --disk example-disk

API


如果您使用的是 API,请对以下 URI 发出 POST 请求:

https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/example-instance/setDiskAutoDelete?deviceName=deviceName,autoDelete=true

如果您使用的是客户端库,请使用 instances().setDiskAutoDelete 方法:

def setAutoDelete(gce_service, auth_http):
  request = gce_service.instances().setDiskAutoDelete(project=example-project, zone=us-central1-f, deviceName=my-new-device, instance=example-instance, autoDelete=True)
  response = request.execute(http=auth_http)

  print response

在多个实例之间共享一个地区永久性磁盘

您可以在只读模式下将非启动永久性磁盘挂接到多个虚拟机实例,如此便可在多个实例之间共享静态数据。在多个实例之间共享一个永久性磁盘上的静态数据,要比将数据复制到这些实例各自独有的磁盘上便宜。

如果您将一个永久性磁盘挂接到多个实例,则这些实例全部都必须在只读模式下挂接该永久性磁盘。不能在读写模式下将永久性磁盘挂接到多个实例。如果您需要在多个实例之间共享动态存储空间,则可以使用以下任一选项:

如果您的一个永久性磁盘包含您想要在多个实例之间共享的数据,请将该磁盘与任何读写实例分离,并在只读模式下将该磁盘挂接到一个或多个实例。

Console

  1. 转到“实例”页面以查看项目中的实例列表。

    转到“实例”页面

  2. 名称列中,点击要在其中挂接磁盘的实例的名称。实例详情页面会打开。
  3. 在实例详情页面顶部,点击修改
  4. 额外磁盘部分中,点击添加一项以将磁盘项添加到所挂接的非启动永久性磁盘的列表中。
  5. 名称列中,点击选择磁盘,然后点击您要挂接的磁盘的名称。如果您创建新的非启动磁盘,请配置其属性,然后点击创建以应用更改。
  6. 模式列中,点击读写并将其更改为只读
  7. 在实例详情页面的底部,点击保存以将更改应用于实例。
  8. 连接到实例并装载磁盘。
  9. 重复此过程,以在只读模式下将磁盘添加到其他实例。

gcloud

gcloud 工具中,使用 compute instances attach-disk 命令并在指定 --mode 标志时使用 ro 选项。

gcloud compute instances attach-disk [INSTANCE_NAME] --disk [DISK_NAME] --mode ro

其中:

  • [INSTANCE_NAME] 是您要在其中挂接地区永久性磁盘的实例的名称。
  • [DISK_NAME] 是您要挂接的磁盘的名称。

挂接磁盘后,连接到实例并装载磁盘。

对您要在其中以只读模式添加此磁盘的每个实例重复此命令。

API

在 API 中,构建一个向 compute.instances.attachDisk 方法发出的 POST 请求。在请求正文中,将 mode 参数指定为 READ_ONLY

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk

{
 "source": "zones/[ZONE]/disks/[DISK_NAME]",
 "mode": "READ_ONLY"
}

其中:

  • [INSTANCE_NAME] 是您要在其中挂接地区永久性磁盘的实例的名称。
  • [PROJECT_ID] 是您的项目 ID。
  • [ZONE] 是您的磁盘所在的地区。
  • [DISK_NAME] 是您要挂接的磁盘的名称。

挂接磁盘后,连接到实例并装载磁盘。

对您要在其中以只读模式添加此磁盘的每个实例重复此请求。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档