將 vSphere 叢集新增至網域

本文說明如何使用 Compute Engine 裸機執行個體,將 vSphere 叢集新增至 Google Cloud VMware 解決方案中現有的 VMware Cloud Foundation (VCF) 9.1 網域。如需擴充運算和 vSAN 儲存空間容量,使其超出單一叢集、隔離工作負載,或在現有網域中套用獨立的 vSphere Lifecycle Manager (vLCM) 映像檔或 vSAN 儲存空間政策,請新增叢集。您可以將叢集新增至相同專案、虛擬私有雲 (VPC) 網路和可用區中的下列任一網域:

  • 管理網域:新增由管理 vCenter Server 和 NSX Manager 管理的叢集。
  • VI 工作負載網域:新增由工作負載網域 vCenter Server 及其 NSX Manager 執行個體管理的叢集。

架構摘要

將 vSphere 叢集新增至現有 VCF 網域時,部署作業會使用下列架構:

  • 裸機 ESXi 主機:每個新的 ESXi 主機都是 z3-highmem-192-highlssd-metal 裸機執行個體,連接至虛擬私有雲網路現有的第 2 層子網路 (ESXi 管理、vMotion、vSAN 和 NSX 通道端點 (TEP))。每個主機都會透過主要網路介面 (nic0) 和標記 VLAN 的動態網路介面連線。
  • 不需額外管理設備:由於您將叢集新增至已管理目標網域的 vCenter Server 和 NSX Manager,因此不需部署新的管理設備。您也不必建立新的設備 Cloud DNS 記錄、後端服務、高可用性 (HA) 政策或轉送規則。而是將新主機新增至現有的可用區網路端點群組 (NEG)。
  • IP 位址分配和對齊:VCF 會從網路集區分配 vMotion 和 vSAN IP 位址,NSX 則會從 NSX IP 位址集區分配 TEP (vmk10) IP 位址。由於這兩個集區都不支援 VCF 9.1 中的每主機靜態指派,因此您在部署期間,將 Compute Engine Dynamic NIC 與 VCF 分配的 IP 位址對齊,同時保持所有 VCF 驗證啟用。

事前準備

建立叢集前,請先確認下列各節中的需求條件,並設定環境變數。

確認環境需求

確認環境符合下列需求:

  • 權限:您在目標專案中具備必要的 Identity and Access Management (IAM) 角色,包括 Compute 管理員 (roles/compute.admin)、DNS 管理員 (roles/dns.admin) 和 Secret Manager 密鑰存取者 (roles/secretmanager.secretAccessor)。
  • Secret Manager 中的憑證:如果在初始部署後,您在 VCF 中變更或輪替 ESXi root、SDDC Manager、vCenter Server 或 NSX Manager 密碼,Secret Manager 不會自動更新。執行本文件中的指令前,請先更新 Secret Manager 中的對應密鑰,或直接提供更新後的密碼,確保與有效的 VCF 憑證相符。
  • 網域健康狀態:目標網域健康狀態良好 (vCenter Server、vSAN、NSX Manager、SDDC Manager 和 VCF Operations),且沒有失敗的工作。
  • vSphere Lifecycle Manager (vLCM) 映像檔:VCF 映像檔庫中提供 vLCM 映像檔,或您打算從主機擷取映像檔。請使用現有叢集使用的相同映像檔,確保所有主機保持一致。
  • 儲存裝置:每個新主機都有 NVMe 本機 SSD 裝置,沒有預先存在的分區,符合 vSAN 的要求。
  • 節點數量下限:叢集至少需要三個裸機節點,這是 vSAN 容許一個故障 (FTT=1) 的最低要求。
  • 機型:叢集中的所有節點都使用相同的機型 (vSAN Express Storage Architecture (ESA) 為 z3-highmem-192-highlssd-metal)。
  • 可用區:新叢集與現有管理和 NSX TEP 可用區 NEG 位於相同可用區。
  • Jumpbox VM:您可以使用已安裝 gcloud CLI、curl 和 jq 的 Jumpbox VM,並與虛擬私有雲網路建立網路連線 (例如在 bm-gcp-demo 子網路中)。
  • 可信映像檔政策和 VPC Service Controls:如果貴組織強制執行 constraints/compute.trustedImageProjects 組織政策,或使用 VPC Service Controls service perimeter,請確認專案允許存取 smve-prod-public-images 專案 (projects/999037279871) 的映像檔。詳情請參閱「管理節點容量」。
  • VLAN 網路:VMware 解決方案要求虛擬私有雲網路的子網路將「Resolve Subnet Mask」(解析子網路遮罩) 屬性設為「Broadcast primary range only with learning」(僅廣播主要範圍並學習),以支援 VLAN 網路。在Google Cloud 控制台支援中心提交支援單,並提供下列資訊:

    • 產品:Google Cloud VMware Engine
    • Priority:P2
    • 類別:網路連線
    • 業務影響:一般技術問題
    • 提供更多詳細資料:Allowlist L2 network connectivity for my project,以及專案 ID、專案編號,以及部署作業的目標區域和可用區

    如要進一步瞭解 VLAN 網路支援,請參閱「第 2 層模擬:ARP 廣播和自訂 MAC 學習」。

查看範例環境參數

本文件中的指令使用下列範例參數:

輸入參數 範例值 說明
專案 ID PROJECT_ID 與目標網域相同的 Google Cloud 專案
區域和可用區 us-east4/us-east4-b 與現有可用區 NEG 位於相同可用區
客戶 ID demo 現有資源名稱中使用的 ID
目標網域 mgmt-domain (或 wld01) 現有的管理網域或 VI 工作負載網域
叢集名稱 cl02 新 vSphere 叢集的名稱
機型 z3-highmem-192-highlssd-metal 叢集內所有節點的同質機器類型
節點數 3 vSAN FTT=1 的節點數量下限
虛擬私有雲網路 bm-demo 現有的虛擬私有雲網路
子網路 (VLAN ID) bm-mgmt-demo (未標記)、bm-vmotion-demo (2)、bm-vsan-demo (3)、bm-nsx-demo (4) 現有第 2 層子網路
區域性 NEG bm-mgmt-demo、bm-nsx-tep-demo 現有的管理和 NSX TEP NEG
ESXi 映像檔 系列 astra-vcf-9-1-x,專案 smve-prod-offline-depot 與現有叢集相同的 ESXi 映像檔版本
DNS 網域和區域 vmware.gve / dns-zone-demo,rev-dns-zone-demo 現有的 Cloud DNS 正向和反向代管區域
SDDC Manager sddcm.vmware.gve (192.168.0.3) 現有的 SDDC Manager 設備
ESXi root 密碼 esxi-root-password 現有的 Secret Manager 密鑰,內含 ESXi root 密碼

規劃 IP 位址和主機名稱

下表顯示三個新 ESXi 主機的 IP 位址規劃範例:

ESXi 主機 管理 IP (nic0) vMotion (VLAN 2) vSAN (VLAN 3) NSX TEP (VLAN 4)
esxi-h7 192.168.0.161 192.168.2.21 192.168.3.21 192.168.4.21
esxi-h8 192.168.0.162 192.168.2.22 192.168.3.22 192.168.4.22
esxi-h9 192.168.0.163 192.168.2.23 192.168.3.23 192.168.4.23

選擇目標網域

您選取的目標網域會決定由哪個 vCenter Server、NSX Manager 和疊加傳輸可用區管理新叢集:

參數或資源 管理網域中的叢集 VI 工作負載網域中的叢集
TARGET_DOMAIN變數 mgmt-domain wld01
管理 vCenter Server vc01.vmware.gve vc02.vmware.gve
NSX_MANAGER變數 nsx01.vmware.gve (管理 NSX) nsx05.vmware.gve (專用 NSX) 或 nsx01.vmware.gve (共用管理 NSX)
TRANSPORT_ZONE變數 overlay-tz-mgmt-nsxt 工作負載網域 NSX 執行個體的疊加傳輸可用區

驗證區域配額

佈建裸機節點或建立叢集前,請確認專案有足夠的區域和全域 Compute Engine 配額。請先將該區域中所有現有叢集的資源加到下列增量值,再與專案配額進行比較:

配額指標 每個裸機節點所需的資源 3 節點叢集所需的資源
Z3 專用的「compute.googleapis.com/cpus_per_vm_family」 192 個 vCPU 3 × 192 = 576 個 vCPU
Z3 專用的「compute.googleapis.com/local_ssd_total_storage_per_vm_family」 72 TB 3 × 72 TB = 216 TB
compute.googleapis.com/hyperdisk_balanced_total_storage 128 GB 3 × 128 GB = 384 GB
compute.googleapis.com/resource_policies 將節點新增至現有叢集時,則為 0 每個叢集 1 項分散配置政策
compute.googleapis.com/regional_backend_services_protocol_forwarding_fast_ha 新增節點或叢集時,如未新增設備,則為 0 每個新的 VCF 管理設備 VIP 或 NSX Edge 端點需要 1 個

如需必要配額的完整清單,以及如何查看或要求提高配額的操作說明,請參閱「配額與限制」。

設定環境變數

在跳板機殼層中設定下列環境變數,以便在本指南的指令中使用:

export PROJECT_ID="PROJECT_ID"
export REGION="us-east4"
export ZONE="us-east4-b"
export CUSTOMER_ID="demo"
export VPC_NETWORK="bm-${CUSTOMER_ID}"
export DOMAIN="vmware.gve"
export DNS_ZONE="dns-zone-${CUSTOMER_ID}"
export REV_DNS_ZONE="rev-dns-zone-${CUSTOMER_ID}"
export MGMT_SUBNET="bm-mgmt-${CUSTOMER_ID}"
export VMOTION_SUBNET="bm-vmotion-${CUSTOMER_ID}"
export VSAN_SUBNET="bm-vsan-${CUSTOMER_ID}"
export TEP_SUBNET="bm-nsx-${CUSTOMER_ID}"
export MGMT_NEG="bm-mgmt-${CUSTOMER_ID}"
export TEP_NEG="bm-nsx-tep-${CUSTOMER_ID}"
export CLUSTER_NAME="cl02"
export PLACEMENT_POLICY="bm-${CLUSTER_NAME}"
export NETWORK_POOL_NAME="${CLUSTER_NAME}-np01"
export TEP_POOL_NAME="${CLUSTER_NAME}-tep-pool"
export VDS_NAME="${CLUSTER_NAME}-vds-01"
export MACHINE_TYPE="z3-highmem-192-highlssd-metal"
export ESXI_IMAGE_FAMILY="astra-vcf-9-1-x"
export ESXI_IMAGE_PROJECT="smve-prod-offline-depot"
export SDDC_MANAGER="sddcm.vmware.gve"            # 192.168.0.3
export VCF_USER="admin@local"
export VCF_PASSWORD="VCF_ADMIN_PASSWORD"
export ESXI_PASSWORD_SECRET="esxi-root-password"  # Secret Manager secret holding the ESXi root password
export MTU=8896                                   # VPC MTU

# Target domain parameters
export TARGET_DOMAIN="mgmt-domain"                # Or wld01
export NSX_MANAGER="nsx01.vmware.gve"             # Or nsx05.vmware.gve for wld01 with a dedicated NSX instance
export TRANSPORT_ZONE="overlay-tz-mgmt-nsxt"      # Overlay transport zone of the target NSX instance

# Ordered host list: name mgmt_ip vmotion_ip vsan_ip tep_ip
CLUSTER_HOSTS=(
  "esxi-h7 192.168.0.161 192.168.2.21 192.168.3.21 192.168.4.21"
  "esxi-h8 192.168.0.162 192.168.2.22 192.168.3.22 192.168.4.22"
  "esxi-h9 192.168.0.163 192.168.2.23 192.168.3.23 192.168.4.23"
)

# TEP pool range matching the new hosts' Compute Engine TEP NIC IPs
export TEP_CIDR="192.168.4.0/24"
export TEP_GATEWAY="192.168.4.1"
export TEP_START="192.168.4.21"
export TEP_END="192.168.4.23"

執行指令前,請先替換下列項目:

  • PROJECT_ID:目標 Google Cloud專案的 ID。
  • VCF_ADMIN_PASSWORD:SDDC Manager 管理員密碼。

確認現有的轉送規則或執行個體,並未使用您預計採用的 IP 位址:

gcloud compute forwarding-rules list --project="${PROJECT_ID}" --regions="${REGION}" \
    --format="table(name,IPAddress,subnetwork.basename())"
gcloud compute instances list --project="${PROJECT_ID}" --zones="${ZONE}" \
    --format="table(name,networkInterfaces[].networkIP.list())"

建立 DNS 記錄

部署管理網域時,您已建立第 2 層子網路、Cloud DNS 傳入轉送政策,以及正向和反向代管區域。由於新增叢集不會部署新的設備,因此您只需要為新的 ESXi 主機建立正向 (A) 和反向 (PTR) 記錄:

add_dns() {
  local name=$1 ip=$2
  gcloud dns record-sets create "${name}.${DOMAIN}." \
      --rrdatas="${ip}" --type=A --ttl=300 \
      --zone="${DNS_ZONE}" --project="${PROJECT_ID}"
  local rev
  rev=$(echo "${ip}" | awk -F. '{print $4"."$3"."$2"."$1".in-addr.arpa."}')
  gcloud dns record-sets create "${rev}" \
      --rrdatas="${name}.${DOMAIN}." --type=PTR --ttl=300 \
      --zone="${REV_DNS_ZONE}" --project="${PROJECT_ID}"
}

for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST MGMT_IP _ <<< "${entry}"
  add_dns "${HOST}" "${MGMT_IP}"
done

# Verify DNS records
gcloud dns record-sets list --zone="${DNS_ZONE}" --project="${PROJECT_ID}" \
    --filter="name~'esxi-h[7-9]'"

建立裸機執行個體

為新叢集建立專屬配置政策。接著,您可以使用主要管理介面 (nic0) 和 VLAN 標記的 Dynamic NIC,為 vMotion (VLAN 2)、vSAN (VLAN 3) 和 NSX TEP (VLAN 4) 建立各個裸機 ESXi 主機。

建立配置政策

建立群組配置政策:

gcloud compute resource-policies create group-placement "${PLACEMENT_POLICY}" \
    --region="${REGION}" \
    --availability-domain-count=6 \
    --collocation=COLLOCATED \
    --project="${PROJECT_ID}"

建立開機磁碟和裸機 ESXi 執行個體

為叢集中的每部主機建立 Google Cloud Hyperdisk Balanced 開機磁碟和裸機 ESXi 執行個體:

i=0
for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST MGMT_IP VMOTION_IP VSAN_IP TEP_IP <<< "${entry}"
  AD=$(( (i % 6) + 1 )); i=$((i + 1))

  # Create boot disk
  gcloud compute disks create "${HOST}" \
      --image-project="${ESXI_IMAGE_PROJECT}" \
      --image-family="${ESXI_IMAGE_FAMILY}" \
      --type=hyperdisk-balanced --interface=NVME --size=128GB \
      --guest-os-features=IDPF \
      --zone="${ZONE}" --project="${PROJECT_ID}"

  # Create bare-metal ESXi host
  gcloud compute instances create "${HOST}" \
      --zone="${ZONE}" \
      --machine-type="${MACHINE_TYPE}" \
      --can-ip-forward \
      --resource-policies="${PLACEMENT_POLICY}" \
      --availability-domain="${AD}" \
      --hostname="${HOST}.${DOMAIN}" \
      --disk="name=${HOST},boot=yes,auto-delete=yes" \
      --labels=gcve-node=true \
      --tags=mm-gcve-node \
      --deletion-protection \
      --maintenance-policy=TERMINATE \
      --restart-on-failure \
      --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
      --project="${PROJECT_ID}" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${MGMT_SUBNET},no-address,private-network-ip=${MGMT_IP}" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${VMOTION_SUBNET},no-address,private-network-ip=${VMOTION_IP},vlan=2" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${VSAN_SUBNET},no-address,private-network-ip=${VSAN_IP},vlan=3" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${TEP_SUBNET},no-address,private-network-ip=${TEP_IP},vlan=4"
done

# Verify instance creation and network interfaces
gcloud compute instances list --project="${PROJECT_ID}" --zones="${ZONE}" \
    --filter="name~'esxi-h[7-9]'" \
    --format="table(name,status,networkInterfaces[].vlan.list(),networkInterfaces[].networkIP.list())"

更新 NEG 成員

可用區中的所有節點都必須屬於子網路的同一個可用區 NEG,VCF 網路設備才能在叢集節點之間轉送流量。將新主機新增至現有的管理 NEG 和 NSX TEP NEG:

# List the NEGs in the zone (management and NSX TEP)
gcloud compute network-endpoint-groups list --zones="${ZONE}" --project="${PROJECT_ID}" \
    --format="table(name,subnetwork.basename(),networkEndpointType,size)"

ALL_NEGS=("${MGMT_NEG}" "${TEP_NEG}")
for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST _ <<< "${entry}"
  for NEG in "${ALL_NEGS[@]}"; do
    gcloud compute network-endpoint-groups update "${NEG}" \
        --zone="${ZONE}" \
        --add-endpoint="instance=${HOST}" \
        --project="${PROJECT_ID}"
  done
done

# Verify NEG endpoints
for NEG in "${ALL_NEGS[@]}"; do
  gcloud compute network-endpoint-groups list-network-endpoints "${NEG}" \
      --zone="${ZONE}" --project="${PROJECT_ID}" \
      --format="table(networkEndpoint.instance,networkEndpoint.ipAddress)"
done

重設 ESXi 根密碼

為了安全起見和主機委任,請將每部新主機的 root 密碼重設為儲存在 Secret Manager 中的 ESXi root 密碼。在後續步驟中,您會使用相同的密鑰來委託主機。請確認密碼符合 VCF 複雜度規定 (至少 15 個字元,包括大寫字母、小寫字母、數字和特殊字元)。如果您在初始部署後變更或輪替 ESXi root 或 VCF 密碼,請先在 Secret Manager 中更新對應的密鑰,再執行這些指令。

如要重設每部新主機的 root 密碼,請從跳躍箱 VM 執行下列指令,並在系統提示時輸入初始 ESXi root 密碼:

# 1. Read the ESXi root password from Secret Manager
ESXI_ROOT_PASSWORD=$(gcloud secrets versions access latest \
    --secret="${ESXI_PASSWORD_SECRET}" --project="${PROJECT_ID}")

# 2. Reset the root password on each new host
for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST _ <<< "${entry}"
  ssh -o StrictHostKeyChecking=no "root@${HOST}.${DOMAIN}" \
      "esxcli system account set -i root -p '${ESXI_ROOT_PASSWORD}' -c '${ESXI_ROOT_PASSWORD}'"
done

# 3. Optional: Verify that the FQDN is set and vmk0 is configured as STATIC
ssh "root@esxi-h7.${DOMAIN}" \
    'esxcli system hostname get; esxcli network ip interface ipv4 get -i vmk0'

建立專屬網路集區

VCF 會從您在委任主機時選取的網路集區中,分配 vMotion 和 vSAN IP 位址。由於現有叢集的網路集區僅包含其主機 IP 位址,因此請建立專用網路集區,其 IP 範圍包含您預先指派給新主機 Compute Engine Dynamic NIC 的確切 vMotion 和 vSAN IP 位址。使用專屬網路集區,可將 VCF IP 分配範圍限制在預先指派的 Compute Engine IP 位址組合內,因此日後如果發生不相符的情況,您只需要調整主機與 IP 的對應順序。

您可以使用 VCF Operations 或 SDDC Manager API 建立網路集區:

VCF Operations

在「VCF Operations」中,前往「Network pool management」(網路集區管理),按一下「Create network pool」(建立網路集區),然後使用 vMotion (VLAN 2、192.168.2.21–192.168.2.23) 和 vSAN (VLAN 3、192.168.3.21–192.168.3.23) 網路設定和 8896 位元組的 MTU 建立 cl02-np01 網路集區。

SDDC Manager API

執行下列指令,建立網路集區並擷取其 ID:

TOKEN=$(curl -s -X POST "https://${SDDC_MANAGER}/v1/tokens" \
    -H "Content-Type: application/json" \
    -d "{\"username\":\"${VCF_USER}\",\"password\":\"${VCF_PASSWORD}\"}" | jq -r '.accessToken')

curl -s -X POST "https://${SDDC_MANAGER}/v1/network-pools" \
    -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
    -d "{
      \"name\": \"${NETWORK_POOL_NAME}\",
      \"networks\": [
        { \"type\": \"VMOTION\", \"vlanId\": 2, \"mtu\": ${MTU},
          \"subnet\": \"192.168.2.0\", \"mask\": \"255.255.255.0\", \"gateway\": \"192.168.2.1\",
          \"ipPools\": [ { \"start\": \"192.168.2.21\", \"end\": \"192.168.2.23\" } ] },
        { \"type\": \"VSAN\", \"vlanId\": 3, \"mtu\": ${MTU},
          \"subnet\": \"192.168.3.0\", \"mask\": \"255.255.255.0\", \"gateway\": \"192.168.3.1\",
          \"ipPools\": [ { \"start\": \"192.168.3.21\", \"end\": \"192.168.3.23\" } ] }
      ]
    }"

# Retrieve the network pool ID for host commissioning
POOL_ID=$(curl -s "https://${SDDC_MANAGER}/v1/network-pools" -H "Authorization: Bearer ${TOKEN}" \
    | jq -r --arg n "${NETWORK_POOL_NAME}" '.elements[] | select(.name==$n) | .id')
echo "${POOL_ID}"

委託主機

使用 VCF Operations 或 SDDC Manager API,將新的 ESXi 主機委託至 SDDC Manager 清單:

VCF Operations

  1. 在「VCF Operations」中,依序前往「Inventory」 >「Hosts」 >「Commission Hosts」。
  2. 選取 cl02-np01 網路集區,然後選取「vSAN ESA」儲存空間類型。
  3. 輸入主機 FQDN (esxi-h7.vmware.gve、esxi-h8.vmware.gve 和 esxi-h9.vmware.gve) 和 root 憑證。
  4. 接受 SSL 指紋、驗證主機,然後按一下「Commission」(委任)。

SDDC Manager API

執行下列指令,驗證並委託主機,然後輪詢工作 ID,直到傳回 Successful 為止:

ESXI_PASSWORD=$(gcloud secrets versions access latest \
    --secret="${ESXI_PASSWORD_SECRET}" --project="${PROJECT_ID}")

HOST_FQDNS=$(for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST _ <<< "${entry}"; echo "${HOST}.${DOMAIN}"
done | jq -R . | jq -s .)

HOSTS_JSON=$(jq -n --argjson f "${HOST_FQDNS}" --arg p "${ESXI_PASSWORD}" \
    --arg np "${POOL_ID}" --arg npn "${NETWORK_POOL_NAME}" \
    '$f | map({fqdn: ., username: "root", password: $p, storageType: "VSAN_ESA",
               networkPoolId: $np, networkPoolName: $npn})')

# 1. Validate hosts
curl -s -X POST "https://${SDDC_MANAGER}/v1/hosts/validations" \
    -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" -d "${HOSTS_JSON}"

# 2. Commission hosts
TASK_ID=$(curl -s -X POST "https://${SDDC_MANAGER}/v1/hosts" \
    -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
    -d "${HOSTS_JSON}" | jq -r '.id')

# 3. Poll task status until Successful
curl -s "https://${SDDC_MANAGER}/v1/tasks/${TASK_ID}" -H "Authorization: Bearer ${TOKEN}" | jq -r '.status'

如果主機 SSL 指紋顯示內部 (非 FQDN) 憑證名稱,表示主機未設定 DNS 搜尋網域。在受影響的 ESXi 主機上,執行 esxcli network ip dns search add -d vmware.gve 指令,重新執行 /var/lib/vmware/osdata/init.sh 指令碼,然後執行 /sbin/generate-certificates 指令,並重新啟動 rhttpproxy 和 hostd 服務 (/etc/init.d/rhttpproxy restart && /etc/init.d/hostd restart)。

檢查部署前的 IP 調整

在 SDDC Manager 中,請一律啟用所有 vSAN、vMotion 和網路連線驗證。只有在 VCF 指派給各主機的 vmk1 (vMotion) 和 vmk2 (vSAN) IP 位址,與該主機的 Compute Engine Dynamic NIC IP 位址相符時,這些驗證檢查才會通過。如果 SDDC Manager 指派集區 IP 位址的主機順序不同,導致不相符,叢集建立工作會在連線檢查時暫停。接著,您必須在後續步驟中調整 Dynamic NIC,然後再重試工作。

  1. 確認網路集區範圍與 Compute Engine vMotion 和 vSAN NIC IP 位址相符:確認網路集區僅包含您預先指派給新主機 Dynamic NIC 的 IP 位址 (在本例中為 192.168.2.21–192.168.2.23 和 192.168.3.21–192.168.3.23):

    # Inspect network pool definition
    curl -s "https://${SDDC_MANAGER}/v1/network-pools/${POOL_ID}" \
        -H "Authorization: Bearer ${TOKEN}" | jq '.networks[] | {type, vlanId, mtu, ipPools}'
    
    # Inspect Compute Engine dynamic NIC IPs per new host (VLAN 2 = vMotion, 3 = vSAN, 4 = TEP)
    for entry in "${CLUSTER_HOSTS[@]}"; do
      read -r HOST _ <<< "${entry}"
      echo "== ${HOST}"
      gcloud compute instances describe "${HOST}" --zone="${ZONE}" --project="${PROJECT_ID}" \
          --format="table(networkInterfaces[].name,networkInterfaces[].vlan,networkInterfaces[].networkIP)"
    done
    
  2. 依主機名稱遞增順序指派 IP 位址:依主機名稱遞增順序 (esxi-h7 → .21、esxi-h8 → .22、esxi-h9 → .23) 預先指派 Compute Engine IP 位址,讓兩端的 IP 位址組合相同。

  3. 確認 SDDC Manager 不會略過驗證:在 SDDC Manager 設備上 (以 root 身分),確認 application.properties 檔案不含任何 validation.disable.* 屬性:

    # Must return no output. If any validation.disable.* line is present, remove it
    # and run: systemctl restart domainmanager
    grep -n 'validation.disable' /etc/vmware/vcf/domainmanager/application.properties
    

    如果使用 SDDC Manager API 新增叢集,請勿在要求主體中設定 "skipValidations": true 屬性。

  4. 調整 NSX TEP 集區大小,以符合 Compute Engine TEP NIC IP 位址:為叢集設定新的靜態 NSX TEP IP 位址集區,範圍為 192.168.4.21–192.168.4.23 (從 TEP_START 變數到 TEP_END 變數),與新主機的 VLAN 4 Dynamic NIC IP 位址相符,並將閘道設為 192.168.4.1。

新增叢集

您可以使用 VCF Operations 或 SDDC Manager API,將叢集新增至目標網域:

VCF Operations

登入 VCF Operations,前往「Inventory」(庫存),展開「VCF Instances」(VCF 執行個體),選取目標網域 (mgmt-domain 或 wld01),然後按一下「Add cluster」(新增叢集) (或在 SDDC Manager UI 中,依序前往「Workload Domains」(工作負載網域) >「target domain」(目標網域) >「Actions」(動作) >「Add Cluster」(新增叢集))。使用下列設定完成精靈:

精靈頁面 欄位 值
儲存空間 類型 vSAN、啟用 vSAN ESA、vSAN HCI、關閉傳輸中資料加密
叢集 叢集名稱 cl02
圖片 vLCM 映像檔 選取現有叢集使用的映像檔,或選取「Extract an image from a host in this VCF instance」(從這個 VCF 執行個體中的主機擷取映像檔) (使用 esxi-h7)
主機 主機 esxi-h7、esxi-h8、esxi-h9 (以 vSAN ESA 形式委託,使用 cl02-np01 網路集區)
vSphere Distributed Switch 設定檔 預設 (單一 VDS) 或自訂:1 個上行 (uplink1 → vmnic0)、MTU 8896、流量類型 ESX 管理、VM 管理、vMotion、vSAN 和 NSX
NSX 切換模式 虛擬交換器運作模式 清除「Apply the default virtual switch mode configured in NSX Manager」,並將「Operational Mode」設為「Standard」。VMware 解決方案主機不支援預設模式 (Enhanced Datapath Standard)。
NSX 主機重疊 TEP VLAN 和 IP 指派 VLAN 4 (與現有 NSX 設定相符)、靜態 IP 集區 (不使用 DHCP):新集區 cl02-tep-pool、CIDR 192.168.4.0/24、範圍 192.168.4.21–192.168.4.23、閘道 192.168.4.1
查看 提交 按一下「完成」。依序前往「Fleet Management」 >「Tasks」,監控工作並記錄工作 ID (TASK_ID)。

SDDC Manager API

擷取目標網域 ID、vLCM 映像檔個性 ID 和委任主機 ID,然後驗證並提交建立叢集的規格:

# 1. Retrieve target domain ID, vLCM image personality ID, and host specs
DOMAIN_ID=$(curl -s "https://${SDDC_MANAGER}/v1/domains" -H "Authorization: Bearer ${TOKEN}" \
    | jq -r --arg d "${TARGET_DOMAIN}" '.elements[] | select(.name==$d) | .id')

curl -s "https://${SDDC_MANAGER}/v1/personalities" -H "Authorization: Bearer ${TOKEN}" \
    | jq -r '.elements[] | [.personalityId, .personalityName] | @tsv'
IMAGE_ID="PERSONALITY_ID"   # Select the personalityId of the existing clusters' image

HOST_SPECS=$(curl -s "https://${SDDC_MANAGER}/v1/hosts" -H "Authorization: Bearer ${TOKEN}" \
    | jq --argjson f "${HOST_FQDNS}" --arg vds "${VDS_NAME}" '
        [.elements[] | select(.fqdn as $x | $f | index($x))
         | {id, hostNetworkSpec: {vmNics: [{id: "vmnic0", uplink: "uplink1", vdsName: $vds}]}}]')
echo "${HOST_SPECS}" | jq 'length'   # Must equal 3

# 2. Construct the cluster specification (without skipValidations)
CLUSTER_SPEC=$(jq -n \
    --arg domain "${DOMAIN_ID}" --arg name "${CLUSTER_NAME}" --arg img "${IMAGE_ID}" \
    --argjson hosts "${HOST_SPECS}" --arg vds "${VDS_NAME}" --argjson mtu "${MTU}" \
    --arg tz "${TRANSPORT_ZONE}" --arg pool "${TEP_POOL_NAME}" \
    --arg cidr "${TEP_CIDR}" --arg gw "${TEP_GATEWAY}" --arg s "${TEP_START}" --arg e "${TEP_END}" '
{
  domainId: $domain,
  computeSpec: { clusterSpecs: [{
    name: $name,
    clusterImageId: $img,
    hostSpecs: $hosts,
    datastoreSpec: { vsanDatastoreSpec: { datastoreName: ($name + "-vsan"), esaConfig: { enabled: true } } },
    networkSpec: {
      vdsSpecs: [{
        name: $vds, mtu: $mtu,
        portGroupSpecs: [
          { name: ($vds + "-pg-mgmt"),    transportType: "MANAGEMENT", activeUplinks: ["uplink1"], teamingPolicy: "loadbalance_loadbased" },
          { name: ($vds + "-pg-vmotion"), transportType: "VMOTION",    activeUplinks: ["uplink1"], teamingPolicy: "loadbalance_loadbased" },
          { name: ($vds + "-pg-vsan"),    transportType: "VSAN",       activeUplinks: ["uplink1"], teamingPolicy: "loadbalance_loadbased" }
        ],
        nsxtSwitchConfig: {
          transportZones: [ { name: $tz, transportType: "OVERLAY" } ],
          hostSwitchOperationalMode: "STANDARD"
        }
      }],
      nsxClusterSpec: { nsxTClusterSpec: {
        uplinkProfiles: [{ name: ($name + "-uplink-profile"),
          teamings: [ { policy: "LOADBALANCE_SRCID", activeUplinks: ["uplink-1"] } ],
          transportVlan: 4 }],
        ipAddressPoolsSpec: [{ name: $pool,
          subnets: [{ cidr: $cidr, gateway: $gw, ipAddressPoolRanges: [ { start: $s, end: $e } ] }] }]
      }},
      networkProfiles: [{
        name: ($name + "-network-profile"), isDefault: true,
        nsxtHostSwitchConfigs: [{
          vdsName: $vds, uplinkProfileName: ($name + "-uplink-profile"), ipAddressPoolName: $pool,
          vdsUplinkToNsxUplink: [ { vdsUplinkName: "uplink1", nsxUplinkName: "uplink-1" } ]
        }]
      }]
    }
  }]}
}')

# 3. Validate the cluster specification
curl -s -X POST "https://${SDDC_MANAGER}/v1/clusters/validations" \
    -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
    -d "${CLUSTER_SPEC}" | jq '{executionStatus, resultStatus}'

# 4. Create the cluster and poll the task
TASK_ID=$(curl -s -X POST "https://${SDDC_MANAGER}/v1/clusters" \
    -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
    -d "${CLUSTER_SPEC}" | jq -r '.id')
curl -s "https://${SDDC_MANAGER}/v1/tasks/${TASK_ID}" -H "Authorization: Bearer ${TOKEN}" | jq -r '.status'

執行指令前,請將 PERSONALITY_ID 替換為叢集 vLCM 映像檔的 personalityId 值。

如果 VCF 指派給主機的 vMotion 或 vSAN IP 位址與 Compute Engine Dynamic NIC 不同,工作會在 vSAN 和 vMotion 連線能力的驗證步驟停止。請將工作維持在失敗狀態,完成「調整 vMotion 和 vSAN 動態 NIC」中的步驟,然後重試工作。請勿取消工作或停用驗證檢查。

調整 vMotion 和 vSAN 動態 NIC

如果叢集建立工作在 vSAN 和 vMotion 連線能力的驗證步驟停止,請套用本節中的步驟。如果工作通過該步驟,請僅執行步驟 1 和 2 來確認 IP 對齊,然後繼續執行「對齊 NSX TEP Dynamic NIC」。

  1. 讀取 VCF 分配的 IP 位址:查詢 SDDC Manager /v1/hosts 端點 (或 SDDC Manager platform 資料庫),查看 VCF 分配給各主機的 vMotion (vmk1) 和 vSAN (vmk2) IP 位址:

    curl -s "https://${SDDC_MANAGER}/v1/hosts" -H "Authorization: Bearer ${TOKEN}" | jq -r '
      ["FQDN","STATUS","CLUSTER","MGMT_IP","VMOTION_IP","VSAN_IP"],
      (.elements | sort_by(.fqdn)[] | [
         .fqdn, (.status // "-"), (.cluster.name // .cluster.id // "-"),
         (([.ipAddresses[]? | select(.type=="MANAGEMENT") | .ipAddress] | first) // "-"),
         (([.ipAddresses[]? | select(.type=="VMOTION")    | .ipAddress] | first) // "-"),
         (([.ipAddresses[]? | select(.type=="VSAN")       | .ipAddress] | first) // "-")
      ]) | @tsv' | column -t
    
    # Alternative (run on the SDDC Manager appliance shell):
    # psql -h localhost -U postgres -d platform \
    #   -c "select hostname, vmotion_ip_address, vsan_ip_address from host;"
    
  2. 與 Compute Engine Dynamic NIC 比較:列出每個新主機目前的 Dynamic NIC IP 位址:

    for entry in "${CLUSTER_HOSTS[@]}"; do
      read -r HOST _ <<< "${entry}"
      echo "== ${HOST}"
      gcloud compute instances describe "${HOST}" --zone="${ZONE}" --project="${PROJECT_ID}" \
          --format="table(networkInterfaces[].name,networkInterfaces[].vlan,networkInterfaces[].networkIP)"
    done
    
  3. 先刪除所有不相符的 Dynamic NIC,然後重新新增:先刪除所有不相符主機上不相符的 Dynamic NIC (vMotion 的 nic0.2 介面和 vSAN 的 nic0.3 介面),再重新新增任何介面。否則,兩個主機之間交換的 IP 位址會失敗,並顯示 IP_IN_USE 錯誤:

    # Example: VCF assigned esxi-h7 vMotion 192.168.2.22 and vSAN 192.168.3.22
    HOST="esxi-h7"
    VCF_VMOTION_IP="192.168.2.22"
    VCF_VSAN_IP="192.168.3.22"
    
    # 3a. Delete mismatched NICs (run on all mismatched hosts before running 3b)
    gcloud compute instances network-interfaces delete "${HOST}" \
        --network-interface=nic0.2 \
        --zone="${ZONE}" --project="${PROJECT_ID}" --quiet
    gcloud compute instances network-interfaces delete "${HOST}" \
        --network-interface=nic0.3 \
        --zone="${ZONE}" --project="${PROJECT_ID}" --quiet
    
    # 3b. Re-add the dynamic NICs with the VCF-allocated IP addresses
    # vMotion (VLAN 2)
    gcloud compute instances network-interfaces add "${HOST}" \
        --parent-nic-name=nic0 --vlan=2 \
        --network="${VPC_NETWORK}" --subnetwork="${VMOTION_SUBNET}" \
        --private-network-ip="${VCF_VMOTION_IP}" --no-address \
        --zone="${ZONE}" --project="${PROJECT_ID}"
    
    # vSAN (VLAN 3)
    gcloud compute instances network-interfaces add "${HOST}" \
        --parent-nic-name=nic0 --vlan=3 \
        --network="${VPC_NETWORK}" --subnetwork="${VSAN_SUBNET}" \
        --private-network-ip="${VCF_VSAN_IP}" --no-address \
        --zone="${ZONE}" --project="${PROJECT_ID}"
    
  4. 重試失敗的叢集工作:在「VCF Operations」中,依序前往「Fleet Management」 >「Tasks」重試工作,或執行下列 SDDC Manager API 指令:

    curl -s -X PATCH "https://${SDDC_MANAGER}/v1/tasks/${TASK_ID}" \
        -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
        -d '{"status": "RETRY"}'
    

    重試的工作會再次執行 vSAN 和 vMotion 的連線檢查,並在所有 Compute Engine 動態 NIC 與 VCF 指派的 IP 位址相符後成功完成。

調整 NSX TEP Dynamic NIC

NSX 將主機設為傳輸節點後,請驗證並調整新主機上的 VLAN 4 NSX TEP (vmk10) Dynamic NIC。

  1. 擷取 NSX 分配的 TEP IP 位址:查詢目標網域 (NSX_MANAGER) 的 NSX Manager,或在每個 ESXi 主機上執行 esxcli network ip interface ipv4 get -i vmk10 指令:

    NSX_PW="NSX_ADMIN_PASSWORD"
    
    # Map transport node ID to hostname
    curl -s -u "admin:${NSX_PW}" "https://${NSX_MANAGER}/api/v1/transport-nodes" \
        | jq -r '.results[] | [.id, .display_name] | @tsv'
    
    # Map transport node ID to TEP device and IP address
    curl -s -u "admin:${NSX_PW}" "https://${NSX_MANAGER}/api/v1/transport-nodes/state" \
        | jq -r '.results[] | [.transport_node_id, .state,
            ([.host_switch_states[]?.endpoints[]? | .device_name + "=" + .ip] | join(","))] | @tsv'
    

    執行指令前,請將 NSX_ADMIN_PASSWORD 替換為 NSX Manager admin 密碼 (可從 SDDC Manager /v1/credentials 端點或 VCF Operations 密碼管理取得)。

  2. 與 Compute Engine TEP NIC (VLAN 4) 比較:將 NSX 指派的 vmk10 IP 位址,與新主機 (esxi-h7、esxi-h8 和 esxi-h9) 的 VLAN 4 Dynamic NIC IP 位址進行比較。只有新主機在範圍內,請勿修改其他叢集中主機的 TEP NIC。

  3. 重新建立不相符的 TEP NIC:針對所有不相符的新主機,請先將各主機與 TEP NEG 中斷連結,並刪除所有不相符主機的 nic0.4 介面。接著,您重新新增 nic0.4 介面,並將主機重新附加至 TEP NEG:

    # Example: Compute Engine has 192.168.4.21 on esxi-h7, but NSX assigned 192.168.4.23
    HOST="esxi-h7"
    CURRENT_TEP_IP="192.168.4.21"
    NSX_TEP_IP="192.168.4.23"
    
    # 3a. Detach the host from the TEP NEG
    gcloud compute network-endpoint-groups update "${TEP_NEG}" \
        --zone="${ZONE}" --project="${PROJECT_ID}" \
        --remove-endpoint="instance=${HOST},ip=${CURRENT_TEP_IP}"
    
    # 3b. Delete the mismatched TEP NIC (nic0.4) on all mismatched hosts first
    gcloud compute instances network-interfaces delete "${HOST}" \
        --network-interface=nic0.4 \
        --zone="${ZONE}" --project="${PROJECT_ID}" --quiet
    
    # 3c. Re-add nic0.4 with the NSX-allocated IP address
    gcloud compute instances network-interfaces add "${HOST}" \
        --parent-nic-name=nic0 --vlan=4 \
        --network="${VPC_NETWORK}" --subnetwork="${TEP_SUBNET}" \
        --private-network-ip="${NSX_TEP_IP}" --no-address \
        --zone="${ZONE}" --project="${PROJECT_ID}"
    
    # 3d. Re-attach the host to the TEP NEG
    gcloud compute network-endpoint-groups update "${TEP_NEG}" \
        --zone="${ZONE}" --project="${PROJECT_ID}" \
        --add-endpoint="instance=${HOST}"
    

驗證叢集部署

叢集建立工作完成,且您已對齊所有 Dynamic NIC 後,請確認下列事項:

  • vCenter Server (vc01 或 vc02):cl02 叢集和所有三個主機都已連線且運作正常,沒有網路警報。
  • vSAN:在 cl02 叢集,依序前往「Monitor」(監控) >「vSAN」 >「Skyline Health」,確認所有健康狀態檢查均通過,且 vSAN 資料儲存庫顯示所有三個主機的合併容量。
  • NSX Manager:依序前往「System」(系統) >「Fabric」(網狀架構) >「Hosts」(主機),確認每部新主機都顯示「Success」(成功) 和「Up」(運作中),且所有疊加通道都已啟動。
  • VCF 作業:目標網域中的叢集狀態為「Active」(有效),且工作清單中沒有失敗的工作。
  • 現有叢集:網域中的所有其他叢集都維持健康狀態。
  • 選用:使用 vMotion 在現有叢集和 cl02 叢集之間,以及 cl02 叢集內的主機之間遷移測試 VM。

從 ESXi 主機殼層 (例如 esxi-h7),驗證 vMotion、vSAN 和 NSX TEP 介面的巨型框架連線 (8896 MTU 減去 28 位元組 IP/ICMP 標頭 = 8868 位元組):

esxcli network ip interface ipv4 get                        # Verify vmk0, vmk1, vmk2, and vmk10 IPs
vmkping -S vmotion -I vmk1 -d -s 8868 192.168.2.22          # vMotion
vmkping -I vmk2 -d -s 8868 192.168.3.22                     # vSAN
vmkping ++netstack=vxlan -I vmk10 -d -s 8868 192.168.4.22   # NSX TEP

選用:設定 vSAN 容錯數量

如果是 vSAN ESA,VCF 會根據叢集類型和主機數量,建立並指派預設資料儲存庫儲存空間政策。如要明確設定 FTT,請選擇叢集主機數量支援的政策:

可容許的故障數 資料放置配置 主機數量下限
FTT=1 RAID-1 (鏡像) 或 RAID-5 (糾刪碼) 3 (建議 4 個以上,以便在主機故障或維護期間重建)
FTT=2 RAID-1 (鏡像) 5
FTT=2 RAID-6 (糾刪碼) 6

如要在目標網域 vCenter Server (vc01 或 vc02) 的 vSphere Client 中設定預設儲存空間政策,請按照下列步驟操作:

  1. 停用 vSAN ESA 叢集的自動政策管理功能,以免 vSAN 覆寫自訂預設政策。
  2. 依序前往「Policies and Profiles」(政策和設定檔) >「VM Storage Policies」(VM 儲存空間政策) >「Create」(建立),啟用 vSAN 儲存空間規則,然後在「Availability」(可用性) 區段中選取「Failures to tolerate」(可容許的故障數) (例如,3 到 4 個主機為「1 failure - RAID-1 (Mirroring)」(1 個故障 - RAID-1 (鏡像)),6 個以上的主機為「2 failures - RAID-6 (Erasure Coding)」(2 個故障 - RAID-6 (糾刪碼)))。
  3. 將新政策設為資料儲存庫預設值:選取 cl02 vSAN 資料儲存庫,依序前往「Configure」(設定) >「General」(一般) >「Default Storage Policy」(預設儲存空間政策) >「Edit」(編輯),然後選取新政策。
  4. 將政策套用至現有 VM (依序點選「VM Policies」(VM 政策) >「Edit VM Storage Policies」(編輯 VM 儲存空間政策))。依序前往 cl02 叢集的「Monitor」(監控) >「vSAN」 >「Virtual Objects」(虛擬物件),確認是否符合規範。

排解叢集建立問題

下表列出將 vSphere 叢集新增至網域時的常見問題、原因和解決方法:

問題 原因 解析度
vSAN 和 vMotion 連線能力驗證失敗;新主機回報狀態不佳 建立或擴充叢集時,SDDC Manager 會從網路集區分配 vmk1 和 vmk2 IP 位址,不會保留主機順序。 請保持啟用驗證功能。建立與 Compute Engine NIC IP 位址相符的專用網路集區,確認預先部署的設定一致。如果工作在連線能力檢查時暫停,請調整 Dynamic NIC 並重試工作。
新增叢集後,NSX 主機狀態為 Degraded 或通道中斷 NSX Manager 會從 IP 集區隨機指派 TEP (vmk10) IP 位址,因此可能與 Compute Engine TEP NIC 不符;Dynamic NIC 子網路不支援 DHCP。 使用與 Compute Engine TEP IP 位址相符的專用 TEP IP 集區,並在 NSX 主機準備完成後,調整 TEP Dynamic NIC。
BFD 啟動時,NSX_VDL2 代理程式或主機回報 Degraded NSX TEP IP 集區中缺少閘道 IP 位址。 在 TEP IP 集區中設定子網路閘道 (192.168.4.1)。
重新新增動態 NIC 時發生 IP_IN_USE 錯誤 兩個主機交換了 IP 位址,或預定 IP 位址與其他叢集重疊。 請先刪除所有主機上不相符的 Dynamic NIC,再重新新增介面,並確認 IP 方案與現有叢集不重疊。
不支援 NSX 虛擬交換器模式 在 VCF 9.x 中,預設的 NSX 虛擬交換器模式為「Enhanced Datapath Standard」,VMware 解決方案主機不支援此模式。 清除「Apply the default virtual switch mode configured in NSX Manager」,並將「Operational Mode」設為「Standard」 (或 API 規格中的 "hostSwitchOperationalMode": "STANDARD")。詳情請參閱「NSX 虛擬交換器模式」。
主機無法對子網路閘道 (.1) 執行連線偵測 (ping) Google Cloud 不會回應子網路閘道 IP 位址上的 ICMP 回應要求。 這是預期行為,請忽略閘道連線偵測 (ping) 警告。
時間同步處理 (NTP) 設定 裸機主機使用 Compute Engine 中繼資料伺服器同步時間。 直接使用中繼資料伺服器 IP 位址 (169.254.169.254) 做為 NTP 伺服器。
主機指紋或憑證顯示內部名稱 主機上未設定 DNS 搜尋網域,或主機名稱結尾為點號。 執行 esxcli network ip dns search add -d vmware.gve 指令,重新執行 /var/lib/vmware/osdata/init.sh 指令碼,然後執行 /sbin/generate-certificates 指令,並重新啟動 rhttpproxy 和 hostd 服務。
主機委任失敗 vmk0 VMkernel 轉接器仍使用 DHCP,因為啟動服務並未轉換。 請執行 esxcli network ip interface ipv4 get -i vmk0 指令。如果類型是 DHCP,請手動設為靜態 (例如在 esxi-h7:esxcli network ip interface ipv4 set -i vmk0 -t static -I 192.168.0.161 -N 255.255.255.0 -g 192.168.0.1)。
vSAN 複製錯誤、vMotion 逾時或 NSX 疊加層分割 VCF 會將 VDS、VMkernel 轉接器和 NSX 設定檔的 MTU 預設為 9000 位元組,而虛擬私有雲網路會捨棄大於 8896 位元組的框架。 在 VDS、網路集區 (vMotion 和 vSAN) 和 NSX 上行設定檔,設定 8896 位元組的 MTU。詳情請參閱「VDS MTU 不相符」。
精靈會提示輸入疊加通訊埠群組的 VLAN ID 預設 VDS 設定檔需要 NSX 主機疊加層 VLAN ID。 輸入現有 NSX 設定的 TEP VLAN ID (本指南中為 4)。
新叢集上的工作負載 VM 沒有任何通訊埠群組 預設 VDS 設定檔只會建立基礎架構通訊埠群組。 建立叢集後,請為工作負載 VM 建立分散式通訊埠群組,或使用自訂切換設定。
無法使用所選 vLCM 映像檔新增主機 叢集的 vLCM 映像檔與主機上安裝的 ESXi 版本不同。 使用現有叢集採用的 ESXi 映像檔系列,或從其中一個新主機擷取映像檔。

後續步驟