Dicas e truques para usar a ferramenta Instantâneo Consistente de Aplicativo do Azure
Este artigo fornece dicas e truques que podem ser úteis quando você usa o AzAcSnap.
Configurações de substituição global para controlar o comportamento do azacsnap
AzAcSnap 8 introduziu um novo arquivo de configurações globais (.azacsnaprc
) que deve estar localizado no mesmo diretório (trabalho atual) em que o azacsnap é executado. O nome do arquivo é .azacsnaprc
e usando o caractere ponto '.' como o início do nome do arquivo torna-o oculto para listagens de diretório padrão. O arquivo permite que as configurações globais que controlam o comportamento do AzAcSnap sejam definidas. O formato é uma entrada por linha com uma variável de personalização suportada e um novo valor de substituição.
As configurações, que podem ser controladas adicionando/editando o arquivo de configurações de substituição global ou definindo-as como variáveis de ambiente são:
- MAINLOG_LOCATION que personaliza a localização do arquivo de saída "main-log", que é chamado
azacsnap.log
e foi introduzido no AzAcSnap 8. Os valores devem ser caminhos absolutos e o valor padrão = '.' (que é o diretório de trabalho atual). Por exemplo, para garantir que o arquivo de saída "main-log" vá para o/home/azacsnap/bin/logs
adicione o seguinte ao.azacsnaprc
arquivo:MAINLOG_LOCATION=/home/azacsnap/bin/logs
- AZURE_MANAGEMENT_ENDPOINT personalizar o local do Ponto de Extremidade de Gerenciamento do Azure para o qual o AzAcSnap fará chamadas de API REST do Azure foi introduzido no AzAcSnap 9a. Os valores devem ser caminhos de URL e o valor padrão = 'https://management.azure.com'. Por exemplo, para configurar o AzAcSnap para garantir que todas as chamadas de gerenciamento vão para o Ponto de Extremidade de Gerenciamento do Azure para US Govt Cloud (ref: Orientação do Governo do Azure para desenvolvedores), adicione o seguinte ao
.azacsnaprc
arquivo:AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net
Nota
A partir do AzAcSnap 9a, todos esses valores podem ser definidos como variáveis de ambiente de linha de comando também, ou em vez de, o .azacsnaprc
arquivo. Por exemplo, no Linux o AZURE_MANAGEMENT_ENDPOINT
pode ser definido com export AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net
antes de executar AzAcSnap.
Análise de main-log
AzAcSnap 8 introduziu um novo "main-log" para fornecer uma análise mais simples de execuções do AzAcSnap. A inspiração para esse arquivo é o catálogo de backup do SAP HANA, que mostra quando o AzAcSnap foi iniciado, quanto tempo levou e qual é o nome do snapshot. Com o AzAcSnap, essa ideia foi levada mais longe para incluir informações para cada um dos comandos do AzAcSnap, especificamente as -c
opções, e o arquivo tem os seguintes cabeçalhos:
DATE_TIME,OPERATION_NAME,STATUS,SID,DATABASE_TYPE,DURATION,SNAPSHOT_NAME,AZACSNAP_VERSION,AZACSNAP_CONFIG_FILE,VOLUME
Quando AzAcSnap é executado, ele acrescenta ao log as informações apropriadas, dependendo do -c
comando usado, exemplos de saída são os seguintes:
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;
Esse formato torna o arquivo analisável com os comandos watch
do Linux , grep
, head
, tail
, e column
para obter atualizações contínuas dos backups do AzAcSnap. Um exemplo de combinação desses comandos em um único shell script para monitorar o AzAcSnap é o seguinte:
#!/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
Produz a seguinte saída atualizada a cada dois segundos.
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
Limitar permissões da entidade de serviço
Pode ser necessário limitar o escopo da entidade de serviço AzAcSnap. Consulte a documentação do RBAC do Azure para obter mais detalhes sobre o gerenciamento de acesso refinado dos recursos do Azure.
A seguir está um exemplo de definição de função com as ações mínimas necessárias para que o AzAcSnap funcione.
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>"] \
}'
Para que as opções de restauração funcionem com êxito, a entidade de serviço AzAcSnap também precisa ser capaz de criar volumes. Nesse caso, a definição de função precisa de uma cláusula "Actions" extra adicionada, portanto, a entidade de serviço completa deve se parecer com o exemplo a seguir.
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>"] \
}'
Tire instantâneos manualmente
Antes de executar qualquer comando de backup (azacsnap -c backup
), verifique a configuração executando os comandos de teste e verifique se eles são executados com êxito. A execução correta desses testes comprovados azacsnap
pode se comunicar com o banco de dados SAP HANA instalado e o sistema de armazenamento subjacente do SAP HANA no Azure Large Instance ou no sistema Azure NetApp Files.
azacsnap -c test --test hana
azacsnap -c test --test storage
Em seguida, para fazer um backup manual de instantâneo do banco de dados, execute o seguinte comando:
azacsnap -c backup --volume data --prefix hana_TEST --retention=1
Configurar backup automático de snapshot
É prática comum em sistemas Unix/Linux usar cron
para automatizar a execução de comandos em um sistema. A prática padrão para as ferramentas de snapshot é configurar o crontab
.
Segue-se um exemplo de um crontab
para o utilizador azacsnap
automatizar instantâneos.
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)
Explicação do crontab acima.
MAILTO=""
: por ter um valor vazio, isso impede que o cron tente automaticamente enviar um e-mail para o usuário Linux local ao executar a entrada crontab.- As versões abreviadas de tempo para entradas crontab são autoexplicativas:
@monthly
= Executar uma vez por mês, ou seja, "0 0 1 * *".@weekly
= Executar uma vez por semana, ou seja, "0 0 * * 0".@daily
= Executar uma vez por dia, ou seja, "0 0 * * *".@hourly
= Executar uma vez por hora, ou seja, "0 * * * *".
- As cinco primeiras colunas são usadas para designar tempos, consulte os seguintes exemplos de coluna:
0,15,30,45
: A cada 15 minutos0-23
: A cada hora*
:Todos os dias*
: Todos os meses*
: Todos os dias da semana
- Linha de comando a ser executada entre colchetes "()"
. /home/azacsnap/.profile
= puxe o .profile do usuário para configurar seu ambiente, incluindo $PATH, etc.cd /home/azacsnap/bin
= altere o diretório de execução para o local "/home/azacsnap/bin" onde estão os arquivos de configuração.azacsnap -c .....
= o comando azacsnap completo a ser executado, incluindo todas as opções.
Para obter mais informações sobre cron e o formato do arquivo crontab, consulte cron.
Nota
Os usuários são responsáveis por monitorar os trabalhos cron para garantir que os snapshots estejam sendo gerados com sucesso.
Gerenciar arquivos de log do AzAcSnap
AzAcSnap grava a saída de sua operação em arquivos de log para ajudar com a depuração e validar a operação correta. Esses arquivos de log continuam a crescer, a menos que sejam gerenciados ativamente. Felizmente, os sistemas baseados em UNIX têm uma ferramenta para gerenciar e arquivar arquivos de log chamada logrotate.
A saída a seguir fornece um exemplo de configuração para logrotate. Essa configuração mantém um máximo de 31 logs (aproximadamente um mês) e, quando os arquivos de log são maiores que 10k, ele os gira renomeando com um número adicionado ao nome do arquivo e os compacta.
# azacsnap logrotate configuration file
compress
~/bin/azacsnap*.log {
rotate 31
size 10k
}
Depois que o logrotate.conf
arquivo tiver sido criado, o logrotate
comando deve ser executado regularmente para arquivar os arquivos de log do AzAcSnap de acordo. A automatização do logrotate
comando pode ser feita usando cron. A saída a seguir é uma linha do crontab do usuário azacsnap, este exemplo executa logrotate diariamente usando o arquivo ~/logrotate.conf
de configuração .
@daily /usr/sbin/logrotate -s ~/logrotate.state ~/logrotate.conf >> ~/logrotate.log
Nota
No exemplo acima, o arquivo logrotate.conf está no diretório home (~) do usuário.
Após vários dias, os arquivos de log azacsnap devem ser semelhantes à seguinte listagem de diretórios.
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
Monitore os instantâneos
As seguintes condições devem ser monitorizadas para garantir um sistema saudável:
- Espaço disponível em disco. Os snapshots consomem lentamente espaço em disco com base na taxa de alteração no nível do bloco, pois a manutenção de blocos de disco mais antigos é retida no snapshot.
- Para ajudar a automatizar o gerenciamento de espaço em disco, use as
--retention
opções e--trim
para limpar automaticamente os instantâneos antigos e os arquivos de log do banco de dados.
- Para ajudar a automatizar o gerenciamento de espaço em disco, use as
- Execução bem-sucedida das ferramentas de snapshot
- Verifique o
*.result
arquivo para o sucesso ou falha da última execução doazacsnap
. - Verifique
/var/log/messages
a saída doazacsnap
comando.
- Verifique o
- Consistência dos snapshots restaurando-os para outro sistema periodicamente.
Nota
Para listar detalhes do instantâneo, execute o comando azacsnap -c details
.
Excluir um instantâneo
Para excluir um instantâneo, use o comando azacsnap -c delete
. Não é possível excluir instantâneos do nível do sistema operacional. Você deve usar o comando correto (azacsnap -c delete
) para excluir os instantâneos de armazenamento.
Importante
Esteja atento ao excluir um instantâneo. Uma vez excluído, é IMPOSSÍVEL recuperar os instantâneos excluídos.
Restaurar um instantâneo
Um instantâneo de volume de armazenamento pode ser restaurado para um novo volume (-c restore --restore snaptovol
). Para a Instância Grande do Azure, o volume pode ser revertido para um instantâneo (-c restore --restore revertvolume
).
Nota
Não há nenhum comando de recuperação de banco de dados fornecido.
Um snapshot pode ser copiado de volta para a área de dados do SAP HANA, mas o SAP HANA não deve estar em execução quando uma cópia é feita (cp /hana/data/H80/mnt00001/.snapshot/hana_hourly.2020-06-17T113043.1586971Z/*
).
Para a Instância Grande do Azure, você pode entrar em contato com a equipe de operações da Microsoft abrindo uma solicitação de serviço para restaurar um instantâneo desejado a partir dos instantâneos disponíveis existentes. Você pode abrir uma solicitação de serviço por meio do portal do Azure.
Se você decidir executar o failover de recuperação de desastres, o azacsnap -c restore --restore revertvolume
comando no site de DR disponibilizará automaticamente os snapshots de volume ( e /hana/logbackups
) mais recentes/hana/data
para permitir uma recuperação do SAP HANA. Use este comando com cuidado, pois ele interrompe a replicação entre os locais de produção e de DR.
Configurar instantâneos apenas para volumes de 'inicialização'
Importante
Esta operação aplica-se apenas à Instância Grande do Azure.
Em alguns casos, os clientes já têm ferramentas para proteger o SAP HANA e só querem configurar snapshots de volume de 'inicialização'. Nesse caso, apenas as etapas a seguir precisam ser concluídas.
Conclua as etapas 1 a 4 dos pré-requisitos para a instalação.
Habilite a comunicação com o armazenamento.
Baixe e execute o instalador para instalar as ferramentas de snapshot.
Configuração completa de ferramentas de snapshot.
Obtenha a lista de volumes a serem adicionados ao arquivo de configuração azacsnap, neste exemplo, o Nome de Usuário de Armazenamento é
cl25h50backup
e o Endereço IP de Armazenamento é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.
Nota
Neste exemplo, esse host faz parte de um sistema de expansão de 3 nós e todos os 3 volumes de inicialização podem ser vistos a partir desse host. Isso significa que todos os 3 volumes de inicialização podem ser instantâneos deste host, e todos os 3 devem ser adicionados ao arquivo de configuração na próxima etapa.
Crie um novo arquivo de configuração da seguinte maneira. Os detalhes do volume de inicialização devem estar na sub-rotina 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'.
Verifique o arquivo de configuração, consulte o exemplo a seguir:
Use
cat
o comando para exibir o conteúdo do arquivo de configuração: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": [] } } ] }
Testar um backup de volume de inicialização
azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.json
Verifique se está listado, observe a
--snapshotfilter
adição da opção para limitar a lista de instantâneos retornados.azacsnap -c details --snapshotfilter TestBootVolume --configfile BootVolume.json
Saída do comando:
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
Opcional Configure o backup automático de snapshot com
crontab
o , ou um agendador adequado capaz de executar osazacsnap
comandos de backup.
Nota
Não é necessário configurar a comunicação com o SAP HANA.
Restaurar um instantâneo de 'inicialização'
Importante
Esta operação é para o Azure Large Instance ony. O servidor será restaurado até o ponto em que o instantâneo foi tirado.
Um instantâneo de 'inicialização' pode ser recuperado da seguinte maneira:
- O cliente precisa desligar o servidor.
- Depois que o servidor for desligado, o cliente precisará abrir uma solicitação de serviço que contenha o ID da máquina e o instantâneo a serem restaurados.
Os clientes podem abrir uma solicitação de serviço por meio do portal do Azure.
- A Microsoft restaura o LUN do sistema operacional usando o ID da máquina e o instantâneo especificados e, em seguida, inicializa o servidor.
- Em seguida, o cliente precisa confirmar se o servidor está inicializado e íntegro.
Nenhuma outra etapa a ser executada após a restauração.
Principais fatos a saber sobre instantâneos
Principais atributos dos snapshots de volume de armazenamento:
Localização dos instantâneos: os instantâneos podem ser encontrados em um diretório virtual (
.snapshot
) dentro do volume. Consulte os seguintes exemplos para a Instância Grande do Azure:- Base de dados:
/hana/data/<SID>/mnt00001/.snapshot
- Partilhado:
/hana/shared/<SID>/.snapshot
- Logs:
/hana/logbackups/<SID>/.snapshot
- Inicialização: os instantâneos de inicialização para HLI não são visíveis no nível do sistema operacional, mas podem ser listados usando
azacsnap -c details
.
Nota
.snapshot
é uma pasta virtual oculta somente leitura que fornece acesso somente leitura aos instantâneos.- Base de dados:
Max snapshot: o hardware pode suportar até 250 snapshots por volume. O comando snapshot mantém um número máximo de snapshots para o prefixo com base no conjunto de retenção na linha de comando. Mais instantâneos, além do número de retenção com o mesmo prefixo, são excluídos.
Nome do instantâneo: o nome do instantâneo inclui o rótulo do prefixo fornecido pelo cliente.
Tamanho do instantâneo: depende do tamanho/alterações no nível do banco de dados.
Local do arquivo de log: Os arquivos de log gerados pelos comandos são enviados para pastas conforme definido no arquivo de configuração JSON, que por padrão é uma subpasta sob a qual o comando é executado (por exemplo,
./logs
).