Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat tips die nuttig kunnen zijn wanneer u AzAcSnap gebruikt.
Algemene overschrijvingsinstellingen om het gedrag van azacsnap te bepalen
AzAcSnap 8 heeft een nieuw algemeen instellingenbestand (.azacsnaprc) geïntroduceerd dat zich in dezelfde (huidige werkmap) moet bevinden als azacsnap wordt uitgevoerd. De bestandsnaam is .azacsnaprc en door het teken punt '.' te gebruiken als het begin van de bestandsnaam, wordt deze verborgen in standaardlijstvermeldingen. Met het bestand kunnen algemene instellingen worden ingesteld die het gedrag bepalen van AzAcSnap. De indeling is één vermelding per regel met een ondersteunde aanpassingsvariabele en een nieuwe overschrijvingswaarde.
Instellingen, die kunnen worden beheerd door het algemene onderdrukkingsinstellingenbestand toe te voegen/te bewerken of door ze in te stellen als omgevingsvariabelen zijn:
AZURE_ENVIRONMENT (van AzAcSnap 11b) om de connectiviteit met het juiste beheereindpunt aan te passen. De waarden kunnen een van de volgende zijn: AzurePublicCloud, AzureGovernment, AzureChina, AzureGermany. De standaardwaarde is 'AzurePublicCloud'. Als u bijvoorbeeld AzAcSnap wilt configureren om ervoor te zorgen dat alle beheeraanroepen naar het Azure Management Endpoint for US Government Cloud gaan, voegt u het volgende toe aan het
.azacsnaprcbestand:AZURE_ENVIRONMENT=AzureGovernment
Opmerking
Dit
AZURE_ENVIRONMENTgeldt alleen voor AzAcSnap 11b (of hoger).AZURE_MANAGEMENT_ENDPOINT (alleen voor AzAcSnap 9a, 10, 10a) om de locatie van het Azure Management-eindpunt aan te passen waarnaar AzAcSnap Azure REST API-aanroepen maakt, is geïntroduceerd in AzAcSnap 9a. Waarden moeten URL-paden zijn en de standaardwaarde = 'https://management.azure.com'. Als u bijvoorbeeld AzAcSnap wilt configureren om ervoor te zorgen dat alle beheeraanroepen naar het Azure Management Endpoint for US Government Cloud (ref: Azure Government Guidance for developers) gaan, voegt u het volgende toe aan het
.azacsnaprcbestand:AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net
Opmerking
AZURE_MANAGEMENT_ENDPOINTgeldt alleen voor AzAcSnap 9a, 10, 10a. Stel dit niet in voor AzAcSnap 11 of later.EXTERNAL_CMD_TIMEOUT_SECS past de time-out voor externe shell-opdrachten aan. Waarden moeten gehele getallen zijn en de standaardwaarde = 300. Als u bijvoorbeeld de time-out voor de externe opdracht wilt instellen op 10 minuten (600 seconden) voegt u het volgende toe aan het
.azacsnaprcbestand:EXTERNAL_CMD_TIMEOUT_SECS=600
Opmerking
Vanaf AzAcSnap 11 geldt dit
EXTERNAL_CMD_TIMEOUT_SECSalleen voor Db2-databaseopdrachten.MAINLOG_LOCATION waarmee de locatie van het uitvoerbestand 'main-log' wordt aangepast, dat wordt aangeroepen
azacsnap.logen geïntroduceerd in AzAcSnap 8. Waarden moeten absolute paden zijn en de standaardwaarde = '.' (dit is de huidige werkmap). Als u er bijvoorbeeld voor wilt zorgen dat het uitvoerbestand 'main-log' naar het/home/azacsnap/bin/logsbestand gaat, voegt u het volgende toe aan het.azacsnaprcbestand:MAINLOG_LOCATION=/home/azacsnap/bin/logs
Opmerking
Vanaf AzAcSnap 9a kunnen al deze waarden ook worden ingesteld als opdrachtregelomgevingsvariabelen, of in plaats van .azacsnaprc het bestand. In Linux AZURE_MANAGEMENT_ENDPOINT kunt u bijvoorbeeld instellen met export AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net voordat u AzAcSnap uitvoert.
Parseren van hoofdlogboeken
AzAcSnap 8 heeft een nieuw 'main-log' geïntroduceerd om eenvoudigere uitvoeringen van AzAcSnap te parseren. De inspiratie voor dit bestand is de SAP HANA-back-upcatalogus, die laat zien wanneer AzAcSnap is gestart, hoe lang het duurde en wat de naam van de momentopname is. Met AzAcSnap wordt dit idee verder gebruikt om informatie op te nemen voor elk van de AzAcSnap-opdrachten, met name de -c opties, en het bestand heeft de volgende headers:
DATE_TIME,OPERATION_NAME,STATUS,SID,DATABASE_TYPE,DURATION,SNAPSHOT_NAME,AZACSNAP_VERSION,AZACSNAP_CONFIG_FILE,VOLUME
Wanneer AzAcSnap wordt uitgevoerd, wordt de juiste informatie toegevoegd aan het logboek, afhankelijk van de -c gebruikte opdracht, zijn voorbeelden van uitvoer als volgt:
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;
Deze indeling maakt het bestand parserend met de Linux-opdrachten watch, grep, headen tailcolumn om continue updates van AzAcSnap-back-ups te krijgen. Een voorbeeld van een combinatie van deze opdrachten in één shellscript voor het bewaken van AzAcSnap is als volgt:
#!/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
Hiermee wordt de volgende uitvoer elke twee seconden vernieuwd.
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
Inzicht in het naamachtervoegsel van de momentopname
De naam van de AzAcSnap-momentopname heeft een achtervoegsel dat specifiek is gegenereerd om naamconflicten te voorkomen en unieke momentopnamenamen te garanderen. Het achtervoegsel is gebaseerd op de tijd dat AzAcSnap wordt uitgevoerd om de momentopname te maken naar de dichtstbijzijnde tienduizendste van een seconde, die wordt geconverteerd naar een hexadecimaal om de lengte van de naam van de momentopname te minimaliseren. Het volgende voorbeeldshellscript kan worden gebruikt om het hexadecimale achtervoegsel te converteren naar het moment waarop de naam van de momentopname is gegenereerd.
#!/bin/sh
# hex-to-datetime.sh
# Prompt for hex number if not provided
if [ -z "$1" ]; then
echo "Type a hex number:"
read hex_num
else
hex_num="$1"
fi
# Convert hex to decimal
dec_num=$(echo "ibase=16; $hex_num" | bc)
printf "The decimal value of %s = %d\n" "$hex_num" "$dec_num"
# Determine how many digits to shift (if needed)
len_decnum=$(echo "$dec_num" | wc -c)
len_decnum=$((len_decnum - 1)) # Remove newline
# If the decimal number is longer than 10 digits, scale it down
if [ "$len_decnum" -gt 10 ]; then
num_of_zeros=$((len_decnum - 10))
divide_by="1$(printf "%0${num_of_zeros}d" 0)"
echo "Divide $dec_num / $divide_by"
dec_num_seconds=$(echo "$dec_num / $divide_by" | bc)
else
dec_num_seconds="$dec_num"
fi
# Convert to human-readable date
date --date="@$dec_num_seconds"
Het kan worden uitgevoerd om het achtervoegsel in het volgende voorbeeld te converteren.
$ hex-to-datetime.sh FFF1C5E5CE8
The decimal value of FFF1C5E5CE8 = 17588367023336
Divide 17588367023336 / 10000
Thu Sep 25 21:45:02 UTC 2025
Machtigingen voor service-principals beperken
Het kan nodig zijn om het bereik van de AzAcSnap-service-principal te beperken. Raadpleeg de documentatie voor op rollen gebaseerd toegangsbeheer van Azure voor meer informatie over gedetailleerd toegangsbeheer van Azure-resources.
Het volgende Azure CLI-voorbeeld bevat een roldefinitie met de minimaal vereiste acties die nodig zijn om AzAcSnap te laten functioneren.
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>"] \
}'
Voor een succesvolle werking van herstelopties moet de AzAcSnap-service-principal ook volumes kunnen maken. In dit geval moet voor de roldefinitie een extra component 'Acties' worden toegevoegd. Daarom moet de volledige service-principal eruitzien als in het volgende voorbeeld.
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>"] \
}'
Handmatig momentopnamen maken
Voordat u back-upopdrachten uitvoert (azacsnap -c backup), controleert u de configuratie door de testopdrachten uit te voeren en te controleren of ze zijn uitgevoerd. De correcte uitvoering van deze tests azacsnap kan communiceren met de geïnstalleerde SAP HANA-database en het onderliggende opslagsysteem van het SAP HANA op Azure Large Instance of Azure NetApp Files-systeem .
azacsnap -c test --test hanaazacsnap -c test --test storage
Voer vervolgens de volgende opdracht uit om een handmatige back-up van een databasemomentopname te maken:
azacsnap -c backup --volume data --prefix hana_TEST --retention=1
Automatische back-up van momentopnamen instellen
Het is gebruikelijk om unix-/Linux-systemen te gebruiken cron om het uitvoeren van opdrachten op een systeem te automatiseren. De standaardpraktijk voor de hulpprogramma's voor momentopnamen is het instellen van crontabde gebruiker.
Hier volgt een voorbeeld van een crontab voor de gebruiker azacsnap om momentopnamen te automatiseren.
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)
Uitleg van de crontab-uitvoer van het voorbeeld.
-
MAILTO="": door een lege waarde voor MAILTO cron te hebben, probeert de lokale Linux-gebruiker geen e-mail te sturen bij het uitvoeren van de crontab-vermelding. - Verkorte versies van timing voor crontab-vermeldingen zijn duidelijk:
-
@monthly= Eenmaal per maand uitvoeren, dat wil gezegd: "0 0 1 * *". -
@weekly= Eenmaal per week uitvoeren, dat wil gezegd: "0 0 * * 0". -
@daily= Eenmaal per dag uitvoeren, dat wil gezegd: "0 0 * * *". -
@hourly= Eenmaal per uur uitvoeren, dat wil gezegd: "0 * * * *".
-
- De eerste vijf kolommen worden gebruikt om tijden aan te wijzen. Raadpleeg de volgende kolomvoorbeelden:
-
0,15,30,45: om de 15 minuten -
0-23: Elk uur -
*:Elke dag -
*: Elke maand -
*: Elke dag van de week
-
- Opdrachtregel die moet worden uitgevoerd tussen vierkante haken ()'
-
. /home/azacsnap/.profile= haal het .profiel van de gebruiker op om hun omgeving in te stellen, inclusief $PATH, enzovoort. -
cd /home/azacsnap/bin= de uitvoeringsmap wijzigen in de locatie '/home/azacsnap/bin' waar configuratiebestanden zich bevinden. -
azacsnap -c .....= de volledige azacsnap-opdracht die moet worden uitgevoerd, inclusief alle opties.
-
Zie cron voor meer informatie over cron en de indeling van het crontab-bestand.
Opmerking
Gebruikers zijn verantwoordelijk voor het controleren van de cron-taken om ervoor te zorgen dat momentopnamen worden gegenereerd.
AzAcSnap-logboekbestanden beheren
AzAcSnap schrijft uitvoer van de bewerking naar logboekbestanden om te helpen bij foutopsporing en om de juiste bewerking te valideren. Deze logboekbestanden blijven groeien, tenzij ze actief worden beheerd. Gelukkig hebben UNIX-systemen een hulpprogramma voor het beheren en archiveren van logboekbestanden met de naam logrotate.
De volgende uitvoer bevat een voorbeeldconfiguratie voor logrotate. Deze configuratie bewaart maximaal 31 logboeken, ongeveer één maand. Wanneer de logboekbestanden groter zijn dan 10.000, worden ze gedraaid door de naam te wijzigen met een getal dat aan de bestandsnaam is toegevoegd en gecomprimeerd.
# azacsnap logrotate configuration file
compress
~/bin/azacsnap*.log {
rotate 31
size 10k
}
Nadat het logrotate.conf bestand is gemaakt, moet de logrotate opdracht regelmatig worden uitgevoerd om AzAcSnap-logboekbestanden dienovereenkomstig te archiveren. Het automatiseren van de logrotate opdracht kan worden uitgevoerd met cron. De volgende uitvoer is één regel van de crontab van de azacsnap-gebruiker. In dit voorbeeld wordt logrotate dagelijks uitgevoerd met behulp van het configuratiebestand ~/logrotate.conf.
@daily /usr/sbin/logrotate -s ~/logrotate.state ~/logrotate.conf >> ~/logrotate.log
Opmerking
In het bovenstaande voorbeeld bevindt het bestand logrotate.conf zich in de basismap van de gebruiker (~).
Na enkele dagen moeten de azacsnap-logboekbestanden er ongeveer uitzien als in de volgende lijst.
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
De momentopnamen bewaken
De volgende voorwaarden moeten worden gecontroleerd om een gezond systeem te garanderen:
- Beschikbare schijfruimte. Momentopnamen verbruiken langzaam schijfruimte op basis van de wijzigingssnelheid op blokniveau, omdat oudere schijfblokken behouden blijven in de momentopname.
- Gebruik de
--retentionen--trimopties om de oude momentopnamen en databaselogboekbestanden automatisch op te schonen om het beheer van schijfruimte te automatiseren.
- Gebruik de
- Geslaagde uitvoering van de hulpprogramma's voor momentopnamen
- Controleer het
*.resultbestand op het slagen of mislukken van de meest recente uitvoering vanazacsnap. - Controleer op
/var/log/messagesuitvoer van deazacsnapopdracht.
- Controleer het
- Consistentie van de momentopnamen door ze periodiek te herstellen naar een ander systeem.
Opmerking
Als u de details van de momentopname wilt weergeven, voert u de opdracht azacsnap -c detailsuit.
Een momentopname verwijderen
Als u een momentopname wilt verwijderen, gebruikt u de opdracht azacsnap -c delete. Het is niet mogelijk om momentopnamen van het besturingssysteemniveau te verwijderen. U moet de juiste opdracht (azacsnap -c delete) gebruiken om de momentopnamen van de opslag te verwijderen.
Belangrijk
Wees voorzichtig wanneer u een momentopname verwijdert. Zodra het is verwijderd, is het ONMOGELIJK om de verwijderde momentopnamen te herstellen.
Een momentopname herstellen
Een momentopname van een opslagvolume kan worden hersteld naar een nieuw volume (-c restore --restore snaptovol). Voor Azure Large Instance kan het volume worden teruggezet naar een momentopname (-c restore --restore revertvolume).
Opmerking
Er is geen opdracht voor databaseherstel beschikbaar.
Een momentopname kan worden gekopieerd naar het SAP HANA-gegevensgebied, maar SAP HANA mag niet worden uitgevoerd wanneer er een kopie wordt gemaakt (cp /hana/data/H80/mnt00001/.snapshot/hana_hourly.2020-06-17T113043.1586971Z/*).
Voor Azure Large Instance kunt u contact opnemen met het Microsoft Operations-team door een serviceaanvraag te openen om een gewenste momentopname te herstellen van de bestaande beschikbare momentopnamen. U kunt een serviceaanvraag openen via Azure Portal.
Als u besluit om de failover voor herstel na noodgevallen uit te voeren, maakt de azacsnap -c restore --restore revertvolume opdracht op de DR-site (Disaster Recovery) automatisch de meest recente (/hana/data en /hana/logbackups) volumemomentopnamen beschikbaar om een SAP HANA-herstel mogelijk te maken. Gebruik deze opdracht met voorzichtigheid wanneer de replicatie tussen productie- en herstel na noodgevallen wordt verbroken.
Alleen momentopnamen instellen voor opstartvolumes
Belangrijk
Deze bewerking is alleen van toepassing op Azure Large Instance.
In sommige gevallen hebben klanten al hulpprogramma's voor het beveiligen van SAP HANA en willen ze alleen momentopnamen van het opstartvolume configureren. In dit geval moeten alleen de volgende stappen worden voltooid.
Voer stap 1 tot en met 4 van de vereisten voor de installatie uit.
Communicatie met opslag inschakelen.
Download en voer het installatieprogramma uit om de hulpprogramma's voor momentopnamen te installeren.
Voltooi de installatie van hulpprogramma's voor momentopnamen.
Haal de lijst met volumes op die moeten worden toegevoegd aan het azacsnap-configuratiebestand, in dit voorbeeld is de gebruikersnaam van de opslag
cl25h50backupen het IP-adres van de opslag is10.1.1.10ssh 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.Opmerking
In dit voorbeeld maakt deze host deel uit van een drie knooppunt Scale-Out systeem en kunnen alle drie opstartvolumes van deze host worden weergegeven. Deze installatie betekent dat alle drie de opstartvolumes een momentopname van deze host kunnen zijn en dat alle drie de drie in de volgende stap aan het configuratiebestand moeten worden toegevoegd.
Maak als volgt een nieuw configuratiebestand. De details van het opstartvolume moeten zich in de OtherVolume stanza bevinden:
azacsnap -c configure --configuration new --configfile BootVolume.jsonBuilding 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'.Controleer het configuratiebestand. Raadpleeg het volgende voorbeeld:
Gebruik
catde opdracht om de inhoud van het configuratiebestand weer te geven: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": [] } } ] }Een back-up van het opstartvolume testen
azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.jsonControleer of de momentopname is gemaakt door de momentopnamen te vermelden met behulp van de
-c detailsoptie. Let op de toevoeging van de--snapshotfilteroptie om de geretourneerde lijst met momentopnamen te beperken.azacsnap -c details --snapshotfilter TestBootVolume --configfile BootVolume.jsonOpdrachtuitvoer:
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.31GBFacultatief Stel automatische back-up van momentopnamen in met
crontabof een geschikte scheduler die deazacsnapback-upopdrachten kan uitvoeren.
Opmerking
Het instellen van communicatie met SAP HANA is niet vereist.
Een momentopname van opstarten herstellen
Belangrijk
Deze bewerking is alleen voor Azure Large Instance. De server wordt hersteld naar het punt waarop de momentopname is gemaakt.
Een momentopname van opstarten kan als volgt worden hersteld:
- De klant moet de server afsluiten.
- Nadat de server is afgesloten, moet de klant een serviceaanvraag openen die de machine-id en momentopname bevat die moet worden hersteld.
Klanten kunnen een serviceaanvraag openen via Azure Portal.
- Microsoft herstelt de LUN van het besturingssysteem met behulp van de opgegeven machine-id en momentopname en start vervolgens de server op.
- De klant moet vervolgens bevestigen dat Server is opgestart en in orde is.
Er moeten geen andere stappen worden uitgevoerd na het herstellen.
Belangrijke feiten die u moet weten over momentopnamen
Belangrijke kenmerken van momentopnamen van opslagvolumes:
Locatie van momentopnamen: Momentopnamen zijn te vinden in een virtuele map (
.snapshot) binnen het volume. Zie de volgende voorbeelden voor Azure Large Instance (ALI):- Databank:
/hana/data/<SID>/mnt00001/.snapshot - Gedeeld:
/hana/shared/<SID>/.snapshot - Logs:
/hana/logbackups/<SID>/.snapshot - Opstarten: opstartmomentopnamen voor ALI zijn niet zichtbaar vanaf besturingssysteemniveau, maar kunnen worden vermeld met behulp van
azacsnap -c details.
Opmerking
.snapshotis een alleen-lezen verborgen virtuele map die alleen-lezentoegang biedt tot de momentopnamen.- Databank:
Maximale momentopname: De hardware kan maximaal 250 momentopnamen per volume ondersteunen. Met de opdracht momentopname wordt een maximum aantal momentopnamen voor het voorvoegsel bewaard op basis van de retentieset op de opdrachtregel. Alle momentopnamen, naast het retentienummer met hetzelfde voorvoegsel, worden verwijderd.
Naam van momentopname: De naam van de momentopname bevat het voorvoegsellabel dat door de klant wordt geleverd.
Grootte van de momentopname: Is afhankelijk van de grootte/wijzigingen op databaseniveau.
Locatie van logboekbestand: Logboekbestanden die door de opdrachten worden gegenereerd, worden uitgevoerd in mappen zoals gedefinieerd in het JSON-configuratiebestand. Dit is standaard een submap waaronder de opdracht wordt uitgevoerd (bijvoorbeeld
./logs).