本頁說明如何將現有的非開機磁碟連接至一或多個虛擬機器 (VM) 執行個體。
如要建立或變更 VM 的開機磁碟,請分別參閱「建立開機磁碟」和「卸離及重新連結開機磁碟」。
如要建立新磁碟,請參閱「建立新的永久磁碟磁碟區」和「建立新的 Hyperdisk 磁碟區」。
必要角色和權限
如要取得將磁碟掛接到 VM 所需的權限,請要求管理員在專案中授予下列 IAM 角色:
-
Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) -
如要連線至可當做服務帳戶執行的 VM 執行個體:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser
角色)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備將磁碟連結至 VM 的必要權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要將磁碟連接至 VM,必須具備下列權限:
-
如要將磁碟附加至 VM,請按照下列步驟操作:
-
compute.instances.attachDisk
在 VM 上 -
compute.instances.attachDisk
在 VM 上 -
compute.disks.use
要附加至 VM 的磁碟
-
-
如要格式化及掛接連結的磁碟區,請在 VM 上執行下列操作:
compute.instances.setMetadata
磁碟連接模式
將磁碟連接至 VM 時,您可以指定磁碟連結模式,指出 VM 如何存取磁碟上的資料。你可以選擇唯讀或讀寫模式。
預設模式為讀寫。
在 VM 之間共用磁碟
您可以在 VM 之間共用同一個磁碟,只要將磁碟連結至每個 VM,每個 VM 就能同時存取磁碟。如果磁碟類型和 VM 的機器類型支援,您可以將磁碟連接至多個 VM。
如要將磁碟掛接至多個 VM,請針對每個 VM 按照「將非開機磁碟掛接至 VM」一文中的程序操作。
您必須為附加磁碟的所有 VM 使用相同的磁碟附加模式。舉例來說,您無法以讀寫模式將磁碟連結至一個 VM,同時以唯讀模式連結至另一個 VM。
如要瞭解如何將磁碟連結至多部 VM,包括支援的磁碟類型,請參閱「在 VM 之間共用磁碟」。
將 Hyperdisk 磁碟區連接至多個 VM
如要將 Hyperdisk 磁碟區附加至多個 VM,請務必根據您的用途,將磁碟的存取模式設為適當的值。如需如何設定存取模式的操作說明,請參閱設定磁碟的存取模式。
將 Hyperdisk 磁碟區連結至 VM 時,您必須選擇不會與磁碟存取模式衝突的磁碟連結模式。舉例來說,如果磁碟處於單一寫入者或多重寫入者模式,您就無法使用唯讀附加模式。
限制
將磁碟連接至 VM 時,請注意下列限制:
您最多可以將 127 個次要非開機區域磁碟連結至 VM。
如果附加磁碟會超過 Hyperdisk 大小和附加限制,您就無法將磁碟附加至 VM。
下列磁碟類型不支援唯讀模式:
- Hyperdisk Balanced
- Hyperdisk Balanced High Availability
- Hyperdisk Throughput
- Hyperdisk Extreme
將磁碟連接至多個 VM 時,所有 VM 都必須使用相同的磁碟連接模式。
連結至多個 VM 的磁碟不支援自動刪除,也就是說,這類磁碟不會在 VM 刪除時自動刪除。
將非開機磁碟連接至 VM
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST,將非開機區域磁碟連結至 VM。
將磁碟連接至 VM 時,請注意下列事項:
使用自訂裝置名稱:將磁碟附加至 VM 時,Google 建議您指定自訂裝置名稱。您指定的名稱會用於在客層 OS 中產生磁碟的符號連結,方便您識別及管理 VM 上的磁碟。
將磁碟附加至多個 VM:如要將磁碟附加至多個 VM,請針對每個 VM 重複本節中的程序。您必須為附加磁碟的所有 VM 使用相同的磁碟附加模式。
如要將 地區永久磁碟或Hyperdisk Balanced High Availability 磁碟區連接至 VM,請參閱「將地區磁碟連接至 VM」。
主控台
前往「VM instances」(VM 執行個體) 頁面。
按一下要新增磁碟的 VM 名稱。
在詳細資料頁面中,按一下「編輯」。
在「Storage」(儲存空間) 區段的「Additional disks」(其他磁碟) 下方,按一下 [+ Attach existing disk] (+ 連接現有的磁碟)。
在「Disk」(磁碟) 清單中,選取要連結的磁碟。如果未列出磁碟,請確認磁碟與 VM 位於相同位置。也就是說,區域磁碟必須位於同一個區域,地區磁碟則必須位於同一個地區。
在「磁碟附加模式」中,選取「唯讀」,只允許 VM 從磁碟讀取資料。如要允許 VM 讀寫存取權,請選取「讀取/寫入」。
在「Deletion rule」(刪除規則) 下,指定是否要在刪除 VM 時一併刪除磁碟。如要在刪除 VM 時保留磁碟,請選取「保留磁碟」。 如要在刪除 VM 時一併刪除磁碟,請選取「刪除磁碟」。如果將磁碟附加至多個 VM,請務必選取「保留磁碟」。
選用:在「裝置名稱」標題下方,選取「使用自訂裝置名稱」選項。您輸入的名稱會用於產生磁碟的符號連結,方便識別磁碟。
如要將變更套用至磁碟,請按一下「完成」。
按一下「儲存」套用變更,並將磁碟連結至 VM。
gcloud
如要將磁碟連結至 VM,請使用 gcloud compute instances attach-disk
指令。使用 mode
旗標指定磁碟附件模式。
gcloud compute instances attach-disk VM_NAME \ --disk DISK_NAME --device-name=DEVICE_NAME --mode DISK_ATTACHMENT_MODE
更改下列內容:
VM_NAME
:要新增區域永久磁碟的 VM 名稱DISK_NAME
:要連結至 VM 的新磁碟名稱。DEVICE_NAME
:(選用) 客體 OS 用來識別磁碟的名稱。DISK_ATTACHMENT_MODE
:選用:如何將磁碟連接至 VM。如要設為唯讀模式,請設為ro
。如為讀寫模式,請設為rw
,或省略這個旗標,因為rw
是預設值。
Terraform
如要將磁碟連接至 VM,請使用 google_compute_instance
資源。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
REST
如要將磁碟附加至 VM,請對 compute.instances.attachDisk
方法建構 POST
要求,並包含要附加的磁碟的網址。
如要指定磁碟附加模式,請使用 mode
參數。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME", "deviceName": DEVICE_NAME, "mode" : "DISK_ATTACHMENT_MODE" }
更改下列內容:
PROJECT_ID
:您的專案 IDZONE
:VM 和磁碟所在的可用區VM_NAME
:要將磁碟連結至的 VM 名稱DISK_NAME
:要連結的磁碟名稱DEVICE_NAME
:選用:客體 OS 用來建立符號連結的名稱,有助於識別磁碟。DISK_ATTACHMENT_MODE
:選用:磁碟應如何附加至 VM。如要使用唯讀模式,請使用READ_ONLY
。如要設為讀寫模式,請設為READ_WRITE
,或省略此設定,因為READ_WRITE
是預設值。
將磁碟連結至 VM 後,請連線至 VM,並啟用 VM 的作業系統 (OS) 來使用磁碟:
- 如果連接的是空白磁碟,請格式化並掛接磁碟
- 如果連結的磁碟不是空的,請掛接磁碟
瞭解如何在 Linux 或 Windows VM 上格式化及掛接新磁碟。