Ce guide explique comment configurer des ressources Google Cloud pour un cluster haute disponibilité (HA) IBM Db2 pour SAP sur le système d'exploitation Linux.
Ces instructions complètent celles fournies par SAP et IBM dans le guide IBM Db2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms. Reportez-vous toujours à la documentation la plus récente fournie par SAP et IBM lors de l'installation et de la configuration d'un cluster haute disponibilité IBM Db2 sur Google Cloud.
Ces instructions concernent les clusters HA IBM Db2 utilisant le système IBM TSAMP (Tivoli System Automation for Multiplatforms) pour surveiller le système et prendre les mesures appropriées si le système ne répond plus. Le cluster utilise la fonction de récupération après sinistre haute disponibilité (HADR) IBM Db2 pour répliquer les modifications de données consignées dans la base de données en attente.
Le cluster utilise une adresse IP flottante mise en œuvre par Google Cloud à l'aide d'une route statique Google Cloud ou d'une adresse IP d'alias. Dans ce contexte, le terme "adresse IP flottante" est synonyme du terme "adresse IP virtuelle" utilisé dans la documentation SAP.
Ces instructions vous montrent comment configurer un cluster HA IBM Db2 composé d'un serveur IBM Db2 principal et d'un serveur IBM Db2 secondaire ou de secours, chacun étant déployé sur une machine virtuelle Compute Engine (VM) distincte.
Ce guide est destiné aux utilisateurs expérimentés SAP et IBM Db2 qui sont familiarisés avec les clusters à haute disponibilité.
Pour plus d'informations sur la planification d'un cluster HA Db2, consultez la section High-availability IBM Db2 clusters (Clusters à haute disponibilité IBM Db2) dans le guide de planification IBM Db2 pour SAP.
Documentation SAP requise
Les instructions d'installation et de configuration des composants SAP et IBM sont fournies par SAP dans le guide IBM Db2 High-Availability Solution: IBM Tivoli System Automation for Multiplatforms.
Lisez la documentation SAP et Google Cloud avant de commencer les procédures décrites dans ces instructions. À différentes étapes du déploiement, vous devrez peut-être consulter à la fois la documentation SAP et la documentation Google Cloud.
Prérequis
Avant de créer le cluster haute disponibilité IBM Db2, assurez-vous que les conditions préalables suivantes sont remplies :
- Vous ou votre organisation possédez un compte Google Cloud et vous avez créé un projet pour le déploiement du cluster haute disponibilité IBM Db2. Pour en savoir plus sur la création de projets Google Cloud, consultez la section Prérequis du guide de déploiement d'IBM Db2 pour SAP.
- 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.
Vous disposez d'un réseau cloud privé virtuel sur Google Cloud. Pour obtenir des instructions sur la configuration d'un réseau VPC et de règles de pare-feu, ainsi que sur la configuration d'une passerelle NAT ou d'un hôte bastion pour IBM Db2 pour SAP, consultez le guide de déploiement IBM Db2 pour SAP.
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é, la configuration des clés SSH basée sur les métadonnées est désactivée. Une fois le déploiement terminé, vous pouvez réactiver OS Login.
Pour en savoir plus, consultez les pages suivantes :
Déployer un cluster haute disponibilité IBM Db2 sur Google Cloud
Ces instructions vous expliquent comment déployer deux VM, définir une adresse IP flottante et configurer l'adresse IP d'alias ou les routes Google Cloud acceptant l'adresse IP flottante. Lorsque vous devez installer les composants IBM, référez-vous à la documentation SAP.
Les principaux services Google Cloud dont vous avez besoin pour configurer un cluster haute disponibilité IBM Db2 sont :
- Un réseau et un sous-réseau VPC ;
- Des règles de pare-feu (si vous n'utilisez pas une autre forme de contrôle d'accès au réseau) ;
- Des VM Compute Engine et de l'espace de stockage sur disque persistant.
Vous téléchargez et utilisez également un script auxiliaire Google Cloud lorsque vous définissez la ressource personnalisée utilisée par TSAMP pour le basculement de l'adresse IP flottante entre les hôtes. Le script permet à TSAMP d'interagir avec les API Google Cloud.
À 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 la console Google Cloud.
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.
Déployer les VM pour un cluster HA IBM Db2 avec Deployment Manager
Dans Cloud Shell, téléchargez le modèle de fichier de configuration
template_ha.yaml
dans votre répertoire de travail :wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/template_ha.yaml
Pour ouvrir l'éditeur de code Cloud Shell, cliquez sur l'icône en forme de crayon (edit) située dans l'angle supérieur droit de la fenêtre de terminal Cloud Shell.
Renommez éventuellement le fichier
template_ha.yaml
pour identifier la configuration qu'il définit. Exemple :db2_ha_s123_dh1.yaml
Pour ouvrir le fichier
template_ha.yaml
dans l'éditeur de code, double-cliquez dessus.Définissez les VM et les disques persistants dans le fichier
template_ha.yaml
. Le fichiertemplate_ha.yaml
contient deux sections :sap_db2_primary
etsap_db2_secondary
. Chaque section contient un ensemble de paires propriété-valeur suivies de commentaires incluant des propriétés moins fréquemment utilisées.Lorsque vous remplissez chaque section, à l'exception des propriétés
instanceName
,zone
etotherHost
, les définitions de chaque VM doivent être identiques.Le tableau suivant décrit les propriétés incluses dans chaque section. Pour utiliser une propriété, remplacez le texte d'espace réservé et les crochets par les valeurs de votre installation.
Propriété Type de données Description type Chaîne Spécifie l'emplacement, le type et la version du modèle Deployment Manager à utiliser lors du déploiement.
Le fichier YAML comprend deux spécifications
type
, dont l'une est laissée en commentaire. La spécificationtype
qui est active par défaut spécifie la version du modèle en tant quelatest
. La spécificationtype
qui est laissée en commentaire spécifie une version de modèle spécifique avec un horodatage.Si tous vos déploiements doivent utiliser la même version de modèle, utilisez la spécification
type
qui inclut l'horodatage.instanceName
Chaîne Nom de l'instance de VM sur laquelle vous installez IBM Db2. Le nom doit comporter 13 caractères au maximum, spécifiés en lettres minuscules, chiffres ou traits d'union. instanceType
Chaîne Type de VM Compute Engine sur laquelle vous installez IBM Db2. Spécifiez un type de machine avec deux processeurs virtuels ou plus. Exemple : n1-standard-4
zone
Chaîne Zone dans laquelle vous déployez l'instance IBM Db2. Doit être 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 shared-vpc-project/SUBNETWORK
. Exemple :myproject/network1
linuxImage
Chaîne Nom de l'image du système d'exploitation Linux ou de la famille de l'image que vous utilisez avec IBM Db2. Pour spécifier une famille d'images, ajoutez le préfixe family/
au nom de la famille. Par exemple,family/rhel-7-sap-apps
oufamily/sles-12-sp3-sap
. Pour spécifier une image, entrez simplement le nom de l'image. Pour obtenir la liste des familles d'images disponibles, consultez la page Images dans la console Google Cloud.linuxImageProject
Chaîne Le 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
oususe-sap-cloud
. Pour obtenir la liste des projets d'image Google Cloud, consultez la page Images dans la documentation Compute Engine.db2SID
Chaîne ID de l'instance de base de données. db2sidSize
Entier Taille en Go de /db2/DBSID, qui est le répertoire racine de l'instance de base de données. Les valeurs minimale et par défaut de db2sidSize
sont toutes deux de 8 Go.db2homeSize
Entier Taille en Go de /db2/db2db2sid, qui correspond au répertoire d'accueil de l'instance de base de données. Les valeurs minimale et par défaut de db2homeSize
sont toutes deux de 8 Go.db2dumpSize
Entier Taille en Go de /db2/DBSID/db2dump, qui contient les fichiers de vidage de DB2 utilisés pour diagnostiquer les problèmes. Les valeurs minimale et par défaut de db2dumpSize
sont toutes deux de 8 Go.db2saptmpSize
Entier Taille en Go de /db2/DBSID/saptmp, qui contient l'espace de table temporaire de la base de données. Les valeurs minimale et par défaut de db2saptmpSize
sont toutes deux de 8 Go.db2sapdataSize
Entier Taille de /sapdb/DBSID/sapdata, qui contient les fichiers de données de la base de données. Les valeurs minimale et par défaut de db2sapdataSize
sont toutes deux de 30 Go.db2logSize
Entier Taille de /db2/DBSID/logdir, qui contient les journaux de transaction de la base de données. Les valeurs minimale et par défaut de db2logSize
sont toutes deux de 8 Go.db2backupSize
Entier Taille du volume /db2backup. Cette propriété est facultative. Si vous la définissez sur 0
ou l'omettez, aucun disque n'est créé.db2sapdataSSD
boolean Indique si le lecteur de données utilise un disque persistant SSD ( Yes
) ou un disque persistant HDD (No
).Yes
est la valeur par défaut.db2logSSD
boolean 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 Requis uniquement si vous installez IBM Db2 pour une exécution avec SAP NetWeaver sur la même instance de VM. sapmntSize
Entier Requis uniquement si vous installez IBM Db2 pour une exécution avec SAP NetWeaver sur la même instance de VM. swapSize
Entier Requis uniquement si vous installez IBM Db2 pour une exécution avec SAP NetWeaver sur la même instance de VM. otherHost
Chaîne Nom de l'autre instance de VM du cluster haute disponibilité IBM Db2. L'instance de VM doit être définie dans l'autre ensemble de propriétés dans le même fichier template_ha.yaml
.networkTag
Chaîne Facultatif. Tag réseau qui représente votre instance de VM à des fins de routage ou de pare-feu. Si vous spécifiez publicIP: No
et n'utilisez pas de tag réseau, assurez-vous de fournir un autre moyen d'accès à Internet.publicIP
boolean Facultatif. Détermine si une adresse IP publique est ajoutée à votre instance de VM. La valeur par défaut est Yes
.serviceAccount
Chaîne Facultatif. Si vous créez votre propre compte de service avec des autorisations verrouillées, entrez le nom du compte ici. Par défaut, les VM sont déployées à l'aide du compte de service de projet par défaut. Notez qu'un compte de service défini de manière incorrecte fait échouer le déploiement. Voici un exemple de compte de service personnalisé : myserviceuser@myproject.iam.gserviceaccount.com
sap_deployment_debug
boolean Facultatif. Si cette valeur est définie sur Yes
, le déploiement génère des journaux de déploiement détaillés. N'activez ce paramètre que si un ingénieur de l'assistance Google vous demande d'activer le débogage.post_deployment_script
Chaîne Facultatif. Spécifie l'emplacement d'un script à exécuter une fois le déploiement terminé. Le script doit être hébergé sur un serveur Web ou dans un bucket Cloud Storage. L'URL doit commencer par http://
,https://
ougs://
. Notez que ce script est exécuté sur toutes les VM créées par le modèle. Pour l'exécuter seulement sur l'instance principale, cochez la case située en haut de votre script.Les exemples suivants de définitions de VM à partir d'un fichier de configuration
template_ha.yaml
créent deux VM pour un cluster IBM Db2 haute disponibilité. Pour chaque VM, le fichier de configuration demande à Deployment Manager de déployer une VMn1-standard-4
exécutant un système d'exploitation à partir de la famille d'images SLES 12 SP3. La VM comprend tous les répertoires requis pour exécuter un cluster HA IBM Db2. Deployment Manager ne crée pas les répertoires SAP NetWeaver, car les tailles des répertoires sont définies sur0
.resources: - name: sap_db2_primary type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_db2/sap_db2.py # properties: instanceName: db2-ha-s1 instanceType: n1-standard-4 zone: us-central1-c subnetwork: example-sap-subnetwork linuxImage: family/sles-12-sp3-sap linuxImageProject: suse-sap-cloud db2SID: DH1 db2sidSize: 16 db2dumpSize: 16 db2saptmpSize: 16 db2sapdataSize: 50 db2logSize: 16 db2backupSize: 50 db2sapdataSSD: Yes db2logSSD: Yes usrsapSize: 0 sapmntSize: 0 swapSize: 0 otherHost: db2-ha-s2 # # (Comment section omitted from example) # - name: sap_db2_secondary type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_db2/sap_db2.py # properties: instanceName: db2-ha-s2 instanceType: n1-standard-4 zone: us-central1-f subnetwork: example-sap-subnetwork linuxImage: family/sles-12-sp3-sap linuxImageProject: suse-sap-cloud db2SID: DH1 db2sidSize: 16 db2dumpSize: 16 db2saptmpSize: 16 db2sapdataSize: 50 db2logSize: 16 db2backupSize: 50 db2sapdataSSD: Yes db2logSSD: Yes usrsapSize: 0 sapmntSize: 0 swapSize: 0 otherHost: db2-ha-s1
Déployez l'instance de VM avec Deployment Manager.
gcloud deployment-manager deployments create DEPLOYMENT-NAME --config TEMPLATE-NAME.yaml
Où :
DEPLOYMENT-NAME
représente le nom de votre choix pour le déploiement en cours. Ce nom permet d'identifier ce déploiement sur la page Déploiements de la console Google Cloud.TEMPLATE-NAME
représente le nom que vous avez donné au fichier de configuration ou, si vous n'avez pas modifié le nom du fichier par défaut,template_ha.yaml
.
Deployment Manager lit les spécifications dans le fichier
template_ha.yaml
et configure la VM et les disques persistants en conséquence. 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
Pour vérifier le déploiement, consultez les journaux de déploiement dans Cloud Logging et la configuration de la VM.
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 la section "IAM et administration", augmentez le quota qui ne répond pas aux exigences de IBM DB2 répertoriées dans le Guide de planification IBM DB2 pour SAP.
Sur la page Déploiements de Deployment Manager, supprimez le déploiement pour nettoyer les VM et les disques persistants de l'installation ayant échoué.
Réexécutez le déploiement.
- Si
Vérifier la configuration de la VM
Une fois le déploiement de VM terminé, connectez-vous à chaque VM à l'aide de
ssh
. Sur la page Instances de VM de Compute Engine, vous pouvez cliquer sur le bouton SSH pour chaque instance de VM ou utiliser votre méthode SSH préférée.Connectez-vous en tant qu'utilisateur racine.
sudo su -
À l'invite de commande, saisissez
df -h
. Assurez-vous d'obtenir un résultat semblable à celui-ci :db2-ha-s1:~ # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.4G 0 7.4G 0% /dev tmpfs 12G 0 12G 0% /dev/shm tmpfs 7.4G 18M 7.4G 1% /run tmpfs 7.4G 0 7.4G 0% /sys/fs/cgroup /dev/sda1 30G 2.2G 26G 8% / /dev/mapper/vg_db2sid-vol 16G 33M 16G 1% /db2/DH1 /dev/mapper/vg_db2dump-vol 16G 33M 16G 1% /db2/DH1/db2dump /dev/mapper/vg_db2sapdata-vol 50G 33M 50G 1% /db2/DH1/sapdata /dev/mapper/vg_db2saptmp-vol 16G 33M 16G 1% /db2/DH1/saptmp /dev/mapper/vg_db2log-vol 16G 33M 16G 1% /db2/DH1/log_dir /dev/mapper/vg_db2home-vol 16G 33M 16G 1% /db2/db2dh1 /dev/mapper/vg_db2backup-vol 50G 33M 50G 1% /db2backup tmpfs 1.5G 0 1.5G 0% /run/user/1001
Si l'une des étapes de validation indique que l'installation a échoué, procédez comme suit :
- Corrigez l'erreur.
- Sur la page Déploiements, supprimez le déploiement pour nettoyer les VM et les disques persistants de l'installation défaillante.
- Réexécutez le déploiement.
Réserver une adresse IP flottante
Vous devez sélectionner une adresse IP à utiliser comme adresse IP flottante. Vous aurez besoin de cette adresse IP ultérieurement lorsque vous définissez les métadonnées de l'instance de VM hôte et lorsque vous installez et configurez IBM Db2 et le cluster haute disponibilité.
Selon que vous choisissez un type d'implémentation de route ou d'adresse IP d'alias pour votre adresse IP flottante, les conditions requises pour l'adresse IP flottante sont différentes.
Si vous utilisez la mise en œuvre de route statique pour votre adresse IP flottante, l'adresse IP doit être en dehors de la plage d'adresses IP de votre sous-réseau et ne peut être utilisée par aucun autre élément des réseaux étendus de votre entreprise. Consultez votre administrateur réseau pour déterminer l'adresse IP appropriée à utiliser.
Si vous utilisez la mise en œuvre d'adresse IP d'alias pour votre adresse IP flottante, vous devez réserver une adresse IP comprise dans la plage d'adresses IP du sous-réseau utilisé par les hôtes.
Pour les mise en œuvre d'adresse IP d'alias uniquement, réservez une adresse IP d'alias :
Ouvrez un terminal sur une VM hôte ou ouvrez Cloud Shell.
Réservez une adresse IP.
gcloud compute addresses create vip-name --region region --subnet subnet-name \ --addresses ip-addr-optional
La spécification de la propriété "adresse" est facultative. Si vous ne saisissez pas d'adresse IP, Compute Engine sélectionne pour vous une adresse IP de votre sous-réseau.
Affichez et notez l'adresse IP réservée à utiliser lorsque vous installez le serveur de base de données et configurez le cluster haute disponibilité.
gcloud compute addresses describe vip-name --region=region
Exemple :
db2-ha-s1:~ # gcloud compute addresses describe db2-ha-vip-dh1 --region=us-central1 address: 10.1.0.30 addressType: INTERNAL creationTimestamp: '2018-11-28T11:34:14.478-08:00' description: '' id: '6558342813288977241' kind: compute#address name: db2-ha-vip-dh1 region: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/addresses/db2-ha-vip-dh1 status: RESERVED subnetwork: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/subnetworks/example-sap- subnetwork
Ajouter l'adresse IP flottante aux métadonnées de chaque instance de VM hôte
Vous spécifiez des informations sur votre adresse IP flottante, y compris votre type de mise en œuvre d'IP de route ou d'alias choisi, en tant que métadonnées personnalisées pour chaque instance de VM du cluster. Pour en savoir plus sur le choix d'un type de mise en œuvre pour votre adresse IP flottante, consultez la section Adresses IP flottantes pour les clusters IBM Db2 haute disponibilité sur Google Cloud.
Selon le type de votre mise en œuvre, les paramètres de métadonnées que vous définissez sont différents. Dans les deux sections suivantes, suivez les instructions de la section qui s'applique au type de mise en œuvre de votre adresse IP flottante.
Définir les métadonnées pour une mise en œuvre de route de l'adresse IP flottante
Si vous utilisez une mise en œuvre de route pour votre adresse IP flottante, utilisez les paramètres du tableau suivant et la procédure qui suit le tableau pour définir les métadonnées de l'instance.
Paramètre | Valeur | Objectif |
---|---|---|
sap_ibm_vip_solution |
route |
Indique qu'il s'agit d'un déploiement multizone qui utilise un routage statique Google Cloud pour prendre en charge le basculement de l'adresse IP flottante entre les hôtes. |
sap_ibm_db2_vip |
ip-address | Spécifie l'adresse IP flottante que vous avez réservée à l'étape précédente. |
sap_ibm_db2_routename |
route-name | Spécifie un nom arbitraire pour la route statique. Par exemple, vous pouvez utiliser db2-dh1-vip-route |
sap_ibm_db2_routenet |
vpc-network-name | Indique le réseau VPC contenant le cluster HA IBM Db2. |
Pour définir les métadonnées de votre instance pour une mise en œuvre de route statique de votre adresse IP flottante, procédez comme suit :
Ouvrez un terminal sur une VM hôte ou ouvrez Cloud Shell.
Pour chaque instance de VM hôte du cluster, spécifiez les mêmes métadonnées pour la mise en œuvre de la route de l'adresse IP flottante.
gcloud compute instances add-metadata instance-name \ --metadata sap_ibm_vip_solution=route,sap_ibm_db2_vip=ip-address,\ sap_ibm_db2_routename=route-name,sap_ibm_db2_routenet=vpc-network-name \ --zone instance-zone
Définir les métadonnées pour une mise en œuvre d'adresse IP d'alias de l'adresse IP flottante
Si vous utilisez une mise en œuvre d'adresse IP d'alias pour votre adresse IP flottante, utilisez les paramètres du tableau suivant et la procédure qui suit le tableau pour définir les métadonnées de l'instance.
Paramètre | Valeur | Objectif |
---|---|---|
sap_ibm_vip_solution |
alias |
Indique qu'il s'agit d'un déploiement à zone unique qui utilise une adresse IP d'alias Google Cloud pour permettre le basculement de l'adresse IP flottante entre des hôtes. |
sap_ibm_db2_vip |
ip-address | Spécifie l'adresse IP flottante que vous avez réservée à l'étape précédente. |
sap_ibm_db2_vip_range |
alias-ip-range-name | Spécifie éventuellement un nom arbitraire pour la plage d'adresses IP d'alias. Par exemple, vous pouvez utiliser db2-dh1-vip-alias . La valeur par défaut est le nom du sous-réseau. |
Pour définir les métadonnées de votre instance pour une mise en œuvre d'adresse IP d'alias de votre adresse IP flottante, procédez comme suit :
Ouvrez un terminal sur une VM hôte ou ouvrez Cloud Shell.
Pour chaque instance de VM hôte du cluster, spécifiez les mêmes métadonnées pour la mise en œuvre d'adresse IP d'alias de l'adresse IP flottante.
gcloud compute instances add-metadata instance-name \ --metadata sap_ibm_vip_solution=alias,sap_ibm_db2_vip=ip-address,\ sap_ibm_db2_vip_range=alias-ip-range-name --zone instance-zone
Revoir ou modifier vos métadonnées d'instance
Pour examiner les métadonnées de l'instance que vous avez définies, exécutez la commande suivante :
gcloud compute instances describe instance-name --zone instance-zone
Si vous devez modifier vos métadonnées personnalisées, exécutez la commande suivante :
gcloud compute instances add-metadata instance-name --metadata parm-name=parm-value
Ajouter des noms d'hôte et des adresses IP à /etc/hosts
Lors de la configuration du cluster, l'outil de configuration du cluster SAP valide les noms d'hôte et les adresses IP internes de chaque VM hôte et de l'adresse IP flottante. Pour garantir la réussite de la validation, ajoutez l'adresse IP, le nom d'hôte et le nom DNS interne du VPC pour chaque VM hôte, ainsi que l'adresse IP flottante au fichier /etc/hosts
sur chaque VM hôte en utilisant l'éditeur de votre choix.
Par exemple, en tant qu'utilisateur racine, l'exemple suivant met à jour /etc/hosts
:
echo "#Db2 HA floating IP additions" >> /etc/hosts echo 10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal >> /etc/hosts echo 10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal >> /etc/hosts echo 10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal >> /etc/hosts
Dans l'exemple précédent, la chaîne entre le nom d'hôte et >>
sur chaque ligne est un nom DNS interne VPC, qui est utilisé par le service DNS interne VPC.
Les VM hôtes utilisent un nom DNS interne zonal, qui inclut un champ pour la zone. L'adresse IP flottante utilise un nom DNS interne global, qui n'inclut pas de champ de zone.
Pour une VM hôte, vous pouvez récupérer le nom DNS interne en entrant la commande suivante à partir d'un terminal de la VM hôte :
curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \ -H "Metadata-Flavor: Google"
Pour une adresse IP flottante, vous pouvez le saisir vous-même en utilisant le format suivant :
vip-host-name.c.project-name.internal
Une fois le fichier /etc/hosts
mis à jour, les informations pertinentes dans le fichier /etc/hosts
doivent ressembler à l'exemple suivant :
#Db2 HA floating IP additions 10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal 10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal 10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal
Préparer le système d'exploitation
Après avoir créé votre VM, préparez le système d'exploitation pour le cluster HA IBM Db2.
Les conditions requises sont définies par SAP et IBM. La documentation SAP fait appel à l’installation de logiciels, tels que Perl et Korn Shell, qui ne sont peut-être pas préinstallés sur vos VM hôtes Compute Engine.
Consultez les documents suivants pour connaître les dernières conditions requises :
IBM Db2 high availability solution: IBM Tivoli System Automation for Multiplatforms
1984787 – SUSE LINUX Enterprise Server 12 : notes d'installation
2002167 – Red Hat Enterprise Linux 7.x : installation et mise à jour
Installer le serveur de base de données et créer le cluster HA IBM Db2
Avant de suivre les instructions indiquées dans le guide IBM Db2 High availability solution: IBM Tivoli System Automation for Multiplatforms pour installer et configurer IBM Db2 et le cluster HA, passez en revue l'aperçu de la procédure suivante, en portant une attention particulière aux notes.
Pour installer SAP NetWeaver et le serveur d'applications principal, consultez la documentation SAP NetWeaver de Google Cloud et les guides d'installation SAP applicables disponibles sur le portail d'aide SAP.
Les étapes suivantes donnent un aperçu de la procédure d'installation. Reportez-vous à la documentation SAP pour plus de détails.
Établissez une connectivité SSH basée sur des clés entre les instances principale et secondaire et entre chaque instance et elle-même, comme décrit dans la documentation SAP. SSH est utilisé par l'outil de configuration de cluster SAP. Testez toutes les connexions sur chaque hôte. Par exemple, sur
db2-ha-s1
, testez les deux éléments suivants.ssh db2-ha-s1
ssh db2-ha-s2
Téléchargez ou copiez le jeu complet de supports SAP pour Db2 sur votre VM à partir du portail d'assistance SAP.
Sur la VM hôte principale, utilisez SWPM (SAP Software Provisioning Manager) pour installer le serveur de base de données IBM Db2.
Sur la VM hôte secondaire, configurez la base de données de secours à l'aide d'une méthode telle que la copie de système homogène SAP.
Sur les deux VM hôtes, installez les fichiers de licence pour IBM Db2 et IBM TSAMP. Pour plus d'informations sur l'installation des licences IBM obtenues auprès de SAP, consultez la note SAP Note 816773 - DB6: Installing an SAP OEM license.
Sur les deux VM hôtes, installez la dernière version de TSAMP, compatible avec la version de votre base de données et la version de votre système d'exploitation.
Sur la VM hôte principale, utilisez la dernière version de l'outil de configuration de cluster SAP
sapdb2cluster.sh
pour configurer et créer le cluster haute disponibilité IBM Db2.Une fois le cluster créé, sur l'hôte principal, utilisez l'utilitaire de configuration d'instance haute disponibilité DB2 (db2haicu) pour vérifier que le cluster peut basculer.
Quittez l'outil de configuration de cluster SAP et Korn Shell.
Sur l'instance principale, confirmez que le serveur de base de données principal est en ligne.
lssam
Dans l'exemple suivant, extrait de la sortie
lssam
, l'instance de base de données principale est en ligne :Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1 '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2
Passez à l'utilisateur d'instance de base de données.
sudo su - db2sid
Lancez l'utilitaire db2haicu.
db2haicusid
Dans l'interface db2haicu, sélectionnez l'option 5 et suivez les instructions.
Quittez l'utilitaire db2haicu.
Sur l'hôte principal, vérifiez que l'hôte secondaire est maintenant en ligne.
lssam
Dans l'exemple suivant extrait du résultat lssam, l'instance de base de données secondaire est en ligne.
Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs |- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1 '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2
Pour terminer la configuration du cluster, suivez les instructions de la section suivante pour créer une ressource TSAMP personnalisée pour l'adresse IP flottante et l'associer dans TSAMP à la ressource d'instance IBM Db2.
Créer une ressource personnalisée TSAMP pour l'adresse IP flottante
Pour permettre à TSAMP de gérer l'adresse IP flottante, vous devez créer une ressource personnalisée TSAMP pour celle-ci. Pour permettre à TSAMP d'interagir avec Google Cloud tout en gérant la ressource d'adresse IP flottante, vous devez télécharger et configurer un script d'aide depuis Google Cloud.
Télécharger le script d'aide Google Cloud
Sur chaque hôte du cluster, téléchargez le script d'aide Google Cloud et définissez les autorisations.
En tant qu'utilisateur racine, téléchargez le script à partir du répertoire
/root
de la VM principale sur les hôtes principal et de secours.Pour les instances qui n'utilisent pas de configuration de VPC partagé :
wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip.sh -O gcp_floating_ip.sh
Pour les instances utilisant une configuration de VPC partagé :wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip_svpc.sh -O gcp_floating_ip.sh
Sur les deux hôtes, définissez les autorisations sur le script.
chmod 744 gcp_floating_ip.sh
Créer et configurer une ressource personnalisée TSAMP pour votre adresse IP flottante
Sur l'un des hôtes du cluster, créez et configurez des ressources personnalisées TSAMP pour l'adresse IP flottante.
Sur n'importe quel hôte, utilisez la méthode de votre choix pour créer un fichier de configuration appelé
cluster_res.conf
et insérez le texte suivant dans ce fichier, après avoir mis à jour le paramètre NodeNameList avec vos noms d'hôte.PersistentResourceAttributes:: Name="gcp_floating_ip-rs" ResourceType=1 StartCommand="/root/gcp_floating_ip.sh start" StopCommand="/root/gcp_floating_ip.sh stop" MonitorCommand="/root/gcp_floating_ip.sh status" MonitorCommandPeriod=30 MonitorCommandTimeout=30 StartCommandTimeout=600 StopCommandTimeout=600 UserName="root" RunCommandsSync=1 ProtectionMode=0 NodeNameList={"host-1","host-2"}
Sur l'hôte principal, en tant qu'utilisateur racine, créez la ressource personnalisée TSAMP à l'aide des commandes suivantes.
export CT_MANAGEMENT_SCOPE=2 mkrsrc -f cluster_res.conf IBM.Application mkrg -l None gcp_floating_ip-rg chrg -o Online gcp_floating_ip-rg addrgmbr -g gcp_floating_ip-rg -m F IBM.Application:gcp_floating_ip-rs rgreq -o start gcp_floating_ip-rg
Sur l'hôte principal, en tant qu'utilisateur racine, vérifiez que la ressource d'instance Db2 en ligne se trouve sur le même hôte que la ressource d'adresse IP flottante en ligne.
lssam
Dans le résultat, les ressources en ligne doivent toutes se trouver sur les mêmes VM hôtes.
Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1 '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2 Online IBM.ResourceGroup:gcp_floating_ip.sh_rg Nominal=Online '- Online IBM.Application:gcp_floating_ip.sh_rs |- Online IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s1 '- Offline IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s2
Si la ressource d'adresse IP flottante n'est pas en ligne sur le même hôte que l'instance de base de données, déplacez la ressource d'adresse IP flottante.
rgreq -o move -n host-to-move-from gcp_floating_ip-rg
En tant qu'utilisateur racine, sur l'hôte principal, établissez une relation dans TSAMP entre la ressource d'instance de base de données et la ressource d'adresse IP flottante.
rgreq -o lock gcp_floating_ip-rg rgreq -o lock db2_db2sid_db2sid_SID-rg mkrel -o NoCondition -p Collocated \ -S IBM.Application:gcp_floating_ip-rs -G IBM.Application:db2_db2sid_db2sid_SID-rs \ db2hadr_colo_gcp_floating_ip rgreq -o unlock db2_db2sid_db2sid_SID-rg rgreq -o unlock gcp_floating_ip-rg
Une fois que vous avez établi une relation entre la ressource d'instance de base de données et la ressource d'adresse IP flottante, vous pouvez à nouveau tester le basculement, comme décrit dans la section suivante.
Vérification du déploiement de votre cluster Db2 haute disponibilité pour SAP sur Google Cloud
Pour vérifier que le cluster HA IBM Db2 est correctement configuré, déclenchez un basculement et vérifiez que toutes les ressources en ligne passent d'une VM hôte à une autre.
Pour effectuer un test de basculement, procédez comme suit :
Sur l'hôte principal en tant qu'utilisateur racine, notez sur quelle VM se trouvent les ressources en ligne.
lssam
Sur l'hôte principal, passez à l'utilisateur d'instance db2.
sudo su - db2sid
Lancez l'utilitaire db2haicu.
db2haicu
Dans l'interface de l'utilitaire db2haicu, déclenchez un basculement en sélectionnant l'option 5 et en suivant les instructions.
Une fois le traitement de l'utilitaire db2haicu terminé, quittez-le.
Passez à l'utilisateur racine.
sudo su -
Confirmez que les ressources en ligne ont été déplacées vers l'autre VM hôte.
Vérifier l'installation de l'agent Google Cloud pour SAP
Après avoir déployé une VM et installé le système SAP, 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 ci-dessous :
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 :
Effectuer des tâches post-déploiement
Avant d'utiliser votre système haute disponibilité IBM Db2 sur Google Cloud, nous vous recommandons d'effectuer toutes les activités de post-installation répertoriées dans le guide IBM Db2 high availability solution: IBM Tivoli System Automation for Multiplatforms, y compris les suivantes.
La validation du cluster de base de données.
La sauvegarde de la stratégie de base TSAMP.
La mise à jour des groupes de correctifs de base de données.
La mise à jour des connexions client Db2 afin qu'elles utilisent le nom d'hôte et l'adresse IP de l'adresse IP flottante. Par exemple, mettez à jour le fichier
db2cli.ini
sur les serveurs d'applications SAP ABAP.
Si vous utilisez une passerelle NAT avec votre cluster HA DB2, terminez la configuration de la passerelle NAT, comme décrit dans la section Completing the NAT gateway installation dans le guide de déploiement d'IBM Db2 pour SAP.