4.4 KiB
Migração de dados do Elasticsearch (para /var/lib/docker/local)
Este guia descreve como migrar os dados da stack do Elasticsearch do diretório padrão (/var/lib/docker/data) para o diretório local (/var/lib/docker/local) no host.
O diretório local não participa do compartilhamento do GlusterFS (não é replicado entre hosts). Utilize apenas quando for aceitável manter os dados em um único host.
ATENÇÃO
- Haverá indisponibilidade do serviço (a stack será parada).
- Verifique espaço em disco no host de destino antes de migrar (
df -h).- Este procedimento deve ser executado por um usuário com privilégios de admin no Portainer e root no servidor.
Pré-requisitos
- Acesso ao Portainer do cliente.
- Acesso SSH ao host (ex.:
msd-01) com usuário root. - Nome da stack e variáveis de volume da aplicação.
- Espaço livre suficiente em
/var/lib/docker/local.
1) Acessar o Portainer
Acesse a interface web do Portainer do cliente:
- Exemplo:
https://172.24.1.24:9443 - Observação: utilize a mesma senha do usuário
rootdo servidor.
2) Parar a stack do Elasticsearch
Stack: 08573-des-atendenet-0870-01
No Portainer, abra a stack e clique em Stop this stack, conforme a imagem:
Por quê? Parar a stack evita escrita nos volumes durante a cópia, garantindo a integridade dos dados.
3) Ajustar os diretórios das variáveis de volume
Atualize as seguintes variáveis da stack para apontar para o diretório local:
DES_ELASTICSEARCH_DATA_VOLUME_PATHDES_ELASTICSEARCH_BACKUP_VOLUME_PATHDES_ELASTICSEARCH_PLUGINS_VOLUME_PATH
Antes: apontam para /var/lib/docker/data
Depois: devem apontar para /var/lib/docker/local
Exemplo:
DES_ELASTICSEARCH_DATA_VOLUME_PATH=/var/lib/docker/local/08573-des-atendenet-0870-01/data
DES_ELASTICSEARCH_BACKUP_VOLUME_PATH=/var/lib/docker/local/08573-des-atendenet-0870-01/data
DES_ELASTICSEARCH_PLUGINS_VOLUME_PATH=/var/lib/docker/local/08573-des-atendenet-0870-01/data
Clique em Save settings.
Não inicie a stack ainda.
4) Limpar volumes não utilizados no Portainer
No menu lateral, acesse Volumes.
Filtre por Unused para listar apenas volumes não utilizados por nenhum container:
Selecione todos os volumes listados e remova-os:
Nota: A remoção de volumes marcados como Unused não apaga os dados salvos diretamente no host (como em
/var/lib/docker/local/...). É apenas uma limpeza de volumes órfãos do Docker.
5) Copiar os dados no host (via SSH)
Acesse via SSH o host do cliente msd-01 com usuário root e execute:
Atenção para substituir o código do cliente nos comandos executados abaixo
mkdir -p /var/lib/docker/local
cd /var/lib/docker/data
cp -ar 08573-des-atendenet-0870-01 /var/lib/docker/local
ls -la /var/lib/docker/local/08573-des-atendenet-0870-01/
O procedimento acima pode demorar mais, dependendo o tamanho do cliente e uso do Elastic Search.
6) Iniciar novamente a stack e validar
Volte ao Portainer do cliente e inicie a stack.
- Verifique os logs dos serviços e confirme que o status está running.
- Valide o Elasticsearch (ex.: health
green/yellownos logs, operações básicas de leitura/escrita da aplicação).
07) Necessário realizar atualização também no cadastro do GTT
Gerenciamento Data Center » Manutenção » Equipamentos » Equipamento » Consultar Serviços do Equipamento » Configuração de Serviço
Pós-migração (boas práticas)
- Monitore espaço em disco de
/var/lib/docker/local. - Estratégia de rollback simples (basta reverter as variáveis para
/var/lib/docker/data, parar a stack, e iniciar novamente).
Observação final:
Como /var/lib/docker/local não é compartilhado pelo GlusterFS, os dados permanecerão somente no host atual. Certifique-se de que isso atende aos requisitos do ambiente e às políticas de continuidade/recuperação.





