如果您已將新的空白磁碟連接至 VM,則必須先格式化及掛接磁碟,才能使用該磁碟。如果您已連接含有資料的磁碟,則必須先掛接磁碟才能使用。
事前準備
-
如果尚未設定,請先設定驗證機制。「驗證」是指驗證身分,以便存取 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「驗證以使用 REST」。
-
連線至 VM
前往「VM instances」(VM 執行個體) 頁面。
按一下具有新連接磁碟的執行個體旁邊的「SSH」SSH按鈕。瀏覽器會開啟與 VM 的終端機連線。
在 Linux VM 上格式化非開機磁碟
在終端機中,使用為已連接磁碟建立的符號連結,判斷要格式化的裝置。
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
。新磁碟的裝置名稱為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
。
掛接磁碟
建立做為 VM 上新磁碟掛接點的目錄。您可以使用任何目錄。以下範例會在
/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
替換為您掛載磁碟的目錄。
設定 VM 重新啟動時自動掛載
將磁碟新增至 /etc/fstab
檔案,這樣磁碟就會在 VM 重新啟動時再次自動掛接。在 Linux 作業系統上,裝置名稱會隨著每次重新啟動而變更,但裝置 UUID 一律會指向相同的音量,即使您在系統之間移動磁碟也是如此。因此,建議您使用裝置 UUID 而非裝置名稱,設定 VM 重新啟動時的自動掛載功能。
建立您目前
/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
:磁碟的 UUID,列於上一個步驟的輸出內容中MOUNT_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
請務必讓 /etc/fstab
檔案與連結至 VM 的裝置保持同步。如果您要卸離磁碟,或為 VM 從開機磁碟建立快照,請編輯 /etc/fstab
檔案,並移除磁碟的項目。即使您將 MOUNT_OPTION
設為 nofail
或 nobootwait
,也請在建立開機磁碟快照或卸離磁碟前移除項目。