Dicas e truques para usar a ferramenta de Instantâneo Consistente do Aplicativo Azure
Este artigo fornece dicas e truques que podem ser úteis quando no uso do AzAcSnap.
Configurações de substituição global para controlar o comportamento do azacsnap
O AzAcSnap 8 introduziu um novo arquivo de configurações global (.azacsnaprc
) que deve estar localizado no mesmo diretório (de trabalho atual) em que o azacsnap é executado. O nome do arquivo é .azacsnaprc
, e usar o caractere de ponto "." como o início do nome do arquivo o torna oculto para listagens de diretório padrão. O arquivo permite definir configurações globais que controlam o comportamento do AzAcSnap. O formato é uma entrada por linha com uma variável de personalização com suporte e um novo valor de substituição.
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 o local do arquivo de saída "main-log", que é denominado
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/home/azacsnap/bin/logs
, adicione o seguinte ao arquivo.azacsnaprc
:MAINLOG_LOCATION=/home/azacsnap/bin/logs
- AZURE_MANAGEMENT_ENDPOINT para personalizar o local do Ponto de Extremidade de Gerenciamento do Azure para o qual o AzAcSnap fará chamadas à 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 acessem o Ponto de Extremidade de Gerenciamento do Azure para a US Gov Cloud (ref: Diretrizes do Azure Governamental para desenvolvedores) adicione o seguinte ao arquivo
.azacsnaprc
:AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net
Observação
A partir do AzAcSnap 9a, todos esses valores também podem ser definidos como variáveis de ambiente de linha de comando ou, em vez disso, do arquivo .azacsnaprc
. Por exemplo, no Linux, é possível definir o AZURE_MANAGEMENT_ENDPOINT
com export AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net
antes de executar o AzAcSnap.
Análise de log principal
O AzAcSnap 8 introduziu um novo "log principal" 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 instantâneo. Com o AzAcSnap, esta ideia foi levada mais adiante para incluir informações para cada um dos comandos do AzAcSnap, especificamente as opções -c
, 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 o AzAcSnap é executado, ele acrescenta ao log as informações apropriadas, dependendo do comando -c
usado; veja a seguir os exemplos de saída:
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;
Este formato faz com que o arquivo possa ser analisado com os comandos do Linux watch
, grep
, head
, tail
e column
para obter atualizações contínuas de backups do AzAcSnap. Veja a seguir uma combinação de exemplo desses comandos em script de shell único para monitorar o 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
Produz a saída a seguir 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. Examine a documentação do RBAC do Azure para obter mais detalhes sobre o gerenciamento de acesso refinado de recursos do Azure.
Veja a seguir 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 poder criar volumes. Neste caso, a definição de função precisa de uma cláusula "Ações" extra adicionada, portanto, a entidade de serviço completa deve ser semelhante ao 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>"] \
}'
Tirar 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 foram executados com êxito. A execução correta de que os testes provados azacsnap
podem se comunicar com o banco de dados do SAP HANA instalado e o sistema de armazenamento subjacente do SAP HANA no sistema de Instância grande ou Azure NetApp Files do Azure.
azacsnap -c test --test hana
azacsnap -c test --test storage
Em seguida, para fazer um backup de instantâneo de banco de dados manual, execute o seguinte comando:
azacsnap -c backup --volume data --prefix hana_TEST --retention=1
Configurar backup automático de instantâneo
É uma 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 instantâneo é configurar o crontab
do usuário.
Um exemplo de um crontab
para o usuário azacsnap
automatizar instantâneos segue.
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 enviar um email automaticamente ao usuário do Linux local ao executar a entrada crontab.- As versões abreviadas de tempo para entradas do 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 horários; consulte os seguintes exemplos de coluna:
0,15,30,45
: a cada 15 minutos0-23
: a cada hora*
: todos os dias*
: a cada mês*
: todos os dias da semana
- Linha de comando a ser executada entre parênteses "()"
. /home/azacsnap/.profile
= efetuar pull no perfil do usuário para configurar o ambiente, incluindo $PATH etc.cd /home/azacsnap/bin
= alterar o diretório de execução para a localização "/home/azacsnap/bin" em que 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.
Observação
Os usuários são responsáveis por monitorar os trabalhos cron para garantir que os instantâneos sejam gerados com êxito.
Gerenciar arquivos de log AzAcSnap
AzAcSnap grava a saída de sua operação em arquivos de log para auxiliar na depuração e validar a operação correta. Esses arquivos de log continuam a crescer, a menos que 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 uma configuração de exemplo para logrotate. Esta 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, ela os gira renomeando-os com um número adicionado ao nome do arquivo e compactando-os.
# azacsnap logrotate configuration file
compress
~/bin/azacsnap*.log {
rotate 31
size 10k
}
Depois que o arquivo logrotate.conf
tiver sido criado, o comando logrotate
deverá ser executado regularmente para arquivar arquivos de log do AzAcSnap adequadamente. A automação do comando logrotate
pode ser feita usando cron. A saída a seguir é uma linha do crontab do usuário do azacsnap; este exemplo executa logrotate diariamente usando o arquivo de configuração ~/logrotate.conf
.
@daily /usr/sbin/logrotate -s ~/logrotate.state ~/logrotate.conf >> ~/logrotate.log
Observação
No exemplo acima, o arquivo logrotate.conf está no diretório base do usuário (~).
Após vários dias, os arquivos de log azacsnap devem ser semelhantes à listagem de diretório a seguir.
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
Monitorar os instantâneos
As seguintes condições devem ser monitoradas para garantir um sistema íntegro:
- Espaço em disco disponível. Os instantâneos consomem espaço em disco lentamente com base na taxa de alteração no nível do bloco, pois os blocos de disco mais antigos que são mantidos ficam no instantâneo.
- Para ajudar a automatizar o gerenciamento de espaço em disco, use as opções
--retention
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 opções
- Execução bem-sucedida das ferramentas de instantâneo
- Verifique o arquivo
*.result
para obter o êxito ou a falha da execução mais recente doazacsnap
. - Verifique
/var/log/messages
para a saída do comandoazacsnap
.
- Verifique o arquivo
- Consistência dos instantâneos restaurando-os para outro sistema periodicamente.
Observação
Para listar os 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
Atenção ao excluir um instantâneo. Depois de excluído, é IMPOSSÍVEL recuperar os instantâneos excluídos.
Restaurar um instantâneo
Um instantâneo do 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
).
Observação
Não é fornecido NENHUM comando de recuperação de banco de dados.
Um instantâneo pode ser copiado de volta para a área de dados SAP HANA, mas o SAP HANA não deve estar em execução quando uma cópia for feita (cp /hana/data/H80/mnt00001/.snapshot/hana_hourly.2020-06-17T113043.1586971Z/*
).
Para a instância grande do Azuer, é necessário entrar em contato com a equipe de operações da Microsoft, por meio da abertura de uma solicitação de serviço para restaurar um instantâneo desejado dos instantâneos existentes disponíveis. É possível abrir uma solicitação de serviço pelo portal do Azure.
Se você decidir executar o failover de recuperação de desastre, o comando azacsnap -c restore --restore revertvolume
no site de recuperação de desastre disponibilizará automaticamente os instantâneos de volume mais recentes (/hana/data
e /hana/logbackups
) para permitir uma recuperação do SAP HANA. Use esse comando com cuidado, pois ele interrompe a replicação entre os sites de produção e de DR.
Configurar instantâneos somente para volumes de 'inicialização'
Importante
Esta operação se aplica somente à instância grande do Azure.
Em alguns casos, os clientes já têm ferramentas para proteger o SAP HANA e só querem configurar instantâneos de volume de 'inicialização'. Neste caso, somente as etapas a seguir precisam ser concluídas.
Realize as etapas 1-4 dos pré-requisitos para a instalação.
Habilitar a comunicação com o armazenamento.
Baixe o execute o instalador para instalar as ferramentas de instantâneo.
Realizar a configuração das ferramentas de instantâneo.
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.
Observação
Neste exemplo, esse host faz parte de um sistema de expansão de 3 nós e os 3 volumes de inicialização podem ser vistos para esse host. Isso significa que os 3 volumes de inicialização podem ser instantâneos desse host e todos devem ser adicionados ao arquivo de configuração na próxima etapa.
Criar um novo arquivo de configuração como a seguir. Os detalhes do volume de inicialização precisam estar no OtherVolume Stanza:
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'.
Verificar o arquivo de configuração, consultar o exemplo a seguir:
Usar o comando
cat
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 do volume de inicialização
azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.json
Verificar se ele está listado, observar a adição da opção
--snapshotfilter
para limitar a lista de instantâneos retornada.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 de instantâneo automático com
crontab
ou um agendamento adequado capaz de executar comandos de backupazacsnap
.
Observação
Não é necessário configurar a comunicação com o SAP HANA.
Restaurar um instantâneo de 'inicialização'
Importante
Esta operação é somente para a instância grande do Azure. 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 precisa abrir uma solicitação de serviço que contenha a ID da máquina e o instantâneo a ser restaurado.
Os clientes podem abrir uma solicitação de serviço pelo portal do Azure.
- A Microsoft restaura o LUN do Sistema Operacional usando a ID do computador e o instantâneo especificados e, em seguida, inicializa o servidor.
- Em seguida, o cliente precisa confirmar se o servidor foi inicializado e está íntegro.
Nenhuma outra etapa a ser executada após a restauração.
Fatos importantes a saber sobre instantâneos
Principais atributos de instantâneos de volume de armazenamento:
Local dos instantâneos: os instantâneos podem ser encontrados em um diretório virtual (
.snapshot
) dentro do volume. Consulte os exemplos a seguir para a instância grande do Azure:- Banco de dados:
/hana/data/<SID>/mnt00001/.snapshot
- Compartilhado:
/hana/shared/<SID>/.snapshot
- Logs:
/hana/logbackups/<SID>/.snapshot
- Inicialização: os instantâneos de inicialização para o HLI não são visíveis do nível do sistema operacional, mas podem ser listados usando
azacsnap -c details
.
Observação
.snapshot
é uma pasta virtual oculta somente leitura que fornece acesso somente leitura aos instantâneos.- Banco de dados:
Instantâneo máximo: o hardware pode sustentar até 250 instantâneos por volume. O comando de instantâneo mantém um número máximo de instantâneos 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 de prefixo fornecido pelo cliente.
Tamanho do instantâneo: depende do tamanho/das alterações no nível do banco de dados.
Localização do arquivo de log: os arquivos de log gerados pelos comandos são gerados em pastas, conforme definido no arquivo de configuração JSON, que, por padrão, é uma subpasta na qual o comando é executado (por exemplo,
./logs
).