Sie können einen vSAN-Cluster (ESA oder OSA) in der Verwaltungsdomäne oder VI-Arbeitslastdomäne mithilfe einer JSON-Spezifikation und der VMware Cloud Foundation-API ausweiten.

Wenn Sie einen Cluster ausdehnen, ändert VMware Cloud Foundation die Einstellung „Ausfalltoleranz von Site“ für die mit dem Datenspeicher dieses Clusters verknüpfte Speicherrichtlinie von Keine – Standardcluster in Site-Spiegelung – Stretched Cluster. Dies betrifft alle VMs, die die Standarddatenspeicherrichtlinie in diesem Cluster verwenden. Wenn Sie die Einstellung „Ausfalltoleranz von Site“ für bestimmte VMs nicht ändern möchten, wenden Sie vor dem Ausdehnen des Clusters eine andere Speicherrichtlinie auf diese VMs an.

Voraussetzungen

  • Stellen Sie sicher, dass vCenter Server betriebsbereit ist.
  • Stellen Sie sicher, dass Sie die Arbeitsmappe „Planung und Vorbereitung“ mit der Bereitstellungsoption „Verwaltungsdomäne“ oder „VI-Arbeitslastdomäne“ ausgefüllt haben.
  • Stellen Sie sicher, dass Ihre Umgebung die Anforderungen erfüllt, die im Arbeitsblatt „Checkliste für Voraussetzungen“ in der Arbeitsmappe „Planung und Vorbereitung“ aufgeführt sind.
  • Erstellen Sie einen Netzwerkpool für Verfügbarkeitszone 2.
  • Nehmen Sie Hosts für Verfügbarkeitszone 2 in Betrieb. Siehe Inbetriebnahme von Hosts.
  • Stellen Sie sicher, dass sie über genügend Hosts verfügen, sodass in jeder Verfügbarkeitszone eine gleiche Anzahl von Hosts vorhanden ist. Dadurch wird sichergestellt, dass genügend Ressourcen für den Fall vorhanden sind, dass eine Verfügbarkeitszone vollständig ausfällt.
  • Stellen Sie einen vSAN-Zeugenhost bereit und konfigurieren Sie ihn. Weitere Informationen finden Sie unter Bereitstellen und Konfigurieren eines vSAN-Zeugenhosts.
  • Wenn Sie einen Cluster in einer VI-Arbeitslastdomäne ausweiten, muss der Standard-vSphere-Cluster ausgeweitet worden sein.
Hinweis: In den folgenden Fällen können Sie einen Cluster nicht erweitern:
  • Bei dem Cluster handelt es sich um einen vSAN Max-Cluster.
  • Auf dem Cluster ist ein vSAN-Remote-Datenspeicher gemountet.
  • Der Cluster teilt eine vSAN-Speicherrichtlinie mit anderen Clustern.
  • Der Cluster enthält DPU-gestützte Hosts.

Prozedur

  1. Erstellen Sie eine JSON-Spezifikation in einem Texteditor.
    Das folgende Beispiel gilt für eine Umgebung mit einem einzelnen vSphere Distributed Switch. Wenn Sie über mehrere vSphere Distributed Switches verfügen, finden Sie im VMware Cloud Foundation-API-Referenzhandbuch Einzelheiten zur Erstellung einer JSON-Spezifikation.
    Hinweis: Die ESXi-Hosts, die Sie zu Verfügbarkeitszone 2 hinzufügen, müssen dieselbe vmnic-zu-vSphere Distributed Switch-Zuordnung verwenden wie die vorhandenen Hosts in Verfügbarkeitszone 1.
    {
     "clusterStretchSpec": {
      "hostSpecs": [
       {
        "hostname": "sfo02-w01-esx01.sfo.rainpole.io",
        "hostNetworkSpec": {
         "networkProfileName": "sfo-w01-az2-nsx-np01",
         "vmNics": [
          {
           "id": "vmnic0",
           "uplink": "uplink1",
           "vdsName": "sfo-w01-cl01-vds01"
          },
          {
           "id": "vmnic1",
           "uplink": "uplink2",
           "vdsName": "sfo-w01-cl01-vds01"
          }
         ]
        },
        "id": "<ESXi host 1 ID>",
        "licenseKey": "<license key>"
       },
       {
        "hostname": "sfo02-w01-esx02.sfo.rainpole.io",
        "hostNetworkSpec": {
         "networkProfileName": "sfo-w01-az2-nsx-np01",
         "vmNics": [
          {
           "id": "vmnic0",
           "uplink": "uplink1",
           "vdsName": "sfo-w01-cl01-vds01"
          },
          {
           "id": "vmnic1",
           "uplink": "uplink2",
           "vdsName": "sfo-w01-cl01-vds01"
          }
         ]
        },
        "id": "<ESXi host 2 ID>",
        "licenseKey": "<license key>"
       },
       {
        "hostname": "sfo02-w01-esx03.sfo.rainpole.io",
        "hostNetworkSpec": {
         "networkProfileName": "sfo-w01-az2-nsx-np01",
         "vmNics": [
          {
           "id": "vmnic0",
           "uplink": "uplink1",
           "vdsName": "sfo-w01-cl01-vds01"
          },
          {
           "id": "vmnic1",
           "uplink": "uplink2",
           "vdsName": "sfo-w01-cl01-vds01"
          }
         ]
        },
        "id": "<ESXi host 3 ID>",
        "licenseKey": "<license key>"
       },
       {
        "hostname": "sfo02-w01-esx04.sfo.rainpole.io",
        "hostNetworkSpec": {
         "networkProfileName": "sfo-w01-az2-nsx-np01",
         "vmNics": [
          {
           "id": "vmnic0",
           "uplink": "uplink1",
           "vdsName": "sfo-w01-cl01-vds01"
          },
          {
           "id": "vmnic1",
           "uplink": "uplink2",
           "vdsName": "sfo-w01-cl01-vds01"
          }
         ]
        },
        "id": "<ESXi host 4 ID>",
        "licenseKey": "<license key>"
       }
      ],
      "isEdgeClusterConfiguredForMultiAZ": <true, if the cluster hosts an NSX Edge cluster; false, if the cluster does not host an NSX Edge cluster>,
      "networkSpec": {
       "networkProfiles": [
        {
         "isDefault": false,
         "name": "sfo-w01-az2-nsx-np01",
         "nsxtHostSwitchConfigs": [
          {
           "ipAddressPoolName": "sfo-w01-az2-host-ip-pool01",
           "uplinkProfileName": "sfo-w01-az2-host-uplink-profile01",
           "vdsName": "sfo-w01-cl01-vds01",
           "vdsUplinkToNsxUplink": [
            {
             "nsxUplinkName": "uplink-1",
             "vdsUplinkName": "uplink1"
            },
            {
             "nsxUplinkName": "uplink-2",
             "vdsUplinkName": "uplink2"
            }
           ]
          }
         ]
        }
       ],
       "nsxClusterSpec": {
        "ipAddressPoolsSpec": [
         {
          "description": "WLD01 AZ2 Host TEP Pool",
          "name": "sfo-w01-az2-host-ip-pool01",
          "subnets": [
           {
            "cidr": "172.16.44.0/24",
            "gateway": "172.16.44.253",
            "ipAddressPoolRanges": [
             {
              "end": "172.16.44.200",
              "start": "172.16.44.10"
             }
            ]
           }
          ]
         }
        ],
        "uplinkProfiles": [
         {
          "name": "sfo-w01-az2-host-uplink-profile01",
          "teamings": [
           {
            "activeUplinks": [
             "uplink-1",
             "uplink-2"
            ],
            "name": "DEFAULT",
            "policy": "LOADBALANCE_SRCID",
            "standByUplinks": []
           }
          ],
          "transportVlan": 1644
         }
        ]
       }
      },
      "witnessSpec": {
       "fqdn": "sfo-w01-cl01-vsw01.sfo.rainpole.io",
       "vsanCidr": "172.17.11.0/24",
       "vsanIp": "172.17.11.219"
      },
      "witnessTrafficSharedWithVsanTraffic": false
     }
    }
    Hinweis: Ersetzen Sie die Beispielwerte in der JSON-Datei durch die korrekten Werte für Ihre Umgebung.
  2. Klicken Sie im Navigationsbereich auf Developer Center > API-Explorer.
  3. Rufen Sie die eindeutigen IDs für jeden ESXi-Host in der JSON-Spezifikation ab und ersetzen Sie sie.
    1. Erweitern Sie den Abschnitt APIs für die Verwaltung von Hosts und erweitern Sie GET /v1/hosts.
    2. Geben Sie im Textfeld Status UNASSIGNED_USEABLE ein und klicken Sie auf Ausführen.
    3. Klicken Sie im Abschnitt Antwort auf PageOfHost, kopieren Sie das id-Element jedes Hosts und ersetzen Sie den entsprechenden Wert in der JSON-Spezifikation.

      ESXi-Host

      Wert

      ESXi-Host 1

      ESXi-Host 1-ID

      ESXi-Host 2

      ESXi-Host 2-ID

      ESXi-Host 3

      ESXi-Host 3-ID

      ESXi-Host 4

      ESXi-Host 4-ID
  4. Ersetzen Sie den Lizenzschlüsselwert in der JSON-Spezifikation durch gültige Schlüssel.
  5. Rufen Sie die eindeutige ID für den Verwaltungscluster ab.
    1. Erweitern Sie den Abschnitt APIs für die Verwaltung von Clustern und erweitern Sie GET /v1/cluster.
    2. Klicken Sie auf Ausführen.
    3. Klicken Sie im Abschnitt Antwort auf PageOfCluster und kopieren Sie das id-Element des Verwaltungsclusters.
      Sie benötigen die Cluster-ID für die nachfolgenden Schritte.
  6. Validieren Sie die JSON-Spezifikationsdatei.
    1. Erweitern Sie den Abschnitt APIs für die Verwaltung von Clustern und erweitern Sie POST /v1/clusters/{id}/validations.
    2. Geben Sie im Textfeld Wert die eindeutige ID für den Verwaltungscluster ein, die Sie in Schritt 5 abgerufen haben.
    3. Geben Sie im Textfeld clusterUpdateSpec Folgendes ein:
      {
      "clusterUpdateSpec": 
      }
    4. Fügen Sie die JSON-Spezifikation ein.
      Beispiel:
      {
      "clusterUpdateSpec": {
       "clusterStretchSpec": {
        "hostSpecs": [
         {
          "hostname": "sfo02-w01-esx01.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 1 ID>",
          "licenseKey": "<license key>"
         },
         {
          "hostname": "sfo02-w01-esx02.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 2 ID>",
          "licenseKey": "<license key>"
         },
         {
          "hostname": "sfo02-w01-esx03.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 3 ID>",
          "licenseKey": "<license key>"
         },
         {
          "hostname": "sfo02-w01-esx04.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 4 ID>",
          "licenseKey": "<license key>"
         }
        ],
        "isEdgeClusterConfiguredForMultiAZ": <true, if the cluster hosts an NSX Edge cluster; false, if the cluster does not host an NSX Edge cluster>,
        "networkSpec": {
         "networkProfiles": [
          {
           "isDefault": false,
           "name": "sfo-w01-az2-nsx-np01",
           "nsxtHostSwitchConfigs": [
            {
             "ipAddressPoolName": "sfo-w01-az2-host-ip-pool01",
             "uplinkProfileName": "sfo-w01-az2-host-uplink-profile01",
             "vdsName": "sfo-w01-cl01-vds01",
             "vdsUplinkToNsxUplink": [
              {
               "nsxUplinkName": "uplink-1",
               "vdsUplinkName": "uplink1"
              },
              {
               "nsxUplinkName": "uplink-2",
               "vdsUplinkName": "uplink2"
              }
             ]
            }
           ]
          }
         ],
         "nsxClusterSpec": {
          "ipAddressPoolsSpec": [
           {
            "description": "WLD01 AZ2 Host TEP Pool",
            "name": "sfo-w01-az2-host-ip-pool01",
            "subnets": [
             {
              "cidr": "172.16.44.0/24",
              "gateway": "172.16.44.253",
              "ipAddressPoolRanges": [
               {
                "end": "172.16.44.200",
                "start": "172.16.44.10"
               }
              ]
             }
            ]
           }
          ],
          "uplinkProfiles": [
           {
            "name": "sfo-w01-az2-host-uplink-profile01",
            "teamings": [
             {
              "activeUplinks": [
               "uplink-1",
               "uplink-2"
              ],
              "name": "DEFAULT",
              "policy": "LOADBALANCE_SRCID",
              "standByUplinks": []
             }
            ],
            "transportVlan": 1644
           }
          ]
         }
        },
        "witnessSpec": {
         "fqdn": "sfo-w01-cl01-vsw01.sfo.rainpole.io",
         "vsanCidr": "172.17.11.0/24",
         "vsanIp": "172.17.11.219"
        },
        "witnessTrafficSharedWithVsanTraffic": false
       }
      }
      Hinweis: Ersetzen Sie die Beispielwerte in der JSON-Datei durch die korrekten Werte für Ihre Umgebung.
    5. Klicken Sie auf Ausführen.
    6. Klicken Sie im Bestätigungsdialogfeld auf Fortfahren.
    7. Erweitern Sie im Abschnitt Antwort den Abschnitt Ergebnis und stellen Sie sicher, dass die Antwort SUCCEEDED ist.
  7. Erweitern Sie den Cluster mit der JSON-Spezifikation.
    1. Erweitern Sie den Abschnitt APIs für die Verwaltung von Clustern und erweitern Sie PATCH /v1/clusters/{id}.
    2. Fügen Sie die eindeutige ID des Verwaltungsclusters in das Textfeld Wert ein.
    3. Fügen Sie im Textfeld clusterUpdateSpec die JSON-Spezifikation ein.
      Beispiel:
      {
       "clusterStretchSpec": {
        "hostSpecs": [
         {
          "hostname": "sfo02-w01-esx01.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 1 ID>",
          "licenseKey": "<license key>"
         },
         {
          "hostname": "sfo02-w01-esx02.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 2 ID>",
          "licenseKey": "<license key>"
         },
         {
          "hostname": "sfo02-w01-esx03.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 3 ID>",
          "licenseKey": "<license key>"
         },
         {
          "hostname": "sfo02-w01-esx04.sfo.rainpole.io",
          "hostNetworkSpec": {
           "networkProfileName": "sfo-w01-az2-nsx-np01",
           "vmNics": [
            {
             "id": "vmnic0",
             "uplink": "uplink1",
             "vdsName": "sfo-w01-cl01-vds01"
            },
            {
             "id": "vmnic1",
             "uplink": "uplink2",
             "vdsName": "sfo-w01-cl01-vds01"
            }
           ]
          },
          "id": "<ESXi host 4 ID>",
          "licenseKey": "<license key>"
         }
        ],
        "isEdgeClusterConfiguredForMultiAZ": <true, if the cluster hosts an NSX Edge cluster; false, if the cluster does not host an NSX Edge cluster>,
        "networkSpec": {
         "networkProfiles": [
          {
           "isDefault": false,
           "name": "sfo-w01-az2-nsx-np01",
           "nsxtHostSwitchConfigs": [
            {
             "ipAddressPoolName": "sfo-w01-az2-host-ip-pool01",
             "uplinkProfileName": "sfo-w01-az2-host-uplink-profile01",
             "vdsName": "sfo-w01-cl01-vds01",
             "vdsUplinkToNsxUplink": [
              {
               "nsxUplinkName": "uplink-1",
               "vdsUplinkName": "uplink1"
              },
              {
               "nsxUplinkName": "uplink-2",
               "vdsUplinkName": "uplink2"
              }
             ]
            }
           ]
          }
         ],
         "nsxClusterSpec": {
          "ipAddressPoolsSpec": [
           {
            "description": "WLD01 AZ2 Host TEP Pool",
            "name": "sfo-w01-az2-host-ip-pool01",
            "subnets": [
             {
              "cidr": "172.16.44.0/24",
              "gateway": "172.16.44.253",
              "ipAddressPoolRanges": [
               {
                "end": "172.16.44.200",
                "start": "172.16.44.10"
               }
              ]
             }
            ]
           }
          ],
          "uplinkProfiles": [
           {
            "name": "sfo-w01-az2-host-uplink-profile01",
            "teamings": [
             {
              "activeUplinks": [
               "uplink-1",
               "uplink-2"
              ],
              "name": "DEFAULT",
              "policy": "LOADBALANCE_SRCID",
              "standByUplinks": []
             }
            ],
            "transportVlan": 1644
           }
          ]
         }
        },
        "witnessSpec": {
         "fqdn": "sfo-w01-cl01-vsw01.sfo.rainpole.io",
         "vsanCidr": "172.17.11.0/24",
         "vsanIp": "172.17.11.219"
        },
        "witnessTrafficSharedWithVsanTraffic": false
       }
      }
      Hinweis: Ersetzen Sie die Beispielwerte in der JSON-Datei durch die korrekten Werte für Ihre Umgebung.
    4. Klicken Sie auf Ausführen.
    5. Klicken Sie im Bestätigungsdialogfeld auf Fortfahren.

Nächste Maßnahme

Konfigurieren Sie NSX für Verfügbarkeitszone 2.