Hyperdisk, en particulier Hyperdisk Extreme, offre de meilleures performances pour SAP HANA que les types de disques persistants basés sur SSD.
Pour migrer les volumes de disques persistants utilisés par votre base de données SAP HANA vers des volumes Hyperdisk, vous devez utiliser les instantanés de disque de Google Cloud et l'option de redémarrage rapide SAP HANA.
Examiner les considérations sur la migration
- Données de migration: l'option Fast Restart de SAP HANA est utilisée comme assistant. Elle réduit les temps d'arrêt lors du grattage des disques en éliminant le besoin d'attendre le chargement des tables de votre base de données. Toutefois, veillez à prendre en compte le temps nécessaire pour recharger le magasin de lignes et les types de données BLOB (Binary Large Object).
Temps d'arrêt: bien que le processus de migration nécessite un temps d'arrêt minimal, la durée réelle du temps d'arrêt dépend du temps nécessaire pour effectuer les tâches suivantes:
Créer des instantanés de disque
Pour réduire les temps d'arrêt tout en prenant des instantanés de disque, vous pouvez prendre des instantanés des disques avant l'activité de migration planifiée, puis prendre des instantanés supplémentaires plus près de l'activité, ce qui réduit légèrement les différences entre les instantanés.
Créer des volumes Hyperdisk à l'aide des instantanés de vos volumes Persistent Disk.
Actualisation des tables SAP HANA dans la mémoire SAP HANA
Revenir aux disques existants: en cas de problème pendant la migration, vous pouvez revenir aux disques existants, car ils ne sont pas affectés par cette procédure et sont disponibles jusqu'à ce que vous les supprimiez vous-même. Pour en savoir plus, consultez la section Recourir aux disques existants.
Avant de commencer
Avant de migrer les volumes de disques persistants utilisés par votre base de données SAP HANA vers des volumes Hyperdisk, assurez-vous que les conditions suivantes sont remplies:
- SAP HANA s'exécute sur des instances Compute Engine certifiées par SAP compatibles avec l'hyperdisque.
- Les volumes
/hana/data
et/hana/log
sont hébergés sur des disques distincts. - La gestion du volume logique Linux est utilisée pour la persistance du stockage SAP HANA.
Bien que le stockage direct puisse être utilisé, il nécessite un remappage explicite des appareils via la table
/etc/fstab
. L'option Fast Restart de SAP HANA est activée pour votre système SAP HANA.
Pour savoir comment activer cette fonctionnalité, consultez la section Activer le redémarrage rapide de SAP HANA.
Une sauvegarde valide de la base de données SAP HANA est disponible. Cette sauvegarde peut être utilisée pour restaurer la base de données, si nécessaire.
Si l'instance Compute Engine cible fait partie d'un cluster à haute disponibilité (HA), assurez-vous que le cluster est en mode de maintenance.
Si votre base de données SAP HANA utilise un déploiement à scaling horizontal, répétez la procédure décrite dans ce guide pour chaque instance SAP HANA.
La base de données SAP HANA est opérationnelle.
Le système de fichiers
tmpfs
est entièrement chargé avec le contenu des fragments de donnéesMAIN
. Pour afficher l'utilisation du système de fichiers, exécutez la commande suivante:df -Th
Le résultat ressemble à celui de l'exemple ci-dessous.
# df -Th Filesystem Type Size Used Avail Use% Mounted on ... /dev/mapper/vg_hana_shared-shared xfs 1.0T 56G 968G 6% /hana/shared /dev/mapper/vg_hana_data-data xfs 14T 5.7T 8.2T 41% /hana/data /dev/mapper/vg_hana_log-log xfs 512G 7.2G 505G 2% /hana/log /dev/mapper/vg_hana_usrsap-usrsap xfs 32G 276M 32G 1% /usr/sap tmpfsDB10 tmpfs 5.7T 800G 4.9T 14% /hana/tmpfs0/DB1 tmpfsDB11 tmpfs 5.7T 796G 4.9T 14% /hana/tmpfs1/DB1 tmpfsDB12 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs2/DB1 tmpfsDB13 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs3/DB1 tmpfsDB14 tmpfs 5.7T 816G 4.9T 15% /hana/tmpfs4/DB1 tmpfsDB15 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs5/DB1 tmpfsDB16 tmpfs 5.7T 816G 4.9T 15% /hana/tmpfs6/DB1 tmpfsDB17 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs7/DB1
Migrer des volumes de disques persistants vers des volumes Hyperdisk
Cette section explique comment migrer les volumes /hana/data
et /hana/log
des volumes de disques persistants vers des volumes Hyperdisk.
Pour illustrer le processus de migration, l'exemple de configuration suivant est utilisé:
- Type de machine:
m2-ultramem-416
(12 To de mémoire, 416 processeurs virtuels) - Système SAP HANA à scaling à la hausse déployé à l'aide du document Google Cloud Terraform: Guide de déploiement d'un scaling à la hausse SAP HANA.
- OS: SLES pour SAP 15 SP1
- SAP HANA: HANA 2 SPS06, correctif 63
- Type de disque par défaut: SSD Persistent Disk (
pd-ssd
) - Les volumes
/hana/data
et/hana/log
sont installés sur des disques distincts et sont créés à l'aide de LVM et de XFS - L'option de redémarrage rapide SAP HANA est activée et 6 To de données sont chargés dans la base de données. Pour savoir comment procéder, consultez la section Activer le redémarrage rapide de SAP HANA.
Pour migrer des volumes de disque persistant vers des volumes Hyperdisk, procédez comme suit:
Arrêtez la base de données SAP HANA en exécutant la commande
HDB stop
:HDB stop
Vous pouvez également exécuter la commande
sapcontrol
:sapcontrol -nr INSTANCE_NUMBER -function StopSystem HDB
Remplacez
INSTANCE_NUMBER
par le numéro d'instance de votre système SAP HANA.Pour en savoir plus, consultez le document SAP Démarrer et arrêter des systèmes SAP HANA.
Désinstallez les volumes
/hana/data
et/hana/log
du système de fichiers:umount /hana/data umount /hana/log
Déterminez les noms des disques hébergeant les volumes
/hana/data
et/hana/log
à l'aide de l'une des méthodes suivantes:Exécutez la commande
ls
:ls -l /dev/disk/by-id/
La sortie affiche le mappage des noms de disques sur les appareils, comme dans l'exemple suivant:
... lrwxrwxrwx 1 root root 9 May 18 20:14 google-hana-vm-data00001 -> ../../sdb lrwxrwxrwx 1 root root 9 May 18 20:14 google-hana-vm-log00001 -> ../../sdc ...
Exécutez la commande
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance de calcul.ZONE
: zone de l'instance de calcul.
La sortie affiche des informations sur l'instance de calcul, y compris les disques qui y sont associés. Exemple :
gcloud compute instances describe hana-vm --zone europe-west4-a ... disks: - autoDelete: false deviceName: hana-vm-shared00001 diskSizeGb: '1024' - autoDelete: false deviceName: hana-vm-usrsap00001 diskSizeGb: '32' - autoDelete: false deviceName: hana-vm-data00001 diskSizeGb: '14093' - autoDelete: false deviceName: hana-vm-log00001 diskSizeGb: '512'
Dans la console Google Cloud, accédez à la page Instances de VM Compute Engine, puis cliquez sur le nom de l'instance Compute. La section Stockage affiche les informations sur le disque associé.
Créez des instantanés des disques hébergeant les volumes
/hana/data
et/hana/log
:gcloud compute snapshots create DATA_DISK-snapshot \ --project=PROJECT_ID \ --source-disk-zone=SOURCE_DISK_ZONE \ --source-disk=DATA_DISK \ gcloud compute snapshots create LOG_DISK-snapshot \ --project=PROJECT_ID \ --source-disk-zone=SOURCE_DISK_ZONE \ --source-disk=LOG_DISK
Remplacez les éléments suivants :
DATA_DISK
: nom du disque qui héberge le volume/hana/data
, qui est défini comme préfixe de l'instantané du disque de données.LOG_DISK
: nom du disque hébergeant le volume/hana/log
, qui est défini comme préfixe de l'instantané du disque de journal.PROJECT_ID
: ID du projet Google Cloud dans lequel le disque est déployéSOURCE_DISK_ZONE
: zone Compute Engine dans laquelle le disque est déployé
Pour en savoir plus sur la création d'instantanés, consultez la page Créer et gérer des instantanés de disque.
À l'aide des instantanés de disque que vous avez créés, créez des volumes Hyperdisk pour les volumes
/hana/data
et/hana/log
:gcloud compute disks create DATA_DISK-hd \ --project=PROJECT_ID \ --zone=ZONE \ --type=HYPERDISK_TYPE \ --provisioned-iops=IOPS_DATA_DISK \ --source-snapshot=DATA_DISK-snapshot \ gcloud compute disks create LOG_DISK-hd \ --project=PROJECT_ID \ --zone=ZONE \ --type=HYPERDISK_TYPE \ --provisioned-iops=IOPS_LOG_DISK \ --source-snapshot=LOG_DISK-snapshot
Remplacez les éléments suivants :
DATA_DISK
: nom du volume de disque persistant qui héberge le volume/hana/data
, qui est défini comme préfixe du nom du volume Hyperdisk que vous créez.LOG_DISK
: nom du volume de disque persistant qui héberge le volume/hana/log
, qui est défini comme préfixe du nom du volume Hyperdisk que vous créez.PROJECT_ID
: ID du projet Google CloudHYPERDISK_TYPE
: type d'hyperdisque que vous souhaitez créer, par exemplehyperdisk-extreme
ZONE
: zone Compute Engine dans laquelle vous devez déployer les volumes HyperdiskIOPS_DATA_DISK
: IOPS que vous souhaitez définir pour l'hyperdisque que vous créez pour héberger/hana/data
. Vous définissez les IOPS en fonction de vos exigences de performances.IOPS_LOG_DISK
: IOPS que vous souhaitez définir pour l'hyperdisque que vous créez pour héberger/hana/log
. Vous définissez les IOPS en fonction de vos exigences de performances.
Si vous créez des volumes Hyperdisk Balanced (
hyperdisk-balanced
), vous pouvez également définir leur débit.Pour en savoir plus sur la taille, les IOPS et le débit minimaux que vous devez définir pour utiliser des volumes Hyperdisk avec SAP HANA, consultez la ligne correspondant à votre type de machine Compute Engine dans la section Tailles minimales pour les volumes Persistent Disk et Hyperdisk basés sur SSD.
Pour en savoir plus sur la restauration d'un disque à partir d'un instantané, consultez la section Restaurer à partir d'un instantané.
Depuis l'instance Compute Engine qui héberge votre base de données SAP HANA, détachez les volumes de disques persistants qui hébergent vos volumes
/hana/data
et/hana/log
:gcloud compute instances detach-disk INSTANCE_NAME \ --disk=DATA_DISK \ --zone=ZONE gcloud compute instances detach-disk INSTANCE_NAME \ --disk=LOG_DISK \ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de votre instance Compute EngineDATA_DISK
: nom du volume de disque persistant hébergeant votre volume/hana/data
, que vous souhaitez dissocier.LOG_DISK
: nom du volume de disque persistant hébergeant votre volume/hana/log
, que vous souhaitez dissocier.ZONE
: zone Compute Engine dans laquelle le disque est déployé
Associez les volumes Hyperdisk que vous avez créés à l'instance Compute Engine qui héberge votre base de données SAP HANA:
gcloud compute instances attach-disk INSTANCE_NAME \ --disk=DATA_DISK-hd \ --zone=ZONE gcloud compute instances attach-disk INSTANCE_NAME \ --disk=LOG_DISK-hd \ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance Compute Engine.DATA_DISK
: nom du volume Hyperdisk que vous souhaitez utiliser pour héberger le volume/hana/data
.LOG_DISK
: nom du volume Hyperdisk que vous souhaitez utiliser pour héberger le volume/hana/log
.ZONE
: zone Compute Engine dans laquelle l'hyperdisque est déployé
Pour installer les volumes Hyperdisk, procédez comme suit en tant que
root
ou en tant qu'utilisateur disposant d'un accèssudo
:Supprimez toutes les définitions de mappage d'appareils pour éviter les conflits de mappage d'appareils LVM:
dmsetup remove_all
Analysez tous les disques pour les groupes de volumes, recompilez les caches et créez les volumes manquants, y compris LVM:
vgscan -v --mknodes
Le résultat ressemble à ce qui suit :
Scanning all devices to initialize lvmetad. Reading volume groups from cache. Found volume group "vg_hana_data" using metadata type lvm2 Found volume group "vg_hana_shared" using metadata type lvm2 Found volume group "vg_hana_log" using metadata type lvm2 Found volume group "vg_hana_usrsap" using metadata type lvm2
Activez les groupes de volumes:
vgchange -ay
Le résultat ressemble à ce qui suit :
1 logical volume(s) in volume group "vg_hana_data" now active 1 logical volume(s) in volume group "vg_hana_shared" now active 1 logical volume(s) in volume group "vg_hana_log" now active 1 logical volume(s) in volume group "vg_hana_usrsap" now active
Recherchez des volumes logiques:
lvscan
Le résultat ressemble à ce qui suit :
ACTIVE '/dev/vg_hana_data/data' [13.76 TiB] inherit ACTIVE '/dev/vg_hana_shared/shared' [1024.00 GiB] inherit ACTIVE '/dev/vg_hana_log/log' [512.00 GiB] inherit ACTIVE '/dev/vg_hana_usrsap/usrsap' [32.00 GiB] inherit
Installez les disques:
mount -av
Le résultat ressemble à ce qui suit :
/ : ignored /boot/efi : already mounted /hana/shared : already mounted /hana/data : already mounted /hana/log : already mounted /usr/sap : already mounted swap : ignored /hana/tmpfs0/DB1 : already mounted /hana/tmpfs1/DB1 : already mounted /hana/tmpfs2/DB1 : already mounted /hana/tmpfs3/DB1 : already mounted /hana/tmpfs4/DB1 : already mounted /hana/tmpfs5/DB1 : already mounted /hana/tmpfs6/DB1 : already mounted /hana/tmpfs7/DB1 : already mounted
Vérifiez les nouveaux volumes:
Vérifiez l'utilisation du système de fichiers:
df -Th
Le résultat ressemble à ce qui suit :
Filesystem Type Size Used Avail Use% Mounted on ... /dev/mapper/vg_hana_shared-shared xfs 1.0T 56G 968G 6% /hana/shared /dev/mapper/vg_hana_usrsap-usrsap xfs 32G 277M 32G 1% /usr/sap tmpfsDB10 tmpfs 5.7T 784G 4.9T 14% /hana/tmpfs0/DB1 tmpfsDB11 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs1/DB1 tmpfsDB12 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs2/DB1 tmpfsDB13 tmpfs 5.7T 782G 4.9T 14% /hana/tmpfs3/DB1 tmpfsDB14 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs4/DB1 tmpfsDB15 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs5/DB1 tmpfsDB16 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs6/DB1 tmpfsDB17 tmpfs 5.7T 782G 4.9T 14% /hana/tmpfs7/DB1 /dev/mapper/vg_hana_log-log xfs 512G 7.2G 505G 2% /hana/log /dev/mapper/vg_hana_data-data xfs 14T 5.7T 8.2T 41% /hana/data
Vérifiez que les appareils sont associés aux nouveaux volumes:
lsblk
Le résultat ressemble à ce qui suit :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... sdd 8:48 0 1T 0 disk └─vg_hana_shared-shared 254:0 0 1024G 0 lvm /hana/shared sde 8:64 0 32G 0 disk └─vg_hana_usrsap-usrsap 254:3 0 32G 0 lvm /usr/sap sdf 8:80 0 13.8T 0 disk └─vg_hana_data-data 254:1 0 13.8T 0 lvm /hana/data sdg 8:96 0 512G 0 disk └─vg_hana_log-log 254:2 0 512G 0 lvm /hana/log
Démarrez votre base de données SAP HANA à l'aide de l'une des commandes suivantes:
Exécutez la commande
HDB start
:HDB start
Exécutez la commande
sapcontrol
:sapcontrol -nr INSTANCE_NUMBER -function StartSystem HDB
Remplacez
INSTANCE_NUMBER
par le numéro d'instance de votre base de données SAP HANA.Pour en savoir plus, consultez la section Démarrer et arrêter des systèmes SAP HANA.
Recourir aux disques existants
Si la migration du disque échoue, vous pouvez utiliser les volumes de disque persistant existants, car ils contiennent les données telles qu'elles existaient avant le début de la procédure de migration.
Pour restaurer votre base de données SAP HANA à son état d'origine, procédez comme suit:
- Arrêtez l'instance Compute Engine qui héberge votre base de données SAP HANA.
- Dissociez les volumes Hyperdisk que vous avez créés.
- Réassociez les volumes de disques persistants existants à l'instance de calcul.
- Démarrez l'instance de calcul.