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.
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
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:
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)
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
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
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






