In dieser Anleitung erfahren Sie, wie Sie mit Cloud Deployment Manager ein SAP HANA-System mit horizontaler Skalierung bereitstellen, das die Lösung für einen automatischen Failover des SAP HANA-Hosts enthält. Mit Deployment Manager 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.
Gehen Sie nicht nach dieser Anleitung vor, wenn Sie den automatischen Host-Failover nicht benötigen. Verwenden Sie stattdessen Deployment Manager: SAP HANA-Bereitstellungsanleitung.
Informationen zum Automatisieren der Bereitstellung eines SAP HANA-Systems mit horizontaler Skalierung finden Sie in der Bereitstellungsanleitung für SAP HANA-Systeme mit horizontaler Skalierung und automatischem Host-Failover.
Wenn Sie SAP HANA in einem Linux-Hochverfügbarkeitscluster bereitstellen müssen, verwenden Sie eine der folgenden Anleitungen:
- Deployment Manager: Konfigurationsanleitung für SAP HANA-HA-Cluster
- Der Konfigurationsleitfaden Hochverfügbarkeitscluster für SAP HANA unter RHEL
- Der Konfigurationsleitfaden Hochverfügbarkeitscluster für SAP HANA unter SLES
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 Deployment Manager-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.
So richten Sie das Netzwerk ein:
Console
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
- Klicken Sie auf VPC-Netzwerk erstellen.
- Geben Sie einen Namen für das Netzwerk ein.
Der Name muss der Namenskonvention entsprechen. VPC-Netzwerke verwenden die Namenskonvention von Compute Engine.
- Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
- Legen Sie im Abschnitt Neues Subnetz folgende Konfigurationsparameter für das Subnetz fest:
- Geben Sie einen Namen für das Subnetz ein.
- Wählen Sie unter Region die Compute Engine-Region aus, in der Sie das Subnetz erstellen möchten.
- Wählen Sie für IP-Stack-Typ die Option IPv4 (einzelner Stack) aus und geben Sie dann einen IP-Adressbereich im CIDR-Format ein, z. B.
10.1.0.0/24
.Dies ist der primäre IPv4-Bereich für das Subnetz. Wenn Sie mehrere Subnetze erstellen möchten, weisen Sie den Subnetzen im Netzwerk nicht überlappende CIDR-IP-Adressbereiche zu. Beachten Sie, dass jedes Subnetz und seine internen IP-Adressbereiche einer einzelnen Region zugeordnet sind.
- Klicken Sie auf Fertig.
- Klicken Sie auf Subnetz hinzufügen und wiederholen Sie die vorherigen Schritte, um weitere Subnetze zu erstellen. Sie können dem Netzwerk weitere Subnetze hinzufügen, nachdem Sie das Netzwerk erstellt haben.
- Klicken Sie auf Erstellen.
gcloud
- Rufen Sie Cloud Shell auf.
- Führen Sie den folgenden Befehl aus, um ein neues Netzwerk im benutzerdefinierten Subnetzwerkmodus zu erstellen:
gcloud compute networks create NETWORK_NAME --subnet-mode custom
Ersetzen Sie
NETWORK_NAME
durch den Namen des neuen Clusters. Der Name muss der Namenskonvention entsprechen. VPC-Netzwerke verwenden die Namenskonvention von Compute Engine.Geben Sie
--subnet-mode custom
an und deaktivieren Sie so den standardmäßigen automatischen Modus. Ansonsten würde durch diesen Modus automatisch in jeder Compute Engine-Region ein Subnetz erstellt werden. Weitere Informationen dazu finden Sie unter Modus für Subnetzerstellung. - Erstellen Sie ein Subnetzwerk und geben Sie die Region und den IP-Adressbereich an:
gcloud compute networks subnets create SUBNETWORK_NAME \ --network NETWORK_NAME --region REGION --range RANGE
Dabei gilt:
SUBNETWORK_NAME
: der Name des neuen Subnetzwerks.NETWORK_NAME
: der Name des Netzwerks, das Sie im vorherigen Schritt erstellt haben.REGION
: die Region, in der sich das Subnetzwerk befinden sollRANGE
: der im CIDR-Format angegebene IP-Adressbereich, z. B.10.1.0.0/24
Wenn Sie mehrere Subnetzwerke hinzufügen möchten, weisen Sie den Subnetzwerken im Netzwerk nicht überlappende CIDR-IP-Adressbereiche zu. Beachten Sie, dass jedes Subnetzwerk und seine internen IP-Adressbereiche einer einzelnen Region zugeordnet sind.
- Wiederholen Sie den vorherigen Schritt, falls Sie weitere Subnetze erstellen möchten.
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.
So erstellen Sie eine Firewallregel:
Console
Rufen Sie in der Google Cloud Console die Seite Firewall des VPC-Netzwerks auf.
Klicken Sie oben auf der Seite auf Firewallregel erstellen.
- Wählen Sie im Feld Netzwerk das Netzwerk aus, in dem sich die VM befindet.
- Geben Sie im Feld Ziele die Ressourcen in Google Cloud an, für die diese Regel gelten soll. Legen Sie beispielsweise Alle Instanzen im Netzwerk fest. Sie können unter Angegebene Ziel-Tags auch Tags eingeben, um die Regel auf bestimmte Instanzen in Google Cloud zu beschränken.
- Wählen Sie im Feld Quellfilter eine der folgenden Optionen aus:
- IP-Bereiche, um eingehenden Traffic von bestimmten IP-Adressen zuzulassen. Geben Sie den IP-Adressbereich im Feld Quell-IP-Bereiche an.
- Subnetze, um eingehenden Traffic von einem bestimmten Subnetz zuzulassen. Geben Sie den Namen des Subnetzwerks im folgenden Feld Subnetze an. Mit dieser Option können Sie den Zugriff zwischen den VMs in einer dreistufigen oder einer horizontal skalierbaren Konfiguration zulassen.
- Wählen Sie im Bereich Protokolle und Ports die Option Angegebene Protokolle und Ports aus und geben Sie
tcp:PORT_NUMBER
ein.
Klicken Sie auf Erstellen, um die Firewallregel anzulegen.
gcloud
Erstellen Sie mit dem folgenden Befehl eine Firewallregel:
$
gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS
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 Deployment Manager mit einer von Ihnen ausgefüllten Konfigurationsdateivorlage 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 der Google Cloud CLI 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 Deployment Manager-Konfigurationsdateivorlage herunter, füllen sie aus und rufen dann Deployment Manager auf. Deployment Manager stellt die VMs, den nichtflüchtigen Speicher und die SAP HANA-Instanzen bereit.
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.
Öffnen Sie Cloud Shell.
Laden Sie die Konfigurationsdateivorlage
template.yaml
für das SAP HANA-Hochverfügbarkeitssystem für horizontale Skalierung in Ihr Arbeitsverzeichnis herunter:wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_scaleout/template.yaml
Sie können die Datei
template.yaml
so umbenennen, dass die von ihr definierte Konfiguration im Namen erkennbar ist. Sie können beispielsweise einen Dateinamen wiehana2sp3rev30-scaleout.yaml
verwenden.Öffnen Sie die Datei
template.yaml
im Cloud Shell-Code-Editor.Klicken Sie zum Öffnen des Codeeditors auf das Stiftsymbol oben rechts im Cloud Shell-Terminalfenster.
Aktualisieren Sie in der Datei
template.yaml
die folgenden Attributwerte. Ersetzen Sie hierzu die Klammern und deren Inhalt durch die Werte für Ihre Installation. Sie könnten etwa "[ZONE]" durch "us-central1-f" ersetzen.Attribut Datentyp Beschreibung Typ String Gibt Speicherort, Typ und Version der Deployment Manager-Vorlage an, die während der Bereitstellung verwendet werden sollen.
Die YAML-Datei enthält zwei
type
-Spezifikationen, von denen eine auskommentiert ist. Für die standardmäßig aktivetype
-Spezifikation ist die Vorlagenversion alslatest
angegeben. Die auskommentiertetype
-Spezifikation gibt eine bestimmte Vorlagenversion mit einem Zeitstempel an.Wenn Sie möchten, dass alle Ihre Bereitstellungen die gleiche Vorlagenversion nutzen, verwenden Sie die
type
-Spezifikation, die den Zeitstempel enthält.instanceName
String Name der VM-Instanz für den SAP HANA-Masterhost. Der Name darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Die VM-Instanzen für die Worker- und Standby-Hosts haben denselben Namen, an den ein „w“ und die Hostnummer angehängt sind. instanceType
String Der Typ der virtuellen Maschine in Compute Engine, auf der Sie SAP HANA 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. zone
String Die Zone, in der Sie Ihre SAP HANA-Systeme zur Ausführung bereitstellen. Sie muss sich in der Region befinden, die Sie für Ihr Subnetz ausgewählt haben. subnetwork
String Name des Subnetzes, das Sie in einem vorherigen Schritt erstellt haben. Wenn das Deployment in einer freigegebenen VPC erfolgt, geben Sie diesen Wert im Format [SHAREDVPC_PROJECT]/[SUBNETWORK]
an. Beispiel:myproject/network1
.linuxImage
String Der Name des Linux-Betriebssystem-Images bzw. der Linux-Image-Familie, die Sie mit SAP HANA verwenden. Wenn Sie eine Image-Familie angeben möchten, ergänzen Sie den Familiennamen durch das Präfix family/
. Beispiel:family/rhel-8-1-sap-ha
oderfamily/sles-15-sp2-sap
. Wenn Sie ein bestimmtes Image verwenden möchten, geben Sie nur dessen Namen an. Eine Liste der verfügbaren Image-Familien finden Sie in der Google Cloud Console auf der Seite Seite „Images“.linuxImageProject
String Das Google Cloud-Projekt, das das zu verwendende Image enthält. 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
odersuse-sap-cloud
an. Weitere Informationen zum Image-Projekt für Ihr Betriebssystem finden Sie unter Details zu Betriebssystemen.sap_hana_deployment_bucket
String Name des Cloud Storage-Buckets in Ihrem Projekt, der die von Ihnen in einem vorherigen Schritt hochgeladenen SAP HANA-Installationsdateien enthält. sap_hana_sid
String Die SAP HANA-System-ID. Die ID muss aus drei alphanumerischen Zeichen bestehen und mit einem Buchstaben beginnen. Alle Buchstaben müssen Großbuchstaben sein. sap_hana_instance_number
Ganzzahl Instanznummer (0 bis 99) des SAP HANA-Systems. Der Standardwert ist 0. sap_hana_sidadm_password
String Ein temporäres Passwort für den Betriebssystemadministrator, das während der Bereitstellung verwendet werden soll. Passwörter müssen aus mindestens 8 Zeichen bestehen und mindestens 1 Großbuchstaben, 1 Kleinbuchstaben und 1 Ziffer enthalten. sap_hana_system_password
String Ein temporäres Passwort für den Datenbank-Superuser, der während der Bereitstellung verwendet werden soll. Passwörter müssen aus mindestens 8 Zeichen bestehen und mindestens 1 Großbuchstaben, 1 Kleinbuchstaben und 1 Ziffer enthalten. sap_hana_worker_nodes
Ganzzahl Anzahl der zusätzlich benötigten SAP HANA-Worker-Hosts. Sie können 1 bis 15 Worker-Hosts angeben. Der Standardwert ist 1. sap_hana_standby_nodes
Ganzzahl Anzahl der zusätzlich benötigten SAP HANA-Standby-Hosts. Sie können 1 bis 3 Standby-Hosts angeben. Der Standardwert ist 1. sap_hana_shared_nfs
String NFS-Einhängepunkt für das Volume /hana/shared
. Beispiel:10.151.91.122:/hana_shared_nfs
.sap_hana_backup_nfs
String NFS-Einhängepunkt für das Volume /hanabackup
. Beispiel:10.216.41.122:/hana_backup_nfs
.networkTag
String Optional. Ein oder mehrere durch Kommas getrennte Netzwerk-Tags, die Ihre VM-Instanz für Firewall- oder Routingzwecke darstellen. Wenn Sie zwar publicIP: No
, aber kein Netzwerk-Tag angeben, müssen Sie eine andere Möglichkeit für den Zugriff auf das Internet bereitstellen.nic_type
String Optional, aber empfohlen, sofern für die Zielmaschine und die Betriebssystemversion verfügbar. Gibt die Netzwerkschnittstelle an, die mit der VM-Instanz verwendet werden soll. Sie können den Wert GVNIC
oderVIRTIO_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 AttributlinuxImage
unterstützt. Eine Liste der Betriebssystem-Images finden Sie unter Details zu Betriebssystemen.Wenn Sie für dieses Attribut keinen Wert angeben, wird die Netzwerkschnittstelle automatisch basierend auf dem Maschinentyp ausgewählt, den Sie für das Attribut
Dieses Argument ist in den Deployment Manager-VorlagenversioneninstanceType
angeben.202302060649
oder höher verfügbar.publicIP
Boolesch Optional. Legt fest, ob Ihre VM-Instanz eine öffentliche IP-Adresse erhält. Der Standardwert ist Yes
.sap_hana_double_volume_size
Ganzzahl Optional. Verdoppelt die Größe des HANA-Volumes. Dies ist hilfreich, 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 die erforderliche Mindestgröße für Speicherbedarf hat. Gleichzeitig müssen Sie die Anforderungen der SAP-Zertifizierung und des Supports erfüllen. sap_hana_sidadm_uid
Ganzzahl Optional. Überschreibt den Standardwert der Nutzer-ID SID_LCadm
. 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_deployment_debug
Boolesch Optional. Wenn dieser Wert auf Yes
festgelegt ist, werden bei der Bereitstellung ausführliche Bereitstellungslogs generiert. Aktivieren Sie diese Einstellung nur, falls ein Google-Supporttechniker Sie bittet, das Debugging zu aktivieren.post_deployment_script
Boolesch Optional. URL oder der Speicherort eines Skripts, das nach Abschluss der Bereitstellung ausgeführt werden soll. Das Skript sollte auf einem Webserver oder in einem Cloud Storage-Bucket gehostet werden. Beginnen Sie den Wert mit http://, https:// oder gs://. Dieses Skript wird auf allen VMs ausgeführt, die mit der Vorlage erstellt werden. Wenn Sie es nur auf der Master-Instanz ausführen möchten, müssen Sie oben in Ihrem Skript einen Haken setzen. 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. Das angegebene benutzerdefinierte Dienstkonto wird zum Dienstkonto der bereitgestellten VMs.
resources: - name: sap_hana_ha_scaleout type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_scaleout/sap_hana_scaleout.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/YYYYMMDDHHMM/dm-templates/sap_hana_scaleout/sap_hana_scaleout.py # properties: instanceName: hana-scaleout-w-failover instanceType: n2-highmem-32 zone: us-central1-f subnetwork: example-sub-network-sap linuxImage: family/sles-15-sp2-sap linuxImageProject: suse-sap-cloud 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 sap_hana_shared_nfs: 10.74.146.58:/hana_shr sap_hana_backup_nfs: 10.188.249.170:/hana_bup serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com
Erstellen Sie die Instanzen:
gcloud deployment-manager deployments create [DEPLOYMENT_NAME] --config [TEMPLATE_NAME].yaml
Der obige Befehl ruft Deployment Manager auf, um die Google Cloud-Infrastruktur einzurichten. Dann wird ein weiteres Skript aufgerufen, das das Betriebssystem konfiguriert und SAP HANA installiert.
Solange Deployment Manager 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 weniger als 30 Minuten.
Deployment ü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
Öffnen Sie in der Google Cloud Console „Cloud Logging“, um den Installationsfortschritt zu überwachen und nach Fehlern zu suchen.
Filtern Sie die Logs:
Log-Explorer
Wechseln Sie auf der Seite Log-Explorer zum Bereich Abfrage.
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"
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.
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:
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.
Löschen Sie in Deployment Manager auf der Seite Deployments die Bereitstellung, um VMs und nichtflüchtige Speicher von der fehlgeschlagenen Installation zu bereinigen.
Führen Sie die Bereitstellung noch einmal aus.
- Wenn
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.
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".
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".
Wechseln Sie in beiden Terminalfenstern zum Root-Nutzer.
sudo su -
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 126G 8.0K 126G 1% /dev tmpfs 189G 0 189G 0% /dev/shm tmpfs 126G 18M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda3 45G 5.6G 40G 13% / /dev/sda2 20M 2.9M 18M 15% /boot/efi 10.135.35.138:/hana_shr 1007G 50G 906G 6% /hana/shared tmpfs 26G 0 26G 0% /run/user/473 10.197.239.138:/hana_bup 1007G 0 956G 0% /hanabackup tmpfs 26G 0 26G 0% /run/user/900 /dev/mapper/vg_hana-data 709G 7.7G 702G 2% /hana/data/HF0/mnt00001 /dev/mapper/vg_hana-log 125G 5.3G 120G 5% /hana/log/HF0/mnt00001 tmpfs 26G 0 26G 0% /run/user/1003
Beachten Sie auf dem Worker-Host, dass die Verzeichnisse
/hana/data
und/hana/log
unterschiedliche Bereitstellungen haben.hana-scaleout-w-failoverw2:~ # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 126G 8.0K 126G 1% /dev tmpfs 189G 0 189G 0% /dev/shm tmpfs 126G 9.2M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda3 45G 5.6G 40G 13% / /dev/sda2 20M 2.9M 18M 15% /boot/efi tmpfs 26G 0 26G 0% /run/user/0 10.135.35.138:/hana_shr 1007G 50G 906G 6% /hana/shared 10.197.239.138:/hana_bup 1007G 0 956G 0% /hanabackup /dev/mapper/vg_hana-data 709G 821M 708G 1% /hana/data/HF0/mnt00003 /dev/mapper/vg_hana-log 125G 2.2G 123G 2% /hana/log/HF0/mnt00003 tmpfs 26G 0 26G 0% /run/user/1003
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 126G 8.0K 126G 1% /dev tmpfs 189G 0 189G 0% /dev/shm tmpfs 126G 18M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda3 45G 5.6G 40G 13% / /dev/sda2 20M 2.9M 18M 15% /boot/efi tmpfs 26G 0 26G 0% /run/user/0 10.135.35.138:/hana_shr 1007G 50G 906G 6% /hana/shared 10.197.239.138:/hana_bup 1007G 0 956G 0% /hanabackup tmpfs 26G 0 26G 0% /run/user/1003
Wechseln Sie in beiden Terminalfenstern zum SAP HANA-Betriebssystemnutzer.
su - SID_LCadm
Ersetzen Sie
SID_LC
durch den SID-Wert, den Sie in der Konfigurationsdateivorlage angegeben haben. Verwenden Sie Kleinbuchstaben für Buchstaben.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:
hf0adm@hana-scaleout-w-failover:/usr/sap/HF0/HDB00> HDB info USER PID PPID %CPU VSZ RSS COMMAND hf0adm 5936 5935 0.7 18540 6776 -sh hf0adm 6011 5936 0.0 14128 3856 \_ /bin/sh /usr/sap/HF0/HDB00/HDB info hf0adm 6043 6011 0.0 34956 3568 \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10 hf0adm 17950 1 0.0 23052 3168 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout hf0adm 17957 17950 0.0 457332 70956 \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failover/trace/hdb.sa hf0adm 17975 17957 1.8 9176656 3432456 \_ hdbnameserver hf0adm 18334 17957 0.4 4672036 229204 \_ hdbcompileserver hf0adm 18337 17957 0.4 4941180 257348 \_ hdbpreprocessor hf0adm 18385 17957 4.5 9854464 4955636 \_ hdbindexserver -port 30003 hf0adm 18388 17957 1.2 7658520 1424708 \_ hdbxsengine -port 30007 hf0adm 18865 17957 0.4 6640732 526104 \_ hdbwebdispatcher hf0adm 14230 1 0.0 568176 32100 /usr/sap/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profi hf0adm 10920 1 0.0 710684 51560 hdbrsutil --start --port 30003 --volume 3 --volumesuffix mn hf0adm 10575 1 0.0 710680 51104 hdbrsutil --start --port 30001 --volume 1 --volumesuffix mn hf0adm 10217 1 0.0 72140 7752 /usr/lib/systemd/systemd --user hf0adm 10218 10217 0.0 117084 2624 \_ (sd-pam)
Auf einem Worker-host sollte die Ausgabe wie im folgenden abgeschnittenen Beispiel ähnlich aussehen:
hf0adm@hana-scaleout-w-failoverw2:/usr/sap/HF0/HDB00> HDB info USER PID PPID %CPU VSZ RSS COMMAND hf0adm 22136 22135 0.3 18540 6804 -sh hf0adm 22197 22136 0.0 14128 3892 \_ /bin/sh /usr/sap/HF0/HDB00/HDB info hf0adm 22228 22197 100 34956 3528 \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10 hf0adm 9138 1 0.0 23052 3064 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout hf0adm 9145 9138 0.0 457360 70900 \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw2/trace/hdb. hf0adm 9163 9145 0.7 7326228 755772 \_ hdbnameserver hf0adm 9336 9145 0.5 4670756 226972 \_ hdbcompileserver hf0adm 9339 9145 0.6 4942460 259724 \_ hdbpreprocessor hf0adm 9385 9145 2.0 7977460 1666792 \_ hdbindexserver -port 30003 hf0adm 9584 9145 0.5 6642012 528840 \_ hdbwebdispatcher hf0adm 8226 1 0.0 516532 52676 hdbrsutil --start --port 30003 --volume 5 --volumesuffix mn hf0adm 7756 1 0.0 567520 31316 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/p
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 19926 19925 0.2 18540 6748 -sh hf0adm 19987 19926 0.0 14128 3864 \_ /bin/sh /usr/sap/HF0/HDB00/HDB info hf0adm 20019 19987 0.0 34956 3640 \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10 hf0adm 8120 1 0.0 23052 3232 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout hf0adm 8127 8120 0.0 457348 71348 \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw4/trace/hdb. hf0adm 8145 8127 0.6 7328784 708284 \_ hdbnameserver hf0adm 8280 8127 0.4 4666916 223892 \_ hdbcompileserver hf0adm 8283 8127 0.4 4939904 256740 \_ hdbpreprocessor hf0adm 8328 8127 0.4 6644572 534044 \_ hdbwebdispatcher hf0adm 7374 1 0.0 633568 31520 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/p
Wenn Sie RHEL für SAP 9.0 oder höher verwenden, achten Sie darauf, dass die Pakete
chkconfig
undcompat-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
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.
Klicken Sie in SAP HANA Studio im Standardbereich für die Systemadministration auf den Tab Landscape (Landschaft). Die Anzeige sieht ungefähr so aus:
Wenn einer der Überprüfungsschritte auf eine fehlgeschlagene Installation hindeutet:
- Korrigieren Sie den Fehler.
- Löschen Sie auf der Seite Deployments die Bereitstellung.
- Führen Sie die Bereitstellung noch einmal aus.
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
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.
Wechseln Sie zum SAP HANA-Betriebssystemnutzer. Ersetzen Sie im folgenden Beispiel
SID_LC
durch die SID, die Sie für Ihr System definiert haben.su - SID_LCadm
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.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.
Wechseln Sie zum Root-Nutzer.
sudo su -
Rufen Sie das Laufwerksdateisystem der VMs für die Master- und Worker-Hosts auf.
df -h
Die Ausgabe sieht in etwa so aus: 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 126G 8.0K 126G 1% /dev tmpfs 189G 0 189G 0% /dev/shm tmpfs 126G 9.2M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda3 45G 5.6G 40G 13% / /dev/sda2 20M 2.9M 18M 15% /boot/efi tmpfs 26G 0 26G 0% /run/user/0 10.74.146.58:/hana_shr 1007G 50G 906G 6% /hana/shared 10.188.249.170:/hana_bup 1007G 0 956G 0% /hanabackup /dev/mapper/vg_hana-data 709G 821M 708G 1% /hana/data/HF0/mnt00003 /dev/mapper/vg_hana-log 125G 2.2G 123G 2% /hana/log/HF0/mnt00003 tmpfs 26G 0 26G 0% /run/user/1003
Ö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.
- Der Status der am Failover beteiligten Hosts sollte
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:
Stellen Sie eine SSH-Verbindung zu Ihrer Host-VM her.
Führen Sie dazu diesen Befehl aus:
systemctl status google-cloud-sap-agent
Wenn der Agent ordnungsgemäß funktioniert, enthält die Ausgabe
active (running)
. Beispiele: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:
- Geben Sie in Ihrem SAP-System Transaktion
ST06
ein. 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
- Cloud-Anbieter:
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:
- Manuelle Schritte: SAP HANA Fast Restart aktivieren
- Automatisierte Schritte: SAP HANA Fast Restart aktivieren
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.
Beispiele:
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. Beispiele:
[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:
Stellen Sie eine SSH-Verbindung zu Ihrer Host-VM her.
Wechseln Sie zum Root:
sudo su -
Laden Sie das
sap_lib_hdbfr.sh
-Skript herunter:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
Machen Sie die Datei ausführbar:
chmod +x sap_lib_hdbfr.sh
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.
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.
Ändern Sie die temporären Passwörter für den SAP HANA-Systemadministrator und den Datenbank-Superuser.
Aktualisieren Sie die SAP HANA-Software mit den neuesten Patches.
Installieren Sie ggf. zusätzliche Komponenten wie AFLs (Application Function Libraries) oder SDA (Smart Data Access).
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.
Konfigurieren und sichern Sie Ihre neue SAP HANA-Datenbank. Weitere Informationen finden Sie in der Betriebsanleitung für SAP HANA.
Weitere Informationen
- Weitere Informationen zu VM-Verwaltung und VM-Monitoring finden Sie in der Betriebsanleitung für SAP HANA.