Guide de déploiement pour SAP HANA sur la solution Bare Metal

Ce guide décrit les aspects de la configuration d'un environnement de solution Bare Metal qui sont uniques ou pertinents pour SAP HANA.

Dans un environnement de solution Bare Metal, vous installez vous-même SAP HANA et d'autres logiciels SAP en suivant la documentation SAP.

Ce guide décrit également les services de base Google Cloud pour SAP qui sont requis ou facultatifs pour SAP HANA dans un environnement de solution Bare Metal.

Pour obtenir une présentation de SAP HANA sur la solution Bare Metal afin de vous aider à planifier votre déploiement, consultez le guide de planification de SAP HANA sur la solution Bare Metal.

Étapes majeures

La liste suivante indique les étapes majeures à suivre pour déployer SAP HANA sur la solution Bare Metal une fois que Google Cloud vous informe que vos machines sont prêtes.

  1. Finalisez la connexion à vos nouvelles machines en suivant la documentation de la solution Bare Metal. Pour en savoir plus sur les procédures de configuration, consultez la section Configurer l'environnement de solution Bare Metal dans la documentation de la solution Bare Metal.
  2. Validez la configuration de la machine pour SAP HANA.
Créez des comptes de service IAM pour les applications qui doivent accéder aux ressources Google Cloud. Consultez la section Configurer vos comptes de service.
  1. Établissez une connexion à Internet pour les mises à jour logicielles. Consultez la section Accéder à Internet de la documentation de la solution Bare Metal.
  2. Établissez une connexion aux API Google Cloud Consultez la section Configurer l'accès aux API et services Google Cloud dans la documentation de la solution Bare Metal.
  3. Installez l'agent Google Cloud pour SAP. Vous pouvez éventuellement activer la fonctionnalité Backint de l'agent.
  4. Configurez l'accès à un serveur NTP (Network Time Protocol). Ce point n'est pas abordé dans le présent guide.
  5. Configurez un serveur DNS (Domain Name System). Ce point n'est pas abordé dans le présent guide.

Valider la configuration de la machine pour SAP HANA

Lorsque vous vous connectez à vos machines pour la première fois, vous devez confirmer que les machines, les systèmes d'exploitation et l'espace de stockage que vous avez reçus correspondent bien à ce que vous avez commandé et que tout est correctement configuré.

Outre les contrôles de validation généraux répertoriés dans la documentation de la solution Bare Metal, vérifiez les éléments suivants qui sont spécifiques à SAP HANA :

  • Vérifiez que votre système d'exploitation utilise la version correcte, spécifiquement adaptée à SAP.
  • Vérifiez que les volumes SAP HANA et les installations de systèmes de fichiers sont correctement mappées.
  • Vérifiez que l'espace de stockage est correctement configuré.
  • Vérifiez la synchronisation entre les serveurs.

Pour en savoir plus sur la validation des machines de la solution Bare Metal, consultez la page Se connecter à une machine de solution Bare Metal pour la première fois.

Configurer des comptes de service d'application

Tout programme, agent ou processus d'application qui accède aux ressources Google Cloud à partir d'un environnement sr solution Bare Metal nécessite un compte de service IAM pour l'authentification et l'autorisation.

Pour créer un compte de service :

  1. Dans Google Cloud Console, accédez à la page Comptes de service.

    Accéder à la page "Comptes de service"

  2. Sélectionnez votre projet Google Cloud.

  3. Cliquez sur Créer un compte de service.

  4. Spécifiez un nom pour le compte de service et, éventuellement, une description.

  5. Cliquez sur Create and continue (Créer et continuer).

  6. Dans le panneau Autoriser ce compte de service à accéder au projet, sélectionnez les rôles contenant les autorisations dont votre application a besoin.

    Par exemple, l'agent fence_gce utilisé dans les clusters à haute disponibilité a besoin de l'autorisation baremetalsolution.service.resetInstance, qui est incluse dans les rôles IAM roles/baremetalsolution.editor et roles/baremetalsolution.admin.

  7. Cliquez sur Continuer.

  8. Le cas échéant, accordez aux autres utilisateurs l'accès au compte de service.

  9. Cliquez sur OK.

  10. Sur la page Comptes de service de la console Google Cloud, cliquez sur l'adresse e-mail du compte de service que vous venez de créer.

  11. Sous le nom du compte de service, cliquez sur l'onglet Clés.

  12. Cliquez sur le menu déroulant Ajouter une clé, puis sélectionnez Créer une clé pour créer une clé de compte de service.

  13. Acceptez JSON comme type de clé, puis cliquez sur Create (Créer). Une clé privée est enregistrée sur votre ordinateur.

  14. Importez le fichier de clé JSON sur un emplacement sécurisé des serveurs de la solution Bare Metal accessible aux applications qui en ont besoin.

  15. Configurez vos applications pour accéder au fichier de clé JSON.

    Par exemple, lorsque vous créez la ressource de cluster haute disponibilité qui utilise l'agent fence_gce, vous spécifiez le chemin d'accès et le nom du fichier de clé JSON dans les propriétés de configuration de fence_gce.

Pour en savoir plus sur les comptes de service IAM, consultez les pages suivantes :

Confirmer la connectivité aux serveurs d'applications

Vérifiez que vous disposez d'une connectivité réseau entre les serveurs SAP HANA et les serveurs d'applications.

Assurez-vous que les règles de pare-feu de Google Cloud et de votre système d'exploitation invité autorisent le trafic entre les serveurs.

Valider le mappage volume-stockage

Les volumes SAP HANA sont déjà mappés à l'espace de stockage, mais vous devez le vérifier pour vous en assurer.

Avec 48 Tio d'espace de stockage, vous devriez voir la disposition de volume suivante pour SAP HANA sur un serveur de solution Bare Metal :

  • /hana/log : quatre LUN de 768 Gio avec LVM partagé et taille de bloc de 64 Kio
  • /hana/data : quatre LUN de 10,5 Tio avec LVM partagé et taille de bloc de 256 Kio
  • /hana/shared : volume de 3 Tio
  • /usr/sap : volume de 200 Gio partagé avec le système d'exploitation

Le tableau suivant décrit la configuration des groupes de volumes et des volumes logiques.

Groupe de volumes Volume logique Configuration
hanadatavg data Partagé sur quatre appareils d'au moins 10 Tio chacun, avec une taille de bloc de 256 Kio
hanalogvg log Partagé sur quatre appareils d'au moins 768 Gio chacun, avec une taille de bloc de 64 Kio
hanasharedvg shared Linéaire (non partagé) sur un appareil de 3 Tio

Installer SAP HANA sur la solution Bare Metal

Pour installer SAP HANA sur une machine hôte Bare Metal, vous devez suivre la documentation d'installation SAP pour votre version de SAP HANA.

Pour trouver la documentation d'installation de votre version de SAP HANA, consultez le portail d'aide SAP.

Configurer un cluster à haute disponibilité

Configurez le clustering ou une solution de haute disponibilité appropriée pour vos charges de travail critiques. Nous recommandons le clustering Pacemaker.

À l'exception de quelques exigences et recommandations, vous pouvez configurer des clusters à haute disponibilité sur des machines Bare Metal en suivant les instructions de clustering fournies par votre fournisseur de système d'exploitation.

Pour en savoir plus sur les exigences et les recommandations de Google Cloud concernant la configuration d'un système SAP Hana à haute disponibilité sur solution Bare Metal, consultez la page Clusters à haute disponibilité pour SAP Hana sur solution Bare Metal.

Adresse IP flottante

Un nœud à haute disponibilité utilise une adresse IP flottante ou virtuelle (VIP) pour établir une communication réseau directe avec le système SAP HANA actif. Lors de la configuration de l'adresse IP virtuelle, utilisez la ressource Pacemaker IPaddr2 standard. L'exemple suivant présente une définition de ressource IPaddr2 sur SUSE :

crm configure primitive rsc_ip_HA1_HDB10 IPaddr2 \
    params ip=10.0.0.79 \
    op monitor interval=10 timeout=20

Configurez la ressource IPaddr2 avec une relation de colocation avec la base de données HANA afin qu'elle puisse être déplacée avec la base de données active lors d'un basculement. Exemple :

colocation col_saphana_ip_HA1_HDB10 2000: rsc_ip_HA1_HDB10:Started \
   msl_SAPHana_HA1_HDB10:Master

Configurer un périphérique de cloisonnement

Un cluster Linux à haute disponibilité pour SAP HANA nécessite un périphérique de cloisonnement capable de réinitialiser des nœuds défaillants afin d'éviter les scénarios de split-brain.

Dans un environnement de solution Bare Metal, vous disposez de deux options pour mettre en œuvre un appareil de cloisonnement :

  • SBD avec un watchdog logiciel et un stockage de blocs partagé. SBD est recommandé, mais tous les systèmes d'exploitation ne prennent pas en charge le watchdog logiciel avec SBD.
  • L'agent fence_gce et la méthode resetInstance de l'API de solution Bare Metal.

Configurer le cloisonnement SBD avec le stockage de blocs partagé

Pour configurer le cloisonnement SBD, vous devez suivre les instructions fournies par votre éditeur de logiciels.

Cette section explique uniquement comment identifier et valider les périphériques de stockage provisionnés par Google Cloud pour le cloisonnement SBD.

Pour configurer le cloisonnement SBD sur SUSE, consultez les pages suivantes :

Valider les périphériques de stockage de blocs pour le cloisonnement SBD

Google Cloud crée trois LUN partagés pour le stockage de blocs SBD lorsqu'il provisionne une commande pour un cluster à haute disponibilité utilisant le cloisonnement SBD.

Vous pouvez identifier les périphériques de stockage partagés pour SBD en exécutant la commande multipath -ll pour répertorier les appareils multipath sur les deux serveurs :

multipath -ll | grep "size=Size of your LUN" -B1

Dans chaque liste, recherchez trois appareils de la même taille et notez leur nom. La taille par défaut est de 50 Go.

Dans l'exemple suivant, la chaîne size=50G permet de filtrer la liste des appareils multipath renvoyés par la commande multipath -ll :

multipath -ll | grep "size=50G" -B1

L'exemple de résultat de la commande précédente inclut les trois appareils multi-chemins de 50 Go à utiliser pour le cloisonnement SBD :

3600a098038314566785d5150506a594b dm-16,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
--
3600a098038314566785d5150506a594c dm-15,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
--
3600a098038314566785d5150506a594d dm-11,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw

Les noms des trois appareils doivent être identiques sur les deux serveurs pour indiquer qu'ils sont des LUN partagés.

Lorsque vous suivez les instructions de configuration de SBD fournies par votre fournisseur de système d'exploitation, vous référencez ces trois noms d'appareils.

Par exemple, lorsque vous initialisez chaque appareil pour une utilisation de SBD et définissez les valeurs de délai d'attente et de délai avant expiration, spécifiez les noms des appareils comme indiqué dans l'exemple suivant :

sbd -d /dev/mapper/3600a098038314566785d5150506a594b -1 60 -4 180 create

Lorsque vous définissez la configuration SBD dans /etc/sysconfig/sbd, vous devez également référencer les noms des appareils. Exemple :

SBD_DEVICE="/dev/mapper/3600a098038314566785d5150506a594b;/dev/mapper/3600a098038314566785d5150506a594c;/dev/mapper/3600a098038314566785d5150506a594d"
[..]
SBD_PACEMAKER="yes"
[...]
SBD_STARTMODE="always"

Configurer l'agent fence_gce

Les étapes générales suivantes vous permettent de configurer une ressource de cloisonnement pour votre cluster à haute disponibilité qui utilise l'agent fence_gce inclus dans votre système d'exploitation Linux.

  1. Dans votre projet Google Cloud, attribuez un rôle IAM qui inclut l'autorisation baremetalsolution.service.resetInstance à un compte de service IAM nouveau ou existant pour lequel vous disposez du fichier de clé JSON.

    Le rôle prédéfini roles/baremetalsolution.editor inclut l'autorisation requise. Vous pouvez également créer un rôle personnalisé pour un contrôle plus précis des autorisations incluses dans le rôle.

    Pour en savoir plus, consultez les pages suivantes :

  1. Importez le fichier de clé JSON du compte de service sur tous les serveurs de solution Bare Metal du cluster à haute disponibilité.

  2. Vérifiez que la version de l'agent fence_gce est compatible avec la solution Metal Meta.

    1. Connectez-vous en SSH à votre serveur sur solution Bare Metal

    2. Affichez la page d'aide de l'agent fence_gce :

      $ sudo fence_gce --help
    3. Dans la page d'aide fence_gce, recherchez les propriétés suivantes :

      --baremetalsolution            Enable on bare metal
      ...
      --serviceaccount=[filename]    Service account json file location e.g.
                                         serviceaccount=/somedir/service_account.json
      

      Si vous ne voyez pas les propriétés --baremetalsolution et --serviceaccount=[filename], vous devez mettre à jour l'agent. Contactez l'équipe Cloud Customer Care pour obtenir des instructions sur les correctifs. La procédure d'application des correctifs varie en fonction de la version de Linux que vous utilisez.

  3. Spécifiez l'agent fence_gce en tant qu'appareil de cloisonnement sur chaque nœud de cluster lorsque vous configurez les ressources du cluster en fonction des instructions de clustering fournies par votre fournisseur de système d'exploitation.

    Lorsque vous définissez la ressource, spécifiez les paramètres fence_gce suivants pour activer l'agent pour l'environnement sur solution Bare Metal :

    • baremetalsolution="true"
    • serviceaccount="file_path/key_file.json"

    L'exemple suivant présente une ressource d'appareil de cloisonnement fence_gce définie sur SUSE :

    crm configure primitive STONITH-"server_name" stonith:fence_gce \
     op monitor interval="300s" timeout="60s" on-fail="restart" \
     op start interval="0" timeout="60s" onfail="restart" \
     params port="server_name" zone="Google_Cloud_zone" project="Google_Cloud_project_ID" \
       baremetalsolution="true" method="cycle" \
       serviceaccount="file_path/key_file.json"

    L'exemple de ressource de cloisonnement utilise les définitions suivantes :

    Définition Explication
    baremetalsolution=true Configure l'agent de cloisonnement pour le fonctionnement dans l'environnement de solution Bare Metal.
    serviceaccount=file_path/key_file.json Chemin d'accès au fichier de clé JSON contenant la clé du compte de service utilisé par l'agent de cloisonnement pour accéder aux API Google Cloud.
    port=server_name Nom d'hôte d'origine du serveur de solution Bare Metal que l'appareil de cloisonnement peut réinitialiser.
    method=cycle Définit la méthode à utiliser pour réinitialiser le serveur défaillant.
  4. Après avoir défini chaque ressource de cloisonnement, définissez l'emplacement de l'appareil de cloisonnement sur un autre serveur que celui que vous souhaitez réinitialiser :

    crm configure location LOC_STONITH_server_name STONITH-server_name -inf: server_name

Installer l'agent Google Cloud pour SAP

L'agent Google Cloud pour SAP est requis pour pouvoir utiliser SAP avec les systèmes SAP exécutés sur un serveur de solution Bare Metal.

Si vous utilisez les images "pour SAP" suivantes des OS RHEL ou SLES, fournies par Google Cloud, l'agent Google Cloud pour SAP sera empaqueté avec les images d'OS :

  • RHEL : toutes les images "for SAP"
  • SLES : SLES 15 SP4 pour SAP et versions ultérieures

Pour plus d'informations sur les systèmes d'exploitation disponibles pour exécuter SAP sur des serveurs de solution Bare Metal, consultez les ressources suivantes :

Pour installer l'agent Google Cloud pour SAP sur un serveur de solution Bare Metal, procédez comme suit :

  1. Établissez une connexion SSH avec votre serveur de solution Bare Metal.

  2. Dans votre terminal, installez l'agent en exécutant la commande spécifique à votre système d'exploitation :

    • (Recommandé) Pour installer la version 3.5 (la plus récente) de l'agent :

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOM
      sudo yum install google-cloud-sap-agent

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent
    • Pour installer une version spécifique de l'agent :

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOM
      sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      Remplacez VERSION_NUMBER par le numéro de version de l'agent que vous souhaitez installer, par exemple 3.1-606637668. Pour en savoir plus sur les versions d'agent que vous pouvez installer, consultez la section Répertorier toutes les versions disponibles de l'agent.

  3. Ouvrez le fichier de configuration suivant :

    /etc/google-cloud-sap-agent/configuration.json

  4. Modifiez ou ajoutez les paramètres suivants au fichier de configuration :

    • Dans la première section :
      • bare_metal : défini sur true.
    • Ajoutez la section cloud_properties et spécifiez les paramètres suivants :
      • project_id : spécifiez votre projet Google Cloud.
      • instance_name : spécifiez le nom de votre serveur de solution Bare Metal.
      • region : spécifiez la région du serveur de solution Bare Metal.
  5. Enregistrez le fichier de configuration.

  6. Redémarrez l'agent :

    sudo systemctl restart google-cloud-sap-agent

Pour en savoir plus sur les paramètres de configuration, consultez Installer l'agent Google Cloud pour SAP sur un serveur de solution Bare Metal.

Après avoir installé l'agent Google Cloud pour SAP et l'agent hôte SAP, vérifiez l'installation de l'agent Google Cloud pour SAP, comme décrit dans la section Vérifier l'installation de l'agent.

Vérifier l'installation de l'agent Google Cloud pour SAP

  1. Établissez une connexion SSH avec votre serveur de solution Bare Metal.

  2. 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 :

  1. Dans votre système SAP, saisissez la transaction ST06.
  2. 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

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, et bien plus encore.

Pour surveiller les instances SAP exécutées dans un environnement de solution Bare Metal, vous pouvez installer l'agent Google Cloud pour SAP sur un serveur de solution Bare Metal ou une instance de VM Compute Engine. Selon l'emplacement de l'hôte de l'agent dans votre architecture de déploiement, vous pouvez activer une collecte locale, distante ou hybride des métriques de surveillance SAP HANA.

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.

Activer la fonctionnalité Backint

Vous pouvez éventuellement utiliser la fonctionnalité Backint de l'agent Google Cloud pour SAP afin d'effectuer des opérations de sauvegarde et de récupération pour votre système SAP HANA.

Comme décrit dans le guide de configuration de la fonctionnalité Backint de l'agent, vous devez créer un compte de service sur Google Cloud et fournir à la clé de compte de service l'accès à l'agent sur la machine hôte SAP HANA.

Pour obtenir des instructions sur l'activation de la fonctionnalité Backint de l'agent Google Cloud pour SAP, consultez la page Configurer la sauvegarde et la récupération basées sur Backint pour SAP HANA.

Gérer votre environnement de solution Bare Metal

Pour vos environnements de solution Bare Metal exécutant SAP HANA, Google Cloud fournit les fonctionnalités en libre-service suivantes que vous pouvez utiliser pour gérer vos serveurs, votre espace de stockage et vos réseaux sur solution Bare Metal :

Obtenir de l'aide concernant SAP HANA sur solution Bare Metal

Si vous avez besoin d'aide pour résoudre un problème lié à des déploiements SAP HANA sur solution Bare Metal, collectez les informations de diagnostic requises et contactez Cloud Customer Care. Pour en savoir plus, consultez les informations de diagnostic de SAP sur solution Bare Metal.

Assistance

Pour les problèmes liés à l'infrastructure ou aux services Google Cloud, contactez l'assistance Customer Care. Ses coordonnées sont disponibles sur la page de présentation de l'assistance dans la console Google Cloud. Si l'assistance Customer Care détecte un problème dans vos systèmes SAP, vous serez redirigé vers l'assistance SAP.

Pour les problèmes liés au produit SAP, entrez votre demande d'assistance avec l'outil de l'assistance SAP. SAP évalue la demande d'assistance puis, s'il semble s'agir d'un problème d'infrastructure Google Cloud, la transfère au composant Google Cloud approprié dans son système : BC-OP-LNX-GOOGLE ou BC-OP-NT-GOOGLE.

Exigences liées à l'assistance

Pour bénéficier d'une assistance pour les systèmes SAP ainsi que pour l'infrastructure et les services Google Cloud que ces systèmes utilisent, vous devez satisfaire aux exigences minimales de la formule d'assistance.

Pour en savoir plus sur les exigences minimales concernant l'assistance pour SAP sur Google Cloud, consultez les ressources suivantes :