131 lines
4.4 KiB
Markdown
131 lines
4.4 KiB
Markdown
# 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 `root` do 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_PATH`
|
|
* `DES_ELASTICSEARCH_BACKUP_VOLUME_PATH`
|
|
* `DES_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
|
|
|
|
```bash
|
|
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`/`yellow` nos 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.
|