Neste guia, mostramos como fazer backup e recuperar o banco de dados do SAP HANA usando o recurso de snapshot de disco do agente do Google Cloudpara SAP.
Para informações sobre esse recurso, consulte Backup e recuperação do SAP HANA usando snapshots de disco.
Antes de começar
- Valide a instalação do agente do Google Cloudpara SAP. Para instruções, consulte Instalar e configurar o agente do Google Cloudpara SAP em uma instância do Compute Engine.
Confirme se o sistema SAP HANA foi implantado em uma instância do Compute Engine conforme a seguir:
- Ele não está implantado em uma arquitetura com escalonamento horizontal. Para mais informações, consulte Como usar snapshots em implantações com escalonamento horizontal.
- Ele usa um sistema operacional (SO) certificado pela SAP. Para mais informações, consulte Suporte a SO do SAP HANA no Google Cloud.
- O volume
/hana/data
é hospedado de forma independente em um ou mais volumes de Persistent Disk ou Hyperdisk baseados em SSD. Esses discos não podem hospedar outro volume do SAP HANA. Conforme descrito na Nota SAP 2039883 - Perguntas frequentes: banco de dados SAP HANA e snapshots de dados (snapshots de armazenamento) (em inglês), para ser possível recuperar o banco de dados SAP HANA, o snapshot do armazenamento não pode incluem a área de registro do banco de dados.
Se você estiver usando mais de um disco para hospedar seu volume
/hana/data
, só será possível usar o recurso de snapshot do disco do agente quando os discos subjacentes forem volumes do Hyperdisk.- O volume
/hana/data
foi mapeado para um volume lógico. Isso permite que o agente processe corretamente o ponto de montagem durante operações de backup ou recuperação baseadas em snapshots de disco. - A infraestrutura não foi implantada usando ferramentas de infraestrutura como código (IaC, na sigla em inglês), como o Terraform. Para mais informações, consulte Como usar snapshots com implantações baseadas em ferramentas de IaC.
Definir permissões
Para fazer backup e recuperar o banco de dados SAP HANA usando o recurso de snapshot de disco do agente do Google Cloudpara SAP, defina as seguintes permissões:
Para criar snapshots de disco, conceda as seguintes permissões do IAM:
Disco único
Se o volume
/hana/data
estiver hospedado em um Persistent Disk ou Hyperdisk, conceda as seguintes permissões à instância do Compute Engine:compute.disks.create compute.disks.createSnapshot compute.disks.get compute.disks.setLabels compute.disks.use compute.globalOperations.get compute.instances.attachDisk compute.instances.detachDisk compute.instances.get compute.snapshots.create compute.snapshots.get compute.snapshots.setLabels compute.snapshots.useReadOnly compute.zoneOperations.get
Disco em faixa
Se o volume
/hana/data
estiver hospedado em mais de um volume do Persistent Disk ou Hyperdisk, conceda as seguintes permissões à instância do Compute Engine:compute.disks.addResourcePolicies compute.disks.create compute.disks.get compute.disks.list compute.disks.removeResourcePolicies compute.disks.use compute.disks.useReadOnly compute.globalOperations.get compute.instances.attachDisk compute.instances.detachDisk compute.instances.get compute.instantSnapshotGroups.create compute.instantSnapshotGroups.delete compute.instantSnapshotGroups.get compute.instantSnapshotGroups.list compute.instantSnapshots.list compute.instantSnapshots.useReadOnly compute.resourcePolicies.create compute.resourcePolicies.use compute.resourcePolicies.useReadOnly compute.snapshots.create compute.snapshots.get compute.snapshots.list compute.snapshots.setLabels compute.snapshots.useReadOnly compute.zoneOperations.get
Para criar backups baseados em snapshot de disco, o usuário do banco de dados SAP HANA usado pelo agente precisa ter o privilégio
BACKUP OPERATOR
ouBACKUP ADMIN
. Para mais informações, consulte o documento da SAP Autorizações necessárias para backup e recuperação (em inglês).Para fazer backup e recuperar o banco de dados SAP HANA, o usuário do sistema operacional que executa os comandos do agente precisa ser o usuário
root
ou ter acessosudo
para executar os comandos a seguir. Também é possível fornecer acessosudo
criando um grupo no diretório/etc/sudoers.d
. Por exemplo:%sapagent_snapshot_sudoers ALL=(ALL:ALL) NOPASSWD:/sbin/lvdisplay, /sbin/vgscan, /sbin/dmsetup, /sbin/lvscan, /usr/sbin/xfs_freeze, /usr/bin/google_cloud_sap_agent
Criar um grupo de consistência de disco
Se o volume /hana/data
estiver hospedado em um disco, pule esta seção.
Se o volume /hana/data
estiver hospedado em mais de um disco, será necessário
criar um grupo de consistência e adicionar os discos que hospedam o volume /hana/data
a esse grupo. É necessário criar o grupo de consistência na
mesma região dos discos.
Para mais informações, consulte Criar um grupo de consistência.
Anote o nome do grupo de consistência. Ele é usado pelo agente ao criar o backup baseado em snapshot.
Criar um backup baseado em snapshot de disco
-
Para criar um backup baseado em snapshot de disco para o volume
/hana/data
do banco de dados SAP HANA, execute o comandohanadiskbackup
do agente do Google Cloudpara SAP:A partir da versão 3.3, os argumentos
-source-disk
e-source-disk-zone
são opcionais para uso com o comandohanadiskbackup
. Isso ocorre porque o agente pode detectar automaticamente o disco que hospeda seu diretório/hana/data
. No entanto, se você especificar esses argumentos, eles vão substituir a detecção automática do agente.- Se você quiser usar uma
chave
hdbuserstore
para a autenticação do SAP HANA, execute o seguinte comando:sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \ -project=DESTINATION_PROJECT_ID \ -sid=SID \ -hdbuserstore-key=HDB_USERSTORE_KEY
- Se você quiser usar um nome de usuário e um secret do Secret Manager para a autenticação do SAP HANA, execute o comando a seguir:
sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \ -project=DESTINATION_PROJECT_ID \ -host=HANA_HOST_ADDRESS \ -port=HANA_PORT_NUMBER \ -sid=SID \ -hana-db-user=HANA_USERNAME \ -password-secret=HANA_USER_PWD_SECRET_NAME
- Se você quiser usar um nome de usuário e uma senha para a autenticação do SAP HANA,
execute o seguinte comando:
sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \ -project=DESTINATION_PROJECT_ID \ -host=HANA_HOST_ADDRESS \ -port=HANA_PORT_NUMBER \ -sid=SID \ -hana-db-user=HANA_USERNAME \ -password=HANA_PASSWORD
Substitua:
DESTINATION_PROJECT_ID
: o ID do projeto do Google Cloud em que você quer criar o snapshot de discoHANA_HOST_ADDRESS
: o nome do host ou endereço IP da instância do Compute Engine que hospeda o banco de dados SAP HANAEm um sistema de alta disponibilidade (HA, na sigla em inglês), especifique o nome do host ou o endereço IP do host local no nó principal do SAP HANA. Não use o IP virtual (VIP, na sigla em inglês) usado no cluster para identificar o nó principal. Em uma implantação de recuperação de desastres (DR), especifique o nome do host ou o endereço IP do host local na instância principal do SAP HANA.
HANA_PORT_NUMBER
: a porta do SAP HANA que aceita as solicitações de backup e recuperaçãoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANAHANA_USERNAME
: o nome de usuário do banco de dados SAP HANA que você quer usar para criar o backupHDB_USERSTORE_KEY
: se você criou uma chavehdbuserstore
para autenticar o usuário especificado do SAP HANA, especifique essa chave.HANA_USER_PWD_SECRET_NAME
: se você estiver usando o Secret Manager para armazenar a senha do usuário do banco de dados SAP HANA, especifique o nome do secret correspondenteHANA_PASSWORD
: se você estiver usando uma senha de texto simples para a autenticação do SAP HANA, especifique essa senha
A tabela a seguir descreve os argumentos aceitos pelo comando
hanadiskbackup
:Argumento Descrição -port
Especifique a porta do SAP HANA que aceita as solicitações de backup e recuperação. -sid
Especifique o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANA. -hana-db-user
Especifique o nome de usuário do banco de dados SAP HANA que você quer usar para criar o backup.
Se você especificar
-hdbuserstore-key
, poderá pular a especificação do argumento-hana-db-user
.-password
Especifique a senha do usuário do banco de dados SAP HANA usada para criar o backup.
Não especifique esse argumento se você estiver usando o argumento
-password-secret
ou o-hdbuserstore-key
. Recomendamos que você use um deles em vez de-password
.Para a autenticação do SAP HANA, o agente usa a seguinte ordem de preferência: se especificado, o argumento
-hdbuserstore-key
é preferido em vez do-password
, que é preferido em vez do-password-secret
. Recomendamos que você especifique apenas uma opção de autenticação ao executar o comandohanadiskbackup
.-password-secret
Opcional. Se você estiver usando o Secret Manager para armazenar a senha do usuário do banco de dados SAP HANA, especifique o nome do secret correspondente.
No Secret Manager, verifique se o valor do Secret, que é a senha, contém pelo menos oito caracteres e inclui pelo menos uma letra maiúscula, uma letra minúscula e um número.
Para a autenticação do SAP HANA, o agente usa a seguinte ordem de preferência: se especificado, o argumento
-hdbuserstore-key
é preferido em vez do-password
, que é preferido em vez do-password-secret
. Recomendamos que você especifique apenas uma opção de autenticação ao executar o comandohanadiskbackup
.-hdbuserstore-key
Para se conectar com segurança a um sistema SAP HANA, especifique um Proteger a chave do repositório de usuários (
hdbuserstore
) que você criou para esse item em todo o sistema.Para usar uma chave
hdbuserstore
para autenticação, verifique o seguinte:- As ferramentas SAP
hdbsql
ehdbuserstore
estão instaladas na instância da computação que hospeda o agente. - A chave
hdbuserstore
corresponde a uma instância específica do SAP HANA. Não é possível usar chaves que contenham nomes de host de várias instâncias do SAP HANA. - O usuário
SIDadm
pode consultar o banco de dados SAP HANA usando esta chave. Aqui,SID
se refere ao valor especificado para o parâmetrosid
. Você pode verificar isso executando o seguinte comando como o usuárioSIDadm
:hdbsql -U HDB_USERSTORE_KEY "SELECT * FROM DUMMY"
Esse parâmetro de configuração é compatível com a versão 3.3 do agente.
Se você especificar
-hdbuserstore-key
, poderá pular a especificação dos argumentos-host
,-port
e-hana-db-user
.Para a autenticação do SAP HANA, o agente usa a seguinte ordem de preferência: se especificado, o argumento
-hdbuserstore-key
é preferido em vez do-password
, que é preferido em vez do-password-secret
. Recomendamos que você especifique apenas uma opção de autenticação ao executar o comandohanadiskbackup
.-host
Opcional. Especifique o endereço IP da instância do Compute Engine que hospeda o sistema SAP HANA. O valor padrão é localhost
.-project
Opcional. Especifique o ID do projeto do Google Cloud em que a instância do SAP HANA está sendo executada. -abandon-prepared
Opcional. Especifica se qualquer backup com base em snapshot será ignorado ou não. O valor padrão é false
.-snapshot-name
Opcional. Especifique o nome do snapshot de disco que você está criando. Esse argumento só é aplicável quando o volume de
/hana/data
é hospedado em um disco.Por padrão, o snapshot é nomeado usando o seguinte formato:
snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS
.-snapshot-description
Opcional. Especifique uma descrição para o snapshot de disco. Esse argumento só é aplicável quando o volume /hana/data
é hospedado em um disco.-snapshot-type
Opcional. Especifique o tipo de snapshots que você quer criar para os discos que hospedam o volume
/hana/data
. Esse argumento é aplicável apenas quando o volume/hana/data
está hospedado em mais de um disco.Por padrão, o agente cria snapshots padrão. Valores aceitos para esse argumento:
STANDARD
,ARCHIVE
. Para informações sobre esses tipos de snapshots, consulte Sobre snapshots de disco padrão e de arquivamento.Esse argumento tem suporte a partir da versão 3.6 do agente.
-group-snapshot-name
Opcional. Especifique o nome do grupo de snapshots para os snapshots dos discos que hospedam o volume
/hana/data
.Por padrão, o nome do grupo de snapshots é definido usando o seguinte formato:
CONSISTENCY_GROUP_NAME-YYYYMMDD-HHMMSS
. Aqui,CONSISTENCY_GROUP_NAME
é o nome do grupo de consistência de disco que você criou na seção Criar um grupo de consistência de disco.Esse argumento tem suporte a partir da versão 3.6 do agente.
-labels
Opcional. Especifique um ou mais pares de rótulo-valor que você quer associar aos snapshots do disco que você está criando. Exemplo: -labels="label1=value1,label2=value2"
.-source-disk
Especifique o nome do volume Persistent Disk ou Hyperdisk que hospeda o volume /hana/data
.A partir da versão 3.3, os argumentos
-source-disk
e-source-disk-zone
são opcionais para uso com o comandohanadiskbackup
. Isso ocorre porque o agente pode detectar automaticamente o disco que hospeda seu diretório/hana/data
. No entanto, se você especificar esses argumentos, eles vão substituir a detecção automática do agente.-source-disk-zone
Especifique a zona em que está o disco que hospeda o volume /hana/data
.A partir da versão 3.3, os argumentos
-source-disk
e-source-disk-zone
são opcionais para uso com o comandohanadiskbackup
. Isso ocorre porque o agente pode detectar automaticamente o disco que hospeda seu diretório/hana/data
. No entanto, se você especificar esses argumentos, eles vão substituir a detecção automática do agente.-source-disk-key-file
Opcional. Se o disco que hospeda o volume /hana/data
for criptografado por uma chave de criptografia envolta em RSA fornecida pelo cliente, especifique o caminho absoluto para o arquivo JSON dessa chave.Esse argumento tem suporte a partir da versão 3.2 do agente.
-storage-location
Opcional. Especifique a multirregião ou região do Cloud Storage em que você quer armazenar o snapshot de disco. -freeze-file-system
Opcional. Especifica se o agente deve ou não congelar o sistema de arquivos do banco de dados do SAP HANA. O valor padrão é
false
.Esse argumento tem suporte a partir da versão 3.2 do agente.
-send-metrics-to-monitoring
Opcional. Especifica se o status de execução da criação do snapshot será enviado ou não ao Cloud Monitoring. O valor padrão é TRUE
.-loglevel
Opcional. Especifique o nível de geração de registros para a operação de criação de snapshot. O nível de geração de registros padrão é info
. Os níveis de registro disponíveis são:debug
,info
,warn
eerror
.-confirm-data-snapshot-after-create
Opcional. Se você quiser confirmar a criação do snapshot no SAP HANA imediatamente após a criação, mas sem confirmar que ele foi enviado para o bucket do Cloud Storage especificado para o argumento
-storage-location
, especifique o valorTRUE
.O valor padrão é
FALSE
, que faz com que o agente confirme a criação do snapshot após a conclusão das operaçõesCREATE
eUPLOAD
.Esse argumento tem suporte a partir da versão 3.4 do agente.
- Se você quiser usar uma
chave
Verificar os snapshots de disco
Use as seguintes opções para verificar se os snapshots de disco foram criados:
No console do Google Cloud, acesse a página Snapshots do Compute Engine e filtre as entradas usando o nome do disco. Se o volume
/hana/data
for hospedado em um disco, você também poderá filtrar usando o nome do snapshot. Se o volume/hana/data
estiver hospedado em mais de um disco, também será possível filtrar usando o nome do grupo de snapshots.Como alternativa, você pode conferir os detalhes do snapshot de disco no seguinte arquivo de registro do agente:
/var/log/google-cloud-sap-agent/hanadiskbackup.log
Consulte o catálogo de backup do SAP HANA
Além de criar o backup baseado em snapshot de disco, o comando hanadiskbackup
cria
uma entrada para ele no catálogo de backup do SAP HANA. Confira a seguir um exemplo de consulta SQL para conferir as entradas de backup baseadas em snapshot no catálogo de backup do SAP HANA:
SELECT BACKUP_ID, STATE_NAME, COMMENT FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'data snapshot'
A resposta será semelhante a:
BACKUP_ID,STATE_NAME,COMMENT BACKUP_ID,"successful","SNAPSHOT_IDENTIFIER"
Esta saída inclui os seguintes valores:
BACKUP_ID
: o ID de backup atribuído ao backup baseado em snapshot de disco no catálogo de backup do SAP HANASNAPSHOT_IDENTIFIER
:- Para um volume
/hana/data
em um disco, o valor desse identificador é determinado pelo uso do argumento-snapshot-name
com o comandohanadiskbackup
. Se você não especificar esse argumento, o valor padrão dele será definido, que é:snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS
. - Se o volume
/hana/
estiver hospedado em mais de um disco, o valor desse identificador será determinado pelo uso do argumento-group-snapshot-name
com o comandohanadiskbackup
. Se você não especificar esse argumento, o valor padrão dele será definido, que éCONSISTENCY_GROUP_NAME-YYYYMMDD-HHMMMSS
.
- Para um volume
SOURCE_DISK_NAME
: esse valor é determinado pelo uso do argumento-source-disk
com o comandohanadiskbackup
.CONSISTENCY_GROUP_NAME
: esse valor é determinado pelo uso do argumento-group-snapshot-name
com o comandohanadiskbackup
.YYYYMMDD-HHMMMSS
: a data e a hora em que o snapshot foi criado.
Recuperar o banco de dados usando um backup baseado em snapshot de disco
Para recuperar o banco de dados SAP HANA usando o recurso de snapshot de disco do agenteGoogle Cloudpara SAP, consulte as instruções para seu cenário:
- Recuperar o banco de dados para um sistema com escalonamento vertical
- Recuperar o banco de dados para um sistema de alta disponibilidade com escalonamento vertical
- Recuperar o banco de dados para uma implantação de DR com escalonamento vertical
- Fazer uma cópia ou atualização do sistema
Recuperar o banco de dados para um sistema com escalonamento vertical
Para recuperar o banco de dados de um sistema SAP HANA com escalonamento vertical implantado no Google Cloud, conclua as seguintes etapas:
Execute o comando
hanadiskrestore
do agente para recuperar o disco que hospeda o volume/hana/data
:Se o volume
/hana/data
estiver hospedado em um disco, execute o seguinte comando:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ [-new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME]
Se o volume
/hana/data
estiver hospedado em mais de um disco, execute o comando abaixo:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \ [-new-disk-type=NEW_DISK_TYPE ]
Substitua:
SOURCE_PROJECT_ID
: o ID do projeto do Google Cloud em que está o snapshot de discoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANASOURCE_SNAPSHOT_NAME
: se o volume/hana/data
estiver hospedado em um disco, especifique o nome do snapshot de disco que você vai usar para criar o novo disco.SOURCE_SNAPSHOT_GROUP_NAME
: se o volume/hana/data
estiver hospedado em mais de um disco, especifique o nome do grupo de snapshots que você está usando para criar os novos discosNEW_DISK_TYPE
: o tipo de disco que você quer criar. Para mais informações, consulte a descrição de-new-disk-type
em Argumentos aceitos para restauração de disco.NEW_DISK_NAME
: o nome que você quer definir para o novo disco. Para mais informações, consulte a descrição de-new-disk-name
em Argumentos aceitos para restauração de disco.
Para informações sobre os argumentos que podem ser usados com o comando
hanadiskrestore
, consulte Argumentos aceitos para restauração de disco.Recupere seu banco de dados SAP HANA usando a opção necessária:
Recuperar para o horário do snapshot
Para recuperar o banco de dados SAP HANA restaurando-o para o horário em que o snapshot de disco foi criado, siga estas etapas:
- Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
Recuperar para um momento específico
Para recuperar o banco de dados SAP HANA restaurando-o para um momento específico, siga estas etapas:
- Verifique se você criou um backup do volume
/hana/log
no Cloud Storage usando o recurso Backint do agente do Google Cloudpara SAP. Para mais informações sobre esse recurso, consulte Backup e recuperação do SAP HANA usando o Backint. - Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
- Mude para o usuário
Argumentos aceitos para restauração de disco
A tabela a seguir descreve os argumentos aceitos pelo comando hanadiskrestore
do agente:
Argumento | Descrição |
---|---|
-sid |
Especifique o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANA. |
-data-disk-name |
Opcional. Especifique o nome do disco de origem que hospeda o volume /hana/data .
A partir da versão 3.4, os argumentos
|
-data-disk-zone |
Opcional. Especifique a
zona em que o
disco de origem que hospeda o volume /hana/data está implantado.
A partir da versão 3.4, os argumentos
|
-source-snapshot |
Se o volume /hana/data estiver hospedado em um disco, especifique o nome do snapshot de disco que você quer usar para fazer a
recuperação. |
-new-disk-name |
Especifique o nome que você quer definir para o novo disco. Esse
argumento não é aplicável se o volume /hana/data for
hospedado em mais de um disco. |
-group-snapshot-name |
Se o volume Esse argumento tem suporte a partir da versão 3.6 do agente. |
-project |
Opcional. Especifique o ID do projeto do Google Cloud em que está o snapshot do disco de origem. Por padrão, o snapshot é criado no projeto do Google Cloud em que o sistema SAP HANA está em execução. |
-csek-key-file |
Opcional. Se você criptografou o instantâneo do disco de origem usando o argumento -source-disk-key-file com o comando hanadiskbackup , especifique o caminho absoluto para o arquivo JSON da chave de criptografia fornecida pelo cliente envolta em RSA que corresponde ao instantâneo do disco de origem. Confira abaixo um exemplo de arquivo de chave:
[ { "uri": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME", "key": "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFHz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoDD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oeQ5lAbtt7bYAAHf5l+gJWw3sUfs0/Glw5fpdjT8Uggrr+RMZezGrltJEF293rvTIjWOEB3z5OHyHwQkvdrPDFcTqsLfh+8Hr8g+mf+7zVPEC8nEbqpdl3GPv3A7AwpFp7MA==", "key-type": "rsa-encrypted" } ] Esse argumento tem suporte a partir da versão 3.2 do agente. |
-new-disk-type |
Opcional. Especifique o tipo de Persistent Disk ou Hyperdisk que você quer criar. Por padrão, os novos discos são do mesmo tipo dos discos de origem. Especifique um tipo de disco baseado em SSD que seja certificado pela SAP para uso com o SAP HANA. Para mais informações, consulte Tipos de disco compatíveis. |
-hana-sidadm |
Opcional. Especifique SIDadm : o usuário do sistema operacional do seu sistema SAP HANA. |
-force-stop-hana |
Opcional. Se você quiser forçar o fechamento do SAP HANA antes de iniciar a operação de recuperação, especifique esse argumento e defina o valor dele como true . O valor padrão é false . |
-provisioned-iops |
Opcional. Se você estiver criando um volume Hyperdisk, especifique as IOPS (operações de entrada/saída por segundo) que ele precisa processar. |
-provisioned-throughput |
Opcional. Se você estiver criando um volume Hyperdisk, especifique a capacidade de processamento necessária. |
-labels-on-detached-disk |
Opcional. Se você estiver criando um novo disco para hospedar o diretório Esse argumento tem suporte a partir da versão 3.4 do agente. |
-send-metrics-to-monitoring |
Opcional. Especifica se a duração da restauração do snapshot será enviada ou não ao Cloud Monitoring. O valor padrão é Esse argumento tem suporte a partir da versão 3.4 do agente. |
-disk-size-gb |
Opcional. Especifique o tamanho do novo disco em GB. Por padrão, o novo disco é do mesmo tamanho que o atual. O novo disco não pode ser menor que o atual. |
-loglevel |
Opcional. Especifique o nível de geração de registros para todas as ações realizadas pelo comando hanadiskrestore . O nível de geração de registros padrão é info . Os níveis de registro disponíveis são: debug , info , warn e error . |
Recuperar o banco de dados para um sistema de alta disponibilidade com escalonamento vertical
Para recuperar o banco de dados de um sistema SAP HANA com escalonamento vertical implantado em um cluster de alta disponibilidade (HA) no Google Cloud, siga estas etapas:
Verifique se você tem um snapshot do disco que hospeda o volume
/hana/data
no nó principal do SAP HANA.Como usuário raiz, coloque o cluster de alta disponibilidade no modo de manutenção. Se você estiver usando o Pacemaker, execute o seguinte comando:
RHEL
pcs property set maintenance-mode=true
SLES
crm configure property maintenance-mode=true
Interrompa as instâncias do banco de dados SAP HANA executando o seguinte comando nos nós principal e em espera do cluster de alta disponibilidade:
HDB stop
Alterne para o nó principal do sistema SAP HANA de alta disponibilidade.
Execute o comando
hanadiskrestore
do agente para recuperar o disco que hospeda o volume/hana/data
:Se o volume
/hana/data
estiver hospedado em um disco, execute o seguinte comando:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ [-new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME]
Se o volume
/hana/data
estiver hospedado em mais de um disco, execute o comando abaixo:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \ [-new-disk-type=NEW_DISK_TYPE ]
Substitua:
SOURCE_PROJECT_ID
: o ID do projeto do Google Cloud em que está o snapshot de discoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANASOURCE_SNAPSHOT_NAME
: se o volume/hana/data
estiver hospedado em um disco, especifique o nome do snapshot de disco que você vai usar para criar o novo disco.SOURCE_SNAPSHOT_GROUP_NAME
: se o volume/hana/data
estiver hospedado em mais de um disco, especifique o nome do grupo de snapshots que você está usando para criar os novos discosNEW_DISK_TYPE
: o tipo de disco que você quer criar. Para mais informações, consulte a descrição de-new-disk-type
em Argumentos aceitos para restauração de disco.NEW_DISK_NAME
: o nome que você quer definir para o novo disco. Para mais informações, consulte a descrição de-new-disk-name
em Argumentos aceitos para restauração de disco.
Para informações sobre os argumentos que podem ser usados com o comando
hanadiskrestore
, consulte Argumentos aceitos para restauração de disco.Cancele o registro do nó secundário do sistema SAP HANA de alta disponibilidade:
hdbnsutil -sr_unregister
No nó principal do sistema SAP HANA de alta disponibilidade, desative a replicação desse sistema:
hdbnsutil -sr_disable
No nó principal, recupere o banco de dados SAP HANA usando a opção necessária:
Recuperar para o horário do snapshot
Para recuperar o banco de dados SAP HANA restaurando-o para o horário em que o snapshot de disco foi criado, siga estas etapas:
- Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
Recuperar para um momento específico
Para recuperar o banco de dados SAP HANA restaurando-o para um momento específico, siga estas etapas:
- Verifique se você criou um backup do volume
/hana/log
no Cloud Storage usando o recurso Backint do agente do Google Cloudpara SAP. Para mais informações sobre esse recurso, consulte Backup e recuperação do SAP HANA usando o Backint. - Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
- Mude para o usuário
No nó principal, ative a replicação do sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Registre novamente o nó em espera com o nó principal:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifique se o banco de dados no nó em espera está totalmente sincronizado com o banco de dados no nó principal.
Como usuário raiz, saia do modo de manutenção do cluster de alta disponibilidade. Se você estiver usando o Pacemaker, execute o seguinte comando:
RHEL
pcs property set maintenance-mode=false
SLES
crm configure property maintenance-mode=false
Recuperar o banco de dados para uma implantação de DR com escalonamento vertical
Para recuperar o banco de dados de um sistema SAP HANA com escalonamento vertical implantado com uma solução de recuperação de desastres no Google Cloud, conclua as seguintes etapas:
Interrompa os bancos de dados SAP HANA executando o seguinte comando nas instâncias principal e em espera da sua implantação de DR:
HDB stop
Alterne para a instância principal da sua implantação de DR do SAP HANA.
Execute o comando
hanadiskrestore
do agente para recuperar o disco que hospeda o volume/hana/data
:Se o volume
/hana/data
estiver hospedado em um disco, execute o seguinte comando:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ [-new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME]
Se o volume
/hana/data
estiver hospedado em mais de um disco, execute o comando abaixo:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \ [-new-disk-type=NEW_DISK_TYPE ]
Substitua:
SOURCE_PROJECT_ID
: o ID do projeto do Google Cloud em que está o snapshot de discoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANASOURCE_SNAPSHOT_NAME
: se o volume/hana/data
estiver hospedado em um disco, especifique o nome do snapshot de disco que você vai usar para criar o novo disco.SOURCE_SNAPSHOT_GROUP_NAME
: se o volume/hana/data
estiver hospedado em mais de um disco, especifique o nome do grupo de snapshots que você está usando para criar os novos discosNEW_DISK_TYPE
: o tipo de disco que você quer criar. Para mais informações, consulte a descrição de-new-disk-type
em Argumentos aceitos para restauração de disco.NEW_DISK_NAME
: o nome que você quer definir para o novo disco. Para mais informações, consulte a descrição de-new-disk-name
em Argumentos aceitos para restauração de disco.
Para informações sobre os argumentos que podem ser usados com o comando
hanadiskrestore
, consulte Argumentos aceitos para restauração de disco.Na instância principal, desative a replicação do sistema SAP HANA:
hdbnsutil -sr_disable
Na instância principal, recupere o banco de dados SAP HANA usando a opção necessária:
Recuperar para o horário do snapshot
Para recuperar o banco de dados SAP HANA restaurando-o para o horário em que o snapshot de disco foi criado, siga estas etapas:
- Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
Recuperar para um momento específico
Para recuperar o banco de dados SAP HANA restaurando-o para um momento específico, siga estas etapas:
- Verifique se você criou um backup do volume
/hana/log
no Cloud Storage usando o recurso Backint do agente do Google Cloudpara SAP. Para mais informações sobre esse recurso, consulte Backup e recuperação do SAP HANA usando o Backint. - Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
- Mude para o usuário
Na instância principal, ative a replicação do sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Registre a instância em espera com a instância principal:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifique se o banco de dados na instância em espera está totalmente sincronizado com o banco de dados na instância principal.
Fazer uma cópia ou atualização do sistema
Para usar um backup baseado em snapshot de disco de um sistema SAP HANA para recuperar outro sistema SAP HANA, conclua as seguintes etapas:
- No sistema de origem, crie um backup baseado em snapshot executando o comando
hanadiskbackup
do agente. Para ver instruções, consulte Criar um backup baseado em snapshot de disco. Se os SIDs dos sistemas de origem e de destino forem diferentes, renomeie o diretório
/hana/data/SID
no sistema de origem para que corresponda ao sistema de destino:mv /hana/data/SOURCE_SID /hana/data/TARGET_SID
Substitua:
SOURCE_SID
: o SID do sistema SAP HANA de origemTARGET_SID
: o SID do sistema SAP HANA de destino
No sistema de destino, recupere o disco que hospeda o volume
/hana/data
executando o comandohanadiskrestore
do agente.No sistema de destino, recupere o banco de dados do sistema:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SOURCE 'SYSTEMDB@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT"
Se você quiser que o banco de dados de locatário tenha o SID do sistema de origem, renomeie-o seguindo as instruções no documento do SAP HANA Renomear um banco de dados de locatário (em inglês).
No sistema de destino, conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
No sistema de destino, para recuperar os bancos de dados de locatário, execute o seguinte comando para cada um deles:
RECOVER DATABASE FOR TARGET_SID UNTIL TIMESTAMP '2023-12-08 23:59:00' CLEAR LOG USING SOURCE 'TARGET_SID@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT
Validar a consistência do snapshot
Esta seção descreve como validar a consistência dos dados nos
snapshots de disco usando a ferramenta hdbpersdiag
da SAP. Para informações sobre
outras práticas recomendadas do Google Cloud para operações de backup e recuperação
baseadas em snapshots de disco, consulte
Práticas recomendadas.
Para validar a consistência de um snapshot, siga estas etapas:
Crie um disco com base em um snapshot que você criou usando o comando
hanadiskbackup
do agente. Use o comandogcloud compute disks create
:gcloud compute disks create DISK_NAME \ --size=SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --zone=ZONE
Substitua:
DISK_NAME
: o nome do disco temporárioSIZE
: o tamanho do disco temporárioSNAPSHOT_NAME
: o nome do snapshot de origemDISK_TYPE
: o tipo de disco do disco temporárioZONE
: a zona do Compute Engine em que você quer implantar o disco temporário
Anexe o disco a uma instância do Compute Engine diferente do host do SAP HANA. Use o comando
gcloud compute instances attach-disk
(em inglês).gcloud compute instances attach-disk COMPUTE_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Substitua:
COMPUTE_INSTANCE_NAME
: o nome da instância de computação em que você quer implantar o disco criadoDISK_NAME
: o nome do disco que você criouZONE
: a zona do Compute Engine em que a instância de computação é implantada
Conecte-se à instância de computação usando seu método SSH preferido.
Monte o novo disco como um sistema de arquivos temporário:
No nível do SO, encontre o grupo de volumes em que não há volumes lógicos ativos:
vgdisplay
A resposta será semelhante a:
--- Volume group --- VG Name vg_hana_data System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 250.00 GiB PE Size 4.00 MiB Total PE 63999 Alloc PE / Size 63999 / 250.00 GiB Free PE / Size 0 / 0 VG UUID Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
Renomeie o grupo de volumes usando o UUID do VG. No exemplo anterior, é
Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
.vgrename Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR vg_hana_data_temp
Ative o grupo de volumes e o volume lógico:
vgchange -a y vg_hana_data_temp lvchange -a y /dev/vg_hana_data_temp/data
Ative o volume lógico em um sistema de arquivos temporário, por exemplo,
/hana/data_temp
:mkdir /hana/data_temp mount /dev/vg_hana_data_temp/data /hana/data_temp
Verifique se todos os discos estão montados corretamente:
lsblk
A resposta será semelhante a:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 2M 0 part ├─sda2 8:2 0 20M 0 part /boot/efi └─sda3 8:3 0 30G 0 part / sdb 8:16 0 350G 0 disk └─vg_hana_data_temp-data 254:5 0 250G 0 lvm /hana/data_temp sdc 8:32 0 104G 0 disk └─vg_hana_log-log 254:2 0 104G 0 lvm /hana/log sdd 8:48 0 208G 0 disk └─vg_hana_shared-shared 254:0 0 208G 0 lvm /hana/shared sde 8:64 0 32G 0 disk └─vg_hana_usrsap-usrsap 254:3 0 32G 0 lvm /usr/sap sdf 8:80 0 416G 0 disk └─vg_hanabackup-backup 254:4 0 416G 0 lvm /hanabackup sdh 8:112 0 250G 0 disk └─vg_hana_data-data 254:1 0 250G 0 lvm /hana/data
Como usuário
SIDadm
, execute a ferramentahdbpersdiag
para os volumes de dados incluídos no sistema de arquivos temporário:for directory in $(find /hana/data_temp/SID/mnt00001/hdb* -type d); do hdbpersdiag -c -e 'check all' $directory; done
Verifique a saída da ferramenta
hdbpersdiag
.Se você planeja realizar essa verificação de consistência no futuro, deixe o novo grupo de volumes como está. Caso contrário, exclua-o.
Desanexe o disco da instância de computação. Use o comando
gcloud compute instances detach-disk
(em inglês).COMPUTE_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Exclua o disco. Use o comando
gcloud compute disks delete
(em inglês).gcloud compute disks delete DISK_NAME \ --zone=ZONE
Solução de problemas
Embora o agente do Google Cloudpara SAP tenha sido projetado para resolver a maioria dos problemas que podem ocorrer durante operações de backup e recuperação baseadas em snapshot de disco do SAP HANA, há alguns cenários em que é necessária uma intervenção manual.
Para resolver qualquer problema com o recurso de snapshot de disco do agente doGoogle Cloudpara SAP, consulte Problema com uma operação de backup ou recuperação baseada em snapshot de disco.
Receber suporte
Se você precisar de ajuda para resolver um problema com o agente do Google Cloudpara SAP, colete as informações de diagnóstico necessárias e entre em contato com o Cloud Customer Care. Para mais informações, consulte Informações de diagnóstico do agente doGoogle Cloudpara SAP para SAP HANA.