Guide de déploiement de SAP MaxDB pour Linux

Ce guide explique comment déployer une machine virtuelle (VM) Compute Engine prête pour l'installation de SAP MaxDB sur un système d'exploitation Linux et vous y connecter.

Les instructions de ce guide font appel à Cloud Deployment Manager pour le déploiement et la configuration de la VM, du système d'exploitation Linux et des volumes de disque requis pour SAP MaxDB.

Pour en savoir plus sur la planification du déploiement, consultez le guide de planification de SAP MaxDB.

Prérequis

Si vous n'avez pas encore de projet Google Cloud avec la facturation activée, vous devez en créer un avant de pouvoir déployer une VM pour votre installation SAP MaxDB.

Pour créer un projet :

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

Configurer l'environnement de commande gcloud

Ces instructions font appel à Cloud Shell pour la saisie des commandes gcloud qui déploient ou configurent vos ressources Google Cloud. Cloud Shell est accessible via Cloud Console dans votre navigateur.

Cloud Shell s'exécute sur une VM fournie par Google Cloud chaque fois que vous démarrez Cloud Shell. Lorsque vous utilisez Cloud Shell pour la première fois, Google Cloud crée également un répertoire $HOME persistant qui est restauré chaque fois que vous ouvrez Cloud Shell.

La VM provisionnée inclut la dernière version du SDK Cloud, qui fournit l'interface de ligne de commande gcloud. Par conséquent, les commandes gcloud que vous utilisez dans Cloud Shell sont les mêmes que celles que vous utiliseriez dans une instance du SDK Cloud installée localement.

Si le SDK Cloud est installé, vous pouvez exécuter les commandes gcloud spécifiées dans ces instructions à partir de votre ordinateur local. Toutefois, si vous installez un SDK Cloud sur une machine locale, vous devez toujours vous assurer d'utiliser la dernière version du SDK Cloud.

Que vous utilisiez Cloud Shell ou le SDK Cloud, vous pouvez définir et modifier les propriétés de votre environnement de commande gcloud et les enregistrer en tant que configuration. Les configurations sont des collections de paires clé-valeur qui influencent le comportement des commandes gcloud.

Vous pouvez effectuer certaines actions de base avec une configuration dans Cloud Shell, parmi lesquelles :

  • Initialiser une configuration avec gcloud init.

  • Vérifier les paramètres de votre configuration gcloud actuelle avec gcloud config list.

  • Changer le projet Google Cloud dans lequel vous travaillez avec gcloud config set project [PROJECT_ID][PROJECT_ID] représente votre projet Google Cloud.

  • Définir une région par défaut avec gcloud config set compute/region [REGION][REGION] représente une région Google Cloud.

  • Définir une zone par défaut avec gcloud config set compute/zone [ZONE][ZONE] représente une zone Google Cloud.

  • Créer une nouvelle configuration avec gcloud config configurations create [NAME][NAME] représente le nom de la configuration.

Pour en savoir plus sur l'utilisation des configurations, consultez la page Gérer les configurations du SDK Cloud.

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 Monitoring de Google. 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 configurer la mise en réseau, procédez comme suit :

  1. Accédez à Cloud Shell.

    Accéder à Cloud Shell

  2. Pour créer un réseau en mode de sous-réseau personnalisé, exécutez la commande suivante :

    gcloud compute networks create [YOUR_NETWORK_NAME] --subnet-mode custom

    [YOUR_NETWORK_NAME] est le nom du nouveau réseau. Seuls les minuscules, les chiffres et le tiret (-) sont autorisés.

    Spécifiez --subnet-mode custom pour éviter d'utiliser le mode automatique par défaut, qui crée automatiquement un sous-réseau dans chaque région Compute Engine. Pour en savoir plus, consultez la section Mode de création du sous-réseau.

  3. Créez un sous-réseau, et spécifiez la région et la plage d'adresses IP :

    gcloud compute networks subnets create [YOUR_SUBNETWORK_NAME] \
            --network [YOUR_NETWORK_NAME] --region [YOUR_REGION] --range [YOUR_RANGE]

    où :

    • [YOUR_SUBNETWORK_NAME] est le nouveau sous-réseau.
    • [YOUR_NETWORK_NAME] est le nom du réseau que vous avez créé à l'étape précédente.
    • [REGION] est la région dans laquelle vous souhaitez créer le sous-réseau.
    • [YOUR_RANGE] est la plage d'adresses IP spécifiée au format CIDR (par exemple, 10.1.0.0/24). Si vous envisagez d'ajouter plusieurs sous-réseaux, attribuez à chacun d'eux des plages d'adresses IP CIDR qui ne se chevauchent pas. Notez que chaque sous-réseau et ses plages d'adresses IP internes sont mappés sur une seule région.
  4. Si vous le souhaitez, répétez l'étape précédente et ajoutez d'autres sous-réseaux.

Configurer une passerelle NAT

Si vous avez l'intention de créer une ou plusieurs VM sans adresses IP publiques, vous devez intégrer une passerelle NAT leur permettant d'accéder à Internet pour télécharger l'agent de surveillance de Google.

Si vous avez l'intention d'attribuer une adresse IP publique externe à votre VM, vous pouvez ignorer cette étape.

Pour créer une passerelle NAT, procédez comme suit :

  1. Créez une VM qui servira de passerelle NAT dans le sous-réseau que vous venez de créer :

    gcloud compute instances create [YOUR_VM_NAME] --can-ip-forward \
            --zone [YOUR_ZONE]  --image-family [YOUR_IMAGE_FAMILY] \
            --image-project [YOUR_IMAGE_PROJECT] \
            --machine-type=[YOUR_MACHINE_TYPE] --subnet [YOUR_SUBNETWORK_NAME] \
            --metadata startup-script="sysctl -w net.ipv4.ip_forward=1; iptables \
            -t nat -A POSTROUTING -o eth0 -j MASQUERADE" --tags [YOUR_VM_TAG]

    où :

    • [YOUR_VM_NAME] est le nom de la VM que vous créez et qui doit faire office de passerelle NAT.
    • [YOUR_ZONE] est la zone dans laquelle vous souhaitez créer la VM.
    • [YOUR_IMAGE_FAMILY] et [YOUR_IMAGE_PROJECT] spécifient l'<atrack-type="article" l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="KRW/ffDthaiG9c5SfN5O5oDhPGl3794Xn/DFFHy3q91TDeoe5ehmUJowtCU/wYGS" track-metadata-position="body" track-name="internalLink">image que vous souhaitez utiliser pour la passerelle NAT.</atrack-type="article">
    • [YOUR_MACHINE_TYPE] correspond à tout type de machine compatible. Si vous prévoyez un trafic réseau important, choisissez un type de machine dotée d'au moins huit processeurs virtuels.
    • [YOUR_SUBNETWORK_NAME] est le nom du sous-réseau sur lequel vous souhaitez créer la VM.
    • [YOUR_VM_TAG] est un tag appliqué à la VM que vous créez. Si vous utilisez cette VM en tant qu'hôte bastion, ce tag sert à n'appliquer la règle de pare-feu associée qu'à cette VM.
  2. Créez une route taguée de sorte que le trafic transite par la VM NAT au lieu de la passerelle Internet par défaut :

    gcloud compute routes create [YOUR_ROUTE_NAME] \
            --network [YOUR_NETWORK_NAME] --destination-range 0.0.0.0/0 \
            --next-hop-instance [YOUR_VM_NAME] --next-hop-instance-zone \
            [YOUR_ZONE] --tags [YOUR_TAG_NAME] --priority 800

    où :

    • [YOUR_ROUTE_NAME] est le nom de la route que vous créez ;
    • [YOUR_NETWORK_NAME] est le réseau que vous avez créé ;
    • [YOUR_VM_NAME] est la VM qui fait office de passerelle NAT ;
    • [YOUR_ZONE] est la zone où se trouve la VM ;
    • [YOUR_TAG_NAME] est le tag de la route qui achemine le trafic via la VM NAT.
  3. Si vous souhaitez également utiliser la VM qui fait office de passerelle NAT en tant qu'hôte bastion, exécutez la commande ci-dessous. Elle vous permettra de créer une règle de pare-feu qui autorise l'accès SSH entrant à cette instance à partir d'Internet :

    gcloud compute firewall-rules create allow-ssh --network [YOUR_NETWORK_NAME] --allow tcp:22 --source-ranges 0.0.0.0/0 --target-tags "[YOUR_VM_TAG]"

    où :

    • [YOUR_NETWORK_NAME] est le réseau que vous avez créé ;
    • [YOUR_VM_TAG] est le tag que vous avez spécifié lors de la création de la passerelle NAT. Il sert à n'appliquer cette règle de pare-feu qu'à la VM qui héberge la passerelle NAT, et non pas à toutes les VM du réseau.

Déployer une VM Linux pour SAP MaxDB à l'aide de Deployment Manager

Les instructions suivantes font appel à Deployment Manager pour le déploiement d'une instance de VM Linux et de tous les disques persistants dont SAP MaxDB a besoin.

À propos de Deployment Manager

Dans ces instructions, vous définissez les options de ressources pour votre installation dans un modèle de fichier de configuration Deployment Manager.

Deployment Manager traite toutes les ressources créées pour votre système SAP comme une seule entité appelée déploiement. Vous pouvez afficher et utiliser tous les déploiements de votre projet sur la page Déploiements dans Cloud Console.

Tenez compte des comportements suivants lorsque vous utilisez Deployment Manager :

  • La suppression d'un déploiement supprime toutes les ressources associées au déploiement, y compris les VM, les disques persistants et les systèmes SAP installés sur la VM.
  • Par défaut, Deployment Manager utilise la stratégie de création de ressources ACQUIRE. Si vous spécifiez un nom de VM déjà utilisé par une autre VM dans votre projet, Deployment Manager ne crée pas de VM, mais ajoute celle existante à votre nouveau déploiement. Si votre VM d'origine a été créée par une exécution précédente de Deployment Manager, cette VM est associée à deux déploiements.

    Si vous supprimez ensuite le nouveau déploiement, la VM acquise est supprimée du déploiement qui l'a créée initialement. Pour éviter un tel scénario, définissez la stratégie de ressources de Deployment Manager sur CREATE ou assurez-vous d'utiliser des noms de ressources uniques dans votre nouveau déploiement.

    Pour en savoir plus sur les stratégies que vous pouvez utiliser lors de la création de ressources avec Deployment Manager et sur la façon de les spécifier, consultez la documentation sur Deployment Manager.

Procédure de déploiement

  1. Ouvrez Cloud Shell.

    Accéder à Cloud Shell

  2. Téléchargez le modèle de fichier de configuration template.yaml dans votre répertoire de travail en saisissant la commande suivante dans Cloud Shell :

    wget https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/template.yaml
    
  3. Renommez éventuellement le fichier template.yaml afin d'identifier la configuration qu'il définit.

  4. Ouvrez le fichier template.yaml dans l'éditeur de code de Cloud Shell.

    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.

  5. Dans le fichier template.yaml, mettez à jour les valeurs de propriété ci-dessous en remplaçant les crochets et leur contenu par les valeurs de votre installation.

    Propriété Type de données Description
    instanceName Chaîne Nom de l'instance de VM sur laquelle SAP MaxDB sera installé. Ce nom doit comporter 13 caractères et inclure des lettres minuscules, des chiffres ou des traits d'union.
    instanceType Chaîne Type de machine virtuelle Compute Engine sur laquelle SAP MaxDB sera installé. Spécifiez un type de machine avec deux processeurs virtuels ou plus. Exemple :n1-standard-4 Si vous exécutez SAP MaxDB avec SAP NetWeaver sur la même VM, sélectionnez un type de machine comportant suffisamment de processeurs et de mémoire pour pouvoir exécuter les deux systèmes. Consultez le guide de planification de SAP NetWeaver.
    Zone Chaîne Zone dans laquelle vous déployez le système SAP MaxDB. Elle doit se trouver dans la même région que celle que vous avez sélectionnée pour votre sous-réseau.
    subnetwork Chaîne 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 [SHAREDVPC_PROJECT]/[SUBNETWORK]. Exemple :myproject/network1
    linuxImage Chaîne Nom de la famille d'images ou de l'image système du système d'exploitation Windows que vous utilisez avec SAP MaxDB. Pour spécifier une famille d'images, ajoutez le préfixe family/ au nom de la famille. Par exemple, family/rhel-7 ou family/sles-12-sp3-sap. Pour spécifier une image spécifique, indiquez uniquement le nom de l'image. Pour obtenir la liste des familles d'images disponibles, consultez la page Images dans Cloud Console.
    linuxImageProject Chaîne Projet Google Cloud qui contient l'image que vous allez utiliser. Il peut s'agir de votre propre projet ou d'un projet d'image Google Cloud, tel que rhel-sap-cloud ou suse-sap-cloud. Pour obtenir la liste des projets d'image GCP, consultez la page Images dans la documentation Compute Engine.
    maxdbSID Chaîne ID de l'instance de base de données.
    maxdbRootSize Entier Taille en Go de /sapdb, qui est le répertoire racine de l'instance de base de données. Les valeurs minimales et par défaut de maxdbRootSize sont égales à 8 Go.
    maxdbDataSize Entier Taille de /sapdb/[DBSID]/sapdata, qui contient les fichiers de données de la base de données. Les valeurs minimales et par défaut de maxdbDataSize sont égales à 30 Go.
    maxdbLogSize Entier Taille de /sapdb/[DBSID]saplog, qui contient les journaux de transaction de la base de données. Les valeurs minimales et par défaut de maxdbLogSize sont égales à 8 Go.
    maxdbBackupSize Entier Taille du volume /maxdbbackup. Cette propriété est facultative. Si elle est définie sur 0 ou omise, aucun disque n'est créé.
    maxdbDataSSD Booléen Indique si le disque de données utilise un disque persistant SSD (Yes) ou un disque persistant HDD (No). Yes est la valeur par défaut.
    maxdbLogSSD Booléen Indique si le lecteur de journal utilise un disque persistant SSD (Yes) ou un disque persistant HDD (No). Yes est la valeur par défaut. L'utilisation d'un disque SSD est recommandée pour le disque de journalisation.
    usrsapSize Entier Propriété requise seulement si vous installez SAP MaxDB pour une exécution avec SAP NetWeaver sur la même instance de VM.
    sapmntSize Entier Propriété requise seulement si vous installez SAP MaxDB pour une exécution avec SAP NetWeaver sur la même instance de VM.
    swapSize Entier Propriété requise seulement si vous installez SAP MaxDB pour une exécution avec SAP NetWeaver sur la même instance de VM.

    Le fichier de configuration suivant crée une VM configurée pour exécuter à la fois le serveur de base de données SAP MaxDB et SAP NetWeaver. Ce fichier de configuration demande à Deployment Manager de déployer une VM n1-standard-16 exécutant un système d'exploitation SLES 12 SP3. La VM comprend tous les répertoires requis pour exécuter SAP MaxDB et NetWeaver.

     imports:
     - path: https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/sap_maxdb.py
    
     resources:
     - name: sap_maxdb
       type: https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/sap_maxdb.py
       properties:
         instanceName: xmp-maxdb-lin
         instanceType: n1-standard-16
         zone: us-central1-f
         subnetwork: example-sub-network
         linuxImage: family/sles-12-sp3-sap
         linuxImageProject: suse-sap-cloud
         maxdbSID: MD1
         maxdbRootSize: 10
         maxdbDataSize: 50
         maxdbLogSize: 30
         maxdbBackupSize: 100
         maxdbDataSSD: Yes
         maxdbLogSSD: Yes
         usrsapSize: 15
         sapmntSize: 15
         swapSize: 24
    
  6. Créez l'instance de VM comme suit :

    gcloud deployment-manager deployments create [DEPLOYMENT-NAME] --config [TEMPLATE-NAME].yaml
    

    La commande ci-dessus appelle Deployment Manager, qui déploie la VM conformément aux spécifications de votre fichier template.yaml. Ce processus peut prendre quelques minutes. Pour vérifier la progression du déploiement, suivez les étapes de la section suivante.

Valider le déploiement

Les étapes suivantes utilisent Cloud Logging, ce qui peut entraîner des frais. Pour en savoir plus, consultez la section sur les tarifs de Cloud Logging.

  1. Ouvrez Cloud Logging pour vérifier les erreurs et surveiller la progression de l'installation.

    Accéder à Stackdriver Logging

  2. Dans l'onglet Ressources, sélectionnez Global comme ressource de journalisation. Si "INSTANCE DEPLOYMENT COMPLETE" s'affiche pour une VM, cela signifie que le traitement de Deployment Manager est terminé pour cette VM.

    Affichage de Logging

  3. Une fois le système SAP MaxDB déployé sans erreur, connectez-vous à votre VM à l'aide du protocole SSH. Pour ce faire, sur la page Instances de VM de Compute Engine, cliquez sur le bouton SSH de votre instance de VM ou utilisez la méthode SSH de votre choix.

    Bouton SSH sur la page &quot;Instances de VM&quot; de Compute Engine

  4. Connectez-vous en tant qu'utilisateur racine.

    sudo su -
  5. À l'invite de commande, saisissez df -h. Assurez-vous que vous obtenez un résultat semblable au suivant, par exemple le répertoire //sapdb/[DBSID]/sapdata.

    Volumes de données créés par le script

  6. Si vous installez SAP MaxDB sur la même VM que SAP NetWeaver, vérifiez que le nouveau répertoire d'échange a été créé en saisissant la commande suivante :

    cat /proc/meminfo | grep Swap

    Un résultat semblable à l'exemple suivant devrait s'afficher :

    Exemple de résultat de terminal en cas de présence d&#39;un répertoire d&#39;échange

Si l'une des étapes de validation indique que l'installation a échoué, procédez comme suit :

  1. Corrigez l'erreur.
  2. Sur la page Déploiements, supprimez le déploiement pour nettoyer les VM et les disques persistants de l'installation défaillante.
  3. Réexécutez le déploiement.

Installer la base de données

Une fois votre système d'exploitation configuré, installez votre base de données SAP MaxDB : Le système MaxDB est généralement installé avec le produit SAP auquel il est intégré.

Pour installer le système SAP MaxDB sur votre VM, procédez comme suit :

  1. Établissez une connexion SSH avec votre VM basée sur Linux.
  2. Téléchargez le Software Provisioning Manager (SWPM) de SAP, le support d'installation du produit SAP et le support d'installation de MaxDB en suivant les guides d'installation de SAP.
  3. Installez le produit SAP et la base de données SAP MaxDB en suivant les guides d'installation de SAP pour votre produit SAP. Pour obtenir des conseils supplémentaires, reportez-vous à la documentation SAP MaxDB.

Le produit SAP fournit des informations supplémentaires concernant l'installation sur la page Note SAP 1020175 – Questions fréquentes sur l'installation, la mise à jour ou l'application d'un correctif pour SAP MaxDB (en anglais).

Effectuer des tâches post-déploiement

Avant d'utiliser votre instance SAP MaxDB, nous vous recommandons d'effectuer les étapes de post-déploiement suivantes :

  1. Mettez à jour votre logiciel SAP MaxDB avec la dernière version des correctifs, si disponible.
  2. Installez tous les composants supplémentaires.
  3. Configurez et sauvegardez votre nouvelle base de données SAP MaxDB.

Pour en savoir plus, reportez-vous à la page Administration des bases de données SAP MaxDB (en anglais).

Résoudre les problèmes

Cette section explique comment résoudre les problèmes courants.

Résoudre les problèmes de connexion à votre VM

Si vous rencontrez des problèmes de connexion à votre VM via SSH, vérifiez que vous avez créé une règle de pare-feu permettant d'ouvrir le port 22 sur le réseau GCP que vous utilisez.

Pour découvrir les autres problèmes possibles, consultez la section Problèmes connus de la page "SSH depuis le navigateur".