Terraform: Bereitstellungsanleitung für SAP HANA-Systeme zur horizontalen Skalierung mit automatischem Host-Failover

In dieser Anleitung erfahren Sie, wie Sie mit Terraform ein SAP HANA-System zur horizontalen Skalierung bereitstellen, das die Fehlerbehebungslösung mit automatischem Host-Failover von SAP-HANA enthält. Mit Terraform können Sie ein System bereitstellen, das die Voraussetzungen für SAP-Support erfüllt und den Best Practices von SAP und Compute Engine entspricht.

Das dabei entstehende SAP HANA-System umfasst einen Master-, bis zu 15 Worker- und bis zu drei Standby-Hosts, die sich alle in einer einzigen Compute Engine-Zone befinden.

Das System umfasst auch den Google Cloud Storage Manager für SAP HANA-Standby-Knoten (Storage-Manager für SAP HANA), der die Übertragung von Speichergeräten an einen Standby-Knoten während eines Failovers verwaltet. Der Speichermanager für SAP HANA ist im SAP HANA-/shared-Volume installiert.

Weitere Informationen von SAP über die automatische Host-Failover-Lösung finden Sie unter Automatisches Host-Failover.

Gehen Sie nicht nach dieser Anleitung vor, wenn Sie den automatischen Host-Failover nicht benötigen. Richten Sie sich stattdessen nach der Terraform: Bereitstellungsanleitung für SAP HANA.

Wenn Sie SAP HANA in einem Linux-Hochverfügbarkeitscluster bereitstellen müssen, verwenden Sie eine der folgenden Anleitungen:

Diese Anleitung richtet sich an fortgeschrittene SAP HANA-Nutzer, die sich mit SAP-Konfigurationen für die horizontale Skalierung auskennen, die Stand-by-Hosts für Hochverfügbarkeit sowie Netzwerkdateisysteme enthalten.

Vorbereitung

Prüfen Sie vor dem Erstellen eines SAP HANA-Hochverfügbarkeitssystems für die horizontale Skalierung, dass die folgenden Voraussetzungen erfüllt werden:

  • Sie haben den Planungsleitfaden für SAP HANA und den Planungsleitfaden für SAP HANA – Hochverfügbarkeit gelesen.
  • Sie oder Ihre Organisation haben ein Google Cloud-Konto. Außerdem haben Sie ein Projekt für die SAP HANA-Bereitstellung erstellt. Informationen zum Erstellen von Google Cloud-Konten und -Projekten finden Sie unter Google-Konto einrichten in der Bereitstellungsanleitung für SAP HANA.
  • Wenn Ihre SAP-Arbeitslast die Anforderungen an den Datenstandort, die Zugriffssteuerung oder die Supportmitarbeiter oder gesetzliche Anforderungen erfüllen muss, müssen Sie den erforderlichen Assured Workloads-Ordner erstellen. Weitere Informationen finden Sie unter Compliance und Steuerung der Datenhoheit für SAP in Google Cloud.
  • Die SAP HANA-Installationsmedien sind in einem Cloud Storage-Bucket gespeichert, der in Ihrem Bereitstellungsprojekt und Ihrer Region verfügbar ist. Informationen zum Hochladen von SAP HANA-Installationsmedien in einen Cloud Storage-Bucket finden Sie in der Anleitung zur Bereitstellung von SAP HANA unter Cloud Storage-Bucket erstellen.
  • Sie haben eine NFS-Lösung, wie etwa die verwaltete Lösung Filestore, für die Freigabe der SAP HANA-Volumes /hana/shared und /hanabackup an die Hosts im SAP HANA-System mit horizontaler Skalierung. Sie geben die Einhängepunkte für die NFS-Server in der Terraform-Konfigurationsdatei an, bevor Sie das System bereitstellen können. Informationen zum Bereitstellen von Filestore-NFS-Servern finden Sie unter Instanzen erstellen.
  • Die Kommunikation muss zwischen allen VMs im SAP HANA-Subnetzwerk zugelassen werden, in dem ein SAP HANA-Knoten mit horizontaler Skalierung gehostet wird.

  • Wenn OS Login in den Projektmetadaten aktiviert ist, müssen Sie OS Login vorübergehend deaktivieren, bis die Bereitstellung abgeschlossen ist. Für die Bereitstellung konfiguriert dieses Verfahren SSH-Schlüssel in Instanzmetadaten. Bei aktiviertem OS Login sind metadatenbasierte SSH-Schlüsselkonfigurationen deaktiviert und diese Bereitstellung schlägt fehl. Nach Abschluss der Bereitstellung können Sie die OS Login-Funktion wieder aktivieren.

    Weitere Informationen finden Sie unter:

Netzwerk erstellen

Erstellen Sie aus Sicherheitsgründen ein neues Netzwerk. Durch das Festlegen von Firewallregeln oder die Nutzung eines anderen Verfahrens der Zugriffskontrolle steuern Sie, wer Zugriff hat.

Wenn Ihr Projekt ein Standard-VPC-Netzwerk (Virtual Private Cloud) hat, verwenden Sie es nicht. Erstellen Sie stattdessen Ihr eigenes VPC-Netzwerk, sodass nur die von Ihnen explizit formulierten Firewallregeln gelten.

Während der Bereitstellung müssen VM-Instanzen normalerweise auf das Internet zugreifen können, um den Google Cloud-Agent für SAP herunterzuladen. Wenn Sie eines der von SAP zertifizierten Linux-Images verwenden, die in Google Cloud verfügbar sind, benötigen die VM-Instanzen außerdem einen Internetzugang, um die Lizenz zu registrieren und auf Repositories von Betriebssystemanbietern zuzugreifen. Eine Konfiguration mit einem NAT-Gateway und VM-Netzwerk-Tags unterstützt diesen Zugriff selbst dann, wenn die Ziel-VMs keine externen IP-Adressen haben.

Führen Sie die folgenden Schritte aus, um ein VPC-Netzwerk für Ihr Projekt zu erstellen:

  1. Erstellen Sie ein Netzwerk im benutzerdefinierten Modus. Weitere Informationen finden Sie unter Netzwerk im benutzerdefinierten Modus erstellen.

  2. Erstellen Sie ein Subnetzwerk und geben Sie die Region und den IP-Adressbereich an. Weitere Informationen finden Sie unter Subnetze hinzufügen.

NAT-Gateway einrichten

Wenn Sie eine oder mehrere VMs ohne öffentliche IP-Adressen erstellen müssen, müssen Sie die Network Address Translation (NAT) verwenden, damit die VMs auf das Internet zugreifen können. Verwenden Sie Cloud NAT, einen verteilten, softwarebasierten verwalteten Dienst von Google Cloud, der es VMs ermöglicht, ausgehende Pakete an das Internet zu senden und entsprechende eingehende Antwortpakete zu empfangen. Alternativ können Sie eine separate VM als NAT-Gateway einrichten.

Informationen zum Erstellen einer Cloud NAT-Instanz für Ihr Projekt finden Sie unter Cloud NAT verwenden.

Nachdem Sie Cloud NAT für Ihr Projekt konfiguriert haben, können Ihre VM-Instanzen ohne öffentliche IP-Adressen sicher auf das Internet zugreifen.

Firewallregeln hinzufügen

Standardmäßig verhindert eine implizite Firewallregel eingehende Verbindungen von außerhalb Ihres VPC-Netzwerks. Wenn Sie eingehende Verbindungen zulassen möchten, richten Sie für Ihre VM eine entsprechende Firewallregel ein. Wenn eine eingehende Verbindung zu einer VM hergestellt wurde, ist Traffic über diese Verbindung in beide Richtungen zulässig.

Sie können auch eine Firewallregel erstellen, um externen Zugriff auf bestimmte Ports zuzulassen oder Zugriff zwischen VMs im selben Netzwerk einzuschränken. Wenn der VPC-Netzwerktyp default verwendet wird, gelten auch einige zusätzliche Standardregeln. So etwa die Regel default-allow-internal, die den Zugriff zwischen VMs im selben Netzwerk an allen Ports erlaubt.

Abhängig von der für Ihre Umgebung geltenden IT-Richtlinie müssen Sie möglicherweise die Konnektivität zu Ihrem Datenbankhost isolieren oder anderweitig einschränken. Dazu erstellen Sie Firewallregeln.

Je nach Szenario können Sie Firewallregeln erstellen, die den Zugriff für Folgendes erlauben:

  • SAP-Standardports, die unter TCP/IP-Ports aller SAP-Produkte aufgeführt sind.
  • Verbindungen von Ihrem Computer oder dem Unternehmensnetzwerk aus zu Ihrer Compute Engine-VM-Instanz. Wenn Sie sich nicht sicher sind, welche IP-Adresse Sie verwenden sollen, wenden Sie sich an den Netzwerkadministrator Ihres Unternehmens.
  • Kommunikation zwischen VMs im SAP HANA-Subnetzwerk, einschließlich der Kommunikation zwischen Knoten in einem SAP HANA-System mit horizontaler Skalierung oder Kommunikation zwischen dem Datenbankserver und Anwendungsservern in einer dreistufigen Architektur.Kommunikation zwischen VMs im SAP HANA-Subnetzwerk, einschließlich der Kommunikation zwischen Knoten in einem SAP HANA-System mit horizontaler Skalierung oder Kommunikation zwischen dem Datenbankserver und Anwendungsservern in einer dreistufigen Architektur. Sie können die Kommunikation zwischen VMs aktivieren, indem Sie eine Firewallregel erstellen, die Traffic aus dem Subnetzwerk zulässt.

Informationen zum Erstellen der Firewallregeln für Ihr Projekt finden Sie unter Firewallregeln erstellen.

SAP HANA-System für horizontale Skalierung mit Standby-Hosts erstellen

In der folgenden Anleitung führen Sie diese Aktionen aus:

  • SAP HANA-System durch Aufrufen von Terraform mit einer von Ihnen ausgefüllten Konfigurationsdatei erstellen.
  • Bereitstellung überprüfen
  • Stand-by-Hosts durch Simulation eines Hostausfalls testen

Bei einigen Schritten in der folgenden Anleitung werden gcloud-Befehle über Cloud Shell eingegeben. Falls Sie die neueste Version des Cloud SDK installiert haben, können Sie die gcloud-Befehle stattdessen von einem lokalen Terminal aus eingeben.

SAP HANA-System definieren und erstellen

In den folgenden Schritten laden Sie eine Terraform-Konfigurationsdatei herunter und vervollständigen sie. Sie verwenden die Terraform-Standardbefehle, um Ihr aktuelles Arbeitsverzeichnis zu initialisieren und das Terraform-Anbieter-Plug-in und die Moduldateien für Google Cloud herunterzuladen. Sie wenden die Konfiguration an, die die VMs, nichtflüchtige Speicher und SAP HANA-Instanzen bereitstellt.

  1. Prüfen Sie Ihre aktuellen Kontingente für Projektressourcen, wie etwa nichtflüchtigen Speicher und CPUs. Sie müssen für das SAP HANA-System ausreichen, das Sie gleich installieren. Wenn Ihre Kontingente nicht ausreichen, misslingt die Bereitstellung. Welche Kontingente Sie für SAP HANA benötigen, erfahren Sie unter Überlegungen zu Preisen und Kontingenten für SAP HANA.

    Zur Seite „Kontingente“

  2. Öffnen Sie Cloud Shell.

    Zu Cloud Shell

  3. Laden Sie die Konfigurationsdatei sap_hana_scaleout.tf für das SAP HANA-Hochverfügbarkeitssystem für horizontale Skalierung in Ihr Arbeitsverzeichnis herunter:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_scaleout/terraform/sap_hana_scaleout.tf
  4. Öffnen Sie die Datei sap_hana_scaleout.tf im Cloud Shell-Code-Editor.

    Klicken Sie zum Öffnen des Code-Editors auf das Stiftsymbol oben rechts im Cloud Shell-Terminalfenster.

  5. Aktualisieren Sie in der Datei sap_hana_scaleout.tf die folgenden Argumentwerte. Ersetzen Sie dazu den Inhalt innerhalb der doppelten Anführungszeichen durch die Werte für Ihre Installation. Sie könnten etwa „ZONE“ durch „us-central1-f“ ersetzen.

    Argument Datentyp Beschreibung
    source String

    Gibt den Speicherort und die Version des Terraform-Moduls an, das während der Bereitstellung verwendet werden soll.

    Die Konfigurationsdatei sap_hana_scaleout.tf enthält zwei Instanzen des Arguments source: eine aktive und eine als Kommentar. Das standardmäßig aktive Argument source gibt latest als Modulversion an. Die zweite Instanz des Arguments source, die standardmäßig durch ein führendes #-Zeichen deaktiviert ist, gibt einen Zeitstempel an, der eine Modulversion identifiziert.

    Wenn alle Ihre Bereitstellungen dieselbe Modulversion verwenden müssen, entfernen Sie das führende #-Zeichen aus dem Argument source, das den Zeitstempel der Version angibt, und fügen Sie es dem Argument source hinzu, das latest angibt.

    project_id String Geben Sie die ID Ihres Google Cloud-Projekts an, in dem Sie dieses System bereitstellen. Beispiel: my-project-x.
    zone String

    Geben Sie die Zone an, in der Sie das SAP-System bereitstellen. Die Zone muss sich in derselben Region befinden, die Sie für Ihr Subnetz ausgewählt haben.

    Wenn Ihr Subnetz beispielsweise in der Region us-central1 bereitgestellt wird, können Sie eine Zone wie us-central1-a angeben.

    machine_type String Geben Sie den Typ der virtuellen Maschine (VM) von Compute Engine an, auf der Sie Ihr SAP-System ausführen müssen. Wenn Sie einen benutzerdefinierten VM-Typ benötigen, geben Sie einen vordefinierten VM-Typ mit einer Anzahl an vCPUs an, die der benötigten Anzahl am nächsten kommt, aber noch darüber liegt. Wenn die Bereitstellung abgeschlossen ist, ändern Sie die Anzahl der vCPUs und den Umfang des Arbeitsspeichers.

    Beispiel: n1-highmem-32.

    subnetwork String Geben Sie den Namen des Subnetzwerks an, das Sie in einem vorherigen Schritt erstellt haben. Wenn die Bereitstellung in einer freigegebenen VPC erfolgt, geben Sie diesen Wert als SHARED_VPC_PROJECT_ID/SUBNETWORK an. Beispiel: myproject/network1.
    linux_image String Geben Sie den Namen des Linux-Betriebssystem-Images an, auf dem Sie Ihr SAP-System bereitstellen möchten. Beispiel: rhel-9-2-sap-ha oder sles-15-sp5-sap. Eine Liste der verfügbaren Betriebssystem-Images finden Sie auf der Seite Images in der Google Cloud Console.
    linux_image_project String Geben Sie das Google Cloud-Projekt an, in dem das Image enthalten ist, das Sie für das Argument linux_image angegeben haben. Dieses Projekt kann Ihr eigenes Projekt oder ein Google Cloud-Image-Projekt sein. Geben Sie für ein Compute Engine-Image entweder rhel-sap-cloud oder suse-sap-cloud an. Weitere Informationen zum Image-Projekt für Ihr Betriebssystem finden Sie unter Details zu Betriebssystemen.
    instance_name String Geben Sie einen Namen für die Host-VM-Instanz an. Der Name darf Kleinbuchstaben, Zahlen und Bindestriche enthalten. Die VM-Instanzen für die Worker- und Standby-Hosts verwenden denselben Namen mit angehängtem w und Hostnummer.
    sap_hana_shared_nfs String Geben Sie den NFS-Bereitstellungspunkt für das Volume /hana/shared an. Beispiel: 10.151.91.122:/hana_shared_nfs.
    sap_hana_backup_nfs String Geben Sie den NFS-Bereitstellungspunkt für das Volume /hanabackup an. Beispiel: 10.216.41.122:/hana_backup_nfs.
    sap_hana_deployment_bucket String Wenn Sie SAP HANA automatisch auf den bereitgestellten VMs installieren möchten, geben Sie den Pfad des Cloud Storage-Buckets an, der die SAP HANA-Installationsdateien enthält. Fügen Sie gs:// nicht in den Pfad ein. Geben Sie nur den Bucket-Namen und die Namen der Ordner an. Beispiel: my-bucket-name/my-folder.

    Der Cloud Storage-Bucket muss in dem Google Cloud-Projekt vorhanden sein, das Sie für das Argument project_id angeben.

    sap_hana_sid String Geben Sie die SAP HANA-System-ID an, damit SAP HANA automatisch auf den bereitgestellten VMs installiert wird. Die ID muss aus drei alphanumerischen Zeichen bestehen und mit einem Buchstaben beginnen. Alle Buchstaben müssen Großbuchstaben sein. Beispiel: ED1.
    sap_hana_instance_number Ganzzahl Optional. Geben Sie die Instanznummer (0 bis 99) des SAP HANA-Systems an. Der Standardwert ist 0.
    sap_hana_sidadm_password String Wenn Sie SAP HANA automatisch auf den bereitgestellten VMs installieren möchten, geben Sie ein temporäres SIDadm-Passwort an, das während der Bereitstellung für die Installationsskripts verwendet werden soll. Das Passwort muss mindestens 8 Zeichen lang sein und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl enthalten.

    Anstatt das Passwort als Nur-Text anzugeben, empfehlen wir die Verwendung eines Secrets. Weitere Informationen finden Sie unter Passwortverwaltung.

    sap_hana_sidadm_password_secret String Optional. Wenn Sie Secret Manager zum Speichern des Passworts SIDadm verwenden, geben Sie den Namen des Secrets an, das zu diesem Passwort gehört.

    Achten Sie im Secret Manager darauf, dass der Secret-Wert, also das Passwort, mindestens 8 Zeichen enthält und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl umfasst.

    Weitere Informationen finden Sie unter Passwortverwaltung.

    sap_hana_system_password String Wenn Sie SAP HANA automatisch auf den bereitgestellten VMs installieren möchten, geben Sie ein temporäres Passwort für den Datenbank-Superuser an, das während der Bereitstellung für die Installationsskripts verwendet werden soll. Das Passwort muss mindestens 8 Zeichen lang sein und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl enthalten.

    Anstatt das Passwort als Nur-Text anzugeben, empfehlen wir die Verwendung eines Secrets. Weitere Informationen finden Sie unter Passwortverwaltung.

    sap_hana_system_password_secret String Optional. Wenn Sie das Passwort des Datenbank-Superusers mit Secret Manager speichern, geben Sie den Namen des Secrets an, das diesem Passwort entspricht.

    Achten Sie im Secret Manager darauf, dass der Secret-Wert, also das Passwort, mindestens 8 Zeichen enthält und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl umfasst.

    Weitere Informationen finden Sie unter Passwortverwaltung.

    sap_hana_double_volume_size Boolesch Optional. Geben Sie true an, um die HANA-Volume-Größe zu verdoppeln. Dieses Argument ist nützlich, wenn Sie mehrere SAP HANA-Instanzen oder eine SAP HANA-Instanz zur Notfallwiederherstellung auf derselben VM bereitstellen möchten. Standardmäßig wird die Volume-Größe automatisch so berechnet, dass sie der erforderlichen Mindestgröße für die VM entspricht und gleichzeitig die SAP-Zertifizierungs- und Supportanforderungen erfüllt werden. Der Standardwert ist false.
    sap_hana_sidadm_uid Ganzzahl Optional. Geben Sie einen Wert an, um den Standardwert der SID_LCadm-Nutzer-ID zu überschreiben. Der Standardwert ist 900. Sie können diesen Wert zwecks Vereinheitlichung innerhalb Ihrer SAP-Landschaft ändern.
    sap_hana_sapsys_gid Ganzzahl Optional. Überschreibt die Standardgruppen-ID für sapsys. Der Standardwert ist 79.
    sap_hana_worker_nodes Ganzzahl Geben Sie die Anzahl der zusätzlich benötigten SAP HANA-Worker-Hosts an. Sie können 1 bis 15 Worker-Hosts angeben. Verwenden Sie keine Anführungszeichen für den Wert. Der Standardwert ist 1.
    sap_hana_standby_nodes Ganzzahl Geben Sie die Anzahl der zusätzlich benötigten SAP HANA-Standby-Hosts an. Sie können 1 bis 3 Standby-Hosts angeben. Verwenden Sie keine Anführungszeichen für den Wert. Der Standardwert ist 1.
    network_tags String Optional. Geben Sie ein oder mehrere kommagetrennte Netzwerk-Tags an, die Sie zu Firewall- oder Routingzwecken mit Ihren VM-Instanzen verknüpfen möchten.

    Wenn Sie public_ip = false, aber kein Netzwerk-Tag angeben, müssen Sie eine andere Möglichkeit für den Zugriff auf das Internet bereitstellen.

    nic_type String Optional. Gibt die Netzwerkschnittstelle an, die mit der VM-Instanz verwendet werden soll. Sie können den Wert GVNIC oder VIRTIO_NET angeben. Wenn Sie eine Google Virtual NIC (gVNIC) verwenden möchten, müssen Sie ein Betriebssystem-Image angeben, das gVNIC als Wert für das Argument linux_image unterstützt. Eine Liste der Betriebssystem-Images finden Sie unter Details zu Betriebssystemen.

    Wenn Sie für dieses Argument keinen Wert angeben, wird die Netzwerkschnittstelle automatisch basierend auf dem Maschinentyp ausgewählt, den Sie für das Argument machine_type angeben.

    Dieses Argument ist in der sap_hana-Modulversion 202302060649 oder höher verfügbar.
    disk_type String Optional. Geben Sie den Standardtyp der Persistent Disk oder des Hyperdisk-Volumes an, den Sie für die SAP-Daten- und -Log-Volumes in Ihrer Bereitstellung einsetzen möchten. Informationen zur standardmäßigen Laufwerkbereitstellung, die von den von Google Cloud bereitgestellten Terraform-Konfigurationen ausgeführt wird, finden Sie unter Laufwerkbereitstellung durch Terraform.

    Folgende Werte sind für dieses Argument gültig: pd-ssd, pd-balanced, hyperdisk-extreme, hyperdisk-balanced und pd-extreme.

    Sie können diesen Standardlaufwerkstyp und die zugehörige Standardlaufwerksgröße und die Standard-IOPS mit einigen erweiterten Argumenten überschreiben. Weitere Informationen finden Sie in Ihrem Arbeitsverzeichnis. Führen Sie dann den Befehl terraform init aus und sehen Sie sich die Datei /.terraform/modules/sap_hana_scaleout/variables.tf an. Bevor Sie diese Argumente in der Produktion verwenden, sollten Sie sie in einer Nicht-Produktionsumgebung testen.

    use_single_shared_data_log_disk Boolesch Optional. Der Standardwert ist false, womit Terraform angewiesen wird, für jedes der folgenden SAP-Volumes einen separaten nichtflüchtigen Speicher oder Hyperdisk bereitzustellen: /hana/data, /hana/log, /hana/shared und /usr/sap. Geben Sie true an, um diese SAP-Volumes auf demselben nichtflüchtigen Speicher oder Hyperdisk bereitzustellen.
    public_ip Boolesch Optional. Legt fest, ob Ihre VM-Instanz eine öffentliche IP-Adresse erhält. Der Standardwert ist true.
    service_account String Optional. Geben Sie die E-Mail-Adresse eines nutzerverwalteten Dienstkontos an, das von den Host-VMs und den darauf ausgeführten Programmen verwendet werden soll. Beispiel: svc-acct-name@project-id.iam.gserviceaccount.com.

    Wenn Sie dieses Argument ohne Wert angeben oder weglassen, verwendet das Installationsskript das Compute Engine-Standarddienstkonto. Weitere Informationen finden Sie unter Identitäts- und Zugriffsverwaltung für SAP-Programme in Google Cloud.

    sap_deployment_debug Boolesch Optional. Geben Sie true nur dann an, wenn Sie von Cloud Customer Care aufgefordert werden, das Debugging für Ihre Bereitstellung zu aktivieren, da hierdurch ausführliche Bereitstellungslogs generiert werden. Der Standardwert ist false.
    reservation_name String Optional. Um eine bestimmte Compute Engine-VM-Reservierung für diese Bereitstellung zu verwenden, geben Sie den Namen der Reservierung an. Standardmäßig wählt das Installationsskript basierend auf den folgenden Bedingungen jede verfügbare Compute Engine-Reservierung aus.

    Damit eine Reservierung unabhängig davon verwendet werden kann, ob Sie einen Namen angeben oder dieser vom Installationsskript automatisch ausgewählt wird, muss die Reservierung so festgelegt werden:

    • Die Option specificReservationRequired ist auf true oder in der Google Cloud Console auf Bestimmte Reservierung auswählen festgelegt.
    • Einige Compute Engine-Maschinentypen unterstützen CPU-Plattformen, die nicht von der SAP-Zertifizierung des Maschinentyps abgedeckt sind. Wenn die Zielreservierung für einen der folgenden Maschinentypen gilt, muss die Reservierung die Mindest-CPU-Plattformen angeben:
      • n1-highmem-32: Intel Broadwell
      • n1-highmem-64: Intel Broadwell
      • n1-highmem-96: Intel Skylake
      • m1-megamem-96: Intel Skylake
    • Die Mindest-CPU-Plattformen für alle anderen Maschinentypen, die von SAP für die Verwendung in Google Cloud zertifiziert sind, entsprechen der Mindest-CPU-Anforderung von SAP.
    vm_static_ip String Optional. Geben Sie eine gültige statische IP-Adresse für die VM-Instanz an. Wenn Sie keine angeben, wird automatisch eine IP-Adresse für die VM-Instanz generiert.

    Dieses Argument ist in der sap_hana_scaleout-Modulversion 202306120959 oder höher verfügbar.

    worker_static_ips List(String) Optional. Geben Sie ein Array gültiger statischer IP-Adressen für die Worker-Instanzen in Ihrem System mit horizontaler Skalierung an. Wenn Sie für dieses Argument keinen Wert angeben, wird für jede Worker-VM-Instanz automatisch eine IP-Adresse generiert. Beispiel: [ "1.0.0.1", "2.3.3.4" ].

    Die statischen IP-Adressen werden in der Reihenfolge der Instanzerstellung zugewiesen. Wenn Sie sich beispielsweise für die Bereitstellung von 3 Worker-Instanzen entscheiden, aber nur 2 IP-Adressen für das Argument worker_static_ips angeben, dann werden diese IP-Adressen den ersten beiden VM-Instanzen zugewiesen, die die Terraform-Konfiguration bereitstellt. Für die dritte Worker-VM-Instanz wird die IP-Adresse automatisch generiert.

    Dieses Argument ist in der sap_hana_scaleout-Modulversion 202306120959 oder höher verfügbar.

    standby_static_ips List(String) Optional. Geben Sie ein Array gültiger statischer IP-Adressen für die Standby-Instanzen in Ihrem System mit horizontaler Skalierung an. Wenn Sie für dieses Argument keinen Wert angeben, wird für jede Standby-VM-Instanz automatisch eine IP-Adresse generiert. Beispiel: [ "1.0.0.1", "2.3.3.4" ].

    Die statischen IP-Adressen werden in der Reihenfolge der Instanzerstellung zugewiesen. Wenn Sie sich beispielsweise für die Bereitstellung von 3 Standby-Instanzen entscheiden, aber nur 2 IP-Adressen für das Argument standby_static_ips angeben, dann werden diese IP-Adressen den ersten beiden VM-Instanzen zugewiesen, die die Terraform-Konfiguration bereitstellt. Für die dritte Standby-VM-Instanz wird die IP-Adresse automatisch generiert.

    Dieses Argument ist in der sap_hana_scaleout-Modulversion 202306120959 oder höher verfügbar.

    Das folgende Beispiel zeigt eine ausgefüllte Konfigurationsdatei, die ein SAP HANA-System für horizontale Skalierung mit drei Worker-Hosts und einem Standby-Host in der Zone us-central1-f implementiert. Jeder Host wird auf einer n2-highmem-32-VM installiert, auf der ein Linux-Betriebssystem ausgeführt wird, das von einem öffentlichen Compute Engine-Image bereitgestellt wird. Die NFS-Volumes werden von Filestore bereitgestellt. Temporäre Passwörter werden nur während der Bereitstellung und Konfiguration verwendet.

    Zur Verdeutlichung werden Kommentare in der Konfigurationsdatei im Beispiel weggelassen.

    # ...
    module "hana_scaleout" {
    source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_scaleout/sap_hana_scaleout_module.zip"
    #
    # By default, this source file uses the latest release of the terraform module
    # for SAP on Google Cloud. To fix your deployments to a specific release
    # of the module, comment out the source property above and uncomment the source property below.
    #
    # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana_scaleout/sap_hana_scaleout_module.zip"
    #
    # ...
    #
    project_id = "example-project-123456"
    zone = "us-central1-f"
    machine_type = "n2-highmem-32"
    subnetwork = "example-sub-network-sap"
    linux_image = "sles-15-sp4-sap"
    linux_image_project = "suse-sap-cloud"
    
    instance_name = "hana-scaleout-w-failover"
    sap_hana_shared_nfs = "10.74.146.58:/hana_shr"
    sap_hana_backup_nfs = "10.188.249.170:/hana_bup"
    # ...
    sap_hana_deployment_bucket = "hana2-sp5-rev53"
    sap_hana_sid = "HF0"
    sap_hana_instance_number = 00
    sap_hana_sidadm_password = "TempPa55word"
    sap_hana_system_password = "TempPa55word"
    # ...
    sap_hana_worker_nodes = 3
    sap_hana_standby_nodes = 1
    vm_static_ip = "10.0.0.1"
    worker_static_ips = ["10.0.0.2", "10.0.0.3", "10.0.0.4"]
    standby_static_ips = ["10.0.0.5"]
    # ...
    }
  6. Initialisieren Sie Ihr aktuelles Arbeitsverzeichnis und laden Sie das Plug-in und die Moduldateien des Terraform-Anbieters für Google Cloud herunter:

    terraform init

    Mit dem Befehl terraform init wird Ihr Arbeitsverzeichnis für andere Terraform-Befehle vorbereitet.

    Wenn Sie eine Aktualisierung der Plug-in- und Konfigurationsdateien des Anbieters in Ihrem Arbeitsverzeichnis erzwingen möchten, geben Sie das Flag --upgrade an. Wenn das Flag --upgrade weggelassen wird und Sie keine Änderungen in Ihrem Arbeitsverzeichnis vornehmen, verwendet Terraform die lokal im Cache gespeicherten Kopien, auch wenn in der source-URL der Wert latest angegeben ist.

  7. Optional können Sie den Terraform-Ausführungsplan erstellen:

    terraform plan

    Der Befehl terraform plan zeigt die Änderungen an, die für Ihre aktuelle Konfiguration erforderlich sind. Wenn Sie diesen Schritt überspringen, wird mit dem Befehl terraform apply automatisch ein neuer Plan erstellt und Sie werden aufgefordert, diesen zu genehmigen.

  8. Wenden Sie den Ausführungsplan an:

    terraform apply

    Wenn Sie aufgefordert werden, die Aktionen zu genehmigen, geben Sie yes ein.

    Mit dem Befehl terraform apply wird die Google Cloud-Infrastruktur eingerichtet. Beim Start der Compute Engine-Maschine ruft die Google Cloud-Infrastruktur Startskripts auf, die das Betriebssystem konfigurieren und SAP HANA installieren.

    Solange Terraform die Kontrolle hat, werden Statusmeldungen in Cloud Shell geschrieben. Nach dem Aufrufen des Skripts werden Statusmeldungen in Logging geschrieben und können in der Google Cloud Console angezeigt werden, wie unter Logging-Logs überprüfen beschrieben.

    Die Abschlusszeit kann variieren, aber der gesamte Vorgang dauert in der Regel zwischen 45 Minuten und 1 Stunde.

Bereitstellung überprüfen

Zum Überprüfen der Bereitstellung sehen Sie sich die Deployment-Logs in Cloud Logging an, überprüfen die Laufwerke und Dienste auf den VMs des primären und der Worker-Hosts, rufen das System in SAP HANA Studio auf und testen die Übernahme durch einen Standby-Host.

Log prüfen

  1. Öffnen Sie in der Google Cloud Console „Cloud Logging“, um den Installationsfortschritt zu überwachen und nach Fehlern zu suchen.

    Zu Cloud Logging

  2. Filtern Sie die Logs:

    Log-Explorer

    1. Wechseln Sie auf der Seite Log-Explorer zum Bereich Abfrage.

    2. Wählen Sie im Drop-down-Menü Ressource die Option Global aus und klicken Sie dann auf Hinzufügen.

      Wenn die Option Global nicht angezeigt wird, geben Sie im Abfrageeditor die folgende Abfrage ein:

      resource.type="global"
      "Deployment"
      
    3. Klicken Sie auf Abfrage ausführen.

    Legacy-Loganzeige

    • Wählen Sie auf der Seite Legacy-Loganzeige im einfachen Auswahlmenü die Option Global als Logging-Ressource aus.
  3. Analysieren Sie die gefilterten Logs:

    • Wenn "--- Finished" angezeigt wird, ist die Verarbeitung des Deployments abgeschlossen und Sie können mit dem nächsten Schritt fortfahren.
    • Wenn ein Kontingentfehler auftritt:

      1. Erhöhen Sie auf der Seite IAM & Verwaltung > Kontingente alle Kontingente, die nicht die im Planungsleitfaden für SAP HANA aufgeführten Anforderungen erfüllen.

      2. Öffnen Sie Cloud Shell.

        Zu Cloud Shell

      3. Wechseln Sie zu Ihrem Arbeitsverzeichnis und löschen Sie das Deployment, um die VMs und nichtflüchtigen Speicher aus der fehlgeschlagenen Installation zu entfernen:

        terraform destroy

        Wenn Sie aufgefordert werden, die Aktion zu genehmigen, geben Sie yes ein.

      4. Führen Sie die Bereitstellung noch einmal aus.

Verbindung zu den VMs herstellen, um Laufwerke und SAP HANA-Dienste zu überprüfen

Nachdem die Bereitstellung abgeschlossen ist, muss festgestellt werden, ob die Laufwerke und SAP HANA-Dienste ordnungsgemäß bereitgestellt wurden. Dazu überprüfen Sie die Laufwerke und Dienste des Master-Hosts und eines Worker-Hosts.

  1. Stellen Sie auf der Seite "VM-Instanzen" in Compute Engine eine Verbindung zur VM des Master-Hosts und zur VM eines Worker-Hosts her. Klicken Sie dazu in der Zeile der beiden VM-Instanzen auf die Schaltfläche "SSH".

    Zu „VM-Instanzen“

    Achten Sie darauf, keine Verbindung zu einem Standby-Host, sondern zu einem Worker-Host herzustellen. Für Standby-Hosts gilt dieselbe Namenskonvention wie für Worker-Hosts, aber sie haben vor der ersten Übernahme das Worker-Host-Suffix mit der höchsten Nummer. Wenn Sie beispielsweise drei Worker-Hosts und einen Standby-Host haben, erkennen Sie den Standby-Host vor der ersten Übernahme am Suffix "w4".

  2. Wechseln Sie in beiden Terminalfenstern zum Root-Nutzer.

    sudo su -
  3. Rufen Sie in beiden Terminalfenstern das Datenträger-Dateisystem auf.

    df -h

    Die Ausgabe des Master-Hosts sieht in etwa so aus:

    hana-scaleout-w-failover:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G   18M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sdb3                        45G  6.4G   39G  15% /
    /dev/sdb2                        20M  3.0M   17M  15% /boot/efi
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    /dev/mapper/vg_hana_data-data   422G   12G  411G   3% /hana/data/HF0/mnt00001
    /dev/mapper/vg_hana_log-log     128G  7.8G  121G   7% /hana/log/HF0/mnt00001
    tmpfs                            26G     0   26G   0% /run/user/174
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/900
    tmpfs                            26G     0   26G   0% /run/user/1000

    Beachten Sie auf dem Worker-Host, dass die Verzeichnisse /hana/data und /hana/log unterschiedliche Bereitstellungen haben.

    hana-scaleout-w-failoverw1:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    /dev/mapper/vg_hana_data-data   422G  593M  422G   1% /hana/data/HF0/mnt00002
    /dev/mapper/vg_hana_log-log     128G  3.2G  125G   3% /hana/log/HF0/mnt00002
    tmpfs                            26G     0   26G   0% /run/user/1000

    Auf einem Standby-Host werden die Log- und Datenverzeichnisse erst eingehängt, wenn der Standby-Host einen ausgefallenen Host übernimmt.

    hana-scaleout-w-failoverw4:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/1000
  4. Wechseln Sie in beiden Terminalfenstern zum SAP HANA-Betriebssystemnutzer. Ersetzen Sie SID_LC durch den Wert sap_hana_sid, den Sie in der Konfigurationsdatei angegeben haben. Der Wert SID_LC muss in Kleinbuchstaben geschrieben werden.

    su - SID_LCadm
  5. Sorgen Sie in jedem Terminalfenster dafür, dass SAP HANA-Dienste wie hdbnameserver, hdbindexserver und andere auf der Instanz ausgeführt werden.

    HDB info

    Auf dem Master-Host sollte die Ausgabe wie im folgenden abgeschnittenen Beispiel ähnlich aussehen:

    hana-scaleout-w-failover:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failover:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      25987    25986   0.4      15248       6312 -sh
    hf0adm      26049    25987   0.0      10448       4036  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      26084    26049   0.0      19892       3864      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      22386    22385   0.0      15248       6248 -sh
    hf0adm      19164        1   0.0      13604       3124 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failover
    hf0adm      19171    19164   0.0     481188      84340  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failover/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failover/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failover
    hf0adm      19193    19171   3.4    9616860    3970304      \_ hdbnameserver
    hf0adm      19583    19171   0.3    4636456     206500      \_ hdbcompileserver
    hf0adm      19586    19171   0.3    4883932     235764      \_ hdbpreprocessor
    hf0adm      19624    19171   5.9    9896896    4193620      \_ hdbindexserver -port 30003
    hf0adm      19627    19171   1.2    7920208    1605448      \_ hdbxsengine -port 30007
    hf0adm      20072    19171   0.5    6825984     531884      \_ hdbwebdispatcher
    hf0adm      15053        1   0.0     590628      33208 hdbrsutil  --start --port 30003 --volume 3 --volumesuffix mnt00001/hdb00003.00003 --identifier 1689854702
    hf0adm      14420        1   0.0     590560      33308 hdbrsutil  --start --port 30001 --volume 1 --volumesuffix mnt00001/hdb00001 --identifier 1689854671
    hf0adm      14155        1   0.1     554820      33320 /usr/sap/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failover -D -u hf0adm
    hf0adm      14030        1   0.0      57024      11060 /usr/lib/systemd/systemd --user
    hf0adm      14031    14030   0.0     243164       4036  \_ (sd-pam)

    Auf einem Worker-host sollte die Ausgabe wie im folgenden abgeschnittenen Beispiel ähnlich aussehen:

    hana-scaleout-w-failoverw1:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failoverw1:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      16442    16441   0.0      15248       6276 -sh
    hf0adm      17317    16442   0.0      10448       4032  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      17352    17317   0.0      19892       3816      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      11873        1   0.0      13604       3244 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw1
    hf0adm      11880    11873   0.0     477076      84260  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw1/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw1/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failoverw1
    hf0adm      11902    11880   0.8    7738216     784912      \_ hdbnameserver
    hf0adm      12140    11880   0.4    4245828     199884      \_ hdbcompileserver
    hf0adm      12143    11880   0.4    4758024     235448      \_ hdbpreprocessor
    hf0adm      12176    11880   0.6    6046020     534448      \_ hdbwebdispatcher
    hf0adm      12210    11880   2.0    8363976    1743196      \_ hdbindexserver -port 30003
    hf0adm      10452        1   0.0     525100      33640 hdbrsutil  --start --port 30003 --volume 4 --volumesuffix mnt00002/hdb00004.00003 --identifier 1689855202
    hf0adm      10014        1   0.1     554696      31992 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw1 -D -u hf0adm

    Auf einem Standbyhost sollte die Ausgabe wie im folgenden abgeschnittenen Beispiel ähnlich aussehen:

    hana-scaleout-w-failoverw4:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failoverw4:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      15597    15596   0.5      15248       6272 -sh
    hf0adm      15659    15597   0.0      10448       4004  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      15694    15659   0.0      19892       3860      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      10285        1   0.0      13604       3244 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw4
    hf0adm      10292    10285   0.0     478076      84540  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw4/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw4/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failoverw4
    hf0adm      10314    10292   0.6    7468320     729308      \_ hdbnameserver
    hf0adm      10492    10292   0.3    3851320     191636      \_ hdbcompileserver
    hf0adm      10495    10292   0.3    4493296     227884      \_ hdbpreprocessor
    hf0adm      10528    10292   0.4    5381616     509368      \_ hdbwebdispatcher
    hf0adm       9750        1   0.0     620748      32796 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw4 -D -u hf0adm
  6. Wenn Sie RHEL für SAP 9.0 oder höher verwenden, achten Sie darauf, dass die Pakete chkconfig und compat-openssl11 auf Ihrer VM-Instanz installiert sind.

    Weitere Informationen von SAP finden Sie im SAP-Hinweis 3108316 – Red Hat Enterprise Linux 9.x: Installation und Konfiguration.

Verbindung zu SAP HANA Studio herstellen

  1. Stellen Sie über SAP HANA Studio eine Verbindung zum SAP HANA-Master-Host her.

    Sie können eine Verbindung von einer SAP HANA Studio-Instanz außerhalb von Google Cloud oder von einer Instanz in Google Cloud herstellen. Möglicherweise müssen Sie den Netzwerkzugriff zwischen den Ziel-VMs und SAP HANA Studio aktivieren.

    Informationen zum Verwenden von SAP HANA Studio in Google Cloud und zum Aktivieren des Zugriffs auf das SAP HANA-System finden Sie unter SAP HANA Studio auf einer Compute Engine-Windows-VM installieren.

  2. Klicken Sie in SAP HANA Studio im Standardbereich für die Systemadministration auf den Tab Landscape (Landschaft). Die Anzeige sieht ungefähr so aus:

    Screenshot der Ansicht "Landscape" in SAP HANA Studio

Führen Sie eine Bereinigung durch und wiederholen Sie die Bereitstellung.

Wenn einer der Schritte zur Bereitstellungsprüfung in den vorherigen Abschnitten zeigt, dass die Installation nicht erfolgreich war, müssen Sie die Bereitstellung rückgängig machen und es noch einmal ausführen. Gehen Sie dazu so vor:

  1. Beheben Sie alle Fehler, um sicherzustellen, dass Ihre Bereitstellung nicht aus demselben Grund fehlschlägt. Informationen zum Prüfen der Logs oder zum Beheben von kontingentbezogenen Fehlern finden Sie unter Logs prüfen.

  2. Öffnen Sie Cloud Shell. Wenn Sie die Google Cloud CLI auf Ihrer lokalen Workstation installiert haben, öffnen Sie stattdessen ein Terminal.

    Cloud Shell öffnen

  3. Wechseln Sie zu dem Verzeichnis, das die Terraform-Konfigurationsdatei enthält, die Sie für diese Bereitstellung verwendet haben.

  4. Löschen Sie alle Ressourcen, die Teil Ihrer Bereitstellung sind, indem Sie den folgenden Befehl ausführen:

    terraform destroy

    Wenn Sie aufgefordert werden, die Aktion zu genehmigen, geben Sie yes ein.

  5. Wiederholen Sie Ihre Bereitstellung wie zuvor in dieser Anleitung beschrieben.

Failover-Test durchführen

Nachdem Sie festgestellt haben, dass das SAP HANA-System erfolgreich implementiert wurde, testen Sie die Failover-Funktion.

Mit den folgenden Schritten wechseln Sie zum SAP HANA-Betriebssystemnutzer und geben den Befehl HDB stop ein, um einen Failover auszulösen. Der Befehl HDB stop initiiert ein ordnungsgemäßes Herunterfahren von SAP HANA und trennt die Laufwerke vom Host, wodurch ein relativ schneller Failover möglich wird.

So führen Sie einen Failover-Test durch

  1. Stellen Sie mithilfe von SSH eine Verbindung zur VM eines Worker-Hosts her. Dazu können Sie auf der Seite "VM-Instanzen" in Compute Engine auf die SSH-Schaltfläche für jede VM-Instanz klicken. Alternativ stellen Sie die Verbindung mit Ihrer bevorzugten SSH-Methode her.

    Zur Seite „VM-Instanzen“

  2. Wechseln Sie zum SAP HANA-Betriebssystemnutzer. Ersetzen Sie im folgenden Befehl SID_LC durch den Wert, den Sie in Ihrer Terraform-Konfigurationsdatei für das Argument sap_hana_sid angegeben haben.

    su - SID_LCadm
  3. Halten Sie SAP HANA an, um einen Fehler zu simulieren:

    HDB stop

    Mit dem Befehl HDB stop wird SAP HANA beendet, wodurch ein Failover ausgelöst wird. Während des Failovers werden die Laufwerke vom ausgefallenen Host getrennt und an den Standby-Host wieder angehängt. Der ausgefallene Host wird neu gestartet und wird zu einem Standby-Host.

  4. Warten Sie, bis die Übernahme abgeschlossen ist, und stellen Sie dann per SSH eine Verbindung mit dem Host her, der für den ausgefallenen Host eingesprungen ist.

  5. Wechseln Sie zum Root-Nutzer.

    sudo su -
  6. Rufen Sie die Dateisysteminformationen des Laufwerks auf:

    df -h

    Die Ausgabe sollte in etwa so aussehen: Die Verzeichnisse /hana/data und /hana/log des ausgefallenen Hosts werden nun auf dem Host bereitgestellt, der übernommen hat.

    hana-scaleout-w-failoverw4:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/1000
    /dev/mapper/vg_hana_data-data   422G  593M  422G   1% /hana/data/HF0/mnt00002
    /dev/mapper/vg_hana_log-log     128G  3.2G  125G   3% /hana/log/HF0/mnt00002
  7. Öffnen Sie in SAP HANA Studio die Ansicht Landscape (Landschaft) des SAP HANA-Systems, um zu überprüfen, ob das Failover erfolgreich war:

    • Der Status der am Failover beteiligten Hosts sollte INFO lauten.
    • In der Spalte Index Server Role (Actual) (Index-Server-Rolle (aktuell)) sollte der ausgefallene Host als neuer Standby-Host angezeigt werden.

    Screenshot der Ansicht "Landscape" in SAP HANA Studio

Installation des Google Cloud-Agents für SAP prüfen

Nachdem Sie eine VM bereitgestellt und Ihr SAP-System installiert haben, prüfen Sie, ob der Google Cloud-Agent für SAP ordnungsgemäß funktioniert.

Ausführung des Google Cloud-Agents für SAP prüfen

So prüfen Sie, ob der Agent ausgeführt wird:

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Host-VM her.

  2. Führen Sie dazu diesen Befehl aus:

    systemctl status google-cloud-sap-agent

    Wenn der Agent ordnungsgemäß funktioniert, enthält die Ausgabe active (running). Beispiel:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

Wenn der Agent nicht ausgeführt wird, starten Sie den Agent neu.

Prüfen, ob der SAP-Host-Agent Messwerte empfängt

Führen Sie die folgenden Schritte aus, um zu prüfen, ob die Infrastrukturmesswerte vom Agent von Google Cloud für SAP erfasst und korrekt an den SAP-Host-Agent gesendet werden:

  1. Geben Sie in Ihrem SAP-System Transaktion ST06 ein.
  2. Kontrollieren Sie im Übersichtsbereich die Verfügbarkeit und den Inhalt der folgenden Felder, um die korrekte End-to-End-Einrichtung der SAP- und Google-Monitoring-Infrastruktur zu überprüfen:

    • Cloud-Anbieter: Google Cloud Platform
    • Zugriff für erweitertes Monitoring: TRUE
    • Details für erweitertes Monitoring: ACTIVE

Monitoring für SAP HANA einrichten

Optional können Sie Ihre SAP HANA-Instanzen mit dem Google Cloud-Agent für SAP überwachen. In Version 2.0 können Sie den Agent so konfigurieren, dass er die SAP HANA-Monitoring-Messwerte erfasst und an Cloud Monitoring sendet. Mit Cloud Monitoring lassen sich Dashboards erstellen, um diese Messwerte zu visualisieren, Benachrichtigungen anhand von Messwertschwellen einzurichten und vieles mehr.

Weitere Informationen zur Erfassung von SAP HANA-Monitoring-Messwerten mit dem Google Cloud-Agent für SAP finden Sie unter SAP HANA-Monitoring-Messwerte erfassen.

SAP HANA Fast Restart aktivieren

Google Cloud empfiehlt dringend die Aktivierung von SAP HANA Fast Restart für jede Instanz von SAP HANA, insbesondere bei größeren Instanzen. SAP HANA Fast Restart verkürzt die Neustartzeit, wenn SAP HANA beendet wird, das Betriebssystem jedoch weiter ausgeführt wird.

In der Konfiguration der von Google Cloud bereitgestellten Automatisierungsskripts unterstützen die Betriebssystem- und Kerneleinstellungen bereits SAP HANA Fast Restart. Sie müssen das tmpfs-Dateisystem definieren und SAP HANA konfigurieren.

Zum Definieren des Dateisystems tmpfs und zum Konfigurieren von SAP HANA können Sie den manuellen Schritten folgen oder das von Google Cloud bereitgestellte Automatisierungsskript verwenden, um SAP HANA Fast Restart zu aktivieren. Weitere Informationen finden Sie hier:

Die Anleitungen für SAP HANA Fast Restart finden Sie in der Dokumentation zu SAP HANA Fast Restart.

Manuelle Schritte

tmpfs-Dateisystem konfigurieren

Nachdem die Host-VMs und die SAP HANA-Basissysteme erfolgreich bereitgestellt wurden, müssen Sie Verzeichnisse für die NUMA-Knoten im tmpfs-Dateisystem erstellen und bereitstellen.

NUMA-Topologie Ihrer VM anzeigen lassen

Bevor Sie das erforderliche tmpfs-Dateisystem zuordnen können, müssen Sie wissen, wie viele NUMA-Knoten Ihre VM hat. Geben Sie den folgenden Befehl ein, um die verfügbaren NUMA-Knoten auf einer Compute Engine-VM anzeigen zu lassen:

lscpu | grep NUMA

Der VM-Typ m2-ultramem-208 hat beispielsweise vier NUMA-Knoten mit der Nummerierung 0–3, wie im folgenden Beispiel gezeigt:

NUMA node(s):        4
NUMA node0 CPU(s):   0-25,104-129
NUMA node1 CPU(s):   26-51,130-155
NUMA node2 CPU(s):   52-77,156-181
NUMA node3 CPU(s):   78-103,182-207
NUMA-Knotenverzeichnisse erstellen

Erstellen Sie ein Verzeichnis für jeden NUMA-Knoten in Ihrer VM und legen Sie die Berechtigungen fest.

Beispiel für vier NUMA-Knoten mit der Nummerierung 0–3:

mkdir -pv /hana/tmpfs{0..3}/SID
chown -R SID_LCadm:sapsys /hana/tmpfs*/SID
chmod 777 -R /hana/tmpfs*/SID
NUMA-Knotenverzeichnisse unter tmpfs bereitstellen

Stellen Sie die Verzeichnisse des tmpfs-Dateisystems bereit und geben Sie für mpol=prefer jeweils eine NUMA-Knoteneinstellung an:

SID: Geben Sie die SID in Großbuchstaben an.

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID
mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID
mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID
mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
/etc/fstab aktualisieren

Fügen Sie der Dateisystemtabelle /etc/fstab Einträge hinzu, damit die Bereitstellungspunkte nach dem Neustart eines Betriebssystems verfügbar sind:

tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,relatime,mpol=prefer:0
tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,relatime,mpol=prefer:1
tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,relatime,mpol=prefer:2
tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,relatime,mpol=prefer:3

Optional: Limits für die Speichernutzung festlegen

Das tmpfs-Dateisystem kann dynamisch wachsen und schrumpfen.

Wenn Sie den vom tmpfs-Dateisystem verwendeten Speicher begrenzen möchten, können Sie mit der Option size eine Größenbeschränkung für ein NUMA-Knoten-Volume festlegen. Beispiel:

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID

Sie können auch die tmpfs-Speichernutzung für alle NUMA-Knoten für eine bestimmte SAP-HANA-Instanz und einen bestimmten Serverknoten begrenzen, indem Sie den Parameter persistent_memory_global_allocation_limit im Abschnitt [memorymanager] der Datei global.ini festlegen.

SAP HANA-Konfiguration für Fast Restart

Um SAP HANA für Fast Restart zu konfigurieren, aktualisieren Sie die Datei global.ini und geben Sie die Tabellen an, die im nichtflüchtigen Speicher gespeichert werden sollen.

Aktualisieren Sie den Abschnitt [persistence] in der Datei global.ini.

Konfigurieren Sie den Abschnitt [persistence] in der SAP HANA-Datei global.ini, um auf die tmpfs-Standorte zu verweisen. Trennen Sie die einzelnen tmpfs-Standorte durch ein Semikolon:

[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID

Im vorherigen Beispiel werden vier Arbeitsspeicher-Volumes für vier NUMA-Knoten angegeben, die m2-ultramem-208 entspricht. Bei der Ausführung auf m2-ultramem-416 müssten Sie acht Arbeitsspeicher-Volumes (0..7) konfigurieren.

Starten Sie SAP HANA neu, nachdem Sie die Datei global.ini geändert haben.

SAP HANA kann jetzt den Standort tmpfs als nichtflüchtigen Speicherbereich verwenden.

Tabellen angeben, die im nichtflüchtigen Speicher gespeichert werden sollen

Geben Sie bestimmte Spaltentabellen oder Partitionen an, die im nichtflüchtigen Speicher gespeichert werden sollen.

Wenn Sie beispielsweise nichtflüchtigen Speicher für eine vorhandene Tabelle aktivieren möchten, führen Sie diese SQL-Abfrage aus:

ALTER TABLE exampletable persistent memory ON immediate CASCADE

Um den Standardwert für neue Tabellen zu ändern, fügen Sie den Parameter table_default zur Datei indexserver.ini hinzu. Beispiel:

[persistent_memory]
table_default = ON

Weitere Informationen zur Steuerung von Spalten, Tabellen und dazu, welche Monitoringansichten detaillierte Informationen enthalten, finden Sie unter Nichtflüchtiger SAP HANA-Speicher.

Automatisierte Schritte

Das von Google Cloud bereitgestellte Automatisierungsskript zum Aktivieren von SAP HANA Fast Restart nimmt Änderungen an den Verzeichnissen /hana/tmpfs*, der Datei /etc/fstab und der SAP HANA-Konfiguration vor. Wenn Sie das Script ausführen, müssen Sie möglicherweise zusätzliche Schritte ausführen, je nachdem, ob es sich um die anfängliche Bereitstellung Ihres SAP HANA-Systems handelt oder Sie die Größe Ihrer Maschine in eine andere NUMA-Größe ändern.

Achten Sie bei der ersten Bereitstellung Ihres SAP HANA-Systems oder bei der Größenanpassung der Maschine zur Erhöhung der Anzahl der NUMA-Knoten darauf, dass SAP HANA während der Ausführung des Automatisierungsskripts ausgeführt wird, das Google Cloud zur Aktivierung von SAP HANA Fast Restart bereitstellt.

Wenn Sie die Größe der Maschine ändern, um die Anzahl der NUMA-Knoten zu verringern, müssen Sie darauf achten, dass SAP HANA während der Ausführung des Automatisierungsskripts gestoppt wird, das Google Cloud zur Aktivierung von SAP HANA Fast Restart bereitstellt. Nachdem das Script ausgeführt wurde, müssen Sie die SAP HANA-Konfiguration manuell aktualisieren, um die Einrichtung von SAP HANA Fast Restart abzuschließen. Weitere Informationen finden Sie unter SAP HANA-Konfiguration für Fast Restart.

So aktivieren Sie SAP HANA Fast Restart:

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Host-VM her.

  2. Wechseln Sie zum Root:

    sudo su -

  3. Laden Sie das sap_lib_hdbfr.sh-Skript herunter:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
  4. Machen Sie die Datei ausführbar:

    chmod +x sap_lib_hdbfr.sh
  5. Prüfen Sie, ob das Script Fehler enthält:

    vi sap_lib_hdbfr.sh
    ./sap_lib_hdbfr.sh -help

    Wenn der Befehl einen Fehler zurückgibt, wenden Sie sich an Cloud Customer Care. Weitere Informationen zur Kontaktaufnahme mit Customer Care finden Sie unter Support für SAP in Google Cloud.

  6. Führen Sie das Script aus, nachdem Sie die SAP HANA-System-ID (SID) und das Passwort für den SYSTEM-Nutzer der SAP HANA-Datenbank ersetzt haben. Damit Sie das Passwort sicher bereitstellen können, empfehlen wir die Verwendung eines Secrets in Secret Manager.

    Führen Sie das Script mit dem Namen eines Secrets in Secret Manager aus. Dieses Secret muss in dem Google Cloud-Projekt vorhanden sein, das Ihre Host-VM-Instanz enthält.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME 

    Ersetzen Sie Folgendes:

    • SID: Geben Sie die SID in Großbuchstaben an. Beispiel: AHA.
    • SECRET_NAME: Geben Sie den Namen des Secrets an, das dem Passwort für den SYSTEM-Nutzer der SAP HANA-Datenbank entspricht. Dieses Secret muss in dem Google Cloud-Projekt vorhanden sein, das Ihre Host-VM-Instanz enthält.

    Alternativ können Sie das Script mit einem Nur-Text-Passwort ausführen. Nachdem SAP HANA Fast Restart aktiviert wurde, müssen Sie Ihr Passwort ändern. Die Verwendung eines Nur-Text-Passworts wird nicht empfohlen, da Ihr Passwort im Befehlszeilenverlauf Ihrer VM aufgezeichnet werden würde.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'

    Ersetzen Sie Folgendes:

    • SID: Geben Sie die SID in Großbuchstaben an. Beispiel: AHA.
    • PASSWORD: Geben Sie das Passwort für den SYSTEM-Nutzer der SAP HANA-Datenbank an.

Bei einer erfolgreichen ersten Ausführung sollte die Ausgabe in etwa so aussehen:

INFO - Script is running in standalone mode
ls: cannot access '/hana/tmpfs*': No such file or directory
INFO - Setting up HANA Fast Restart for system 'TST/00'.
INFO - Number of NUMA nodes is 2
INFO - Number of directories /hana/tmpfs* is 0
INFO - HANA version 2.57
INFO - No directories /hana/tmpfs* exist. Assuming initial setup.
INFO - Creating 2 directories /hana/tmpfs* and mounting them
INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839
INFO - Updating the HANA configuration.
INFO - Running command: select * from dummy
DUMMY
"X"
1 row selected (overall time 4124 usec; server time 130 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;'
0 rows affected (overall time 3570 usec; server time 2239 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain';
0 rows affected (overall time 4308 usec; server time 2441 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON';
0 rows affected (overall time 3422 usec; server time 2152 usec)

Verbindung zu SAP HANA herstellen

Da in dieser Anleitung keine externe IP-Adresse für SAP HANA verwendet wird, können Sie nur über die Bastion-Instanz mit SSH oder über den Windows-Server mit SAP HANA Studio eine Verbindung zu den SAP HANA-Instanzen herstellen.

  • Zum Herstellen einer Verbindung mit SAP HANA über die Bastion-Instanz stellen Sie zuerst über einen SSH-Client Ihrer Wahl eine Verbindung zum Bastion-Host und anschließend zu den SAP HANA-Instanzen her.

  • Zum Herstellen einer Verbindung mit der SAP HANA-Datenbank über SAP HANA Studio verwenden Sie einen Remote-Desktop-Client, um eine Verbindung zur Windows Server-Instanz herzustellen. Nach dem Verbindungsaufbau installieren Sie SAP HANA Studio manuell und greifen auf Ihre SAP HANA-Datenbank zu.

Aufgaben nach dem Deployment ausführen

Bevor Sie Ihre SAP HANA-Instanz verwenden, sollten Sie nach der Bereitstellung diese Schritte ausführen: Weitere Informationen finden Sie in der Installations- und Aktualisierungsanleitung für SAP HANA.

  1. Ändern Sie die temporären Passwörter für den SAP HANA-Systemadministrator und den Datenbank-Superuser.

  2. Aktualisieren Sie die SAP HANA-Software mit den neuesten Patches.

  3. Wenn Ihr SAP HANA-System in einer VirtIO-Netzwerkschnittstelle bereitgestellt wird, empfehlen wir, den Wert des TCP-Parameters /proc/sys/net/ipv4/tcp_limit_output_bytes auf 1048576 zu setzen. Diese Änderung hilft, den Gesamtdurchsatz des Netzwerks der VirtIO-Netzwerkschnittstelle zu verbessern, ohne die Netzwerklatenz zu beeinträchtigen.

  4. Installieren Sie ggf. zusätzliche Komponenten wie AFLs (Application Function Libraries) oder SDA (Smart Data Access).

  5. Wenn Sie ein vorhandenes SAP HANA-System aktualisieren, laden Sie die Daten aus dem vorhandenen System. Verwenden Sie dazu entweder Standard-Sicherungs- und Wiederherstellungsverfahren oder verwenden Sie die SAP HANA-Systemreplikation.

  6. Konfigurieren und sichern Sie Ihre neue SAP HANA-Datenbank. Weitere Informationen finden Sie in der Betriebsanleitung für SAP HANA.

SAP HANA-Arbeitslast bewerten

Mit Workload Manager können Sie kontinuierliche Validierungsprüfungen für Ihre SAP HANA-Arbeitslasten automatisieren, die in Google Cloud ausgeführt werden.

Mit Workload Manager können Sie Ihre SAP HANA-Arbeitslasten automatisch anhand von Best Practices von SAP, Google Cloud und Betriebssystemanbietern scannen und bewerten. Dies verbessert die Qualität, Leistung und Zuverlässigkeit Ihrer Arbeitslasten.

Informationen zu den Best Practices, die Workload Manager für die Bewertung von SAP HANA-Arbeitslasten in der Google Cloud unterstützt, finden Sie unter Best Practices von Workload Manager für SAP. Informationen zum Erstellen und Ausführen einer Bewertung mit Workload Manager finden Sie unter Evaluierung erstellen und ausführen.

Nächste Schritte