Partilhar via


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

  1. 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.
    1. 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.
  2. Execução bem-sucedida das ferramentas de snapshot
    1. Verifique o *.result arquivo para o sucesso ou falha da última execução do azacsnap.
    2. Verifique /var/log/messages a saída do azacsnap comando.
  3. 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.

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

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

  3. Baixe e execute o instalador para instalar as ferramentas de snapshot.

  4. Configuração completa de ferramentas de snapshot.

  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.
    

    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.

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

    azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.json
    
  9. 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
    
  10. Opcional Configure o backup automático de snapshot com crontabo , ou um agendador adequado capaz de executar os azacsnap 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:

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

  3. 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.
  4. 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.

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

Próximos passos