Arquitetura do Sistema de Backup: mudanças entre as edições

De EAPn
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 18: Linha 18:
====Camadas de Rede e Protocolos====
====Camadas de Rede e Protocolos====
'''Transporte Local:''' Montagem de diretório via rede usando NFS + AutoFS(montagem sob demanda)
'''Transporte Local:''' Montagem de diretório via rede usando NFS + AutoFS(montagem sob demanda)

'''Sincronização:''' Rsync da parte do servidor de backup(?)
'''Sincronização:''' Rsync da parte do servidor de backup(?)

'''Gerenciamento:''' Acesso remoto via SSH
'''Gerenciamento:''' Acesso remoto via SSH



Edição das 21h33min de 26 de agosto de 2026

Esta página visa documentar a arquitetura, componentes, interface e fluxo de dados do *servidor de backup*, de forma a garantir que o sistema atenda os requerimentos especificados. Tal documentação atua como um guia para os desenvolvedores, testers e stakeholder durante todo o ciclo de vida do sistema. É importante destacar que certos termos foram mantidos em inglês devido a dificuldade de achar uma tradução adequada, bem como a maior facilidade de busca por tais conceitos utilizando-se de seus nomes em inglês.

Visão geral e Objetivo

O laboratório, onde o EAPn se hospeda, abriga um servidor de backup, responsável por garantir a integridade dos dados do servidor de produção. Sua janela de execução ocorre todos os dias às 08:00 da manhã, via script.

Topologia e Arquitetura

Fluxo de Dados

O fluxo de dados segue 3 etapas: Servidor de Produção -> Dev2 -> Servidor de Backup (fazer um diagrama depois)

(ver como citar o NFS)

  1. O servidor de produção faz a extração de seus banco de dados, compacta os arquivos em LZMA e os envia para o servidor intermediário.
  2. O servidor dev2 atua como zona de transferência, recebendo os arquivos e armazenando temporariamente num diretório compartilhado. Arquitetado dessa forma, o processo de leitura dos backup's não consome poder de processamento do servidor de produção.
  3. Todo dia, às 8h da manhã, o servidor de backup liga sozinho, conecta-se ao dev2, via mapeamento de rede, utilizando-se do protocolo NFS(/nfs/backup), extraindo os dados para si. Os arquivos são gravados no sistema ZFS, espelhando os dados em 3 discos simultaneamente e protegendo contra bit-roting.

Camadas de Rede e Protocolos

Transporte Local: Montagem de diretório via rede usando NFS + AutoFS(montagem sob demanda)

Sincronização: Rsync da parte do servidor de backup(?)

Gerenciamento: Acesso remoto via SSH


Armazenamento

Tecnologia: ZFS (Zettabyte File System)

Nome da pool: "dados"

Topologia: Espelhamento triplo (mirror-0). O ZFS grava o mesmo arquivo simultaneamente em 3 HD's. Se um ou dois discos queimarem, os dados permanecem intactos.

Lógica de Automação

Runbook de Manutenção e Troubleshooting

Comandos Úteis ao Administrador

Acesso ao Servidor:

$ ssh eapn@150.162.57.10

Como não há comando fsck(comando no linux para verificar e reparar inconsistências nos arquivos) para o ZFS, precisamos utilizar o scrub. Esse subcomando é um verificador de consistência dinâmica. Ele roda de plano de fundo em um mounted live filesystem.

Sintaxe para conferência da integridade de dados("dados" é o nome da pool do nosso sistema de backups):

$ zpool scrub nome_da_pool

Confira o andamento do comando anterior e a saúde do sistema:

$ zpool status -v nome_da_pool

Conferência do log diário do servidor:

$  tail -n 15 /home/eapn/syncwithdev2.log

Listagem das datas em que o script rodou (É possivel alterar a quantidade de dias ao mudar o número após "-n"):

$ grep "starting script" /home/eapn/syncwithdev2.log | tail -n 10

Conferência de erros:

$ grep -iE "error|failed|denied" /home/eapn/syncwithdev2.log | tail -n 10