Partage via


Conseils et astuces pour utiliser l’outil Azure Application Consistent Snapshot Tool

Cet article fournit des conseils et astuces qui peuvent être utiles lorsque vous utilisez AzAcSnap.

Paramètres de remplacement global pour contrôler le comportement d'azacsnap

AzAcSnap 8 a introduit un nouveau fichier de paramètres globaux (.azacsnaprc) qui doit être situé dans le même répertoire (de travail) que celui dans lequel azacsnap est exécuté. Le nom du fichier est .azacsnaprc et l'utilisation du point « . » au début du nom du fichier le masque dans les listes de répertoires standard. Le fichier permet de définir des paramètres globaux contrôlant le comportement d'AzAcSnap. Le format est une entrée par ligne avec une variable de personnalisation prise en charge et une nouvelle valeur de remplacement.

Paramètres, qui peuvent être contrôlés en ajoutant/modifiant le fichier de paramètres de remplacement global ou en les définissant en tant que variables d'environnement :

  • MAINLOG_LOCATION qui personnalise l'emplacement du fichier de sortie « main-log » (journal principal), appelé azacsnap.log et introduit dans AzAcSnap 8. Les valeurs doivent être des chemins d'accès absolus et la valeur par défaut = « . » (qui est le répertoire de travail actuel). Par exemple, pour s'assurer que le fichier de sortie « main-log » va dans le répertoire /home/azacsnap/bin/logs, ajoutez ce qui suit au fichier .azacsnaprc :
    • MAINLOG_LOCATION=/home/azacsnap/bin/logs
  • AZURE_MANAGEMENT_ENDPOINT pour personnaliser l'emplacement du point de terminaison de gestion Azure auquel AzAcSnap fera des appels API REST Azure a été introduit dans AzAcSnap 9a. Les valeurs doivent être des chemins d'accès d'URL et la valeur par défaut = « https://management.azure.com ». Par exemple, pour configurer AzAcSnap de façon à ce que tous les appels de gestion se dirigent vers le point de terminaison de gestion Azure pour le US Govt Cloud (réf. : Azure Government Guidance pour les développeurs), ajoutez ce qui suit au fichier .azacsnaprc :
    • AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net

Remarque

À partir d'AzAcSnap 9a, toutes ces valeurs peuvent également être définies en tant que variables d'environnement de ligne de commande, au même titre que le fichier .azacsnaprc, ou à la place de celui-ci. Par exemple, sous Linux, le fichier AZURE_MANAGEMENT_ENDPOINT peut être remplacé par export AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net avant le lancement d'AzAcSnap.

Analyse de main-log

AzAcSnap 8 a introduit un nouveau « main-log » pour simplifier l'analyse des exécutions d'AzAcSnap. Ce fichier s'inspire du catalogue de sauvegarde SAP HANA, qui indique quand AzAcSnap a été lancé, combien de temps il a fallu et quel est le nom de l'instantané. Avec AzAcSnap, cette idée a été approfondie pour inclure des informations pour chacune des commandes AzAcSnap, en particulier les options -c, et le fichier a les en-têtes suivants :

DATE_TIME,OPERATION_NAME,STATUS,SID,DATABASE_TYPE,DURATION,SNAPSHOT_NAME,AZACSNAP_VERSION,AZACSNAP_CONFIG_FILE,VOLUME

Lorsque AzAcSnap est exécuté, il ajoute au journal les informations appropriées en fonction de la commande -c utilisée, les exemples de sortie sont les suivants :

2023-03-29T16:10:57.8643546+13:00,about,started,,,,,8,azacsnap.json,
2023-03-29T16:10:57.8782148+13:00,about,SUCCESS,,,0:00:00.0258013,,8,azacsnap.json,
2023-03-29T16:11:55.7276719+13:00,backup,started,PR1,Hana,,pr1_hourly__F47B181A117,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;
2023-03-29T16:13:03.3774633+13:00,backup,SUCCESS,PR1,Hana,0:01:07.7558663,pr1_hourly__F47B181A117,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;
2023-03-29T16:13:30.1312963+13:00,details,started,PR1,Hana,,,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;(other)HANALOGBACKUP_P;
2023-03-29T16:13:33.1806098+13:00,details,SUCCESS,PR1,Hana,0:00:03.1380686,,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;(other)HANALOGBACKUP_P;

Ce format rend le fichier analysable avec les commandes Linux watch, grep, head, tail, et column pour obtenir des mises à jour continues des sauvegardes AzAcSnap. Voici un exemple de combinaison de ces commandes dans un script interpréteur de commandes unique pour surveiller AzAcSnap :

#!/bin/bash
#
# mainlog-watcher.sh
# Monitor execution of AzAcSnap backup commands
#
# These values can be modified as appropriate.
# Mainlog header fields:
#       1. DATE_TIME,
#       2. OPERATION_NAME,
#       3. STATUS,
#       4. SID,
#       5. DATABASE_TYPE,
#       6. DURATION,
#       7. SNAPSHOT_NAME,
#       8. AZACSNAP_VERSION,
#       9. AZACSNAP_CONFIG_FILE,
#       10. VOLUME
FIELDS_TO_INCLUDE="1,2,3,5,4,6,7"
SCREEN_REFRESH_SECS=2
#
# Use AzAcSnap global settings file (.azacsnaprc) if available,
# otherwise use the default location of the current working directory.
AZACSNAP_RC=".azacsnaprc"
if [ -f ${AZACSNAP_RC} ]; then
    source ${AZACSNAP_RC} 2> /dev/null
else
    MAINLOG_LOCATION="."
fi
cd ${MAINLOG_LOCATION}
echo "Changing current working directory to ${MAINLOG_LOCATION}"
#
# Default MAINLOG filename.
HOSTNAME=$(hostname)
MAINLOG_FILENAME="azacsnap.log"
#
# High-level explanation of how commands used.
# `watch` - continuously monitoring the command output.
# `grep` - filter only backup runs.
# `head` and `tail` - add/remove column headers.
# `sed` to remove millisecs from date.
# `awk` format output for `column`.
# `column` - provide pretty output.
FIELDS_FOR_AWK=$(echo "${FIELDS_TO_INCLUDE}" | sed 's/^/\\\$/g' | sed 's/,/,\\\$/g')
PRINTOUT="{OFS=\\\",\\\";print ${FIELDS_FOR_AWK}}"
#
echo -n "Parsing '${MAINLOG_FILENAME}' for field #s ${FIELDS_TO_INCLUDE} = "
bash -c "cat ${MAINLOG_FILENAME} | grep -e \"DATE\" | head -n1 -  | awk -F\",\" \"${PRINTOUT}\" "
#
watch -t -n ${SCREEN_REFRESH_SECS} \
  "\
  echo -n \"Monitoring AzAcSnap on '${HOSTNAME}' @ \" ; \
  date ; \
  echo ; \
  cat ${MAINLOG_FILENAME} \
    | grep -e \"DATE\" -e \",backup,\" \
    | ( sleep 1; head -n1 - ; sleep 1; tail -n+2 - | tail -n20 \
      | sed 's/\(:[0-9][0-9]\)\.[0-9]\{7\}/\1/' ; sleep 1 ) \
    | awk -F\",\" \"${PRINTOUT}\" \
    | column -s\",\" -t \
  "
exit 0

Produit la sortie suivante actualisée toutes les deux secondes.

Monitoring AzAcSnap on 'azacsnap' @ Thu Sep 21 11:27:40 NZST 2023

DATE_TIME                  OPERATION_NAME  STATUS   DATABASE_TYPE  SID       DURATION         SNAPSHOT_NAME
2023-09-21T07:00:02+12:00  backup          started  Oracle         ORATEST1                   all-volumes__F6B07A2D77A
2023-09-21T07:02:10+12:00  backup          SUCCESS  Oracle         ORATEST1  0:02:08.0338537  all-volumes__F6B07A2D77A
2023-09-21T08:00:03+12:00  backup          started  Oracle         ORATEST1                   all-volumes__F6B09C83210
2023-09-21T08:02:12+12:00  backup          SUCCESS  Oracle         ORATEST1  0:02:09.9954439  all-volumes__F6B09C83210
2023-09-21T09:00:03+12:00  backup          started  Oracle         ORATEST1                   all-volumes__F6B0BED814B
2023-09-21T09:00:03+12:00  backup          started  Hana           PR1                        pr1_hourly__F6B0BED817F
2023-09-21T09:01:10+12:00  backup          SUCCESS  Hana           PR1       0:01:07.8575664  pr1_hourly__F6B0BED817F
2023-09-21T09:02:12+12:00  backup          SUCCESS  Oracle         ORATEST1  0:02:09.4572157  all-volumes__F6B0BED814B

Limiter les autorisations du principal de service

Il peut être nécessaire de limiter l’étendue du principal de service AzAcSnap. Pour plus d’informations sur la gestion des accès affinée des ressources Azure, consultez la documentation sur Azure RBAC.

Voici un exemple de définition de rôle avec les actions minimales requises pour qu’AzAcSnap fonctionne.

az role definition create --role-definition '{ \
  "Name": "Azure Application Consistent Snapshot tool", \
  "IsCustom": "true", \
  "Description": "Perform snapshots on ANF volumes.", \
  "Actions": [ \
    "Microsoft.NetApp/*/read", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete" \
  ], \
  "NotActions": [], \
  "DataActions": [], \
  "NotDataActions": [], \
  "AssignableScopes": ["/subscriptions/<insert your subscription id>"] \
}'

Pour que les options de restauration fonctionnent correctement, le principal du service AzAcSnap doit également être en mesure de créer des volumes. Dans ce cas, la définition du rôle nécessite l'ajout d'une clause « Actions » supplémentaire. Par conséquent, le principal de service complet devrait ressembler à l'exemple suivant.

az role definition create --role-definition '{ \
  "Name": "Azure Application Consistent Snapshot tool", \
  "IsCustom": "true", \
  "Description": "Perform snapshots and restores on ANF volumes.", \
  "Actions": [ \
    "Microsoft.NetApp/*/read", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write" \
  ], \
  "NotActions": [], \
  "DataActions": [], \
  "NotDataActions": [], \
  "AssignableScopes": ["/subscriptions/<insert your subscription id>"] \
}'

Effectuer des instantanés manuellement

Avant d’exécuter des commandes de sauvegarde (azacsnap -c backup), contrôlez la configuration en exécutant les commandes de test et vérifiez qu’elles sont exécutées avec succès. L’exécution correcte de ces tests prouve que azacsnap peut communiquer avec la base de données SAP HANA installée et le système de stockage sous-jacent de SAP HANA sur le système Azure Large Instance ou Azure NetApp Files.

  • azacsnap -c test --test hana
  • azacsnap -c test --test storage

Ensuite, pour effectuer manuellement une sauvegarde d’instantané de base de données, exécutez la commande suivante :

azacsnap -c backup --volume data --prefix hana_TEST --retention=1

Configurer la sauvegarde d’instantané automatique

Il est courant sur les systèmes Unix/Linux d'utiliser cron pour automatiser l'exécution des commandes sur un système. La pratique standard pour les outils d’instantané consiste à configurer la crontabde l’utilisateur.

Voici un exemple de crontab pour l'utilisateur azacsnap afin d'automatiser les instantanés.

MAILTO=""
# =============== TEST snapshot schedule ===============
# Data Volume Snapshots - taken every hour.
@hourly (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume data --prefix hana_TEST --retention=9)
# Other Volume Snapshots - taken every 5 minutes, excluding the top of the hour when hana snapshots taken
5,10,15,20,25,30,35,40,45,50,55 * * * * (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume other --prefix logs_TEST --retention=9)
# Other Volume Snapshots - using an alternate config file to snapshot the boot volume daily.
@daily (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume other --prefix DailyBootVol --retention=7 --configfile boot-vol.json)

Explication concernant la crontab ci-dessus.

  • MAILTO="" : en ayant une valeur vide, empêche cron d'essayer automatiquement d'envoyer un e-mail à l'utilisateur Linux local lors de l'exécution de l'entrée de crontab.
  • Les versions raccourcies du minutage des entrées crontab sont explicites :
    • @monthly = Exécution une fois par mois, autrement dit "0 0 1 * *".
    • @weekly = Exécution une fois par semaine, autrement dit "0 0 * * 0".
    • @daily = Exécution une fois par jour, autrement dit "0 0 * * *".
    • @hourly = Exécution une fois par heure, autrement dit "0 * * * *".
  • Les cinq premières colonnes sont utilisées pour désigner les heures, consultez les exemples de colonnes suivants :
    • 0,15,30,45 : toutes les 15 minutes
    • 0-23 : toutes les heures
    • * : tous les jours
    • * : tous les mois
    • * : tous les jours de la semaine
  • La ligne de commande à exécuter est entourée de parenthèses "()"
    • . /home/azacsnap/.profile = extraction du profil de l’utilisateur pour configurer son environnement, y compris $PATH, etc.
    • cd /home/azacsnap/bin = modification du répertoire d’exécution sur l’emplacement "/home/azacsnap/bin" dans lequel se trouvent les fichiers config.
    • azacsnap -c ..... = commande azacsnap complète à exécuter, incluant toutes les options.

Pour plus d’informations sur le programme cron et le format du fichier crontab, consultez cron.

Remarque

Les utilisateurs doivent surveiller les tâches cron pour vérifier que les instantanés sont correctement générés.

Gérer les fichiers journaux AzAcSnap

AzAcSnap écrit la sortie de son opération dans les fichiers journaux pour faciliter le débogage et valider l’opération correcte. Ces fichiers journaux continuent de croître s'ils ne sont pas gérés activement. Heureusement, UNIX systèmes basés sur un outil pour gérer et archiver les fichiers journaux appelés logrotate.

La sortie suivante fournit un exemple de configuration pour logrotate. Cette configuration conserve un maximum de 31 journaux (environ un mois) et lorsque les fichiers journaux sont supérieurs à 10 000, il les fait pivoter en les renommant avec un nombre ajouté au nom de fichier et les compresse.

# azacsnap logrotate configuration file
compress

~/bin/azacsnap*.log {
    rotate 31
    size 10k
}

Après la création du fichier logrotate.conf, la commande logrotate doit être exécutée régulièrement pour archiver les fichiers journaux d'AzAcSnap en conséquence. L'automatisation de la commande logrotate peut être effectuée en utilisant cron. La sortie suivante est une ligne de la crontab de l'utilisateur azacsnap, cet exemple exécute logrotate quotidiennement en utilisant le fichier de configuration ~/logrotate.conf.

@daily /usr/sbin/logrotate -s ~/logrotate.state ~/logrotate.conf >> ~/logrotate.log

Remarque

Dans l’exemple ci-dessus, le fichier logrotate.conf se trouve dans le répertoire d’accueil de l’utilisateur (~).

Après plusieurs jours, les fichiers journaux d'azacsnap devraient ressembler à la liste de répertoires suivante.

ls -ltra ~/bin/logs
-rw-r--r-- 1 azacsnap users 127431 Mar 14 23:56 azacsnap-backup-azacsnap.log.6.gz
-rw-r--r-- 1 azacsnap users 128379 Mar 15 23:56 azacsnap-backup-azacsnap.log.5.gz
-rw-r--r-- 1 azacsnap users 129272 Mar 16 23:56 azacsnap-backup-azacsnap.log.4.gz
-rw-r--r-- 1 azacsnap users 128010 Mar 17 23:56 azacsnap-backup-azacsnap.log.3.gz
-rw-r--r-- 1 azacsnap users 128947 Mar 18 23:56 azacsnap-backup-azacsnap.log.2.gz
-rw-r--r-- 1 azacsnap users 128971 Mar 19 23:56 azacsnap-backup-azacsnap.log.1.gz
-rw-r--r-- 1 azacsnap users 167921 Mar 20 01:21 azacsnap-backup-azacsnap.log

Surveiller les instantanés

Les conditions suivantes doivent être surveillées pour garantir l’intégrité du système :

  1. Espace disque disponible. Les instantanés consomment lentement de l'espace disque en fonction du taux de modification au niveau des blocs, car les blocs de disque plus anciens sont conservés dans l'instantané.
    1. Pour faciliter l’automatisation de la gestion de l’espace disque, utilisez les options --retention et --trim pour nettoyer automatiquement les anciens instantanés et fichiers journaux de base de données.
  2. Réussite de l’exécution des outils d’instantané
    1. Recherchez dans le fichier *.result si la dernière exécution de azacsnap s’est soldée par une réussite ou un échec.
    2. Consultez le résultat de la commande azacsnap dans /var/log/messages.
  3. Cohérence des instantanés en les restaurant régulièrement sur un autre système.

Remarque

Pour lister les détails de l’instantané, exécutez la commande azacsnap -c details.

Supprimer un instantané

Pour supprimer un instantané, utilisez la commande azacsnap -c delete. Il n’est pas possible de supprimer des instantanés au niveau du système d’exploitation. Vous devez utiliser la commande correcte (azacsnap -c delete) pour supprimer les instantanés de stockage.

Important

Faites preuve de vigilance lorsque vous supprimez un instantané, car il est IMPOSSIBLE de récupérer les instantanés supprimés.

Restauration d’un instantané

Un instantané de volume de stockage peut être restauré sur un nouveau volume (-c restore --restore snaptovol). Pour Azure Large Instance, il est possible de restaurer l’instantané d’un volume (-c restore --restore revertvolume).

Remarque

AUCUNE commande de récupération de base de données n’est fournie.

Un instantané peut être recopié dans la zone de données SAP HANA, mais SAP HANA ne doit pas être exécuté lorsqu’une copie est effectuée (cp /hana/data/H80/mnt00001/.snapshot/hana_hourly.2020-06-17T113043.1586971Z/*).

Pour Azure Large Instance, vous pouvez contacter l’équipe des opérations Microsoft en ouvrant une demande de service pour restaurer l’instantané de votre choix à partir des instantanés existants disponibles. Vous pouvez ouvrir une demande de service via le portail Azure.

Si vous décidez d'effectuer le basculement de récupération d'urgence, la commande azacsnap -c restore --restore revertvolume sur le site DR met automatiquement à disposition les instantanés de volume les plus récents (/hana/data et /hana/logbackups) pour permettre une récupération de SAP HANA. Utilisez cette commande avec précaution, car elle interrompt la réplication entre les sites de production et de récupération d’urgence.

Configurer des instantanés pour les volumes de démarrage uniquement

Important

Cette opération s’applique uniquement à Azure Large Instance.

Dans certains cas, les clients disposent déjà d’outils pour protéger SAP HANA et veulent uniquement configurer des instantanés de volume de démarrage. Dans ce cas, seules les étapes suivantes doivent être effectuées.

  1. Effectuez les étapes 1-4 des conditions préalables à l’installation.

  2. Activer la communication avec le stockage.

  3. Téléchargez et exécutez le programme d’installation pour installer les outils d’instantané.

  4. Finalisez l’installation des outils d’instantané.

  5. Obtenez la liste des volumes à ajouter au fichier config azacsnap, dans cet exemple, le nom d'utilisateur de stockage est cl25h50backup et l'adresse IP de stockage est 10.1.1.10

    ssh cl25h50backup@10.1.1.10 "volume show -volume *boot*"
    
    Last login time: 7/20/2021 23:54:03
    Vserver   Volume       Aggregate    State      Type       Size  Available Used%
    --------- ------------ ------------ ---------- ---- ---------- ---------- -----
    ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v51_vol aggr_n01_ssd online RW 150GB 57.24GB  61%
    ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v52_vol aggr_n01_ssd online RW 150GB 81.06GB  45%
    ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v53_vol aggr_n01_ssd online RW 150GB 79.56GB  46%
    3 entries were displayed.
    

    Remarque

    Dans cet exemple, cet hôte fait partie d’un système de scale-out à 3 nœuds et les 3 volumes de démarrage peuvent être vus à partir de cet hôte. Cela signifie que les 3 volumes de démarrage peuvent être des captures instantanées de cet hôte et que les 3 doivent être ajoutés au fichier de configuration à l’étape suivante.

  6. Créez un nouveau fichier de configuration comme suit. Les détails du volume de démarrage doivent se trouver dans la strophe OtherVolume :

    azacsnap -c configure --configuration new --configfile BootVolume.json
    
    Building new config file
    Add comment to config file (blank entry to exit adding comments): Boot only config file.
    Add comment to config file (blank entry to exit adding comments):
    Add database to config? (y/n) [n]: y
    HANA SID (for example, H80): X
    HANA Instance Number (for example, 00): X
    HANA HDB User Store Key (for example, `hdbuserstore List`): X
    HANA Server's Address (hostname or IP address): X
    Add ANF Storage to database section? (y/n) [n]:
    Add HLI Storage to database section? (y/n) [n]: y
    Add DATA Volume to HLI Storage section of Database section? (y/n) [n]:
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y
    Storage User Name (for example, clbackup25): cl25h50backup
    Storage IP Address (for example, 192.168.1.30): 10.1.1.10
    Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v51_vol
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y
    Storage User Name (for example, clbackup25): cl25h50backup
    Storage IP Address (for example, 192.168.1.30): 10.1.1.10
    Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v52_vol
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y
    Storage User Name (for example, clbackup25): cl25h50backup
    Storage IP Address (for example, 192.168.1.30): 10.1.1.10
    Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v53_vol
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]:
    Add HLI Storage to database section? (y/n) [n]:
    Add database to config? (y/n) [n]:
    
    Editing configuration complete, writing output to 'BootVolume.json'.
    
  7. Vérifiez le fichier de configuration. Reportez-vous à l’exemple suivant :

    Utilisez la commande cat pour afficher le contenu du fichier de configuration :

    cat BootVolume.json
    
    {
      "version": "5.0",
      "logPath": "./logs",
      "securityPath": "./security",
      "comments": [
        "Boot only config file."
      ],
      "database": [
        {
          "hana": {
            "serverAddress": "X",
            "sid": "X",
            "instanceNumber": "X",
            "hdbUserStoreName": "X",
            "savePointAbortWaitSeconds": 600,
            "hliStorage": [
              {
                "dataVolume": [],
                "otherVolume": [
                  {
                    "backupName": "cl25h50backup",
                    "ipAddress": "10.1.1.10",
                    "volume": "t250_sles_boot_sollabams07v51_vol"
                  },
                  {
                    "backupName": "cl25h50backup",
                    "ipAddress": "10.1.1.10",
                    "volume": "t250_sles_boot_sollabams07v52_vol"
                  },
                  {
                    "backupName": "cl25h50backup",
                    "ipAddress": "10.1.1.10",
                    "volume": "t250_sles_boot_sollabams07v53_vol"
                  }
                ]
              }
            ],
            "anfStorage": []
          }
        }
      ]
    }
    
  8. Testez la sauvegarde du volume de démarrage.

    azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.json
    
  9. Vérifiez qu’elle est répertoriée. Notez l’ajout de l’option --snapshotfilter afin de limiter la liste des instantanés renvoyés.

    azacsnap -c details --snapshotfilter TestBootVolume --configfile BootVolume.json
    

    Sortie de la commande :

    List snapshot details called with snapshotFilter 'TestBootVolume'
    #, Volume, Snapshot, Create Time, HANA Backup ID, Snapshot Size
    #1, t250_sles_boot_sollabams07v51_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB
    , t250_sles_boot_sollabams07v51_vol, , , Size used by Snapshots, 1.31GB
    #1, t250_sles_boot_sollabams07v52_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB
    , t250_sles_boot_sollabams07v52_vol, , , Size used by Snapshots, 1.31GB
    #1, t250_sles_boot_sollabams07v53_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB
    , t250_sles_boot_sollabams07v53_vol, , , Size used by Snapshots, 1.31GB
    
  10. Facultatif Configurez la sauvegarde automatique des instantanés avec crontab, ou un planificateur approprié pouvant exécuter les commandes de sauvegarde azacsnap.

Remarque

La configuration de la communication avec SAP HANA n’est pas nécessaire.

Restaurer un instantané de démarrage

Important

Cette opération concerne uniquement Azure Large Instance. Le serveur sera restauré au moment où l’instantané a été effectué.

Un instantané de démarrage peut être récupéré comme suit :

  1. Le client doit arrêter le serveur.
  2. Une fois le serveur arrêté, le client doit ouvrir une demande de service contenant l’ID de machine et l’instantané de l’ordinateur à restaurer.

    Les clients peuvent ouvrir une demande de service via le portail Azure.

  3. Microsoft restaure le numéro d'unité logique du système d'exploitation à l'aide de l'ID de machine et de l'instantané spécifiés, puis démarre le serveur.
  4. Le client doit ensuite confirmer que le serveur est démarré et sain.

Aucune autre étape à effectuer après la restauration.

Informations clés concernant les instantanés

Attributs clés des instantanés de volume de stockage :

  • Emplacement des instantanés : les instantanés se trouvent dans un répertoire virtuel (.snapshot) au sein du volume. Consultez les exemples suivants pour Azure Large Instance :

    • Base de données : /hana/data/<SID>/mnt00001/.snapshot
    • Partagé : /hana/shared/<SID>/.snapshot
    • Journaux : /hana/logbackups/<SID>/.snapshot
    • Démarrage : les instantanés de démarrage pour HLI ne sont pas visibles au niveau du système d’exploitation, mais ils peuvent être répertoriés à l’aide de azacsnap -c details.

    Remarque

    .snapshot est un dossier virtuel masqué en lecture seule qui fournit un accès en lecture seule aux instantanés.

  • Nombre maximal d'instantanés : le matériel peut prendre en charge jusqu'à 250 instantanés par volume. La commande d'instantané conserve un nombre maximal d'instantanés pour le préfixe en fonction du jeu de rétention sur la ligne de commande. Plus d'instantanés, au-delà du numéro de rétention avec le même préfixe, sont supprimés.

  • Nom de l'instantané : le nom de l'instantané comprend l'étiquette du préfixe fournie par le client.

  • Taille de l'instantané : dépend de la taille/des modifications au niveau de la base de données.

  • Emplacement des fichiers journaux : la sortie des fichiers journaux générés par les commandes est effectuée dans les dossiers définis dans le fichier de configuration JSON, qui est par défaut un sous-dossier sous lequel la commande est exécutée (par exemple, ./logs).

Étapes suivantes