Ce guide explique comment automatiser le déploiement d'un système SAP HANA à scaling horizontal dans un cluster haute disponibilité SUSE Linux Enterprise Server (SLES) sur Google Cloud.
Ce guide utilise Terraform pour déployer un système SAP HANA à plusieurs hôtes à évolutivité horizontale, une adresse IP virtuelle avec une mise en œuvre de l'équilibreur de charge réseau interne passthrough et un cluster à haute disponibilité basé sur le système d'exploitation, le tout conformément aux bonnes pratiques de Google Cloud, SAP et SUSE.
L'un des systèmes SAP HANA fonctionne en tant que système principal, actif, et l'autre en tant que système secondaire, de secours. Vous déployez les deux systèmes SAP HANA dans la même région, de préférence dans différentes zones.
Le cluster déployé inclut les fonctions et fonctionnalités suivantes :
- Le gestionnaire de ressources de cluster à haute disponibilité Pacemaker
- Un mécanisme de cloisonnement Google Cloud
- Une adresse IP virtuelle (VIP) avec mise en œuvre d'un équilibreur de charge interne TCP de niveau 4, y compris :
- Une réservation de l'adresse IP que vous choisissez comme adresse IP virtuelle
- Deux groupes d'instances Compute Engine
- Un équilibreur de charge interne TCP
- Une vérification de l'état Compute Engine
- Le modèle à haute disponibilité SUSE
- Le package d'agents de ressources SUSE SAPHanaSR
- La réplication de système synchrone
- La précharge de mémoire
- Le redémarrage automatique de l'instance ayant échoué en tant que nouvelle instance secondaire
Si vous avez besoin d'un système à évolutivité horizontale avec des hôtes de secours pour le basculement automatique de l'hôte SAP HANA, vous devez consulter :Terraform : Guide de déploiement du système SAP HANA à scaling horizontal avec basculement automatique des hôtes.
Pour déployer un système SAP HANA sans cluster Linux à haute disponibilité ni hôtes de secours, consultez la page Terraform : Guide de déploiement de SAP HANA.
Ce guide est destiné aux utilisateurs avancés de SAP HANA qui connaissent bien les configurations Linux à haute disponibilité pour SAP HANA.
Prérequis
Avant de créer le cluster à haute disponibilité SAP HANA, assurez-vous que les conditions préalables suivantes sont remplies :
- Vous avez lu le guide de planification SAP HANA et le guide de planification de la haute disponibilité pour SAP HANA.
- Vous ou votre organisation disposez d'un compte Google Cloud et avez créé un projet pour le déploiement de SAP HANA. Pour en savoir plus sur la création de comptes et de projets Google Cloud, consultez la page Configurer votre compte Google.
- Si vous souhaitez que votre charge de travail SAP s'exécute conformément aux exigences liées à la résidence des données, au contrôle des accès, au personnel d'assistance ou à la réglementation, vous devez créer le dossier Assured Workloads requis. Pour en savoir plus, consultez la page Contrôles de conformité et de souveraineté pour SAP sur Google Cloud.
Le support d'installation de SAP HANA se trouve dans un bucket Cloud Storage disponible dans votre projet et votre région de déploiement. Pour savoir comment importer le support d'installation de SAP HANA dans un bucket Cloud Storage, consultez la section Créer un bucket Cloud Storage pour les fichiers d'installation de SAP HANA.
Si OS Login est activé dans les métadonnées de votre projet, vous devrez le désactiver temporairement jusqu'à la fin du déploiement. Pour le déploiement, cette procédure configure les clés SSH dans les métadonnées d'instance. Lorsque OS Login est activé, les configurations de clé SSH basées sur les métadonnées sont désactivées et le déploiement échoue. Une fois le déploiement terminé, vous pouvez réactiver OS Login.
Pour en savoir plus, consultez les pages suivantes :
Si vous utilisez un DNS interne de VPC, la valeur de la variable
vmDnsSetting
dans les métadonnées de votre projet Google Cloud doit êtreGlobalDefault
ouZonalPreferred
afin de permettre la résolution des noms de nœuds entre zones. La valeur par défaut devmDnsSetting
estZonalOnly
. Pour en savoir plus, consultez les pages suivantes :
Créer un réseau
Pour des raisons de sécurité, nous vous recommandons de créer un réseau, dont vous contrôlez les accès en ajoutant des règles de pare-feu ou toute autre méthode.
Si votre projet dispose d'un réseau VPC par défaut, ne l'utilisez pas. À la place, créez votre propre réseau VPC afin que les seules règles de pare-feu appliquées soient celles que vous créez explicitement.
Lors du déploiement, les instances de VM nécessitent généralement un accès à Internet pour télécharger l'agent Google Cloud pour SAP. Si vous utilisez l'une des images Linux certifiées SAP disponibles dans Google Cloud, l'instance de VM requiert également l'accès à Internet pour enregistrer la licence et accéder aux dépôts des fournisseurs d'OS. Une configuration comprenant une passerelle NAT et des tags réseau de VM permet aux VM cibles d'accéder à Internet même si elles ne possèdent pas d'adresses IP externes.
Pour créer un réseau VPC pour votre projet, procédez comme suit :
-
Créez un réseau en mode personnalisé. Pour plus d'informations, consultez la section Créer un réseau en mode personnalisé.
-
Créez un sous-réseau, puis spécifiez la région et la plage d'adresses IP. Pour plus d'informations, consultez la section Ajouter des sous-réseaux.
Configurer une passerelle NAT
Si vous avez besoin de créer une ou plusieurs VM sans adresse IP publique, vous devez utiliser la traduction d'adresse réseau (NAT) pour permettre aux VM d'accéder à Internet. Utilisez Cloud NAT, un service géré distribué et défini par logiciel de Google Cloud, qui permet aux VM d'envoyer des paquets sortants vers Internet et de recevoir tous les paquets de réponses entrants établis correspondants. Vous pouvez également configurer une VM distincte en tant que passerelle NAT.
Pour créer une instance Cloud NAT pour votre projet, consultez la page Utiliser Cloud NAT.
Une fois que vous avez configuré Cloud NAT pour votre projet, vos instances de VM peuvent accéder en toute sécurité à Internet sans adresse IP publique.
Ajouter des règles de pare-feu
Par défaut, une règle de pare-feu implicite bloque les connexions entrantes provenant de l'extérieur de votre réseau VPC (Virtual Private Cloud, cloud privé virtuel). Pour autoriser les connexions entrantes, configurez une règle de pare-feu pour votre VM. Une fois qu'une connexion entrante est établie avec une VM, le trafic est autorisé dans les deux sens via cette connexion.
Vous pouvez également créer une règle de pare-feu pour autoriser l'accès externe à des ports spécifiés ou pour limiter l'accès entre plusieurs VM d'un même réseau. Si le type de réseau VPC default
est utilisé, d'autres règles par défaut s'appliquent également, telles que la règle default-allow-internal
, qui permet la connectivité entre les VM d'un même réseau sur tous les ports.
En fonction de la stratégie informatique applicable à votre environnement, vous devrez peut-être isoler votre hôte de base de données, ou en restreindre la connectivité, en créant des règles de pare-feu.
Selon votre scénario, vous pouvez créer des règles de pare-feu afin d'autoriser l'accès pour ce qui suit :
- Ports SAP par défaut répertoriés dans le tableau listant les ports TCP/IP de tous les produits SAP.
- Connexions à partir de votre ordinateur ou de votre environnement de réseau d'entreprise à votre instance de VM Compute Engine. Si vous ne savez pas quelle adresse IP utiliser, contactez l'administrateur réseau de votre entreprise.
Consultez la section Créer des règles de pare-feu pour créer les règles de pare-feu de votre projet.
Créer un cluster Linux à haute disponibilité avec SAP HANA installé
Les instructions suivantes utilisent un fichier de configuration Terraform pour créer un cluster SLES avec deux systèmes SAP HANA : un système SAP HANA principal et un système SAP HANA secondaire ou de secours dans la même région Compute Engine. Les systèmes SAP HANA utilisent la réplication de système synchrone, et le système de secours précharge les données répliquées.
Vous définissez les options de configuration du cluster à haute disponibilité SAP HANA dans un fichier de configuration Terraform.
Les instructions suivantes utilisent Cloud Shell, mais sont généralement applicables à un terminal local sur lequel Terraform est installé et configuré avec le fournisseur Google.
Vérifiez que vos quotas actuels pour les ressources, telles que les disques persistants et les processeurs, sont suffisants pour les systèmes SAP HANA que vous allez installer. Si les quotas sont insuffisants, votre déploiement échoue.
Pour connaître les exigences de quotas de SAP HANA, consultez la section Remarques concernant les tarifs et les quotas applicables à SAP HANA.
Ouvrez Cloud Shell ou votre terminal local.
Téléchargez le fichier de configuration
sap_hana_ha.tf
dans votre répertoire de travail en exécutant la commande suivante dans Cloud Shell ou dans votre terminal :$
wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/terraform/sap_hana_ha.tfOuvrez le fichier
sap_hana_ha.tf
dans l'éditeur de code Cloud Shell ou, si vous utilisez votre terminal, ouvrez-le dans l'éditeur de texte de votre choix.Pour ce faire, cliquez sur l'icône en forme de crayon située dans l'angle supérieur droit de la fenêtre du terminal Cloud Shell.
Dans le fichier
sap_hana_ha.tf
, mettez à jour les valeurs d'argument en remplaçant le contenu entre guillemets doubles par les valeurs de votre installation. Les arguments sont décrits dans le tableau suivant.Argument Type de données Description source
Chaîne Spécifie l'emplacement et la version du module Terraform à utiliser lors du déploiement.
Le fichier de configuration
sap_hana_ha.tf
comprend deux instances de l'argumentsource
: l'une active et l'autre incluse en tant que commentaire. L'argumentsource
actif par défaut spécifielatest
comme version de module. La deuxième instance de l'argumentsource
, qui est désactivée par défaut par un caractère#
de début, spécifie un horodatage qui identifie une version de module.Si vous avez besoin que tous vos déploiements utilisent la même version de module, supprimez le caractère
#
de début de l'argumentsource
qui spécifie l'horodatage de la version, puis ajoutez-le à l'argumentsource
spécifiantlatest
.project_id
Chaîne Indiquez l'ID de votre projet Google Cloud dans lequel vous déployez ce système. Par exemple, my-project-x
.machine_type
Chaîne Spécifiez le type de machine virtuelle (VM) Compute Engine sur lequel vous devez exécuter votre système SAP. Si vous avez besoin d'un type de VM personnalisé, spécifiez un type de VM prédéfini avec un nombre de processeurs virtuels le plus proche possible de la quantité dont vous avez besoin tout en étant légèrement supérieur. Une fois le déploiement terminé, modifiez le nombre de processeurs virtuels et la quantité de mémoire. Par exemple,
n1-highmem-32
.network
Chaîne Indiquez le nom du réseau dans lequel vous devez créer l'équilibreur de charge qui gère l'adresse IP virtuelle. Si vous utilisez un réseau VPC partagé, vous devez ajouter l'ID du projet hôte en guise de répertoire parent du nom de réseau. Par exemple :
HOST_PROJECT_ID/NETWORK_NAME
.subnetwork
Chaîne Spécifiez le nom du sous-réseau que vous avez créé à une étape précédente. Si vous procédez au déploiement sur un VPC partagé, spécifiez cette valeur en tant que SHARED_VPC_PROJECT_ID/SUBNETWORK
. Exemple :myproject/network1
.linux_image
Chaîne Indiquez le nom de l'image du système d'exploitation Linux sur laquelle vous souhaitez déployer votre système SAP. Par exemple, sles-15-sp5-sap
. Pour obtenir la liste des images de système d'exploitation disponibles, consultez la page Images dans la console Google Cloud.linux_image_project
Chaîne Spécifiez le projet Google Cloud qui contient l'image que vous avez spécifiée pour l'argument linux_image
. Ce projet peut être votre propre projet ou un projet d'image Google Cloud. Pour une image Compute Engine, spécifiezsuse-sap-cloud
. Pour trouver le projet d'image correspondant à votre système d'exploitation, consultez la page Détails des systèmes d'exploitation.primary_instance_name
Chaîne Spécifiez le nom de l'instance de VM pour le système SAP HANA principal. Le nom peut contenir des lettres minuscules, des chiffres et des traits d'union. primary_zone
Chaîne Spécifiez la zone dans laquelle le système SAP HANA principal est déployé. Les zones principale et secondaire doivent être dans la même région. Par exemple : us-east1-c
secondary_instance_name
Chaîne Spécifiez le nom de l'instance de VM pour le système SAP HANA secondaire. Le nom peut contenir des lettres minuscules, des chiffres et des traits d'union. secondary_zone
Chaîne Spécifiez la zone dans laquelle le système SAP HANA secondaire est déployé. Les zones principale et secondaire doivent être dans la même région. Par exemple : us-east1-b
majority_maker_instance_name
Chaîne Indiquez un nom pour l'instance de VM Compute Engine qui sert de créateur majoritaire.
Cet argument est disponible dans la version
202307270727
, ou ultérieure, du modulesap_hana_ha
.majority_maker_instance_type
Chaîne Spécifiez le type de machine virtuelle (VM) Compute Engine que vous souhaitez utiliser pour l'instance du créateur de majorité. Exemple : n1-highmem-32
.Si vous souhaitez utiliser un type de VM personnalisé, spécifiez un type de VM prédéfini avec un nombre de processeurs virtuels le plus proche possible de la quantité dont vous avez besoin tout en étant légèrement supérieur. Une fois le déploiement terminé, modifiez le nombre de processeurs virtuels et la quantité de mémoire.
Cet argument est disponible dans la version
202307270727
, ou ultérieure, du modulesap_hana_ha
.majority_maker_zone
Chaîne Spécifiez la zone dans laquelle l'instance de VM du créateur de majorité est déployée. Cette zone doit se trouver dans la même région que les zones principale et secondaire. Par exemple, us-east1-d
.Google Cloud recommande de déployer l'instance de VM de créateur de majorité dans une zone différente de celle des systèmes SAP HANA principal et secondaire.
Cet argument est disponible dans la version
202307270727
, ou ultérieure, du modulesap_hana_ha
.sap_hana_deployment_bucket
Chaîne Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez le chemin du bucket Cloud Storage contenant les fichiers d'installation de SAP HANA. N'incluez pas gs://
dans le chemin. Incluez uniquement le nom du bucket et celui des dossiers. Exemple :my-bucket-name/my-folder
.Le bucket Cloud Storage doit exister dans le projet Google Cloud que vous spécifiez pour l'argument
project_id
.sap_hana_scaleout_nodes
Entier Spécifiez le nombre d'hôtes de calcul dont vous avez besoin dans votre système à évolutivité horizontale. Pour déployer un système à évolutivité horizontale, vous devez disposer d'au moins un hôte de calcul. Terraform crée les hôtes de calcul en plus de l'instance SAP HANA principale. Par exemple, si vous spécifiez
3
, quatre instances SAP HANA sont déployées dans votre système à évolutivité horizontale dans les zones principale et secondaire.sap_hana_sid
Chaîne Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez l'ID système SAP HANA. L'ID doit comporter trois caractères alphanumériques et commencer par une lettre. Toutes les lettres doivent être en majuscules. Par exemple, ED1
.sap_hana_instance_number
Entier Facultatif. Spécifiez le numéro d'instance (0 à 99) du système SAP HANA. La valeur par défaut est 0
.sap_hana_sidadm_password
Chaîne Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez un mot de passe SIDadm
temporaire pour les scripts d'installation à utiliser lors du déploiement. Le mot de passe doit contenir au moins huit caractères et inclure au moins une lettre majuscule, une lettre minuscule et un chiffre.Au lieu de spécifier le mot de passe en texte brut, nous vous recommandons d'utiliser un secret. Pour en savoir plus, consultez la section Gestion des mots de passe.
sap_hana_sidadm_password_secret
Chaîne Facultatif. Si vous utilisez Secret Manager pour stocker le mot de passe SIDadm
, spécifiez le nom du secret correspondant à ce mot de passe.Dans Secret Manager, assurez-vous que la valeur du secret, qui correspond au mot de passe, contient au moins huit caractères et au moins une lettre majuscule, une lettre minuscule et un chiffre.
Pour en savoir plus, consultez la section Gestion des mots de passe.
sap_hana_system_password
Chaîne Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez le mot de passe temporaire d'un super-utilisateur de base de données pour les scripts d'installation à utiliser lors du déploiement. Le mot de passe doit contenir au moins huit caractères et inclure au moins une lettre majuscule, une lettre minuscule et un chiffre. Au lieu de spécifier le mot de passe en texte brut, nous vous recommandons d'utiliser un secret. Pour en savoir plus, consultez la section Gestion des mots de passe.
sap_hana_system_password_secret
Chaîne Facultatif. Si vous utilisez Secret Manager pour stocker le mot de passe du super-utilisateur de la base de données, spécifiez le nom du secret correspondant à ce mot de passe. Dans Secret Manager, assurez-vous que la valeur du secret, qui correspond au mot de passe, contient au moins huit caractères et au moins une lettre majuscule, une lettre minuscule et un chiffre.
Pour en savoir plus, consultez la section Gestion des mots de passe.
sap_hana_double_volume_size
Booléen Facultatif. Pour doubler la taille du volume HANA, spécifiez true
. Cet argument est utile lorsque vous souhaitez déployer plusieurs instances SAP HANA ou une instance SAP HANA de reprise après sinistre sur la même VM. Par défaut, la taille du volume est calculée automatiquement pour correspondre à la taille minimale requise pour votre VM, tout en respectant les exigences de certification et de compatibilité SAP. La valeur par défaut estfalse
.sap_hana_backup_size
Entier Facultatif. Spécifiez la taille du volume /hanabackup
en Go. Si vous ne spécifiez pas cet argument ou si vous le définissez sur0
, le script d'installation provisionne l'instance Compute Engine avec un volume de sauvegarde HANA de deux fois la mémoire totale.sap_hana_sidadm_uid
Entier Facultatif. Spécifiez une valeur pour remplacer la valeur par défaut de l'ID de l'utilisateur administrateur SID_LC. La valeur par défaut est 900
. Vous pouvez la remplacer par une autre valeur pour garantir la cohérence dans votre environnement SAP.sap_hana_sapsys_gid
Entier Facultatif. Remplace l'ID de groupe par défaut défini pour sapsys
. La valeur par défaut est79
.sap_vip
Chaîne Adresse IP utilisée en guise d'adresse IP virtuelle. L'adresse IP doit être comprise dans la plage d'adresses IP qui sont attribuées à votre sous-réseau. Le fichier de configuration Terraform réserve cette adresse IP pour vous. primary_instance_group_name
Chaîne Facultatif. Spécifiez le nom du groupe d'instances non géré pour le nœud principal. Le nom par défaut est ig-PRIMARY_INSTANCE_NAME
.secondary_instance_group_name
Chaîne Facultatif. Spécifiez le nom du groupe d'instances non géré pour le nœud secondaire. Le nom par défaut est ig-SECONDARY_INSTANCE_NAME
.loadbalancer_name
Chaîne Facultatif. Spécifiez le nom de l'équilibreur de charge réseau passthrough interne. Le nom par défaut est lb-SAP_HANA_SID-ilb
.network_tags
Chaîne Facultatif. Spécifiez un ou plusieurs tags réseau séparés par une virgule que vous souhaitez associer à vos instances de VM à des fins de routage ou de pare-feu. Si vous spécifiez
public_ip = false
et ne spécifiez pas de tag réseau, veillez à fournir un autre moyen d'accès à Internet.nic_type
Chaîne Facultatif. Spécifie l'interface réseau à utiliser avec l'instance de VM. Vous pouvez spécifier la valeur GVNIC
ouVIRTIO_NET
. Pour utiliser une carte d'interface réseau virtuelle Google (gVNIC), vous devez spécifier une image de l'OS compatible avec gVNIC comme valeur de l'argumentlinux_image
. Pour obtenir la liste des images de l'OS, consultez la section Détails des systèmes d'exploitation.Si vous ne spécifiez pas de valeur pour cet argument, l'interface réseau est automatiquement sélectionnée en fonction du type de machine que vous spécifiez pour l'argument
Cet argument est disponible dans la versionmachine_type
.202302060649
, ou ultérieure, du modulesap_hana
.disk_type
Chaîne Facultatif. Spécifiez le type de volume de disque persistant ou d'hyperdisque par défaut que vous souhaitez déployer pour les volumes de données et de journaux SAP de votre déploiement. Pour en savoir plus sur le déploiement de disque par défaut effectué par les configurations Terraform fournies par Google Cloud, consultez la section Déploiement de disque par Terraform. Voici des valeurs valides pour cet argument :
pd-ssd
,pd-balanced
,hyperdisk-extreme
,hyperdisk-balanced
etpd-extreme
. Dans les déploiements SAP HANA avec scaling à la hausse, un disque persistant avec équilibrage distinct est également déployé pour le répertoire/hana/shared
.Vous pouvez remplacer ce type de disque par défaut, ainsi que la taille de disque par défaut et les IOPS par défaut à l'aide de certains arguments avancés. Pour en savoir plus, accédez à votre répertoire de travail, exécutez la commande
terraform init
, puis consultez le fichier/.terraform/modules/sap_hana_ha/variables.tf
. Avant d'utiliser ces arguments en production, veillez à les tester dans un environnement hors production.use_single_shared_data_log_disk
Booléen Facultatif. La valeur par défaut est false
, qui indique à Terraform de déployer un disque persistant ou un hyperdisque distinct pour chacun des volumes SAP suivants :/hana/data
,/hana/log
,/hana/shared
et/usr/sap
. Pour installer ces volumes SAP sur le même disque persistant ou hyperdisque, spécifieztrue
.include_backup_disk
Booléen Facultatif. Cet argument s'applique aux déploiements SAP HANA à scaling à la hausse. La valeur par défaut est true
, ce qui indique à Terraform de déployer un disque distinct pour héberger le répertoire/hanabackup
.Le type de disque est déterminé par l'argument
backup_disk_type
. La taille de ce disque est déterminée par l'argumentsap_hana_backup_size
.Si vous définissez la valeur de
include_backup_disk
surfalse
, aucun disque n'est déployé pour le répertoire/hanabackup
.enable_fast_restart
Booléen Facultatif. Cet argument détermine si l'option Fast Restart pour SAP HANA est activée ou non pour votre déploiement. La valeur par défaut est true
. Google Cloud recommande vivement d'activer l'option de redémarrage rapide SAP HANA.Cet argument est disponible dans la version
202309280828
, ou ultérieure, du modulesap_hana_ha
.public_ip
Booléen Facultatif. Détermine si une adresse IP publique est ajoutée ou non à votre instance de VM. La valeur par défaut est true
.service_account
Chaîne Facultatif. Spécifiez l'adresse e-mail d'un compte de service géré par l'utilisateur qui sera utilisée par les VM hôtes et par les programmes qui s'exécutent sur celles-ci. Par exemple, svc-acct-name@project-id.iam.gserviceaccount.com
.Si vous spécifiez cet argument sans valeur ou si vous l'omettez, le script d'installation utilise le compte de service Compute Engine par défaut. Pour en savoir plus, consultez la page Gestion de l'authentification et des accès pour les programmes SAP sur Google Cloud.
sap_deployment_debug
Booléen Facultatif. Lorsque Cloud Customer Care vous demande d'activer le débogage pour votre déploiement, spécifiez true
, qui permet au déploiement de générer des journaux de déploiement détaillés. La valeur par défaut estfalse
.primary_reservation_name
Chaîne Facultatif. Si vous souhaitez utiliser une réservation de VM Compute Engine spécifique pour le provisionnement de l'instance de VM qui héberge l'instance SAP HANA principale de votre cluster à haute disponibilité, spécifiez le nom de la réservation. Par défaut, le script d'installation sélectionne toute réservation Compute Engine disponible en fonction des conditions suivantes. Que vous définissiez son nom ou que le script d'installation le sélectionne automatiquement, la réservation doit être définie comme suit pour être utilisable :
-
L'option
specificReservationRequired
est définie surtrue
ou, dans la console Google Cloud, l'option Sélectionner une réservation spécifique est sélectionnée. -
Certains types de machines Compute Engine sont compatibles avec les plates-formes de processeur qui ne sont pas couvertes par la certification SAP de ce type de machine. Si la réservation cible concerne l'un des types de machines suivants, la réservation doit spécifier les plates-formes de processeur minimales, comme indiqué :
n1-highmem-32
: Intel Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-megamem-96
: Intel Skylake
Les plates-formes de processeur minimales pour tous les autres types de machines certifiés par SAP pour une utilisation sur Google Cloud sont conformes à la configuration minimale requise de processeur SAP.
secondary_reservation_name
Chaîne Facultatif. Si vous souhaitez utiliser une réservation de VM Compute Engine spécifique pour le provisionnement de l'instance de VM qui héberge l'instance SAP HANA secondaire de votre cluster à haute disponibilité, spécifiez le nom de la réservation. Par défaut, le script d'installation sélectionne toute réservation Compute Engine disponible en fonction des conditions suivantes. Que vous définissiez son nom ou que le script d'installation le sélectionne automatiquement, la réservation doit être définie comme suit pour être utilisable :
-
L'option
specificReservationRequired
est définie surtrue
ou, dans la console Google Cloud, l'option Sélectionner une réservation spécifique est sélectionnée. -
Certains types de machines Compute Engine sont compatibles avec les plates-formes de processeur qui ne sont pas couvertes par la certification SAP de ce type de machine. Si la réservation cible concerne l'un des types de machines suivants, la réservation doit spécifier les plates-formes de processeur minimales, comme indiqué :
n1-highmem-32
: Intel Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-megamem-96
: Intel Skylake
Les plates-formes de processeur minimales pour tous les autres types de machines certifiés par SAP pour une utilisation sur Google Cloud sont conformes à la configuration minimale requise de processeur SAP.
primary_static_ip
Chaîne Facultatif. Spécifiez une adresse IP statique valide pour l'instance de VM principale dans votre cluster à haute disponibilité. Si vous n'en spécifiez pas, une adresse IP est automatiquement générée pour votre instance de VM. Par exemple, 128.10.10.10
.Cet argument est disponible dans la version
202306120959
, ou ultérieure, du modulesap_hana_ha
.secondary_static_ip
Chaîne Facultatif. Spécifiez une adresse IP statique valide pour l'instance de VM secondaire dans votre cluster à haute disponibilité. Si vous n'en spécifiez pas, une adresse IP est automatiquement générée pour votre instance de VM. Par exemple, 128.11.11.11
.Cet argument est disponible dans la version
202306120959
, ou ultérieure, du modulesap_hana_ha
.primary_worker_static_ips
List(String) Facultatif. Spécifiez un tableau d'adresses IP statiques valides pour les instances de nœuds de calcul dans l'instance principale de votre système SAP HANA à haute disponibilité à scaling horizontal. Si vous ne spécifiez pas de valeur pour cet argument, une adresse IP est automatiquement générée pour chaque instance de VM de nœud de calcul. Par exemple, [ "1.0.0.1", "2.3.3.4" ]
.Les adresses IP statiques sont attribuées dans l'ordre de création des instances. Par exemple, si vous choisissez de déployer trois instances de nœud de calcul, mais ne spécifiez que deux adresses IP pour l'argument
primary_worker_static_ips
, ces adresses IP sont attribuées aux deux premières instances de VM que la configuration Terraform déploie. Pour la troisième instance de VM de nœud de calcul, l'adresse IP est générée automatiquement.Cet argument est disponible dans la version
202307270727
, ou ultérieure, du modulesap_hana_ha
.secondary_worker_static_ips
List(String) Facultatif. Spécifiez un tableau d'adresses IP statiques valides pour les instances de nœuds de calcul dans l'instance secondaire de votre système SAP HANA à haute disponibilité à scaling horizontal. Si vous ne spécifiez pas de valeur pour cet argument, une adresse IP est automatiquement générée pour chaque instance de VM de nœud de calcul. Par exemple, [ "1.0.0.2", "2.3.3.5" ]
.Les adresses IP statiques sont attribuées dans l'ordre de création des instances. Par exemple, si vous choisissez de déployer trois instances de nœud de calcul, mais ne spécifiez que deux adresses IP pour l'argument
secondary_worker_static_ips
, ces adresses IP sont attribuées aux deux premières instances de VM que la configuration Terraform déploie. Pour la troisième instance de VM de nœud de calcul, l'adresse IP est générée automatiquement.Cet argument est disponible dans la version
202307270727
, ou ultérieure, du modulesap_hana_ha
.can_ip_forward
Booléen Indiquez si l'envoi et la réception de paquets avec des adresses IP sources ou de destination qui ne correspondent pas sont autorisés, ce qui permet à une VM de fonctionner comme un routeur. La valeur par défaut est
true
.Si vous souhaitez uniquement utiliser les équilibreurs de charge internes de Google pour gérer les adresses IP virtuelles des VM déployées, définissez la valeur sur
false
. Un équilibreur de charge interne est automatiquement déployé dans le cadre des modèles haute disponibilité.L'exemple suivant montre un fichier de configuration terminé qui définit un cluster à haute disponibilité pour un système SAP HANA à scaling horizontal sur SLES. Le cluster gère les adresses IP virtuelles à l'aide d'un équilibreur de charge réseau passthrough interne.
Terraform déploie les ressources Google Cloud définies dans le fichier de configuration, puis les scripts prennent le relais pour configurer le système d'exploitation, installer SAP HANA, configurer la réplication et configurer le cluster Linux à haute disponibilité.
Pour plus de clarté, les commentaires de l'exemple de configuration suivant sont omis.
# ... module "sap_hana_ha" { source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/sap_hana_ha_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 argument above and uncomment the source argument below. # # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana_ha/sap_hana_ha_module.zip" # ... project_id = "example-project-123456" machine_type = "n2-highmem-32" network = "example-network" subnetwork = "example-subnet-us-central1" linux_image = "sles-15-sp4-sap" linux_image_project = "suse-sap-cloud" primary_instance_name = "example-ha-vm1" primary_zone = "us-central1-a" secondary_instance_name = "example-ha-vm2" secondary_zone = "us-central1-b" majority_maker_instance_name = "example-ha-mj" majority_maker_instance_type = "n2-highmem-32" majority_maker_zone = "us-central1-c" sap_hana_scaleout_nodes = 2 # ... sap_hana_deployment_bucket = "my-hana-bucket" sap_hana_sid = "HA1" sap_hana_instance_number = 00 sap_hana_sidadm_password_secret = "hana_sid_adm_pwd" sap_hana_system_password_secret = "hana_sys_pwd" # ... sap_vip = "10.0.0.100" primary_instance_group_name = "ig-example-ha-vm1" secondary_instance_group_name = "ig-example-ha-vm2" loadbalancer_name = "lb-ha1" # ... network_tags = \["hana-ha-ntwk-tag"\] service_account = "sap-deploy-example@example-project-123456.iam.gserviceaccount.com" primary_static_ip = "10.0.0.1" secondary_static_ip = "10.0.0.2" primary_worker_static_ips = \["10.0.0.3", "10.0.0.4"\] secondary_worker_static_ips = \["10.0.0.5", "10.0.0.6"\] enable_fast_restart = true # ... }
-
L'option
Initialisez votre répertoire de travail actuel et téléchargez les fichiers de modules et le plug-in du fournisseur Terraform pour Google Cloud :
terraform init
La commande
terraform init
prépare votre répertoire de travail pour d'autres commandes Terraform.Pour forcer l'actualisation du plug-in du fournisseur et des fichiers de configuration dans votre répertoire de travail, spécifiez l'option
--upgrade
. Si l'option--upgrade
est omise et que vous n'apportez aucune modification à votre répertoire de travail, Terraform utilise les copies mises en cache localement, même silatest
est spécifié dans l'URLsource
.terraform init --upgrade
Vous pouvez également créer le plan d'exécution Terraform :
terraform plan
La commande
terraform plan
affiche les modifications requises par votre configuration actuelle. Si vous ignorez cette étape, la commandeterraform apply
crée automatiquement un plan et vous invite à l'approuver.Appliquez le plan d'exécution :
terraform apply
Lorsque vous êtes invité à approuver les actions, saisissez
yes
.La commande
terraform apply
configure l'infrastructure Google Cloud, puis donne le contrôle à un script qui configure le cluster à haute disponibilité et installe SAP HANA en fonction des arguments définis dans le fichier de configuration Terraform.Lorsque Terraform a le contrôle, les messages d'état sont écrits dans Cloud Shell. Une fois les scripts appelés, les messages d'état sont écrits dans Logging et peuvent être consultés dans la console Google Cloud, comme décrit dans la section Vérifier les journaux.
Vérifier le déploiement de votre système à haute disponibilité HANA
La vérification d'un cluster à haute disponibilité SAP HANA implique plusieurs procédures différentes :
- Vérifier la journalisation
- Vérifier la configuration de la VM et l'installation de SAP HANA
- Vérifier la configuration du cluster
- Vérifier l'équilibreur de charge et l'état des groupes d'instances
- Vérifier le système SAP HANA à l'aide de SAP HANA Studio
- Effectuer un test de basculement
Vérifier les journaux
Dans la console Google Cloud, ouvrez Cloud Logging pour surveiller la progression de l'installation et rechercher les erreurs.
Filtrez les journaux :
Explorateur de journaux
Sur la page Explorateur de journaux, accédez au volet Requête.
Dans le menu déroulant Ressource, sélectionnez Global, puis cliquez sur Ajouter.
Si l'option Global n'apparaît pas, saisissez la requête suivante dans l'éditeur de requête :
resource.type="global" "Deployment"
Cliquez sur Exécuter la requête.
Ancienne visionneuse de journaux
- Sur la page Ancienne visionneuse de journaux, dans le menu de sélection de base, sélectionnez Global comme ressource de journalisation.
Analysez les journaux filtrés :
- Si
"--- Finished"
s'affiche, le traitement du déploiement est terminé, et vous pouvez passer à l'étape suivante. Si vous rencontrez une erreur de quota :
Sur la page Quotas de IAM & Admin, augmentez les quotas qui ne répondent pas aux exigences de SAP HANA décrites dans le guide de planification SAP HANA.
Ouvrez Cloud Shell.
Accédez à votre répertoire de travail et supprimez le déploiement pour nettoyer les VM et les disques persistants de l'installation ayant échoué :
terraform destroy
Lorsque vous êtes invité à approuver l'action, saisissez
yes
.Réexécutez le déploiement.
- Si
Vérifier la configuration de la VM et l'installation de SAP HANA
Une fois le système SAP HANA déployé sans erreur, connectez-vous à chaque VM à l'aide du protocole SSH. Pour ce faire, vous pouvez cliquer sur le bouton SSH de chaque instance de VM depuis la page VM Instances (Instances de VM) de Compute Engine, ou bien utiliser la méthode SSH de votre choix.
Passez en utilisateur racine :
sudo su -
À l'invite de commande, saisissez :
df -h
Le résultat ressemble à celui de l'exemple ci-dessous. Assurez-vous que le résultat inclut les répertoires
/hana
, tels que/hana/data
.example-ha-vm1:~ # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 8.0K 4.0M 1% /dev tmpfs 189G 48M 189G 1% /dev/shm tmpfs 51G 26M 51G 1% /run tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup /dev/sda3 30G 6.2G 24G 21% / /dev/sda2 20M 3.0M 17M 15% /boot/efi /dev/mapper/vg_hana_shared-shared 256G 41G 215G 16% /hana/shared /dev/mapper/vg_hana_data-data 308G 12G 297G 4% /hana/data /dev/mapper/vg_hana_log-log 128G 8.8G 120G 7% /hana/log /dev/mapper/vg_hana_usrsap-usrsap 32G 265M 32G 1% /usr/sap /dev/mapper/vg_hanabackup-backup 512G 8.5G 504G 2% /hanabackup tmpfs 26G 0 26G 0% /run/user/174 tmpfs 26G 0 26G 0% /run/user/900 tmpfs 26G 0 26G 0% /run/user/0 tmpfs 26G 0 26G 0% /run/user/1000
Vérifiez l'état du nouveau cluster en saisissant la commande d'état spécifique à votre système d'exploitation :
crm status
Un résultat semblable à l'exemple suivant devrait s'afficher, dans lequel les instances de VM des systèmes SAP HANA principaux et secondaires ainsi que l'instance de créateur de majorité sont démarrées.
example-ha-vm1
est l'instance principale active.example-ha-vm1:~ # crm status Cluster Summary: * Stack: corosync * Current DC: example-ha-vm1 (version 2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36) - partition with quorum * Last updated: Sat Jul 15 19:42:56 2023 * Last change: Sat Jul 15 19:42:21 2023 by root via crm_attribute on example-ha-vm1 * 7 nodes configured * 23 resource instances configured Node List: * Online: \[ example-ha-mj example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-mj * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1 * STONITH-example-ha-mj (stonith:fence_gce): Started example-ha-vm1w1 * STONITH-example-ha-vm1w1 (stonith:fence_gce): Started example-ha-vm1w2 * STONITH-example-ha-vm2w1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm1w2 (stonith:fence_gce): Started example-ha-vm2w1 * STONITH-example-ha-vm2w2 (stonith:fence_gce): Started example-ha-mj * Resource Group: g-primary: * rsc_vip_int-primary (ocf::heartbeat:IPaddr2): Started example-ha-vm1 * rsc_vip_hc-primary (ocf::heartbeat:anything): Started example-ha-vm1 * Clone Set: cln_SAPHanaTopology_HA1_HDB00 \[rsc_SAPHanaTopology_HA1_HDB00\]: * Started: \[ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \] * Stopped: \[ example-ha-mj \] * Clone Set: msl_SAPHana_HA1_HDB00 \[rsc_SAPHana_HA1_HDB00\] (promotable): * Masters: \[ example-ha-vm1 \] * Slaves: \[ example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \] * Stopped: \[ example-ha-mj \]
Connectez-vous en tant qu'administrateur SAP en remplaçant SID_LC dans la commande suivante par la valeur
sap_hana_sid
que vous avez spécifiée dans le fichiersap_hana_ha.tf
. La valeur SID_LC doit être en minuscules.su - SID_LCadm
Assurez-vous que les services SAP HANA, tels que
hdbnameserver
,hdbindexserver
et autres services, s'exécutent sur l'instance en saisissant la commande suivante :HDB info
Vérifier la configuration du cluster
Une fois le cluster déployé, vous devez vérifier les réglages des paramètres de votre cluster. Vérifiez les paramètres affichés par le logiciel du cluster et les paramètres qui s'affichent dans le fichier de configuration du cluster. Comparez vos paramètres aux paramètres de l'exemple suivant, qui a été créé par les scripts d'automatisation utilisés dans ce guide.
Affichez les configurations des ressources du cluster :
crm config show
Les scripts d'automatisation utilisés par ce guide créent les configurations de ressources présentées dans l'exemple suivant :
node 1: example-ha-vm1 \ attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0 node 2: example-ha-vm2 \ attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0 node 3: example-ha-mj node 4: example-ha-vm1w1 \ attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0 node 5: example-ha-vm2w1 \ attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0 node 6: example-ha-vm1w2 \ attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0 node 7: example-ha-vm2w2 \ attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0 primitive STONITH-example-ha-mj stonith:fence_gce \ params port=example-ha-mj zone="us-central1-c" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ op stop timeout=15 interval=0s primitive STONITH-example-ha-vm1 stonith:fence_gce \ params port=example-ha-vm1 zone="us-central1-a" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ op stop timeout=15 interval=0s primitive STONITH-example-ha-vm1w1 stonith:fence_gce \ params port=example-ha-vm1w1 zone="us-central1-a" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ op stop timeout=15 interval=0s primitive STONITH-example-ha-vm1w2 stonith:fence_gce \ params port=example-ha-vm1w2 zone="us-central1-a" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ op stop timeout=15 interval=0s primitive STONITH-example-ha-vm2 stonith:fence_gce \ params port=example-ha-vm2 zone="us-central1-b" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ op stop timeout=15 interval=0s primitive STONITH-example-ha-vm2w1 stonith:fence_gce \ params port=example-ha-vm2w1 zone="us-central1-b" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ op stop timeout=15 interval=0s primitive STONITH-example-ha-vm2w2 stonith:fence_gce \ params port=example-ha-vm2w2 zone="us-central1-b" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ op stop timeout=15 interval=0s primitive rsc_SAPHanaTopology_HA1_HDB00 ocf:suse:SAPHanaTopology \ operations $id=rsc_sap2_HA1_HDB00-operations \ op monitor interval=10 timeout=600 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=300 \ params SID=HA1 InstanceNumber=00 primitive rsc_SAPHana_HA1_HDB00 ocf:suse:SAPHanaController \ op start interval=0 timeout=3600 \ op stop interval=0 timeout=3600 \ op promote interval=0 timeout=3600 \ op demote interval=0 timeout=3600 \ op monitor interval=60 role=Master timeout=700 \ op monitor interval=61 role=Slave timeout=700 \ params SID=HA1 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=true primitive rsc_vip_hc-primary anything \ params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:60000,backlog=10,fork,reuseaddr /dev/null" \ op monitor timeout=20s interval=10s \ op_params depth=0 \ op start timeout=20s interval=0s \ op stop timeout=20s interval=0s primitive rsc_vip_int-primary IPaddr2 \ params ip=10.1.0.23 cidr_netmask=32 nic=eth0 \ op monitor interval=3600s timeout=60s \ op start timeout=20s interval=0s \ op stop timeout=20s interval=0s group g-primary rsc_vip_int-primary rsc_vip_hc-primary \ meta resource-stickiness=0 ms msl_SAPHana_HA1_HDB00 rsc_SAPHana_HA1_HDB00 \ meta clone-node-max=1 master-max=1 interleave=true target-role=Started interleave=true clone cln_SAPHanaTopology_HA1_HDB00 rsc_SAPHanaTopology_HA1_HDB00 \ meta clone-node-max=1 target-role=Started interleave=true location LOC_STONITH_example-ha-vm1 STONITH-example-ha-vm1 -inf: example-ha-vm1 location LOC_STONITH_example-ha-vm1w1 STONITH-example-ha-vm1w1 -inf: example-ha-vm1w1 location LOC_STONITH_example-ha-vm1w2 STONITH-example-ha-vm1w2 -inf: example-ha-vm1w2 location LOC_STONITH_example-ha-vm2 STONITH-example-ha-vm2 -inf: example-ha-vm2 location LOC_STONITH_example-ha-vm2w1 STONITH-example-ha-vm2w1 -inf: example-ha-vm2w1 location LOC_STONITH_example-ha-vm2w2 STONITH-example-ha-vm2w2 -inf: example-ha-vm2w2 location SAPHanaCon_not_on_mm msl_SAPHana_HA1_HDB00 -inf: example-ha-mj location SAPHanaTop_not_on_mm cln_SAPHanaTopology_HA1_HDB00 -inf: example-ha-mj colocation col_saphana_ip_HA1_HDB00 4000: g-primary:Started msl_SAPHana_HA1_HDB00:Master order ord_SAPHana_HA1_HDB00 Optional: cln_SAPHanaTopology_HA1_HDB00 msl_SAPHana_HA1_HDB00 property SAPHanaSR: \ hana_ha1_glob_mts=true \ hana_ha1_site_srHook_example-ha-vm2=SOK \ hana_ha1_site_lss_example-ha-vm1=4 \ hana_ha1_site_srr_example-ha-vm1=P \ hana_ha1_site_lss_example-ha-vm2=4 \ hana_ha1_site_srr_example-ha-vm2=S \ hana_ha1_glob_srmode=syncmem \ hana_ha1_glob_upd=ok \ hana_ha1_site_mns_example-ha-vm1=example-ha-vm1 \ hana_ha1_site_mns_example-ha-vm2=example-ha-vm2 \ hana_ha1_site_lpt_example-ha-vm2=30 \ hana_ha1_site_srHook_example-ha-vm1=PRIM \ hana_ha1_site_lpt_example-ha-vm1=1689450463 \ hana_ha1_glob_sync_state=SOK \ hana_ha1_glob_prim=example-ha-vm1 property cib-bootstrap-options: \ have-watchdog=false \ dc-version="2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36" \ cluster-infrastructure=corosync \ cluster-name=hacluster \ maintenance-mode=false \ stonith-timeout=300s \ stonith-enabled=true \ concurrent-fencing=true rsc_defaults build-resource-defaults: \ resource-stickiness=1000 \ migration-threshold=5000 op_defaults op-options: \ timeout=600
Affichez le fichier de configuration de votre cluster,
corosync.conf
:cat /etc/corosync/corosync.conf
Les scripts d'automatisation utilisés par ce guide spécifient les réglages des paramètres dans le fichier
corosync.conf
, comme indiqué dans l'exemple suivant :totem { version: 2 secauth: off crypto_hash: sha1 crypto_cipher: aes256 cluster_name: hacluster clear_node_high_bit: yes token: 20000 token_retransmits_before_loss_const: 10 join: 60 max_messages: 20 transport: udpu interface { ringnumber: 0 bindnetaddr: "10.1.0.7" mcastport: 5405 ttl: 1 } } logging { fileline: off to_stderr: no to_logfile: no logfile: /var/log/cluster/corosync.log to_syslog: yes debug: off timestamp: on logger_subsys { subsys: QUORUM debug: off } } quorum { provider: corosync_votequorum } nodelist { node { ring0_addr: example-ha-vm1 nodeid: 1 } node { ring0_addr: example-ha-vm2 nodeid: 2 } node { ring0_addr: example-ha-mj nodeid: 3 } node { ring0_addr: example-ha-vm1w1 nodeid: 4 } node { ring0_addr: example-ha-vm2w1 nodeid: 5 } node { ring0_addr: example-ha-vm1w2 nodeid: 6 } node { ring0_addr: example-ha-vm2w2 nodeid: 7 } }
Vérifier l'équilibreur de charge et l'état des groupes d'instances
Pour vérifier que l'équilibreur de charge et la vérification de l'état ont été correctement configurés, vérifiez l'équilibreur de charge et les groupes d'instances dans la console Google Cloud :
Dans la console Google Cloud, ouvrez la page Équilibrage de charge.
Dans la liste des équilibreurs de charge, vérifiez qu'un équilibreur de charge a été créé pour votre cluster à haute disponibilité.
Sur la page d'Informations sur l'équilibreur de charge, sous la section Backend, dans la colonne Opérationnel, vérifiez que l'un des groupes d'instances affiche 1 sur 1 et l'autre affiche 0 sur 1. Après un basculement, l'indicateur opérationnel 1 sur 1 bascule vers le nouveau groupe d'instances actif.
Vérifier le système SAP HANA à l'aide de SAP HANA Studio
Vous pouvez utiliser SAP HANA Cockpit ou SAP HANA Studio pour surveiller et gérer vos systèmes SAP HANA dans un cluster à haute disponibilité.
Connectez-vous au système HANA à l'aide de SAP HANA Studio. Lors de la définition de la connexion, spécifiez les valeurs suivantes :
- Dans le volet "Specify System" (Spécifier le système), spécifiez l'adresse IP flottante comme nom d'hôte.
- Dans le panneau "Propriétés de connexion", pour l'authentification de l'utilisateur de la base de données, spécifiez le nom de super-utilisateur de la base de données, ainsi que le mot de passe que vous avez spécifié pour l'argument
sap_hana_system_password
dans le fichiersap_hana_ha.tf
.
Pour en savoir plus sur l'installation de SAP HANA Studio, consultez sur le site de SAP le Guide d'installation et de mise à jour de SAP HANA Studio.
Une fois SAP HANA Studio connecté à votre système à haute disponibilité HANA, affichez la vue d'ensemble du système en double-cliquant sur le nom du système dans le volet de navigation situé sur la gauche de la fenêtre.
Sous Informations générales dans l'onglet Présentation, vérifiez les points suivants :
- Le champ Operational Status (État opérationnel) indique
All services started
. - Le champ System Replication Status (État de la réplication du système) affiche
All services are active and in sync
.
- Le champ Operational Status (État opérationnel) indique
Confirmez le mode de réplication en cliquant sur le lien System Replication Status (État de la réplication du système) sous General Information (Informations générales). La réplication synchrone est indiquée par
SYNCMEM
dans la colonne REPLICATION_MODE (Mode de réplication) de l'onglet System Replication (Réplication système).
Nettoyer et réessayer le déploiement
Si l'une des étapes de vérification du déploiement des sections précédentes indique que l'installation a échoué, vous devez annuler votre déploiement et réessayer en procédant comme suit :
Corrigez les erreurs pour vous assurer que votre déploiement n'échouera pas à nouveau pour la même raison. Pour en savoir plus sur la vérification des journaux ou la résolution des erreurs liées aux quotas, consultez la section Vérifier les journaux.
Ouvrez Cloud Shell ou, si vous avez installé Google Cloud CLI sur votre poste de travail local, ouvrez un terminal.
Accédez au répertoire contenant le fichier de configuration Terraform que vous avez utilisé pour ce déploiement.
Supprimez toutes les ressources faisant partie de votre déploiement en exécutant la commande suivante :
terraform destroy
Lorsque vous êtes invité à approuver l'action, saisissez
yes
.Relancez le déploiement comme indiqué précédemment dans ce guide.
Effectuer un test de basculement
Après avoir vérifié que le système SAP HANA a bien été déployé, vous devez tester la fonction de basculement.
Les instructions suivantes utilisent la commande ip link set eth0 down
pour déconnecter l'interface réseau. Cette commande valide le basculement et le cloisonnement.
Pour effectuer un test de basculement, procédez comme suit :
Dans votre instance SAP HANA principale, connectez-vous au nœud maître à l'aide de SSH. Vous pouvez vous connecter à partir de la page Instances de VM Compute Engine en cliquant sur le bouton "SSH" de chaque instance de VM. Vous avez également la possibilité d'utiliser la méthode SSH de votre choix.
À l'invite, saisissez la commande suivante :
ip link set eth0 down
La commande
ip link set eth0 down
déclenche un basculement en coupant les communications avec l'instance SAP HANA principale.Connectez-vous à tout autre nœud de votre cluster à l'aide de SSH et passez à l'utilisateur racine.
Confirmez que votre instance SAP HANA principale est maintenant active sur la VM qui contenait l'instance secondaire, en exécutant la commande suivante.
crm status
Comme le redémarrage automatique est activé dans le cluster, l'instance arrêtée redémarre et prend le rôle de l'instance secondaire. L'exemple suivant montre que les rôles de chaque instance SAP HANA ont été inversés :
example-ha-vm2:~ # crm status Cluster Summary: * Stack: corosync * Current DC: example-ha-vm2 (version 2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36) - partition with quorum * Last updated: Mon Jul 17 19:47:11 2023 * Last change: Mon Jul 17 19:46:56 2023 by root via crm_attribute on example-ha-vm2 * 7 nodes configured * 23 resource instances configured Node List: * Online: \[ example-ha-mj example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-mj * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1w1 * STONITH-example-ha-mj (stonith:fence_gce): Started example-ha-vm1w1 * STONITH-example-ha-vm1w1 (stonith:fence_gce): Started example-ha-vm1w2 * STONITH-example-ha-vm2w1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm1w2 (stonith:fence_gce): Started example-ha-vm2w1 * STONITH-example-ha-vm2w2 (stonith:fence_gce): Started example-ha-mj * Resource Group: g-primary: * rsc_vip_int-primary (ocf::heartbeat:IPaddr2): Started example-ha-vm2 * rsc_vip_hc-primary (ocf::heartbeat:anything): Started example-ha-vm2 * Clone Set: cln_SAPHanaTopology_HA1_HDB00 \[rsc_SAPHanaTopology_HA1_HDB00\]: * Started: \[ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \] * Stopped: \[ example-ha-mj \] * Clone Set: msl_SAPHana_HA1_HDB00 \[rsc_SAPHana_HA1_HDB00\] (promotable): * Masters: \[ example-ha-vm2 \] * Slaves: \[ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2w1 example-ha-vm2w2 \] * Stopped: \[ example-ha-mj \]
Dans la console Google Cloud, sur la page Détails de l'équilibreur de charge, confirmez que la nouvelle instance principale active affiche 1 sur 1 dans la colonne Opérationnel. Rechargez la page si nécessaire.
Accéder à Cloud Load Balancing
Par exemple, consultez l'image suivante :
Dans SAP HANA Studio, confirmez que vous êtes toujours connecté au système en double-cliquant sur l'entrée du système dans le volet de navigation afin d'actualiser les informations système.
Cliquez sur le lien System Replication Status (État de la réplication du système) pour confirmer que les hôtes principal et secondaire ont changé de VM et sont actifs.
Vérifier l'installation de l'agent Google Cloud pour SAP
Une fois votre infrastructure déployée et le système SAP HANA installé, vérifiez que l'agent Google Cloud pour SAP fonctionne correctement.
Vérifier que l'agent Google Cloud pour SAP est en cours d'exécution
Pour vérifier que l'agent est en cours d'exécution, procédez comme suit :
Établissez une connexion SSH avec votre instance de VM hôte.
Exécutez la commande suivante :
systemctl status google-cloud-sap-agent
Si l'agent fonctionne correctement, la sortie contient
active (running)
. Exemple :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
Si l'agent n'est pas en cours d'exécution, redémarrez-le.
Vérifier que l'agent hôte SAP reçoit les métriques
Pour vérifier que les métriques d'infrastructure sont collectées par l'agent Google Cloud pour SAP et envoyées correctement à l'agent hôte SAP, procédez comme suit :
- Dans votre système SAP, saisissez la transaction
ST06
. Dans le volet de synthèse, vérifiez la disponibilité et le contenu des champs suivants pour vous assurer de la configuration de façon correcte et complète de l'infrastructure de surveillance SAP et Google :
- Fournisseur cloud :
Google Cloud Platform
- Accès à la surveillance améliorée :
TRUE
- Détails de la surveillance améliorée :
ACTIVE
- Fournisseur cloud :
Configurer la surveillance pour SAP HANA
Vous pouvez éventuellement surveiller vos instances SAP HANA à l'aide de l'agent Google Cloud pour SAP. À partir de la version 2.0, vous pouvez configurer l'agent de sorte qu'il collecte les métriques de surveillance SAP HANA et les envoie à Cloud Monitoring. Cloud Monitoring vous permet de créer des tableaux de bord pour visualiser ces métriques, de configurer des alertes en fonction de seuils de métriques, etc.
Pour en savoir plus sur la collecte des métriques de surveillance SAP HANA à l'aide de l'agent Google Cloud pour SAP, consultez Collecte des métriques de surveillance SAP HANA.
Se connecter à SAP HANA
Étant donné qu'aucune adresse IP externe n'est utilisée pour SAP HANA dans ces instructions, vous ne pouvez vous connecter aux instances SAP HANA que via l'instance bastion à l'aide de SSH ou via le serveur Windows à l'aide de SAP HANA Studio.
Pour vous connecter à SAP HANA via l'instance bastion, connectez-vous à l'hôte bastion, puis aux instances SAP HANA à l'aide du client SSH de votre choix.
Pour vous connecter à la base de données SAP HANA via SAP HANA Studio, utilisez un client Bureau à distance pour vous connecter à l'instance Windows Server. Une fois la connexion établie, installez SAP HANA Studio manuellement, puis accédez à votre base de données SAP HANA.
Configurer HANA actif/actif (lecture activée)
À partir de SAP HANA 2.0 SPS1, vous pouvez configurer HANA actif/actif (lecture activée) dans un cluster Pacemaker. Pour obtenir des instructions, consultez la page Configurer HANA actif/actif (lecture activée) dans un cluster SUSE Pacemaker.
Effectuer les tâches de post-déploiement
Avant d'utiliser votre instance SAP HANA, nous vous recommandons de suivre la procédure post-déploiement ci-dessous. Pour en savoir plus, consultez le Guide d'installation et de mise à jour de SAP HANA.
Modifiez les mots de passe temporaires de l'administrateur système et du super-utilisateur du système SAP HANA.
Mettez à jour le logiciel SAP HANA avec les derniers correctifs.
Si votre système SAP HANA est déployé sur une interface réseau VirtIO, nous vous recommandons de vous assurer que la valeur du paramètre TCP
/proc/sys/net/ipv4/tcp_limit_output_bytes
est définie sur1048576
. Cette modification permet d'améliorer le débit réseau global sur l'interface réseau VirtIO sans affecter la latence du réseau.Installez des composants supplémentaires tels que les bibliothèques Application Function Library (AFL) ou Smart Data Access (SDA).
Configurez et sauvegardez votre nouvelle base de données SAP HANA. Pour en savoir plus, consultez le Guide d'utilisation de SAP HANA.
Évaluer votre charge de travail SAP HANA
Pour automatiser les vérifications de validation continues pour vos charges de travail à haute disponibilité SAP HANA exécutées sur Google Cloud, vous pouvez utiliser le gestionnaire de charges de travail.
Le gestionnaire de charges de travail vous permet d'analyser et d'évaluer automatiquement vos charges de travail SAP HANA à haute disponibilité par rapport aux bonnes pratiques des fournisseurs SAP, de Google Cloud et de système d'exploitation. Cela permet d'améliorer la qualité, les performances et la fiabilité de vos charges de travail.
Pour en savoir plus sur les bonnes pratiques compatibles avec le gestionnaire de charges de travail pour évaluer les charges de travail SAP HANA à haute disponibilité exécutées sur Google Cloud, consultez la page Bonnes pratiques pour le gestionnaire de charges de travail SAP. Pour en savoir plus sur la création et l'exécution d'une évaluation à l'aide du gestionnaire de charges de travail, consultez la page Créer et exécuter une évaluation.
Résoudre les problèmes
Pour résoudre les problèmes liés aux configurations à haute disponibilité pour SAP HANA sur SLES, consultez la section Dépannage des configurations à haute disponibilité pour SAP.
Obtenir de l'aide
Si vous avez besoin d'aide pour résoudre un problème lié à des clusters à haute disponibilité pour SAP HANA sur SLES, vous devez collecter les informations de diagnostic requises et contacter Cloud Customer Care. Pour en savoir plus, consultez la page Informations de diagnostic sur les clusters à haute disponibilité SLES.
Étapes suivantes
- Pour en savoir plus sur l'administration et la surveillance des VM, consultez le Guide d'utilisation de SAP HANA.