O Hyperdisk, especialmente o Hyperdisk Extreme, oferece melhor desempenho para o SAP HANA do que os tipos de Persistent Disk baseados em SSD.
Para migrar os volumes de Persistent Disk usados pelo banco de dados SAP HANA para volumes do Hyperdisk, use os snapshots de disco do Google Cloud e a opção de reinicialização rápida do SAP HANA.
Analisar as considerações sobre a migração
- Dados de migração: a opção de reinicialização rápida do SAP HANA é usada como auxiliar. Ele reduz o tempo de inatividade ao aparar os discos, eliminando a necessidade de aguardar o carregamento das tabelas do banco de dados. No entanto, leve em conta o tempo necessário para recarregar o armazenamento de linhas e os tipos de dados de objeto grande binário (BLOB).
Tempo de inatividade: embora o processo de migração exija um tempo mínimo de inatividade, a duração real depende do tempo necessário para concluir as seguintes tarefas:
Criação de snapshots de disco.
Para reduzir o tempo de inatividade ao tirar snapshots de disco, é possível tirar snapshots dos discos antes da atividade de migração planejada e, em seguida, tirar alguns snapshots mais próximos da atividade, o que resulta em uma diferença menor entre os snapshots.
Criar volumes do Hyperdisk usando os snapshots dos volumes do Persistent Disk.
Como recarregar as tabelas do SAP HANA na memória do SAP HANA.
Reverter para discos atuais: no caso de qualquer problema durante a migração, é possível reverter para os discos atuais porque eles não são afetados por esse procedimento e permanecem disponíveis até serem excluídos. Para mais informações, consulte Usar discos existentes como alternativa.
Antes de começar
Antes de migrar os volumes Persistent Disk usados pelo seu banco de dados SAP HANA para volumes do Hyperdisk, verifique se as seguintes condições são atendidas:
- O SAP HANA está sendo executado em instâncias do Compute Engine certificadas pela SAP compatíveis com Hyperdisk.
- Os volumes
/hana/data
e/hana/log
são hospedados em discos separados. - O gerenciamento de volume lógico do Linux é usado para a persistência de armazenamento do SAP HANA.
Embora o armazenamento direto possa ser usado, seria necessário o remapeamento explícito de dispositivos
pela tabela
/etc/fstab
. A opção de reinicialização rápida do SAP HANA está ativada para seu sistema SAP HANA.
Para informações sobre como ativar esse recurso, consulte Como ativar a reinicialização rápida do SAP HANA.
Um backup válido do banco de dados SAP HANA está disponível. Esse backup pode ser usado para restaurar o banco de dados, se necessário.
Se a instância de destino do Compute Engine fizer parte de um cluster de alta disponibilidade (HA, na sigla em inglês), verifique se ele está no modo de manutenção.
Se o banco de dados SAP HANA usar uma implantação de escalonamento horizontal, repita o procedimento deste guia para cada instância do SAP HANA.
O banco de dados SAP HANA está em execução.
O sistema de arquivos
tmpfs
está totalmente carregado com o conteúdo dos fragmentos de dadosMAIN
. Para conferir a utilização do sistema de arquivos, execute o seguinte comando:df -Th
A resposta será semelhante a:
# df -Th Filesystem Type Size Used Avail Use% Mounted on ... /dev/mapper/vg_hana_shared-shared xfs 1.0T 56G 968G 6% /hana/shared /dev/mapper/vg_hana_data-data xfs 14T 5.7T 8.2T 41% /hana/data /dev/mapper/vg_hana_log-log xfs 512G 7.2G 505G 2% /hana/log /dev/mapper/vg_hana_usrsap-usrsap xfs 32G 276M 32G 1% /usr/sap tmpfsDB10 tmpfs 5.7T 800G 4.9T 14% /hana/tmpfs0/DB1 tmpfsDB11 tmpfs 5.7T 796G 4.9T 14% /hana/tmpfs1/DB1 tmpfsDB12 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs2/DB1 tmpfsDB13 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs3/DB1 tmpfsDB14 tmpfs 5.7T 816G 4.9T 15% /hana/tmpfs4/DB1 tmpfsDB15 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs5/DB1 tmpfsDB16 tmpfs 5.7T 816G 4.9T 15% /hana/tmpfs6/DB1 tmpfsDB17 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs7/DB1
Migrar volumes de disco permanente para volumes do Hyperdisk
Esta seção descreve como migrar os volumes /hana/data
e /hana/log
de Persistent Disk para Hyperdisk.
Para ilustrar o processo de migração, é usada a seguinte configuração de exemplo:
- Tipo de máquina:
m2-ultramem-416
(12 TB de memória, 416 vCPUs) - Sistema de escalonamento vertical do SAP HANA implantado usando o documento do Google Cloud
Terraform: guia de implantação do escalonamento vertical do SAP HANA.
- SO: SLES para SAP 15 SP1
- SAP HANA: HANA 2 SPS06, patch 63
- Tipo de disco padrão: disco permanente SSD (
pd-ssd
) - Os volumes
/hana/data
e/hana/log
são montados em discos separados e criados usando LVM e XFS - A opção de reinicialização rápida do SAP HANA está ativada e 6 TB de dados são carregados no banco de dados. Para saber como fazer isso, consulte Como ativar a reinicialização rápida do SAP HANA.
Para migrar volumes Persistent Disk para volumes do Hyperdisk, siga estas etapas:
Interrompa o banco de dados SAP HANA executando o comando
HDB stop
:HDB stop
Como alternativa, execute o comando
sapcontrol
:sapcontrol -nr INSTANCE_NUMBER -function StopSystem HDB
Substitua
INSTANCE_NUMBER
pelo número da instância do sistema SAP HANA.Para mais informações, consulte o documento SAP Como iniciar e interromper sistemas SAP HANA (em inglês).
Desconecte os volumes
/hana/data
e/hana/log
do sistema de arquivos:umount /hana/data umount /hana/log
Determine os discos de nomes que hospedam os volumes
/hana/data
e/hana/log
usando um dos seguintes métodos:Execute o comando
ls
:ls -l /dev/disk/by-id/
A saída mostra o mapeamento de nomes de disco para dispositivos, semelhante a este exemplo:
... lrwxrwxrwx 1 root root 9 May 18 20:14 google-hana-vm-data00001 -> ../../sdb lrwxrwxrwx 1 root root 9 May 18 20:14 google-hana-vm-log00001 -> ../../sdc ...
Execute o comando
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância de computação.ZONE
: a zona da instância de computação.
A saída mostra detalhes sobre a instância de computação, incluindo os discos anexados a ela. Exemplo:
gcloud compute instances describe hana-vm --zone europe-west4-a ... disks: - autoDelete: false deviceName: hana-vm-shared00001 diskSizeGb: '1024' - autoDelete: false deviceName: hana-vm-usrsap00001 diskSizeGb: '32' - autoDelete: false deviceName: hana-vm-data00001 diskSizeGb: '14093' - autoDelete: false deviceName: hana-vm-log00001 diskSizeGb: '512'
No console do Google Cloud, acesse a página Instâncias de VM do Compute Engine e clique no nome da instância de computação. A seção Armazenamento mostra as informações do disco associado.
Crie snapshots dos discos que hospedam os volumes
/hana/data
e/hana/log
:gcloud compute snapshots create DATA_DISK-snapshot \ --project=PROJECT_ID \ --source-disk-zone=SOURCE_DISK_ZONE \ --source-disk=DATA_DISK \ gcloud compute snapshots create LOG_DISK-snapshot \ --project=PROJECT_ID \ --source-disk-zone=SOURCE_DISK_ZONE \ --source-disk=LOG_DISK
Substitua:
DATA_DISK
: o nome do disco que hospeda o volume/hana/data
, que é definido como um prefixo para o snapshot do disco de dados.LOG_DISK
: o nome do disco que hospeda o volume/hana/log
, que é definido como um prefixo para o snapshot do disco de registro.PROJECT_ID
: o ID do projeto do Google Cloud em que o disco é implantadoSOURCE_DISK_ZONE
: a zona do Compute Engine em que o disco é implantado
Para mais informações sobre como criar snapshots, consulte Criar e gerenciar snapshots de disco.
Usando os snapshots de disco que você criou, crie volumes do Hyperdisk para os volumes
/hana/data
e/hana/log
:gcloud compute disks create DATA_DISK-hd \ --project=PROJECT_ID \ --zone=ZONE \ --type=HYPERDISK_TYPE \ --provisioned-iops=IOPS_DATA_DISK \ --source-snapshot=DATA_DISK-snapshot \ gcloud compute disks create LOG_DISK-hd \ --project=PROJECT_ID \ --zone=ZONE \ --type=HYPERDISK_TYPE \ --provisioned-iops=IOPS_LOG_DISK \ --source-snapshot=LOG_DISK-snapshot
Substitua:
DATA_DISK
: o nome do volume do Persistent Disk que hospeda o volume/hana/data
, que é definido como um prefixo para o nome do volume do Hyperdisk criadoLOG_DISK
: o nome do volume do Persistent Disk que hospeda o volume/hana/log
, que é definido como um prefixo para o nome do volume do Hyperdisk criadoPROJECT_ID
: o ID do projeto do Google CloudHYPERDISK_TYPE
: o tipo de Hyperdisk que você quer criar, comohyperdisk-extreme
ZONE
: a zona do Compute Engine em que você precisa implantar os volumes do HyperdiskIOPS_DATA_DISK
: as IOPS que você quer definir para o Hyperdisk que está sendo criado para hospedar/hana/data
. Você define as IOPS de acordo com seus requisitos de desempenho.IOPS_LOG_DISK
: as IOPS que você quer definir para o Hyperdisk que está sendo criado para hospedar/hana/log
. Você define as IOPS de acordo com seus requisitos de desempenho.
Se você estiver criando volumes do Hyperdisk equilibrado (
hyperdisk-balanced
), também será possível definir a capacidade de processamento.Para informações sobre o tamanho mínimo, as IOPS e a capacidade que você precisa definir para usar volumes de hiperdisco com o SAP HANA, consulte a linha correspondente ao tipo de máquina do Compute Engine em Tamanhos mínimos para volumes de Persistent Disk e hiperdisco baseados em SSD.
Para mais informações sobre como restaurar um disco de um snapshot, consulte Restaurar de um snapshot.
Na instância do Compute Engine que hospeda o banco de dados SAP HANA, desconecte os volumes Persistent Disk que hospedam os volumes
/hana/data
e/hana/log
:gcloud compute instances detach-disk INSTANCE_NAME \ --disk=DATA_DISK \ --zone=ZONE gcloud compute instances detach-disk INSTANCE_NAME \ --disk=LOG_DISK \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da sua instância do Compute EngineDATA_DISK
: o nome do volume do Persistent Disk que hospeda o volume/hana/data
que você quer remover.LOG_DISK
: o nome do volume do Persistent Disk que hospeda o volume/hana/log
que você quer remover.ZONE
: a zona do Compute Engine em que o disco é implantado.
Anexe os volumes do Hyperdisk que você criou à instância do Compute Engine que hospeda o banco de dados SAP HANA:
gcloud compute instances attach-disk INSTANCE_NAME \ --disk=DATA_DISK-hd \ --zone=ZONE gcloud compute instances attach-disk INSTANCE_NAME \ --disk=LOG_DISK-hd \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância do Compute EngineDATA_DISK
: o nome do volume do Hyperdisk que você quer usar para hospedar o volume/hana/data
LOG_DISK
: o nome do volume do Hyperdisk que você quer usar para hospedar o volume/hana/log
ZONE
: a zona do Compute Engine em que o Hyperdisk é implantado
Para montar os volumes do Hyperdisk, execute as etapas a seguir como
root
ou um usuário com acessosudo
:Remova todas as definições de mapeamento de dispositivos para evitar conflitos de mapeamento de dispositivos LVM:
dmsetup remove_all
Verifique todos os discos quanto a grupos de volumes, recrie caches e crie volumes ausentes, incluindo LVM:
vgscan -v --mknodes
O resultado será assim:
Scanning all devices to initialize lvmetad. Reading volume groups from cache. Found volume group "vg_hana_data" using metadata type lvm2 Found volume group "vg_hana_shared" using metadata type lvm2 Found volume group "vg_hana_log" using metadata type lvm2 Found volume group "vg_hana_usrsap" using metadata type lvm2
Ative os grupos de volumes:
vgchange -ay
O resultado será assim:
1 logical volume(s) in volume group "vg_hana_data" now active 1 logical volume(s) in volume group "vg_hana_shared" now active 1 logical volume(s) in volume group "vg_hana_log" now active 1 logical volume(s) in volume group "vg_hana_usrsap" now active
Verifique se há volumes lógicos:
lvscan
O resultado será assim:
ACTIVE '/dev/vg_hana_data/data' [13.76 TiB] inherit ACTIVE '/dev/vg_hana_shared/shared' [1024.00 GiB] inherit ACTIVE '/dev/vg_hana_log/log' [512.00 GiB] inherit ACTIVE '/dev/vg_hana_usrsap/usrsap' [32.00 GiB] inherit
Ative os discos:
mount -av
O resultado será assim:
/ : ignored /boot/efi : already mounted /hana/shared : already mounted /hana/data : already mounted /hana/log : already mounted /usr/sap : already mounted swap : ignored /hana/tmpfs0/DB1 : already mounted /hana/tmpfs1/DB1 : already mounted /hana/tmpfs2/DB1 : already mounted /hana/tmpfs3/DB1 : already mounted /hana/tmpfs4/DB1 : already mounted /hana/tmpfs5/DB1 : already mounted /hana/tmpfs6/DB1 : already mounted /hana/tmpfs7/DB1 : already mounted
Verifique os novos volumes:
Verifique a utilização do sistema de arquivos:
df -Th
O resultado será assim:
Filesystem Type Size Used Avail Use% Mounted on ... /dev/mapper/vg_hana_shared-shared xfs 1.0T 56G 968G 6% /hana/shared /dev/mapper/vg_hana_usrsap-usrsap xfs 32G 277M 32G 1% /usr/sap tmpfsDB10 tmpfs 5.7T 784G 4.9T 14% /hana/tmpfs0/DB1 tmpfsDB11 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs1/DB1 tmpfsDB12 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs2/DB1 tmpfsDB13 tmpfs 5.7T 782G 4.9T 14% /hana/tmpfs3/DB1 tmpfsDB14 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs4/DB1 tmpfsDB15 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs5/DB1 tmpfsDB16 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs6/DB1 tmpfsDB17 tmpfs 5.7T 782G 4.9T 14% /hana/tmpfs7/DB1 /dev/mapper/vg_hana_log-log xfs 512G 7.2G 505G 2% /hana/log /dev/mapper/vg_hana_data-data xfs 14T 5.7T 8.2T 41% /hana/data
Verifique se os dispositivos estão vinculados aos novos volumes:
lsblk
O resultado será assim:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... sdd 8:48 0 1T 0 disk └─vg_hana_shared-shared 254:0 0 1024G 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 13.8T 0 disk └─vg_hana_data-data 254:1 0 13.8T 0 lvm /hana/data sdg 8:96 0 512G 0 disk └─vg_hana_log-log 254:2 0 512G 0 lvm /hana/log
Inicie o banco de dados SAP HANA usando um dos seguintes comandos:
Execute o comando
HDB start
:HDB start
Execute o comando
sapcontrol
:sapcontrol -nr INSTANCE_NUMBER -function StartSystem HDB
Substitua
INSTANCE_NUMBER
pelo número da instância do banco de dados SAP HANA.Para mais informações, consulte Como iniciar e interromper sistemas SAP HANA.
Usar discos atuais
Se a migração do disco falhar, será possível usar os volumes do Persistent Disk atuais porque eles contêm os dados como eles existiam antes do início do procedimento de migração.
Para restaurar o banco de dados SAP HANA ao estado original, siga estas etapas:
- Interrompa a instância do Compute Engine que hospeda o banco de dados SAP HANA.
- Desanexar os volumes do Hyperdisk que você criou.
- Anexe novamente os volumes do Persistent Disk à instância de computação.
- Inicie a instância de computação.