如果您將新的空白磁碟連接至 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 驗證說明文件中的「Authenticate for using 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
,也請在建立開機磁碟快照或卸離磁碟前移除項目。
後續步驟
- 為新增的磁碟設定永久裝置名稱。
- 瞭解如何調整永久磁碟的大小。
- 瞭解如何使用快照定期備份磁碟,以免不慎遺失資料。