本文說明如何建立使用 A4X 機型的代管執行個體群組 (MIG)。如要進一步瞭解這款加速器最佳化機型,請參閱「A4X」。
如要將多部虛擬機器 (VM) 視為單一實體來管理,請建立 MIG。如要進一步瞭解 MIG,請參閱 Compute Engine 說明文件中的「代管執行個體群組」。
如要瞭解建立 VM 或叢集的其他方式,請參閱「部署選項總覽」。
限制
使用 A4X VM 建立 MIG 時,請考量機型和 MIG 的限制。
A4X VM 的限制
以下限制適用於特定機器:
- 使用這類機型的執行個體無法享有續用折扣或彈性承諾使用折扣。
- 您只能在特定區域和可用區建立執行個體。
- 您無法使用 Persistent Disk (區域或可用區)。只能使用 Google Cloud Hyperdisk。
- 這個機型僅適用於 NVIDIA Grace 平台。
- A4X 不支援變更機型。如要改用或停用這個機型,請建立新的執行個體。
- 這個機型無法執行 Windows 作業系統。如需支援的 Linux 作業系統清單,請參閱「支援 GPU 執行個體的作業系統」。
- 如果是 A4X 執行個體,使用
ethtool -S監控 GPU 網路時,結尾為_phy的實體連接埠計數器不會更新。這是使用 MRDMA 虛擬函式 (VF) 架構的執行個體預期行為。詳情請參閱「MRDMA 函式和網路監控工具」。 - A4X 執行個體不支援下列項目:
- 您無法將 2026 年 2 月 4 日前建立的 Hyperdisk ML 磁碟連結至 A4X 機型。
MIG 的限制
使用 A4X 機型建立 MIG 時,須遵守下列限制:
如果您建立使用 RDMA 網路的區域性 MIG,則 MIG 只能在為 RDMA 設定網路設定檔的可用區中建立 A4X 執行個體。
您無法在 MIG 中設定執行個體彈性。
- 請參閱工作負載政策的限制。
您必須使用取決於預留項目佈建模式。系統不支援其他佈建模式。
您無法使用規模調整要求,在 MIG 中新增 A4X 執行個體。您必須設定 MIG 的目標大小,才能新增執行個體。
事前準備
建立 MIG 前,請先完成下列步驟 (如尚未完成):
必要的角色
如要取得建立 MIG 所需的權限,請要求管理員授予您專案的「Compute 執行個體管理員 (v1)」 (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備建立 MIG 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立 MIG,必須具備下列權限:
-
如要建立 MIG:
compute.instanceGroupManagers.create在專案上
A4X 基礎知識
A4X 叢集會整理成模塊和子模塊的階層,以利大規模無阻塞網路效能。預留容量及部署工作負載時,瞭解這項拓撲至關重要。
- A4X 執行個體
- A4X 執行個體是連接 4 個 GPU 的單一 A4X 機型。
- 子模塊
- 子模塊是 A4X 容量的基本單位。以 A4X 來說,一個子區塊包含 18 個 A4X 執行個體 (72 個 GPU);這些執行個體會形成 NVLink 網域,並使用多節點 NVLink 系統互連。如要建立 A4X 子區塊,請套用指定
1x72拓撲的工作負載政策。 - 封鎖
- 一個 A4X 區塊由 25 個子區塊 (NVLink 網域) 組成,最多可達 450 個 A4X 執行個體 (1,800 個 GPU)。子區塊符合軌道,以利有效調整資源配置。每個子區塊都需要 MIG。因此,單一 A4X 區塊最多可建立 25 個 MIG。
下表列出 A4X 執行個體支援的拓撲選項:
拓撲 (acceleratorTopology) |
GPU 數量 | 執行個體數量 |
|---|---|---|
1x72 |
72 | 18 |
總覽
使用 A4X 機型建立 MIG 的步驟如下:
建立虛擬私有雲網路
如要為 A4X 機型設定網路,請為下列網路介面建立三個虛擬私有雲網路:
- 2 個一般虛擬私有雲網路,用於 gVNIC 網路介面卡 (NIC)。NIC 接著會使用這些 VPC 網路進行主機對主機通訊。
- 1 個虛擬私有雲網路,其中包含 RoCE 網路設定檔 ,適用於建立多個 A4X 子區塊時的 CX-7 NIC。 虛擬機器執行個體的 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 建立一般虛擬私有雲網路。
#!/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」(虛擬私有雲網路) 頁面。
- 在清單中搜尋您在上一個步驟中建立的網路。
- 如要查看子網路、防火牆規則和其他網路設定,請按一下網路名稱。
更改下列內容:
建立執行個體範本
建立執行個體範本,指定 MIG 的 VM 屬性。
如要建立執行個體範本,請選取下列任一選項。
下列指令也會設定執行個體的存取權範圍。為簡化權限管理,Google 建議您將執行個體的存取權範圍設為cloud-platform 存取,然後使用 IAM 角色定義執行個體可存取的服務。詳情請參閱「範圍最佳做法」。gcloud
如要建立區域執行個體範本,請使用
gcloud compute instance-templates create 指令。
A4X 執行個體支援下列預留類型:
- 容量區塊的未來預留項目
- 日曆模式的未來預留項目
如要使用這類預留項目,執行個體必須採用取決於預留項目佈建模式。舉例來說,請使用下列建立參數。
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=a4x-highgpu-4g \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-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=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。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 執行個體,請執行下列步驟:
REST
如要建立區域執行個體範本,請向
regionInstanceTemplates.insert 方法發出 POST 要求。
A4X 執行個體支援下列預留類型:
- 容量區塊的未來預留項目
- 日曆模式的未來預留項目
如要使用這類預留項目,執行個體必須採用取決於預留項目佈建模式。舉例來說,請使用下列建立參數。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"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
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定要使用的機型所在的區域。如需區域相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請參閱Google Cloud Hyperdisk 大小限制或永久磁碟大小限制,視磁碟類型而定。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 執行個體,請執行下列步驟:
建立 MIG
使用 A4X 機型時,您必須指定目標大小來建立 MIG。
如要取得 1x72 的 GPU 拓撲,請建立 18 個 A4X 執行個體的 MIG。建立 MIG 時,請套用指定 acceleratorTopology 欄位的工作負載政策。套用這項政策後,Compute Engine 會在一個子區塊中建立所有 18 個 A4X 執行個體,以使用 NVLink 網域。
如果子區塊沒有足夠的容量來容納所有 18 個執行個體,則無法立即建立的任何受管理執行個體都會維持 CREATING 狀態,直到容量足夠為止。這些代管執行個體代表 MIG 在有容量時建立的運算執行個體。
如果套用工作負載政策時,將 acceleratorTopology 欄位設為 1x72,則在 MIG 中建立的 A4X 執行個體數量不得超過 18 個。如果指定超過 18 個執行個體,MIG 建立作業就會失敗。如要建立多個 NVLink 網域,請為每個網域分別建立 MIG,並對每個 MIG 套用相同的工作負載政策。
如要建立 MIG,請選取下列任一選項:
gcloud
如要建立具有指定目標大小的 MIG,請使用 instance-groups managed
create 指令。
請按照下列步驟建立可用區或區域性 MIG:
- 如要建立可用區 MIG,請使用下列指令:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE
- 如要建立區域性 MIG,請使用下列指令:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --region=REGION
MIG_NAME:MIG 的名稱。INSTANCE_TEMPLATE_URL:您要用來在代管執行個體群組中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:- 如果是區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 如果是區域執行個體範本:
TARGET_SIZE:您要在 MIG 中使用的執行個體數量。針對1x72的加速器拓撲,將目標大小設為18。WORKLOAD_POLICY_URL: 工作負載政策的網址,例如projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。ZONE:要建立 MIG 的可用區。在工作負載政策的區域中指定可用區。REGION:要建立 MIG 的區域。指定與工作負載政策相同的區域。如果是區域性 MIG,您可以使用--zones旗標,指定該區域中的可用區,而非區域。
REST
如要建立指定目標大小的 MIG,請提出 POST 要求。
請按照下列步驟建立可用區或區域性 MIG:
- 如要建立可用區 MIG,請向
instanceGroupManagers.insert方法發出POST要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": TARGET_SIZE, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要建立區域 MIG,請向
regionInstanceGroupManagers.insert方法發出POST要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": TARGET_SIZE, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } }
PROJECT_ID:專案 ID。ZONE:要建立 MIG 的可用區。在工作負載政策的區域中指定可用區。REGION:要建立 MIG 的區域。指定與工作負載政策相同的區域。INSTANCE_TEMPLATE_URL:您要用來在代管執行個體群組中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:- 如果是區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 如果是區域執行個體範本:
MIG_NAME:MIG 的名稱。TARGET_SIZE:您希望 MIG 中的執行個體數量。針對1x72的加速器拓撲,將目標大小設為18。WORKLOAD_POLICY_URL: 工作負載政策的網址,例如projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。
安裝 GPU 驅動程式
建立執行個體後,必須先安裝正確的 GPU 驅動程式,執行個體才能使用 GPU。 如果您未指定包含 GPU 驅動程式的 OS 映像檔,請參閱 Compute Engine 說明文件中的「安裝 GPU 驅動程式」。