本文說明如何在建立 Compute Engine 執行個體時,建立並附加額外的非開機磁碟。
本文資訊適用於建立具有區域磁碟的運算執行個體,這些磁碟不在 Hyperdisk 集區中。以下列出相關工作和文件。
- 如要建立使用 Hyperdisk 集區中磁碟的執行個體,請參閱「建立使用 Hyperdisk 集區中磁碟的 VM」。
如要以多重寫入模式建立磁碟,請先建立磁碟,然後將磁碟連接至執行個體。您無法在建立執行個體的同時建立磁碟。
如要啟用高可用性,請為開機和非開機磁碟使用區域性磁碟。詳情請參閱「使用新的區域開機磁碟建立執行個體」和「使用其他區域磁碟建立新執行個體」。
如要將現有磁碟連接至執行個體,請參閱「將非開機磁碟連接至執行個體」。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上您打算如何使用範例的分頁:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
gcloud
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
- 設定預設地區和區域。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得建立執行個體並新增非開機磁碟所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備建立執行個體所需的權限,且執行個體會新增非開機磁碟。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立執行個體並新增非開機磁碟,必須具備下列權限:
-
compute.instances.create專案 -
為執行個體建立磁碟:
專案的
compute.disks.create -
如要從映像檔建立磁碟,請按照下列步驟操作:
compute.images.useReadOnly在來源映像檔上 -
如要從標準或封存快照建立磁碟,請按照下列步驟操作:
compute.snapshots.useReadOnly來源快照 -
如要透過即時快照建立磁碟,請按照下列步驟操作:
compute.instantSnapshots.useReadOnly來源即時快照 -
如要從現有磁碟建立磁碟:
compute.disks.useReadOnly在來源磁碟上
限制
可連接至執行個體的磁碟數量、總大小和類型,取決於執行個體的機型。
舉例來說,C4 執行個體不支援 Persistent Disk。此外,連至 c4-standard-2 執行個體的所有磁碟總大小不得超過 257 TiB,但 c4-standard-192 執行個體的上限為 512 TiB。
如要瞭解各機器系列的詳細限制,請參閱機器系列說明文件中的「支援的磁碟類型」一節。如要查看新執行個體機器系列的限制,請參閱下表中的對應連結。
| 一般用途 機器類型 |
運算最佳化 機器類型 |
記憶體最佳化 機器類型 |
加速器最佳化 機器類型 |
儲存空間最佳化 機器類型 |
|---|---|---|---|---|
磁碟大小限制和參照名稱
您為區域磁碟指定的大小必須在下表列出的範圍內。
使用 Google Cloud CLI、REST 或 Compute Engine 適用的 Cloud 用戶端程式庫建立磁碟時,請在下表指定「參考名稱」欄中的對應值,藉此指定要建立的磁碟類型。
| 磁碟類型 | 參照名稱 | 大小下限 | 大小上限 | 預設大小 |
|---|---|---|---|---|
| Hyperdisk Balanced | hyperdisk-balanced |
4 GiB | 64 TiB1 | 100 GiB |
| Hyperdisk Balanced High Availability | hyperdisk-balanced-high-availability |
4 GiB | 64 TiB | 100 GiB |
| Hyperdisk Extreme | hyperdisk-extreme |
64 GiB | 64 TiB | 1 TiB |
| Hyperdisk Throughput | hyperdisk-throughput |
2 TiB | 32 TiB | 2 TiB |
| Hyperdisk ML | hyperdisk-ml |
4 GiB | 64 TiB | 100 GiB |
| 平衡型永久磁碟 | pd-balanced |
區域:10 GiB 區域:10 GiB |
64 TiB | 100 GiB |
| 效能型 (SSD) 永久磁碟 | pd-ssd |
區域:10 GiB 區域:10 GiB |
64 TiB | 100 GiB |
| 標準永久磁碟 | pd-standard |
區域:10 GiB 區域:200 GiB |
64 TiB | 500 GiB |
| 極端永久磁碟 | pd-extreme |
500 GiB | 64 TiB | 1 TiB |
建立執行個體,並新增非開機磁碟
如要建立執行個體,並建立及附加額外的非開機磁碟,請按照下列步驟操作:
控制台
前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。
如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
「建立執行個體」頁面隨即顯示,並顯示「機器設定」窗格。
在「機器設定」窗格中,執行下列操作:
- 在「Name」(名稱) 欄位中,指定執行個體的名稱。詳情請參閱「資源命名慣例」。
- 在「Region」(區域) 欄位中,指定執行個體所在的區域。
選用:在「Zone」(區域) 欄位中,選取這個執行個體的區域。
預設選取項為「任何」。如未變更這項預設選取項目,Google 會根據機型和可用性自動為您選擇可用區。
選取執行個體的機器家族。 Google Cloud 控制台隨即會顯示所選機器家族適用的機器系列。可用的機器系列選項如下:
- 一般用途
- 運算最佳化
- 記憶體最佳化
- 儲存空間最佳化
- 網路最佳化
- GPU
- TPU
在「系列」欄中,選取執行個體的機器系列。
如果您在上一個步驟中選取 GPU 做為機器家族,請選取所需的 GPU 類型。系統會根據所選的 GPU 類型,自動選取機器系列。
在「Machine type」(機型) 部分中,選取執行個體的機型。
在導覽選單中,按一下「OS and storage」(OS 和儲存空間)。「作業系統和儲存空間」窗格隨即顯示。
如要設定開機磁碟,請按一下「變更」。 「開機磁碟」窗格隨即顯示,並顯示「公開映像檔」分頁。
請使用下列其中一種方式,設定開機磁碟的資料來源:
如要選擇公開映像檔做為開機磁碟的資料來源,請在「Public images」(公開映像檔) 分頁中指定下列項目:
- 在「Operating system」(作業系統) 清單中,選取作業系統類型。
- 在「Version」清單中,選取作業系統版本。
- 在「Boot disk type」(開機磁碟類型) 清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇自訂映像檔做為開機磁碟的資料來源,請按一下「Custom images」(自訂映像檔),然後在隨即顯示的「Custom images」(自訂映像檔) 分頁中,指定下列項目:
- 如要選取圖片專案,請按一下「變更」,然後選取含有圖片的專案。
- 在「圖片」清單中,選取要匯入的圖片。
- 在「Boot disk type」(開機磁碟類型) 清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇標準快照做為開機磁碟的資料來源,請按一下「快照」,然後在隨即顯示的「快照」分頁中,指定下列項目:
- 在「Snapshot」(快照) 清單中選取快照。
- 在「Boot disk type」(開機磁碟類型) 清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇封存快照做為開機磁碟的資料來源,請按一下「封存快照」,然後在隨即顯示的「封存快照」分頁中,指定下列項目:
- 在「封存快照」清單中,選取封存快照。
- 在「Boot disk type」(開機磁碟類型) 清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇現有磁碟做為開機磁碟,請按一下「現有磁碟」。然後在隨即顯示的「現有磁碟」分頁中,從「磁碟」清單選取現有的區域永久磁碟或 Hyperdisk Balanced High Availability 磁碟區。
選用:如果開機磁碟是 Hyperdisk Balanced 磁碟區,您可以為新磁碟設定效能限制。指定的值必須在支援的值範圍內。
選用:如需進階設定選項,請展開「Show advanced configurations」(顯示進階設定) 部分。
- 在「模式」欄位中選取磁碟附加模式。
- 在「Deletion rule」(刪除規則) 欄位中選取選項,選擇在刪除執行個體時保留或刪除磁碟。
- 如要方便從客體 OS 識別磁碟,請指定自訂裝置名稱。 在「裝置名稱」標題下方,選取「使用自訂裝置名稱」選項。在「裝置名稱」欄位中,輸入要用做磁碟符號連結的字串。
如要確認開機磁碟選項並返回「OS and storage」(OS 與儲存空間) 窗格,請按一下「Select」(選取)。
如要建立新的非開機磁碟並連結至執行個體,請針對要新增的每個磁碟執行下列步驟。
在「Additional disks」(其他磁碟) 區段中,按一下「Add new disk」(增加新磁碟)。 畫面上會顯示「新增磁碟」窗格。
在「Disk configuration」(磁碟設定) 部分的「Name」(名稱) 欄位中,指定非開機磁碟的名稱。
選用:在「Description」(說明) 欄位中,指定磁碟的說明。
選取新磁碟的資料來源:
- 如要建立空白且未格式化的磁碟,請在「Disk source type」(磁碟來源類型) 清單中選取「Blank disk」(空白磁碟)。
- 如要建立現有資料的副本,請選取非開機磁碟的來源類型。
在「Disk type」(磁碟類型) 清單中,選取非開機磁碟的類型。 機型必須支援磁碟類型。
在「Size」(大小) 欄位中,指定非開機磁碟的大小。
選用:如果新磁碟是 Hyperdisk 磁碟區,您可以為新磁碟設定效能限制。您指定的值必須在支援的值範圍內,且取決於 Hyperdisk 類型,如下所示:
- Hyperdisk Balanced。您可以變更磁碟的大小、佈建的 IOPS 和佈建輸送量
- Hyperdisk Extreme。您可以變更磁碟的大小和佈建的 IOPS。
- Hyperdisk ML。您可以變更磁碟的大小和佈建輸送量。
- Hyperdisk Throughput。您可以變更磁碟的大小和佈建輸送量。
選用:如需進階設定選項,請展開「Show advanced configurations」(顯示進階設定) 部分。
- 在「模式」欄位中選取磁碟附加模式。
- 在「Deletion rule」(刪除規則) 欄位中選取選項,選擇在刪除執行個體時保留或刪除磁碟。
- 如要方便從客體 OS 識別磁碟,請指定自訂裝置名稱。 在「裝置名稱」標題下方,選取「使用自訂裝置名稱」選項。在「裝置名稱」欄位中,輸入要用做磁碟符號連結的字串。
如要確認選項並返回「OS and storage」(OS 與儲存空間) 窗格,請按一下「Save」(儲存)。
針對要建立並連結至執行個體的每個非開機磁碟,重複執行這個步驟。
選用:為運算執行個體指定備份和複寫選項。在導覽選單中,按一下「資料保護」。 在隨即顯示的「資料保護」窗格中,完成下列步驟,指定要如何備份及複製運算執行個體的資料。
在導覽選單中,按一下「網路」。在隨即顯示的「Networking」(網路) 窗格中,執行下列操作:
- 前往「防火牆」部分。
如要允許執行個體接收 HTTP 或 HTTPS 流量,請選取「Allow HTTP traffic」(允許 HTTP 流量) 或「Allow HTTPS traffic」(允許 HTTPS 流量)。
Compute Engine 會將網路標記新增至執行個體,並建立對應輸入防火牆規則,允許所有流量傳入
tcp:80(HTTP) 或tcp:443(HTTPS)。網路標記會建立防火牆規則與執行個體之間的關聯。詳情請參閱 Cloud Next Generation Firewall 說明文件中的「防火牆規則總覽」。
視需要指定其他設定選項。詳情請參閱「建立執行個體時的設定選項」。
如要建立並啟動執行個體,請按一下「建立」。
gcloud
-
在 Google Cloud 控制台中啟用 Cloud Shell。
控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。 Google Cloud Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。
執行
gcloud compute instances create指令,建立具有額外非開機磁碟的執行個體。建立執行個體時,您最多可以加入 127 個非開機磁碟。請為您建立的每個非開機磁碟指定
--create-disk標記。如要透過公開或庫存映像檔建立非開機磁碟,請使用
--create-disk旗標指定image或image-family和image-project屬性。如要建立空白磁碟,請勿加入這些屬性。您可以視需要加入下列屬性的值:
- 磁碟大小:使用
--size屬性。 - 磁碟類型:使用
--type屬性。 - 區域磁碟:包含
replica-zones屬性。
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=BOOT_DISK_IMAGE_PROJECT \ BOOT_DISK_IMAGE_FLAG \ --create-disk name=DISK_NAME,device-name=DISK_DEVICE_NAME,size=SIZE_GB,type=DISK_TYPE,image=DISK_IMAGE,image-project=DISK_IMAGE_PROJECT,replica-zones=^:^ZONE:REMOTE_ZONE,boot=false更改下列內容:
INSTANCE_NAME:新執行個體的名稱。ZONE:要建立執行個體的可用區。MACHINE_TYPE:執行個體的機型。例如:c3-standard-4。BOOT_DISK_IMAGE_PROJECT: 包含圖片的專案。例如 Debian 的debian-cloud。 如要尋找公開映像檔的映像檔專案,請前往「作業系統詳細資料」頁面。在作業系統的「GA versions」部分,「General information」分頁的「Image project」欄會列出映像檔專案。BOOT_DISK_IMAGE_FLAG:指定下列其中一項:使用
--image IMAGE_NAME標記指定公開或自訂映像檔的特定版本。例如:--image debian-12-bookworm-v20241112。使用
--image-family IMAGE_FAMILY_NAME標記指定映像檔系列。這樣一來,系統就會建立執行個體,並使用映像檔系列中未淘汰的最新 OS 映像檔。舉例來說,如果您指定--image-family debian-12,Compute Engine 在建立執行個體時,就會使用 Debian 12 映像檔系列中的最新版 OS 映像檔。
如要新增其他磁碟,請替換下列項目:
DISK_NAME:選用:非開機磁碟的名稱。SIZE_GB:選用:非開機磁碟的大小。DISK_TYPE:磁碟的類型。 例如:hyperdisk-balanced。機型必須支援磁碟類型。DISK_DEVICE_NAME:選用:執行個體建立後,顯示給客體 OS 的磁碟名稱。DISK_IMAGE:選用:如要從現有映像檔建立磁碟,請指定下列其中一項:image=DISK_IMAGE_NAME:要用於建立非開機磁碟的映像檔名稱,例如debian-12-bookworm-v20260210。image-family=DISK_IMAGE_FAMILY:建立非開機磁碟時要使用的映像檔系列,例如debian-12。
DISK_IMAGE_PROJECT:選用:如要從現有映像檔建立非開機磁碟,請指定含有該映像檔的映像檔專案。REMOTE_ZONE:選用:如要建立區域磁碟,請指定磁碟應複製到的可用區,例如us-central1-b。
如果是空白磁碟,請勿指定
image、image-project或image-family參數。如果是區域磁碟,請勿指定磁碟屬性
replica-zones。
- 磁碟大小:使用
Terraform
如要產生 Terraform 程式碼,可以使用 Google Cloud 控制台中的「對等程式碼」元件。- 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
- 點選「建立執行個體」。
- 指定所需參數。
- 按一下頁面頂端或底部的「對等程式碼」,然後點選「Terraform」分頁標籤,即可查看 Terraform 程式碼。
Go
在試用這個範例之前,請先按照「使用用戶端程式庫的 Compute Engine 快速入門導覽課程」中的 Go 設定說明操作。詳情請參閱 Compute Engine Go API 參考文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Compute Engine 快速入門導覽課程」中的 Java 設定說明操作。詳情請參閱 Compute Engine Java API 參考文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 Compute Engine 快速入門導覽課程」中的 Node.js 設定說明操作。詳情請參閱 Compute Engine Node.js API 參考文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 Compute Engine 快速入門導覽課程」中的 Python 設定說明操作。詳情請參閱 Compute Engine Python API 參考文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
REST
建立執行個體時,您可針對每個額外磁碟使用 initializeParams 屬性,最多建立 127 個非開機磁碟。請使用公開或私人映像檔建立額外磁碟。如要新增空白磁碟,請不要使用 sourceImage 值定義 initializeParams 項目。
加入磁碟屬性 replicaZones,即可建立地區磁碟而非區域磁碟。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "sourceImage":"projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE", "diskType":"DISK_TYPE" } }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "diskType":"DISK_TYPE" }, }, { "boot": false, "deviceName":"DISK_NAME", "initializeParams": { "diskType": "DISK_TYPE", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ] } } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }
更改下列內容:
PROJECT_ID:要在其中建立 VM 的專案 IDZONE:要在其中建立 VM 的可用區MACHINE_TYPE_ZONE:包含要用於新 VM 的機型的可用區MACHINE_TYPE:新 VM 的機型,預先定義或自訂VM_NAME:新 VM 的名稱IMAGE_PROJECT:包含映像檔的專案
舉例來說,如果您指定debian-10做為映像檔系列,請指定debian-cloud做為映像檔專案。IMAGE:請指定下列其中一個值:IMAGE:公開映像檔的特定版本例如:
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"IMAGE_FAMILY:映像檔系列這會使用未淘汰的最新 OS 映像檔建立 VM。舉例來說,如果您指定
"sourceImage": "projects/debian-cloud/global/images/family/debian-10",Compute Engine 會從Debian 10映像檔系列中最新版本的 OS 映像檔建立 VM。
-
如要新增其他磁碟,請替換下列項目:
SIZE_GB:磁碟大小DISK_IMAGE或DISK_IMAGE_FAMILY:為非開機磁碟指定來源映像檔或映像檔系列:DISK_IMAGE:您要用做非開機磁碟的映像檔名稱。例如:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"。DISK_IMAGE_FAMILY:做為非開機磁碟的映像檔系列。 例如:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"。
DISK_TYPE:磁碟類型類型的完整或部分網址。例如:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced。 機型必須支援磁碟類型。DISK_NAME:選用。VM 建立後,客體 OS 顯示的磁碟名稱。REMOTE_ZONE:要將區域磁碟複製到的可用區
如果是空白磁碟,請勿指定
sourceImage屬性。如果是區域磁碟,請勿指定
replicaZones屬性。 NETWORK_NAME:您要用於 VM 的虛擬私有雲網路。如要使用預設網路,請指定default。ENABLE_SECURE_BOOT:選用:如果您選擇支援Shielded VM 功能的映像檔,Compute Engine 預設會啟用虛擬信任平台模組 (vTPM) 和完整性監控。Compute Engine 預設不會啟用安全啟動。如果為
enableSecureBoot指定true,Compute Engine 會建立 VM,並啟用所有三項 Shielded VM 功能。Compute Engine 啟動 VM 後,如要修改 Shielded VM 選項,必須先停止 VM。
建立執行個體後,必須格式化所有空白磁碟並掛接所有磁碟,才能使用這些磁碟。