如果您将新的空白磁盘挂接到虚拟机,则必须先格式化并装载磁盘,然后才能使用磁盘。如果挂接的磁盘已包含数据,则必须先装载该磁盘,然后才能使用它。
准备工作
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 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.
转到虚拟机实例页面。
点击挂接了新磁盘的实例旁的 SSH 按钮。浏览器会建立连到该虚拟机的终端连接。
在终端中,使用为挂接磁盘创建的symlink来确定要格式化的设备。
ls -l /dev/disk/by-id/google-*
未格式化的磁盘在名称中没有包含
-partN
的额外符号链接。google-extra-scsi-disk -> ../../sdb google-instance-2 -> ../../sda google-instance-2-part1 -> ../../sda1 google-instance-2-part14 -> ../../sda14 google-instance-2-part15 -> ../../sda15 google-local-nvme-ssd-0 -> ../../nvme0n1 google-local-nvme-ssd-1 -> ../../nvme0n2
在此示例中,创建了名为
extra-scsi-disk
的新 Persistent Disk。新磁盘的设备名称为sdb
。使用
mkfs
工具格式化磁盘设备。此命令会删除指定磁盘中的所有数据,因此请确保正确指定磁盘设备。您可以使用任何想要的文件格式,但我们建议您使用单个
ext4
文件系统,而不使用分区表。您可以在稍后增加磁盘大小,而无需修改磁盘分区。为了最大限度地提高磁盘性能,请与
-E
标志搭配使用推荐的格式化选项。无需在此辅助磁盘上为根卷保留空间,因此请指定-m 0
以使用所有可用的磁盘空间。 以下命令会格式化整个磁盘而不创建分区表。$ sudo mkfs.FILE_SYSTEM_TYPE -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_NAME
替换以下内容:
FILE_SYSTEM_TYPE
:文件系统类型。例如,ext2
、ext3
、ext4
或xfs
。DEVICE_NAME
:要格式化的磁盘的设备名称。例如,借助第一步中的示例输出,您可以使用sdb
作为设备名称。
创建用作虚拟机上新磁盘装载点的目录。您可以使用任何目录。以下示例在
/mnt/disks/
下创建了一个目录。$ sudo mkdir -p /mnt/disks/MOUNT_DIR
将
MOUNT_DIR
替换为要装载磁盘的目录。使用装载工具将磁盘装载到实例,并启用
discard
选项:$ sudo mount -o discard,defaults /dev/DEVICE_NAME /mnt/disks/MOUNT_DIR
替换以下内容:
DEVICE_NAME
:要装载的磁盘的设备名称。MOUNT_DIR
:要装载磁盘的目录。
配置对磁盘的读写权限。对于本示例,请为所有用户授予对磁盘的写入权限。
$ sudo chmod a+w /mnt/disks/MOUNT_DIR
将
MOUNT_DIR
替换为装载磁盘的目录。创建当前
/etc/fstab
文件的备份。$ sudo cp /etc/fstab /etc/fstab.backup
使用
blkid
命令列出磁盘的 UUID。$ sudo blkid /dev/DEVICE_NAME
/dev/DEVICE_NAME: UUID="a9e1c14b-f06a-47eb-adb7-622226fee060" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="593b3b75-108f-bd41-823d-b7e87d2a04d1"
请替换以下内容:
DEVICE_NAME
:您要自动装载的磁盘的设备名称。如果您在磁盘上创建了分区表,请通过添加附加到设备名称的后缀来指定您要装载的分区。例如,如果sdb
是磁盘的设备名称,sdb1
可能是分区的名称。
在文本编辑器中打开
/etc/fstab
文件,并创建一个包含 UUID 的条目。例如:UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
请替换以下内容:
UUID_VALUE
:在上一步的输出中列出的磁盘 UUIDMOUNT_DIR
:装载了磁盘的目录FILE_SYSTEM_TYPE
:文件系统类型。例如,ext2
、ext3
、ext4
或xfs
。MOUNT_OPTION
:指定操作系统在启动时无法装载地区永久性磁盘的情况下要执行的操作。如需了解有效值,请参阅 Linuxfstab
文档中的第四个字段。如需让系统在磁盘不可用时也能启动,请使用nofail
装载选项。
使用
cat
命令验证您的/etc/fstab
条目内容正确:$ cat /etc/fstab UUID=6B33-A686 /boot/efi vfat defaults 0 0 UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
- 为添加的磁盘配置永久性设备名称。
- 了解如何调整永久性磁盘的大小。
- 了解如何定期使用快照备份磁盘,防止意外丢失数据。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
连接到虚拟机
在 Linux 虚拟机上格式化非启动磁盘
装载磁盘
配置虚拟机重启时的自动装载
请将磁盘添加到
/etc/fstab
文件中,以使该磁盘在虚拟机重启时自动重新装载。在 Linux 操作系统上,设备名称在每次重启时可能会发生变化,但设备 UUID 始终指向同一个卷,即使您在系统间移动磁盘也是如此。因此,我们建议您使用设备 UUID(而不是设备名称)来配置虚拟机重启时的自动装载。始终确保
/etc/fstab
文件与挂接到虚拟机的设备保持同步。如果要分离磁盘或从虚拟机的启动磁盘创建快照,请修改/etc/fstab
文件并移除磁盘的条目。即使您将MOUNT_OPTION
设置为nofail
或nobootwait
,也需要先创建条目才能创建启动磁盘快照或分离磁盘。后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-22。
-