本文說明如何大量建立使用 A4X 機器類型的虛擬機器 (VM) 執行個體。如要進一步瞭解這類加速器最佳化機器類型,請參閱 A4X。
如要瞭解建立 VM 或叢集的其他方式,請參閱「部署選項總覽」。
限制
大量建立 A4X VM 時,須遵守下列限制:
- 使用這類機型的執行個體無法享有續用折扣或彈性承諾使用折扣。
- 您只能在特定區域和可用區建立執行個體。
- 您無法使用永久磁碟 (區域或可用區)。只能使用 Google Cloud Hyperdisk。
- 這個機型僅適用於 NVIDIA Grace 平台。
- A4X 不支援變更機型。如要改用或停用這個機型,請建立新的執行個體。
- 這個機型無法執行 Windows 作業系統。如需支援的 Linux 作業系統清單,請參閱 GPU 執行個體支援的作業系統。
- 如果是 A4X 執行個體,使用
ethtool -S監控 GPU 網路時,結尾為_phy的實體連接埠計數器不會更新。如果執行個體使用 MRDMA 虛擬函式 (VF) 架構,就會出現這種預期行為。詳情請參閱「MRDMA functions and network monitoring tools」。 - A4X 執行個體不支援下列項目:
- 2026 年 2 月 4 日前建立的 Hyperdisk ML 磁碟無法附加至 A4X 機器類型。
事前準備
如要大量建立 VM,請先完成下列步驟 (如果尚未完成):
選取這個頁面上您打算如何使用範例的分頁:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
gcloud
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud initREST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得大量建立 VM 的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備大量建立 VM 的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要大量建立 VM,必須具備下列權限:
-
compute.instances.create專案 -
如要使用自訂映像檔建立 VM:
compute.images.useReadOnly在映像檔上 -
如要使用快照建立 VM:
compute.snapshots.useReadOnly在快照上 -
如要使用執行個體範本建立 VM,請按照下列步驟操作:
compute.instanceTemplates.useReadOnly在執行個體範本上 -
如要為 VM 指定子網路:
compute.subnetworks.use專案或所選子網路的 -
如要為 VM 指定靜態 IP 位址:
compute.addresses.use專案的權限 -
使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM:
compute.subnetworks.useExternalIp專案或所選子網路的權限 -
如要將舊版網路指派給 VM,請按照下列步驟操作:
compute.networks.use專案的 -
使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定
compute.networks.useExternalIp。 -
如要為 VM 設定 VM 執行個體中繼資料,請按照下列步驟操作:
compute.instances.setMetadata在專案中 -
如要為 VM 設定標記,請按照下列步驟操作:
compute.instances.setTags在 VM 上 -
如要為 VM 設定標籤,請按照下列步驟操作:
compute.instances.setLabels在 VM 上 -
如要設定 VM 使用的服務帳戶,請在 VM 上執行下列操作:
compute.instances.setServiceAccount在 VM 上 -
為 VM 建立新磁碟:
compute.disks.create專案的 -
如要以唯讀或讀寫模式附加現有磁碟:
compute.disks.use磁碟 -
如要以唯讀模式連接現有磁碟:
compute.disks.useReadOnly磁碟
A4X 基礎知識
A4X 叢集會劃分為多個區塊和子區塊,以利大規模無阻塞網路效能。瞭解這個拓撲是預留容量和部署工作負載的關鍵。
- A4X 執行個體
- A4X 執行個體是單一 A4X 機型,連接 4 個 GPU。
- 子模塊
- 子模塊是 A4X 容量的基本單位。以 A4X 來說,一個子區塊包含 18 個 A4X 執行個體 (72 個 GPU),這些執行個體會形成 NVLink 網域,並使用多節點 NVLink 系統互連。您要套用指定
1x72拓撲的密集配置政策,建立 A4X 子區塊。 - 封鎖
- 一個 A4X 區塊由 25 個子區塊 (NVLink 網域) 組成,最多可達 450 個 A4X 執行個體 (1,800 個 GPU)。子區塊符合軌道,以利有效調整資源配置。每個子區塊都需要密集配置政策。因此,您可以在單一 A4X 區塊中建立 25 項密集配置政策。
下表列出 A4X 執行個體支援的拓撲選項:
拓撲 (gpuTopology) |
GPU 數量 | 執行個體數量 |
|---|---|---|
1x72 |
72 | 18 |
總覽
使用 A4X 機型大量建立執行個體時,請按照下列步驟操作:
建立虛擬私有雲網路
如要為 A4X 機型設定網路,請為下列網路介面建立三個虛擬私有雲網路:
- 2 個一般虛擬私有雲網路,適用於 gVNIC 網路介面 (NIC)。NIC 接著會使用這些 VPC 網路進行主機對主機通訊。
- 1 個虛擬私有雲網路,其中包含 CX-7 NIC 的 RoCE 網路設定檔,用於建立多個 A4X 子區塊。 VM 執行個體的 RoCE 虛擬私有雲網路必須有 4 個子網路,每個 CX-7 NIC 各有一個子網路。這些 NIC 使用「基於融合乙太網路的遠端直接記憶體存取 (RDMA)」(簡稱 RoCE),提供高頻寬、低延遲的通訊,對於擴展至多個 A4X 子模塊至關重要。
如要進一步瞭解 NIC 配置,請參閱「查看網路頻寬和 NIC 配置」。
您可以按照操作說明手動建立網路,也可以使用提供的指令碼自動建立。
操作指南
如要建立網路,請按照下列操作說明進行:
- 如要為 gVNIC 網路介面建立一般虛擬私有雲網路,請參閱「建立及管理虛擬私有雲網路」。
- 如要為 VM 執行個體 (
roce) 建立 RoCE 虛擬私有雲網路,請參閱「為 RDMA NIC 建立虛擬私有雲網路」。
請為這些虛擬私有雲網路將最大傳輸單位 (MTU) 設為較大的值。如果是 A4X 機器類型,建議的 MTU 為 8896 位元組。如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。
指令碼
如要建立網路,請按照下列步驟操作。
請為這些虛擬私有雲網路將最大傳輸單位 (MTU) 設為較大的值。如果是 A4X 機器類型,建議的 MTU 為 8896 位元組。如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。
-
使用下列指令碼為 gVNIC 建立一般 VPC 網路。
#!/bin/bash # Create regular VPC networks and subnets for the gVNICs for N in $(seq 0 1); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom \ --mtu=8896 gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=192.168.$N.0/24 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=192.168.0.0/16 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Assumes that an external IP is only created for vNIC 0 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE 如需多個 A4X 子區塊,請使用下列指令碼為 VM 執行個體 (
roce) 建立 RoCE 虛擬私有雲網路,並為每個 A4X 執行個體上的四個 CX-7 NIC 建立子網路。#!/bin/bash # List and make sure network profiles exist in the machine type's zone gcloud compute network-profiles list --filter "location.name=ZONE" # Create network for RDMA NICs gcloud compute networks create RDMA_NAME_PREFIX-mrdma \ --network-profile=ZONE-vpc-roce \ --subnet-mode custom \ --mtu=8896 # Create subnets for N in $(seq 0 3); do gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \ --network=RDMA_NAME_PREFIX-mrdma \ --region=REGION \ --range=192.168.$((N+2)).0/24 # offset to avoid overlap with gVNICs doneGVNIC_NAME_PREFIX:用於 gVNIC 的一般虛擬私有雲網路和子網路的自訂名稱前置字元。-
RDMA_NAME_PREFIX:用於 VM 執行個體 (roce) 的 RoCE 虛擬私有雲網路,以及 CX-7 NIC 子網路的自訂名稱前置字元。 ZONE:指定要使用的機型所在的可用區域,例如us-central1-a。如要瞭解地區,請參閱 各個地區和區域的 GPU 可用性。REGION:要建立子網路的區域。這個區域必須與指定的可用區相符。舉例來說,如果可用區是us-central1-a,則區域為us-central1。IP_RANGE:用於 SSH 防火牆規則的 IP 範圍。- 選用:如要確認虛擬私有雲網路資源是否建立成功,請在 Google Cloud 控制台中檢查聯播網設定:
- 前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。
- 在清單中搜尋您在上一個步驟中建立的網路。
- 如要查看子網路、防火牆規則和其他網路設定,請按一下網路名稱。
更改下列內容:
建立密集配置政策
如要建立密集配置政策,請選取下列任一選項:gcloud
如要建立密集配置政策,請使用
gcloud beta compute resource-policies create group-placement 指令:
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--gpu-topology=1x72 \
--region=REGION
更改下列內容:
POLICY_NAME:密集配置政策的名稱。REGION:要建立密集配置政策的區域。指定要建立執行個體的可用區所屬的區域,並確認您要使用的機型適用於該區域。如要瞭解地區,請參閱「各區域和可用區的 GPU 供應情形」。
REST
如要建立密集配置政策,請對 beta resourcePolicies.insert 方法發出 POST 要求。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"gpuTopology": "1x72"
}
}
更改下列內容:
PROJECT_ID:您的專案 ID。POLICY_NAME:密集配置政策的名稱。REGION:要建立密集配置政策的區域。指定要建立執行個體的可用區所屬的區域,並確認您要使用的機型適用於該區域。如要瞭解地區,請參閱「各區域和可用區的 GPU 供應情形」。
大量建立 A4X 執行個體
如要取得 1x72 的 GPU 拓撲,請建立 18 個 A4X 執行個體。建立執行個體時,請套用指定 gpuTopology 欄位的密集配置政策。套用政策後,Compute Engine 會在一個子區塊中建立所有 18 個 A4X 執行個體,以使用 NVLink 網域。
如果子區塊沒有足夠的容量來容納所有 18 個 A4X 執行個體,大量建立作業就會失敗,且不會建立任何執行個體。
如果工作負載可使用少於 18 個 A4X 執行個體運作,則可將 minCount 欄位設為工作負載所需的執行個體數量下限。如要使用任何可用容量,請將 minCount 欄位設為 1。
如要大量建立 A4X 執行個體,請選取下列任一選項。
下列指令也會設定執行個體的存取權範圍。為簡化權限管理,Google 建議您將執行個體的存取權範圍設為cloud-platform 存取權,然後使用 IAM 角色定義執行個體可存取的服務。詳情請參閱「範圍最佳做法」。gcloud
如要大量建立 A4X 執行個體,請使用
gcloud compute instances bulk create 指令。
A4X 執行個體支援下列預訂類型:
- AI Hypercomputer 的未來預留項目
- 日曆模式的未來預留項目
如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=a4x-highgpu-4g \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
--network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure \
--resource-policies=POLICY_NAME
更改下列內容:
NAME_PATTERN:用於 A4X 執行個體的名稱模式。 舉例來說,如果名稱模式為instance-#,就會產生名稱為instance-1和instance-2等的 A4X 執行個體,最多可達--count指定的 A4X 執行個體數量。COUNT:要建立的 A4X 執行個體數量。IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:指定要使用的機型所在的區域。您必須使用與密集配置政策相同的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制或永久磁碟大小限制,視磁碟類型而定。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,您指定的前置字元名稱。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。-
RESERVATION:預留項目名稱、區塊或預留項目內的子區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:- 如要在任何單一區塊上建立 A4X 執行個體:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME - 如要在特定區塊上建立 A4X 執行個體:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME - 如要在特定子區塊中建立 A4X 執行個體,請按照下列步驟操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
- 如要在任何單一區塊上建立 A4X 執行個體:
TERMINATION_ACTION:在預訂期間結束時,Compute Engine 是要停止 (STOP) 還是刪除 (DELETE) A4X 執行個體。POLICY_NAME:密集配置政策的名稱。
REST
如要大量建立 A4X 執行個體,請對
instances.bulkInsert 方法發出 POST 要求。
A4X 執行個體支援下列預訂類型:
- AI Hypercomputer 的未來預留項目
- 日曆模式的未來預留項目
如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern": "NAME_PATTERN",
"count": "COUNT",
"instanceProperties": {
"machineType": "a4x-highgpu-4g",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
"nicType": "MRDMA",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
},
"scheduling": {
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart": true
},
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
]
}
}
更改下列內容:
PROJECT_ID:您要在當中建立 A4X 執行個體的專案 ID。ZONE:指定可使用所需機型的區域。您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。NAME_PATTERN:用於 A4X 執行個體的名稱模式。 舉例來說,如果名稱模式為instance-#,就會產生名稱為instance-1和instance-2等的 A4X 執行個體,最多可達--count指定的 A4X 執行個體數量。COUNT:要建立的 A4X 執行個體數量。DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制或永久磁碟大小限制,視磁碟類型而定。IMAGE_PROJECT:OS 映像檔的專案 ID。IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,您指定的前置字元名稱。REGION:子網路的區域。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。-
RESERVATION:預留項目名稱、區塊或預留項目內的子區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:- 如要在任何單一區塊上建立 A4X 執行個體:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME - 如要在特定區塊上建立 A4X 執行個體:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME - 如要在特定子區塊中建立 A4X 執行個體,請按照下列步驟操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
- 如要在任何單一區塊上建立 A4X 執行個體:
TERMINATION_ACTION:在預訂期間結束時,Compute Engine 是要停止 (STOP) 還是刪除 (DELETE) A4X 執行個體。PROJECT_ID:密集配置政策的專案 ID。REGION:密集配置政策的區域。POLICY_NAME:密集配置政策的名稱。
如要進一步瞭解大量建立 VM 時的設定選項,請參閱 Compute Engine 說明文件中的「大量建立 VM」。
安裝 GPU 驅動程式
建立執行個體後,除非已安裝正確的 GPU 驅動程式,否則執行個體無法使用 GPU。 如果您未指定包含 GPU 驅動程式的 OS 映像檔,請參閱 Compute Engine 說明文件中的「安裝 GPU 驅動程式」。