Bekannte Probleme

Auf dieser Seite finden Sie bekannte Probleme und Problemumgehungen für die Bereitstellung und den Betrieb von VMware Cloud Foundation (VCF) in der VMware-Lösung in Google Cloud.

Host-vMotion- und vSAN-IP-Adressen stimmen während der VCF-Bereitstellung nicht überein

Wenn Sie eine VCF-Verwaltungsdomain bereitstellen, sortiert das VCF-Installationsprogramm den vMotion- und vSAN-IP-Adresspool in aufsteigender numerischer Reihenfolge und weist den ESXi-Hosts sequenziell IP-Adressen in genau der Reihenfolge zu, in der sie im hostSpecs-Array angezeigt werden. Wenn Sie eine VI-Arbeitslastdomain erstellen oder einen Cluster erweitern, weist SDDC Manager vMotion- und vSAN-VMkernel-IP-Adressen aus dem konfigurierten IP-Adresspool zu, ohne die hostSpecs-Hostreihenfolge beizubehalten.

Da Google Cloud VPC-Netzwerke strenge Quell- und Ziel-IP-Prüfungen für die dynamischen NICs jedes Bare-Metal-Knotens erzwingen, muss die IP-Adresse, die VCF dem vmk1-Adapter (vMotion) oder vmk2-Adapter (vSAN) eines Hosts zuweist, mit der IP-Adresse übereinstimmen, die auf der entsprechenden dynamischen Compute Engine-NIC (nic0.VLAN_ID) konfiguriert ist. Wenn die IP-Adresse der dynamischen NIC eines Hosts nicht mit der von VCF zugewiesenen Laufzeit-IP-Adresse übereinstimmt, empfängt oder überträgt der Hypervisor Traffic mit einer nicht übereinstimmenden IP-Adresse und die Netzwerkvalidierung oder Clusterbereitstellung schlägt fehl.

Betrachten Sie beispielsweise eine Verwaltungsdomain-Bereitstellung mit vier Hosts und den folgenden dynamischen NIC-Zuweisungen von Compute Engine:

Host-FQDN vMotion-IP-Adresse (vmk1) vSAN-IP (vmk2) NSX-TEP-IP (vmk10)
esxi-h0.40-vmware.gve 10.40.2.2 10.40.3.2 10.40.4.2
esxi-h1.40-vmware.gve 10.40.2.5 10.40.3.5 10.40.4.5
esxi-h2.40-vmware.gve 10.40.2.3 10.40.3.3 10.40.4.3
esxi-h3.40-vmware.gve 10.40.2.4 10.40.3.4 10.40.4.4

Wenn die Hosts in der Eingabekonfiguration als esxi-h0, esxi-h2, esxi-h1, esxi-h3 sortiert sind, sortiert das VCF-Installationsprogramm den Pool (10.40.2.2, 10.40.2.3, 10.40.2.4, 10.40.2.5) und ordnet die Adressen nacheinander esxi-h0, esxi-h2, esxi-h1 und esxi-h3 zu. Der Host esxi-h1 empfängt 10.40.2.4 vom Installationsprogramm, obwohl die zugrunde liegende dynamische Compute Engine-NIC 10.40.2.5 erwartet.

Problemumgehung: Verwenden Sie eine der folgenden Optionen, je nachdem, ob Sie eine neue Verwaltungsdomain bereitstellen oder eine vorhandene Arbeitslastdomain oder einen vorhandenen Cluster erweitern.

Option 1: Hostspezifikationen für die Bereitstellung der Verwaltungsdomain vorsortieren

Wenn Sie das VMware-Lösungstoolkit (self-managed-vmware-solution-toolkit) verwenden, fragt das Toolkit automatisch die dynamischen NIC-IP-Adressen Ihrer Bare-Metal-Knoten ab und sortiert die Arrays hostSpecs und includeIpAddressRanges in Ihrer JSON-Datei für die VCF-Bereitstellung.

Wenn Sie die JSON-Datei für die VCF-Bereitstellung manuell erstellen oder ändern, richten Sie die Reihenfolge der Einträge im Array hostSpecs an der aufsteigenden numerischen Sortierreihenfolge der zugewiesenen dynamischen NIC-IP-Adressen aus (für das vorherige Beispiel: 10.40.2.2 für esxi-h0.40-vmware.gve, 10.40.2.3 für esxi-h2.40-vmware.gve, 10.40.2.4 für esxi-h3.40-vmware.gve und 10.40.2.5 für esxi-h1.40-vmware.gve):

  1. IP-Adresspool konfigurieren: Je nachdem, ob Ihre IP-Zuweisungen zusammenhängend sind, geben Sie den Pool mit zusammenhängenden Bereichen oder expliziten IP-Adressen an:

    • Zusammenhängende IP-Bereiche:

      "includeIpAddressRanges": [
        {
          "startIpAddress": "10.40.2.2",
          "endIpAddress": "10.40.2.5"
        }
      ]
      
    • Nicht zusammenhängende IP-Adressen:

      "includeIpAddress": [
        "10.40.2.2",
        "10.40.2.3",
        "10.40.2.4",
        "10.40.2.5"
      ]
      
  2. Sortieren Sie das hostSpecs-Array vor, sodass die Hosts in aufsteigender Reihenfolge ihrer zugewiesenen IP-Adressen angezeigt werden:

    "hostSpecs": [
      {
        "hostname": "esxi-h0.40-vmware.gve"
      },
      {
        "hostname": "esxi-h2.40-vmware.gve"
      },
      {
        "hostname": "esxi-h3.40-vmware.gve"
      },
      {
        "hostname": "esxi-h1.40-vmware.gve"
      }
    ]
    

Option 2: Dynamische NICs während der Erweiterung der Arbeitslastdomain oder des Clusters neu konfigurieren

Wenn Sie eine VI-Arbeitslastdomain bereitstellen oder einen Cluster mit SDDC Manager erweitern, gleichen Sie die vMotion- und vSAN Dynamic NICs mit den von VCF zugewiesenen Laufzeit-IP-Adressen ab:

  1. Nehmen Sie die Bare-Metal-ESXi-Hosts in SDDC Manager und vCenter Server in Betrieb und starten Sie den Workflow zum Erstellen der Arbeitslastdomain oder des Clusters. Lassen Sie zu, dass der Workflow in der Phase der vSAN- und vMotion-Konnektivitätsprüfung pausiert oder fehlschlägt.
  2. Rufen Sie die von VCF zugewiesenen Laufzeit-IP-Adressen entweder über die SDDC Manager-Datenbank oder die SDDC Manager REST API ab (oder prüfen Sie die VMkernel-Adapter im vSphere-Client):

    • VCF-Datenbankabfrage (auf der SDDC Manager-Appliance ausgeführt):

      psql -h localhost -U postgres -d platform -c "select * from host;"
      
    • SDDC Manager REST API:

      curl -u ADMIN_USER:ADMIN_PASSWORD \
         -X GET https://SDDC_MANAGER_FQDN/v1/hosts
      

      Ersetzen Sie vor dem Ausführen des Befehls curl Folgendes:

      • ADMIN_USER: Ihr SDDC Manager-Administratorname.
      • ADMIN_PASSWORD: Ihr SDDC Manager-Administratorpasswort.
      • SDDC_MANAGER_FQDN: der voll qualifizierte Domainname oder die IP-Adresse Ihrer SDDC Manager-Appliance.
  3. Löschen Sie zuerst die nicht übereinstimmende dynamische NIC (nic0.VLAN_ID) auf allen betroffenen ESXi-Hosts. Sie müssen alle Löschungen dynamischer NICs auf allen Hosts abschließen, bevor Sie Schnittstellen wieder hinzufügen. Andernfalls lehnt Compute Engine das Hinzufügen der Schnittstelle mit einem IP-Adresskonflikt ab, wenn ein anderer Host die Ziel-IP-Adresse noch hat:

    gcloud compute instances network-interfaces delete HOST_INSTANCE_NAME \
       --zone=ZONE \
       --network-interface=nic0.VLAN_ID \
       --project=PROJECT_ID
    
  4. Nachdem alle nicht übereinstimmenden dynamischen NICs auf allen Hosts gelöscht wurden, fügen Sie die dynamische NIC (nic0.VLAN_ID) auf jedem Host mit der genauen IPv4-Adresse, die von VCF zugewiesen wurde, wieder hinzu.

    gcloud compute instances network-interfaces add HOST_INSTANCE_NAME \
       --zone=ZONE \
       --parent-nic-name=nic0 \
       --vlan=VLAN_ID \
       --subnetwork=SUBNET_NAME \
       --no-address \
       --private-network-ip=VMWARE_ASSIGNED_IP \
       --project=PROJECT_ID
    

    Ersetzen Sie vor dem Ausführen der vorherigen Befehle Folgendes:

    • HOST_INSTANCE_NAME: der Name der Bare-Metal-ESXi-Instanz in Compute Engine.
    • ZONE: die Zone, in der sich die Bare-Metal-Instanz befindet.
    • VLAN_ID: Die VLAN-ID, die der dynamischen NIC zugeordnet ist (z. B. 2 für vSAN oder 3 für vMotion), die den Schnittstellennamen nic0.VLAN_ID bildet.
    • SUBNET_NAME: der Name des vSAN- oder vMotion-Subnetzes.
    • VMWARE_ASSIGNED_IP: die IPv4-Adresse oder der vorhandene reservierte interne IP-Adressressourcenname, der mit der IP-Adresse übereinstimmt, die dem VMkernel-Adapter des Hosts von VCF zugewiesen wurde.
    • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  5. Setzen Sie die Clusterbereitstellungsaufgabe in SDDC Manager fort und schließen Sie sie ab.

Nicht übereinstimmende NSX-TEP-IP-Adresse auf Hosts

Während der Vorbereitung des NSX-Transportknotens weist der NSX Manager Transport Endpoint-IP-Adressen (TEP) (vmk10 oder vmk3) aus dem konfigurierten NSX-IP-Pool zu. DHCP wird in Google Cloud VPC-Subnetzen für dynamische NICs nicht unterstützt. Da NSX Manager IP-Adressen nach dem Zufallsprinzip aus dem Pool zuweist, stimmt die auf dem vmk10-Adapter eines ESXi-Hosts konfigurierte TEP-IP-Adresse möglicherweise nicht mit der IP-Adresse überein, die ursprünglich auf der dynamischen NIC (nic0.TEP_VLAN_ID) des Hosts (NSX-TEP) vorab zugewiesen wurde.

Problemumgehung: Aktualisieren Sie nach Abschluss der NSX-Transportknotenkonfiguration die dynamischen NSX-TEP-NICs auf Ihren Hosts, damit sie mit den von NSX zugewiesenen TEP-IP-Adressen übereinstimmen:

  1. Prüfen Sie die TEP-IP-Adresse, die jedem ESXi-Host zugewiesen ist, in der NSX Manager-Benutzeroberfläche (gehen Sie in VCF 9.1 zu System > Fabric > Hosts) oder im vSphere-Client.
  2. Entfernen Sie alle Bare-Metal-Hostinstanzen aus der NSX-Netzwerk-Endpunktgruppe (NEG), bevor Sie die NSX-TEP-Netzwerkschnittstellen ändern:

    gcloud compute network-endpoint-groups update NSX_NEG_NAME \
        --zone=ZONE \
        --project=PROJECT_ID \
        --remove-endpoint="instance=HOST_INSTANCE_NAME"
    
  3. Löschen Sie zuerst die dynamische NIC NSX-TEP (nic0.TEP_VLAN_ID) auf allen betroffenen Hosts. Löschen Sie alle dynamischen NICs vom Typ NSX-TEP auf allen Hosts, bevor Sie Schnittstellen wieder hinzufügen, um IP-Adresskonflikte zwischen Hosts zu vermeiden:

    gcloud compute instances network-interfaces delete HOST_INSTANCE_NAME \
        --zone=ZONE \
        --network-interface=nic0.TEP_VLAN_ID \
        --project=PROJECT_ID
    
  4. Nachdem alle NSX-TEP Dynamic NICs auf allen Hosts gelöscht wurden, erstellen Sie die nic0.TEP_VLAN_ID-Schnittstelle auf jedem Host mit der vom NSX Manager zugewiesenen TEP-IPv4-Adresse neu.

    gcloud compute instances network-interfaces add HOST_INSTANCE_NAME \
        --zone=ZONE \
        --parent-nic-name=nic0 \
        --vlan=TEP_VLAN_ID \
        --subnetwork=TEP_SUBNET_NAME \
        --no-address \
        --private-network-ip=TEP_IP_ADDRESS \
        --project=PROJECT_ID
    
  5. Hängen Sie alle Bare-Metal-Hostinstanzen wieder an die NSX-NEG an:

    gcloud compute network-endpoint-groups update NSX_NEG_NAME \
        --zone=ZONE \
        --project=PROJECT_ID \
        --add-endpoint="instance=HOST_INSTANCE_NAME"
    

Ersetzen Sie vor dem Ausführen der vorherigen Befehle Folgendes:

  • NSX_NEG_NAME: der Name Ihrer zonalen NSX-NEG.
  • HOST_INSTANCE_NAME: der Name der Bare-Metal-ESXi-Instanz.
  • ZONE: die Zone, in der sich die Bare-Metal-Instanz befindet.
  • TEP_VLAN_ID: die VLAN-ID, die der dynamischen NIC NSX-TEP zugewiesen ist (z. B. 4), die den Schnittstellennamen nic0.TEP_VLAN_ID bildet.
  • TEP_SUBNET_NAME: der Name Ihres NSX-TEP-Subnetzes.
  • TEP_IP_ADDRESS: die TEP-IPv4-Adresse oder der Name der vorhandenen reservierten internen IP-Adressressource, die mit der IP-Adresse übereinstimmt, die dem ESXi-Host (vmk10) von NSX Manager zugewiesen wurde.
  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .

VDS-MTU stimmt nicht mit Google Cloud VPC-Jumbo-Frames überein

Google Cloud VPC-Netzwerke unterstützen eine maximale Übertragungseinheit (MTU) von bis zu 8896 Byte für Jumbo-Frames. Standardmäßig konfiguriert VCF vSphere Distributed Switches (VDS), VMkernel-Adapter (vSAN, vMotion und NSX-TEP) und NSX-Transportknotenprofile mit einer MTU von 9000 Byte. Wenn ein Host Pakete mit mehr als 8896 Byte über das VPC-Underlay sendet, werden die übergroßen Frames vom VPC-Netzwerk verworfen. Dies führt zu vSAN-Replikationsfehlern, vMotion-Zeitüberschreitungen oder NSX-Overlay-Fragmentierungsproblemen.

Problemumgehung: Konfigurieren Sie die MTU in Ihrer VCF-Bereitstellungsspezifikation vor dem Start auf 8896 Byte oder aktualisieren Sie die MTU-Einstellungen in vCenter Server und NSX Manager nach der Bereitstellung:

VDS-MTU im vSphere-Client aktualisieren

  1. Rufen Sie im vSphere-Client Netzwerk auf und wählen Sie den vSphere Distributed Switch für Ihren Cluster aus.
  2. Rechtsklicken Sie auf den verteilten Switch und wählen Sie Settings (Einstellungen) > Edit Settings (Einstellungen bearbeiten) aus.
  3. Klicken Sie auf den Tab Erweitert, legen Sie für MTU (Byte) den Wert 8896 fest und klicken Sie auf OK.

VMkernel-Adapter und NSX-Profile aktualisieren

  1. Gehen Sie für jeden ESXi-Host im Cluster zu Konfigurieren > Netzwerk > VMkernel-Adapter, bearbeiten Sie die Adapter vMotion (vmk1) und vSAN (vmk2) und setzen Sie die MTU auf 8896.
  2. Rufen Sie in der NSX Manager-Benutzeroberfläche System > Fabric > Profile > Uplink-Profile auf, bearbeiten Sie die aktiven Host- und Edge-Uplink-Profile und setzen Sie die MTU auf 8896. Setzen Sie außerdem die globale physische Fabric-MTU unter System > Fabric > Einstellungen > Globale Fabric-Einstellungen auf 8896.

NSX-Modus für virtuellen Switch

In VCF 9.x ist der standardmäßige virtuelle Switch-Modus, der im NSX Manager konfiguriert ist, auf Enhanced Datapath Standard festgelegt. Dieser Modus wird auf VMware Solution-Hosts nicht unterstützt.

Problemumgehung: Deaktivieren Sie im VCF-Installationsprogramm im Abschnitt NSX das Kästchen Apply the default virtual switch mode configured in NSX Manager (In NSX Manager konfigurierten Standardmodus für virtuellen Switch anwenden) und wählen Sie für Operational Mode (Betriebsmodus) die Option Standard aus, wie im folgenden Screenshot gezeigt (zum Vergrößern klicken):

NSX-Konfiguration, bei der das Kästchen für den standardmäßigen virtuellen Switch-Modus deaktiviert und der Betriebsmodus auf „Standard“ festgelegt ist. NSX-Konfiguration, bei der das Kästchen für den standardmäßigen virtuellen Switch-Modus deaktiviert und der Betriebsmodus auf „Standard“ festgelegt ist.

Fehler bei der DNS-Auflösung mit eingehender Cloud DNS-Weiterleitung in Layer-2-Broadcast-Subnetzen

Wenn Sie eine Cloud DNS-Serverrichtlinie für eingehenden Traffic im VPC-Netzwerk aktivieren, in dem Ihre VMware-Lösungsknoten gehostet werden, reserviert Cloud DNS automatisch eine interne DNS_RESOLVER-IP-Adresse in jedem regionalen Subnetz im VPC-Netzwerk. Dazu gehören das nicht getaggte ESXi-Verwaltungssubnetz (MGMT) und die VLAN-getaggten dynamischen NIC-Subnetze (vSAN, vMotion und NSX-TEP), die Layer-2-ARP-Broadcasting (Address Resolution Protocol) und benutzerdefiniertes MAC-Learning (ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING) verwenden.

Wenn Sie ESXi-Hosts oder VCF-Verwaltungs-Appliances so konfigurieren, dass sie eine DNS_RESOLVER-IP-Adresse aus demselben Subnetz oder aus einem beliebigen Knoten-Subnetz abfragen, das für ARP-Broadcasting und MAC-Learning aktiviert ist, behandelt der Host die Weiterleitungs-IP-Adresse als lokalen Layer-2-Nachbarn und sendet ARP-Broadcast-Anfragen, um die MAC-Adresse aufzulösen. Da die eingehende Weiterleitung von Cloud DNS ein Proxy-Dienst vonGoogle Cloud und kein Layer-2-Endpunkt im Subnetz ist, reagiert sie nicht auf ARP-Anfragen und nimmt nicht am benutzerdefinierten MAC-Lernen teil. Daher bleibt der Nachbareintrag unvollständig (esxcli network ip neighbor list) und DNS-Abfragen (nslookup) werden abgebrochen.

Dasselbe Verhalten gilt für Private Service Connect-Endpunkte (GCE_ENDPOINT), z. B. den Endpunkt, der für die Verbindung mit dem regionalen Offline-Depot verwendet wird. Wenn Sie einen Private Service Connect-Endpunkt in einem Layer-2-ARP-Broadcast- oder VLAN-getaggten Knotensubnetz bereitstellen, schlägt die ARP-Auflösung für die Endpunkt-IP-Adresse fehl und Verbindungen zum Offline-Depot werden abgebrochen.

Problemumgehung: Verwenden Sie ein vorhandenes Standardsubnetz (kein VLAN, kein Layer-2-Broadcast) in derselben Region und demselben VPC-Netzwerk oder erstellen Sie ein dediziertes Standardsubnetz, falls noch keines vorhanden ist, für Ihre eingehende Cloud DNS-DNS_RESOLVER-IP-Adresse (und für Ihren Private Service Connect-Offline-Depot-Endpunkt). Wenn in der Region bereits ein Standardsubnetz vorhanden ist, hat Cloud DNS bereits eine DNS_RESOLVER-IP-Adresse in diesem Subnetz zugewiesen, die Sie verwenden können:

  1. Wenn in derselben Region und im selben VPC-Netzwerk noch kein Standardsubnetz vorhanden ist, erstellen Sie ein dediziertes Standardsubnetz, ohne das Flag --resolve-subnet-mask anzugeben. Hängen Sie dieses Subnetz nicht an primäre Knotenschnittstellen oder VLAN-getaggte dynamische NICs an:

    gcloud compute networks subnets create DNS_SUBNET_NAME \
        --network=VPC_NAME \
        --region=REGION \
        --range=DNS_SUBNET_RANGE \
        --project=PROJECT_ID
    
  2. Rufen Sie die von Cloud DNS im Standardsubnetz reservierte IP-Adresse DNS_RESOLVER ab:

    gcloud compute addresses list \
        --filter="purpose=DNS_RESOLVER AND subnetwork:DNS_SUBNET_NAME" \
        --project=PROJECT_ID
    

    Ersetzen Sie vor dem Ausführen der vorherigen Befehle Folgendes:

    • DNS_SUBNET_NAME: der Name des vorhandenen oder dedizierten Standardsubnetzes für die eingehende Cloud DNS-Weiterleitung.
    • VPC_NAME: der Name des VPC-Netzwerks
    • REGION: die Google Cloud -Region, in der sich Ihre Bare-Metal-Knoten befinden.
    • DNS_SUBNET_RANGE: ein sich nicht überschneidender primärer IPv4-CIDR-Bereich für das dedizierte Standardsubnetz (z. B. 10.0.100.0/28).
    • PROJECT_ID: die ID Ihres Projekts in Google Cloud.
  3. Konfigurieren Sie Ihre ESXi-Hosts, VCF-Verwaltungs-Appliances und das VMware-Lösungs-Toolkit (dns_server in config.json) so, dass die DNS_RESOLVER-IP-Adresse von DNS_SUBNET_NAME anstelle der DNS_RESOLVER-IP-Adressen verwendet wird, die den ESXi-Verwaltungs- (MGMT), vSAN-, vMotion- oder NSX-TEP-Subnetzen zugeordnet sind.