Files
projeto-importado/docs/replicacao_arquivos_ipm_cliente.md
2025-11-28 00:29:42 -03:00

12 KiB

Ativação da Replicação Anexos - PostgreSQL 16

Obs. Esse procedimento é voltado ao cliente que não possui nenhum tipo de configuração de replicação feita. Caso o cliente já tenha a replicação do banco de dados ativa, deve ser utilizado o manual abaixo:

Caso o mesmo não possua nenhum tipo de configuração de Replicação, basta continuar seguindo este manual!

Firewall - PfSense

Acesse o Firewall do cliente através da INT_RT na porta padrão 9080 passando as credencias para realizar o login

  • Configurar o Firewall para receber a replicação:

Primeiro passo é criar um Aliases do IP público passado pelo cliente

Caminho: Firewall / Aliases / IP

Preencha o nome, IP e descritivo do Alises que você esta criando.

Aliases

Após a criação do Aliases, será necessária a criação de uma regra na Interface LAN do cliente liberando a porta padrão da replicação 61100:

Action: Pass
Interface: LAN
Protocol: TCP/UDP
Source: LAN Net
Destination: Single host or alias (Cliente_DC) - aqui você indicara o Aliases criado no passo anterior
Description: Replicacao

OBS: Lembre-se sempre de manter a regra criada na interface acima das regras de bloqueios LAN Net IPv4 e IPv6

Rules_Replicacao

SGDB - MASTER - PRODUÇÃO

  • Após a criação do Aliases e liberação da porta para a replicação, conecte no SGDB do cliente para realizar as configurações:
  • Via Putty conecte no banco master do cliente desejado através do IP INT_RT e a porta padrão 9032.

Devido a versão 16 do Postgres, primeiro será necessário realizar o login com o usuário ipm, e depois de efetuado o login, você deverá se tornar root

usuário: ipm
senha: deve ser consultada no datacenter.ipm.com.br

Caso você execute os passos abaixo e o mesmo não solicite a senha, deve ser verificado se existe comunicação com o banco replicado, através de ping, traceroute ou telnet para testar e garantir a comunicação entre os dois ambientes.

Realize a conexão ao banco Slave do cliente:

ssh -p 61100 [email protected] 
Após executar o comando o mesmo irá solicitar a senha. Passe a senha conforme repassado pelo cliente

SGDB - SLAVE

Após conectar no banco replicado, execute o comando abaixo para se tornar root

su - root
Após executar o comando o mesmo irá solicitar a senha. Passe a senha conforme repassado pelo cliente

Logado com o root, crie o usuário para a replicação (Substituia pelo código do cliente e defina uma senha para o usuário):

useradd rep00000
passwd rep00000

Em seguida, adicione o usuário criado (rep00000) no mesmo grupo e pasta do usuário postgres:

# vim /etc/passwd

postgres:x:121:125:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
rep00000:x:121:125:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash

Crie a pasta de acesso via SSH no servidor Replicado

ssh [email protected] (yes)

Será exibido a mensagem abaixo e solicitado a senha:

The authenticity of host '0.1.2.3 (0.1.2.3)' can't be established.
ED25519 key fingerprint is SHA256:MN8C+wPjLZUq2Zppy8c9qCsrHhnhTqTaY1fyKJO8+RI.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '0.1.2.3' (ED25519) to the list of known hosts.

Informe a senha para conexão:

[email protected]'s password:
Permission denied, please try again.

Após o alerta de permission denied, clique em ctrl + c para cancelar a operação

Obs. Mesmo com erro, a operação acima criou a pasta .ssh no usuário root

IMPORTANTE: O comando abaixo, só deve ser executado caso o ambiente seja exclusivo para a replicação dos arquivos (anexos do sistema). Caso o mesmo já esteja executando a replicação do Banco de Dados ou será configurado junto com a dos arquivos, o passo abaixo NÃO deve ser executado

systemctl stop postgresql.service
systemctl disable postgresql.service

Agora iremos realizar algumas configurações e limpezas no ambiente, deixando o mesmo preparado para receber a replicação.

Ajustar o hosts da maquina, usando o mesmo padrão de nome do Banco de dados master com a palavra SLAVE no final e também substituindo o IP conforme o IP da Interface da VM:

#vim /etc/hosts

IP LAN da Maquina Virtual
00000-cliente-bdp-01-1600-slave

Ajustar o hostname da maquina, usando o mesmo padrão de nome do Banco de dados master com a palavra SLAVE no final:

#vim /etc/hostname

00000-cliente-bdp-01-1600-slave.atende.net

Remover Script Default da IPM que vem junto com o template disponibilizado para o cliente

rm -rf /root/bkp_remoto/

Remover Agendamento do Crontab

crontab -r

Remover Configurações de Ponto de Montagem da Storage do FSTAB:

vim /etc/fstab
//172.16.0.246/Backup  /var/lib/postgresql/storage              cifs    users,noauto,username=serverlinux,password=XXXXXXXXX,domain=ATENDENET,uid=26,gid=26,rw,vers=2.0 0 0

No momento do envio das configurações do ambiente para o cliente, é enviado o espaço em disco necessário para replicar os arquivos. Para criar o disco com o espaço disponibilizado pelo cliente, execute os passos abaixo:

Por padrão, o template da Maquina Virtual já terá um disco de 200GB alocado para a partição, sendo agora necessário apenas a expansão do mesmo:

# Expandir ampliando o disco existente
# Listar os discos (Identificar o disco referente ao lv postgresql--vg03-lv--archived):
   lsblk

   Retorno:
   sdd                               8:48   0  1,4T  0 disk
   └─postgresql--vg03-lv--archived 253:2    0  200GB  0 lvm  /var/lib/postgresql/16/tablespaces/archived

# Após identificado o disco, realize o resize do mesmo:
   pvresize /dev/sdd
   
   # Listar os discos e os espaços livres:
   pvscan

   Retorno:
   PV /dev/sdd    VG postgresql-vg03   lvm2 [<200 GB / 1200 GB free]

   # Após isso, iremos  expandir o volume lógico, alocando 100% do espaço livre para o disco:

   lvextend -l +100%FREE /dev/postgresql-vg03/lv-archived

   # Consultando novamente o espaço:

   pvscan

   Retorno:
   PV /dev/sdd    VG postgresql-vg03   lvm2 [<1,37 TiB / 0    free]

   # Agora iremos expandir o Sistema de arquivos:

   xfs_growfs /var/lib/postgresql/16/tablespaces/archived
   
   # Listas discos (Agora podemos verificar que o espaço no disco é o mesmo do alocado no volume):
   lsblk

   Retorno:
   sdd                               8:48   0  1,4T  0 disk
   └─postgresql--vg03-lv--archived 253:2    0  1,4T  0 lvm  /var/lib/postgresql/16/tablespaces/archived

   # Listar pontos de montagens no Linux! (Verifique se a expansão ocorreu de forma adequada.)
   df -h

   Retorno:
   /dev/mapper/postgresql--vg03-lv--archived  1,4T   11G  1,4T   1% /var/lib/postgresql/16/tablespaces/archived

Após o ajuste do disco, iremos criar o diretório para receber a replicação dos arquivos/anexos do sistema:

su - postgres
cd /var/lib/postgresql/16/tablespaces/archived/
mkdir backup
mkdir -p backup/corrente backup/permanente
chmod 700 backup/ -R

Após todos os passos, execute um reboot no servidor:

su - root
reboot

TASK03 - DATA CENTER PR

Após todo o ambiente configurado, é necessário realizar a configuração da rotina de Copia/Replicação dos Arquivos(Anexos) do sistema:

Conecte no Servidor TASK03 no ambiente Data Center do PR (172.16.0.103):

#### Executar no Task03/PR01 #####
rclone config
n
name> (Database)
Storage> 45
host> (IP Público do cliente)
user> rep00000
port> 61100
SSH Password, Choose an alternative below. Press Enter for the default> (y) Yes, type in my own password
Enter the password: (senha do usuário rep00000)
Confirm the password: (senha do usuário rep00000)
key_pem>
key_file>
Option key_file_pass> (n)
pubkey_file>
key_use_agent> 
use_insecure_cipher> 
disable_hashcheck> true
ssh> 
Edit advanced config? (n)
Configuration complete. (y)
  • Execute o Script Inicial dos arquivos Atuais
- Transferência de arquivos atuais (Ceph RedHat / Apache)  - pasta corrente
rclone sync /storage/pr01-dd6400_01/STORE/Arquivos/rsync/00000_cliente/00000_cliente-full/00000_cliente/arquivo 00000_cliente:/var/lib/postgresql/16/tablespaces/archived/backup/corrente -v --no-update-modtime --size-only &>> /root/bkp_files/log/00000_cliente-20241113-14224000000000.log &
  • Assim que o Script Inicial for executado, deve-se comentar o arquivo de configuração do Rclone do cliente em questão:
#Comentar Configuração do Rclone do cliente:

/root/.config/rclone/rclone.conf
  • Após finalizado a replicação manual (inicial) dos arquivos do CEPH Redhat/Apache, descomente a configuração do backup incremental do cliente no arquivo rclone.conf do servidor TASK03

Arquivos Históricos

Caso o cliente possua arquivos históricos nas Storage CEPH Ubuntu ou ISILON, os procedimento abaixo devem ser executados:

Exemplo de Script para Arquivos Históricos - ISILON E Ubuntu - Exemplo com o Cliente São José:

- Transferência de arquivos antigos (Ceph Ubuntu / Isilon)  - pasta permanente
rclone copy /storage/pr01-dd6400_01/STORE/Anual/00000_cliente/00000_cliente-20241113-143000-arquivos-s3-rclone 00000_cliente:/var/lib/postgresql/16/tablespaces/archived/backup/permanente -v &>> /root/bkp_files/log/00000_cliente-20241113-14300000000000.log &

rclone copy /storage/pr01-dd6400_01/STORE/Anual/00000_cliente/storage/s3/00000_cliente/00000_cliente 00000_cliente:/var/lib/postgresql/16/tablespaces/archived/backup/permanente -v &>> /root/bkp_files/log/00000_cliente-20241113-14300000000000.log &

ZABBIX - MONITORAMENTO

Para o acompanhamento do funcionamento do ambiente Slave, deve ser cadastrado o Equipamento do SGDB Slave do cliente no Monitoramento do Zabbix:

Devido ao servidor não estar no ambiente do Data Center da IPM, o monitoramento será apenas via ICMP

Configuration > hosts

Hostname: 00000-cliente-bdp-01-1600-slave.atende.net
Groups: cliente.atende.net e Virtual Machines
Agent: XXX.XXX.XXX.XXX - Informe o IP Público passado pelo cliente
Monitored by proxy: PX_PMCliente - Adicione no mesmo proy do cliente em questão

Obs: Caso o IP do cliente não esteja liberado para ICMP deve ser solicitado a liberação para o bloco IP do Data Center 177.11.20.0/22 afim de conseguirmos monitorar o ambiente.

Exemplo do banco replicado de Pinhais:

Zabbix_Slave

GTT - Cadastro Equipamento

Após todas as configuração dos passos anterior, deve ser cadastrado o equipamento no GTT afins de documentação:

#Caminho: Gerenciamento Data Center » Manutenção » Equipamentos » Equipamento
Nome: 00000-cliente-bdp-01-1600.atende.net
Tipo de Equipamento: Banco de dados
Local da Instalação: Selecione o Data Center onde o cliente encontra-se
Classificação: Virtual
Sistema Operacional: Linux - Ubuntu Linux (64-bit)

GTT_Equipamento_Cadastro

Em seguida, cadastre os três usuários (root), (ipm) e o (rep00000) criado anteriormente:

Caminho: Gerenciamento Data Center » Manutenção » Equipamentos » Equipamento » Consultar Usuários do Equipamento

GTT_Equipamento_Usuario

Cadastre também as Interfaces de rede (WAN e LAN) do ambiente do cliente (Lembre-se de desmarcar a opção Gerenciar IPv4):

Caminho: Gerenciamento Data Center » Manutenção » Equipamentos » Equipamento » Consultar Interfaces do Equipamento

GTT_Equipamento_Usuario

Vincule também a instancia do cliente no Equipamento que esta sendo cadastrado:

Caminho: Gerenciamento Data Center » Manutenção » Equipamentos » Equipamento » Consultar Equipamento x Instância

GTT_Equipamento_Usuario