將磁碟連接至使用 Linux OS 的虛擬機器 (VM) 時,Google Cloud 會自動為磁碟建立符號連結 (symlink)。如要在 Linux VM 中存取永久磁碟磁碟區或本機 SSD 磁碟,請使用符號連結。這些符號連結可預測,且在重新啟動後仍保持一致。Google Cloud 會為 /dev/disk/by-id
中連結至 VM 的所有磁碟建立符號連結。
本文說明如何找出附加至 VM 的磁碟正確符號連結。
限制
如果將本機 SSD 磁碟連接至 C3 或 C3D VM,可能需要採取額外步驟,為本機 SSD 磁碟建立符號連結。如果您使用 Google Cloud提供的任何下列公開映像檔,才需要執行這些步驟:
- SLES 15 SP4 和 SP5
- SLES 12 SP4
這些額外步驟僅適用於本機 SSD 磁碟,永久磁碟磁碟區則不需要執行任何操作。
前述清單中的公開映像檔在 /dev/disk/by-id/google-local-nvme-ssd-N
表單中沒有本機 SSD 符號連結。這些映像檔只會使用裝置資訊的符號連結,例如
nvme-nvme.1ae0-6e766d655f636172642d7064-6e766d655f636172642d7064-00000001
。
如要取得這些 Linux 映像檔的易用符號連結,您必須更新 udev
規則,並在執行個體中新增指令碼。
如需更新 udev
規則,以支援 C3 和 C3D 上本機 SSD 磁碟的符號連結,請參閱「排解 NVMe 磁碟問題」。
除了使用符號連結,您也可以使用裝置名稱存取 VM 上的本機 SSD 磁碟,例如 /dev/nvme0n1
。
符號連結格式
磁碟連接至 VM 時 (無論是在 VM 建立期間或之後),系統會在 /dev/disk/by-id
中建立符號連結。符號連結名稱的建立方式如下:
Persistent Disk 和 Google Cloud Hyperdisk
系統會依據下列規則建立符號連結:
- 如果您在建立磁碟時指定了自訂裝置名稱:
google-DEVICE_NAME
- 如果您在建立磁碟時未指定自訂裝置名稱:
- 開機磁碟:
google-VM_NAME
- 非開機磁碟:
google-DISK_NAME
- 開機磁碟:
格式化磁碟後,符號連結會附加 -partN
,其中 N 是分割區號碼,例如 google-data-disk-part1
。
本機 SSD 磁碟
本機 SSD 符號連結的格式會因磁碟介面而異。
- SCSI:
- 如果您在建立磁碟時指定了自訂裝置名稱:
google-DEVICE_NAME
- 如果您在建立磁碟時未指定自訂裝置名稱:
google-local-ssd-N
,其中 N 是本機 SSD 磁碟編號,從 0 開始。
- 如果您在建立磁碟時指定了自訂裝置名稱:
- NVMe:符號連結的名稱為
google-local-nvme-ssd-N
,其中 N 是 SSD 編號,從 0 開始。
格式化本機 SSD 磁碟後,符號連結會附加 -partN
,其中 N 是分割區編號,例如 google-local-nvme-ssd-0-part1
。
裝置符號連結
Compute Engine 會根據磁碟類型和介面,在目錄中建立其他符號連結,例如 scsi-0Google_PersistentDisk_DEVICE_NAME
。這些連結的功能與先前提及的符號連結相同。
範例 1:附加本機 SSD 的 C3 VM
假設您建立的 VM 具有下列屬性:
- VM 名稱:
instance-1
- 機器系列:C3
- 磁碟介面類型:永久磁碟和本機 SSD 皆為 NVMe
- 其他磁碟:無
- 已連結的本機 SSD 磁碟:2
- 使用的自訂裝置名稱:無
Compute Engine 會為該 VM 建立下列符號連結:
ls -l /dev/disk/by-id/google-*
google-instance-1 -> ../../nvme2n1
google-instance-1-part1 -> ../../nvme2n1p1
google-instance-1-part14 -> ../../nvme2n1p14
google-instance-1-part15 -> ../../nvme2n1p15
google-local-nvme-ssd-0 -> ../../nvme0n1
google-local-nvme-ssd-1 -> ../../nvme1n1
在本範例中,Persistent Disk 開機磁碟符號連結為 google-instance-1
,這是以 VM 名稱為準。開機磁碟已格式化,並安裝了作業系統。開機磁碟有 3 個分區:part1、part14 和 part 15。
附加的本機 SSD 磁碟未格式化,因此每個本機 SSD 磁碟只建立一個符號連結。
範例 2:N2 VM,附加 NVMe 本機 SSD 和額外永久磁碟
假設您建立的 VM 具有下列屬性:
- VM 名稱:
instance-2
- 機器系列:N2
- 磁碟介面類型:永久磁碟為 SCSI,本機 SSD 為 NVMe
- 其他磁碟:1 個名為
extra-scsi-disk
的永久磁碟 - 已連結的本機 SSD 磁碟:2
- 使用的自訂裝置名稱:無
系統會為該 VM 建立下列符號連結:
ls -l /dev/disk/by-id/google-*
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-0-part1 -> ../../nvme0n1p1
google-local-nvme-ssd-1 -> ../../nvme0n2
在本範例中,Persistent Disk 開機磁碟符號連結為 google-instance-2
,這是以 VM 名稱為準。開機磁碟已格式化,並安裝了 OS 映像檔。開機磁碟有 3 個分區:part1、part14 和 part 15。
第一個本機 SSD 磁碟也會分割成單一分區,因此會為該磁碟分區建立額外的符號連結。新增至 VM 的額外永久磁碟具有符號連結 google-extra-scsi-disk
,這是以磁碟名稱為依據。額外的永久磁碟和第二個本機 SSD 磁碟未格式化,因此這些磁碟只會列出單一符號連結。