Compartilhar via


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 minutos
    • 0-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:

  1. 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.
    1. 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.
  2. Execução bem-sucedida das ferramentas de instantâneo
    1. Verifique o arquivo *.result para obter o êxito ou a falha da execução mais recente do azacsnap.
    2. Verifique /var/log/messages para a saída do comando azacsnap.
  3. 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.

  1. Realize as etapas 1-4 dos pré-requisitos para a instalação.

  2. Habilitar a comunicação com o armazenamento.

  3. Baixe o execute o instalador para instalar as ferramentas de instantâneo.

  4. Realizar a configuração das ferramentas de instantâneo.

  5. 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.

  6. 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'.
    
  7. 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": []
          }
        }
      ]
    }
    
  8. Testar um backup do volume de inicialização

    azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.json
    
  9. 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
    
  10. Opcional Configure o backup de instantâneo automático com crontab ou um agendamento adequado capaz de executar comandos de backup azacsnap.

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:

  1. O cliente precisa desligar o servidor.
  2. 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.

  3. A Microsoft restaura o LUN do Sistema Operacional usando a ID do computador e o instantâneo especificados e, em seguida, inicializa o servidor.
  4. 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.

  • 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).

Próximas etapas