Proxmox Backup Server (PBS) é uma solução robusta e eficiente para backup deduplicado de ambientes virtualizados e físicos. No entanto, armazenar todos os dados em discos locais pode limitar a escalabilidade e a resiliência contra desastres. A configuração de repositórios remotos no PBS permite que você centralize seus backups, distribua cargas de armazenamento e aumente a durabilidade dos seus dados críticos.
Este tutorial técnico guia sysadmins e profissionais de infraestrutura Linux através do processo de configuração de um repositório remoto (Remote Repository) no Proxmox Backup Server. Vamos cobrir desde a preparação do servidor de destino até a conexão e validação final, garantindo que sua estratégia de backup seja resiliente e escalável.
Entendendo a Arquitetura de Repositórios Remotos
No ecossistema Proxmox, o PBS atua como um servidor centralizado. Por padrão, ele armazena dados em repositórios locais (geralmente LVM-Thin ou ZFS). Quando você configura um repositório remoto, o PBS usa o protocolo SSH para enviar blocos deduplicados para outro servidor Linux que também esteja executando o Proxmox Backup Server. Isso cria uma hierarquia onde:
- O servidor local (origem) mantém os dados primários.
- O servidor remoto (destino) atua como um espelho ou expansão de armazenamento.
É crucial entender que a deduplicação ocorre no servidor de origem. Ou seja, se você tem 1 TB de dados únicos no PBS local e envia isso para um repositório remoto, o servidor remoto receberá exatamente 1 TB de dados comprimidos e deduplicados, mas não realizará uma segunda passagem de deduplicação sobre os mesmos dados já processados. Isso otimiza a largura de banda e reduz a latência.
Pré-requisitos e Preparação do Ambiente
Antes de iniciar a configuração, certifique-se de ter os seguintes elementos em mãos:
- Dois servidores Proxmox Backup Server: Um para o armazenamento principal (Origem) e outro para o destino (Remoto). Ambos devem estar atualizados na versão mais recente estável.
- Acesso Root ou sudo: Você precisa de privilégios elevados em ambos os servidores.
- Conectividade de Rede: Os servidores devem conseguir se comunicar via porta SSH (padrão 22, ou outra configurada).
- Espaço em Disco: O servidor remoto deve ter espaço suficiente para receber os dados. Lembre-se de que o espaço necessário no remoto será aproximadamente igual ao tamanho dos dados deduplicados no local.
Dica de segurança: Recomenda-se fortemente o uso de chaves SSH para autenticação, evitando senhas em texto claro e facilitando a automação via scripts de backup.
Passo 1: Configuração da Chave SSH no Servidor Remoto
A comunicação entre os dois servidores PBS é baseada em SSH. Para garantir uma conexão segura e sem intervenção manual (como digitar senhas), vamos configurar a autenticação por chave pública.
No seu servidor local (origem), execute o seguinte comando para gerar um par de chaves se você ainda não tiver uma:
ssh-keygen -t ed25519 -C "pbs-backup-local"
Pressione Enter para aceitar os padrões. Em seguida, copie a chave pública para o servidor remoto. Substitua remote_user pelo seu usuário administrativo no PBS remoto e 192.168.1.50 pelo IP do servidor remoto:
ssh-copy-id [email protected]
Teste a conexão para garantir que não há prompts de senha:
ssh [email protected] "echo 'Conexão SSH bem-sucedida'"
Se a mensagem for exibida sem pedir senha, sua configuração de chave está correta.
Passo 2: Configuração do Repositório no Proxmox Backup Shell (PBS)
O Proxmox Backup Server oferece uma interface de linha de comando poderosa chamada pbs. Embora seja possível fazer isso pela WebUI, o uso do shell garante precisão e é ideal para administradores que preferem ambientes Linux puros.
Acesse o console do seu servidor PBS local. Você pode fazer isso diretamente no nó Proxmox VE ou via SSH no próprio servidor PBS.
Vamos criar o repositório remoto usando o comando pbs repository add. A sintaxe básica é:
pbs repository add <ID> <destino_ssh>
Exemplo prático: Vamos chamar nosso repositório de remote-site-01.
pbs repository add remote-site-01 ssh://[email protected]/backups
Neste comando:
remote-site-01: É o ID local que você usará para referenciar este repositório em tarefas de backup e snapshots.ssh://[email protected]/backups: É a URI SSH. Note que especificamos um diretório remoto (/backups). O PBS criará o repositório dentro desse diretório se ele não existir.
Após executar o comando, o sistema pedirá confirmação para adicionar a chave do host remoto (se for a primeira conexão) e, dependendo da configuração de autenticação, pode solicitar a senha root remota uma última vez ou usar sua chave SSH configurada.
Passo 3: Verificação e Monitoramento via WebUI
Embora tenhamos adicionado o repositório via CLI, é fundamental verificar sua integridade através da interface web, que oferece visualizações gráficas do status de sincronização e espaço utilizado.
Acesse a interface administrativa do seu Proxmox Backup Server. No menu lateral esquerdo, navegue até Datacenter > Storage.
Você verá uma lista de todos os repositórios configurados. O novo repositório remote-site-01 aparecerá na lista com o status Enabled. Clique nele para ver detalhes:
- Total Size: Capacidade total do disco no servidor remoto.
- Used Size: Espaço atualmente ocupado pelos dados enviados.
- Free Space: Espaço disponível restante.
Se o status mostrar Error, verifique os logs. O caminho mais comum para problemas de conexão é a porta SSH bloqueada por firewalls ou credenciais incorretas.
Passo 4: Configuração de Retenção e Sincronização
Apenas adicionar o repositório não significa que os dados serão enviados automaticamente. Você precisa configurar as políticas de retenção (retention) para garantir que os backups locais sejam replicados para o remoto.
No menu Datacenter > Backup, você pode definir tarefas globais ou específicas. No entanto, a sincronização entre repositórios é frequentemente gerenciada através da configuração de retenção em cada repositório individualmente.
Vá para o nó específico (se estiver gerenciando múltiplos servidores PBS) ou edite o repositório local. A lógica padrão do PBS é: se você define uma política de retenção no repositório local, os dados são mantidos localmente por aquele período. Para enviar para o remoto, você deve configurar a sincronização.
No Proxmox Backup Server moderno, a sincronização é muitas vezes automática se o repositório remoto estiver configurado corretamente e as permissões de acesso forem válidas. No entanto, para controle fino:
- Navegue até Storage.
- Clique no seu repositório local (ex:
local). - Vá para a aba Retention.
- Defina as regras de limpeza (Garbage Collection). Certifique-se de que os snapshots que você deseja manter no remoto também estejam marcados para retenção.
Para forçar uma sincronização inicial imediata, você pode usar o comando:
pbs sync remote-site-01
Isso enviará todos os chunks de dados únicos que não foram ainda transmitidos para o servidor remoto.
Passo 5: Validação da Integridade dos Dados
Após a configuração, é uma boa prática de administração validar se os dados chegaram intactos ao destino. O PBS possui ferramentas robustas de verificação.
No servidor remoto, você pode listar os backups recebidos:
pbs backup list --repository remote-site-01
Para verificar a integridade dos dados (checksums), execute:
pbs check repository remote-site-01
Este comando varre os dados no repositório remoto e verifica se todos os chunks estão íntegros. Se houver corrupção de dados devido a problemas de rede ou disco, o PBS reportará erros específicos.
Melhores Práticas para Administração de Backups em Rede
Ao implementar repositórios remotos no Proxmox Backup Server, considere os seguintes pontos críticos para manter uma infraestrutura saudável:
1. Largura de Banda e Janelas de Backup
O envio de dados via SSH consome banda de rede. Configure suas tarefas de backup (no Proxmox VE ou PBS) para ocorrerem durante janelas de baixa demanda. Use o comando vzdump com a flag --bwlimit se estiver fazendo backups diretos, ou ajuste as prioridades de sincronização no PBS.
2. Monitoramento de Espaço em Disco
Monitorar apenas o servidor local não é suficiente. Implemente alertas (via Zabbix, Prometheus ou Proxmox Alert Handler) para monitorar o espaço livre no servidor remoto. Se o disco remoto encher, as sincronizações falharão silenciosamente ou gerarão erros críticos.
3. Segurança da Chave SSH
Não use a chave root padrão sem proteção restritiva. Crie um usuário dedicado no servidor remoto (ex: pbs-sync) e restrinja sua chave SSH no arquivo ~/.ssh/authorized_keys usando a opção command="..." para permitir apenas comandos específicos do PBS, ou use restrições de IP no firewall.
4. Testes de Restauração (Restore Tests)
A configuração técnica é inútil se você não puder restaurar. Realize testes periódicos de restauração de VMs e contêineres diretamente do repositório remoto para validar o caminho completo de leitura.
Resolução de Problemas Comuns
Se a sincronização falhar, aqui estão os diagnósticos mais frequentes:
- Erro "Permission denied": Verifique se a chave SSH está correta e se o usuário remoto tem permissão de escrita no diretório de backups.
- Erro "No space left on device": O disco remoto está cheio. Execute
df -hno servidor remoto para verificar. - Latência alta: Se a rede entre os sites for lenta, considere usar o modo de compressão mais agressivo ou ajustar o tamanho dos chunks no PBS (avançado), mas geralmente a deduplicação lida bem com redes lentas devido à transferência apenas de blocos novos.
Para visualizar logs detalhados da sincronização em tempo real:
journalctl -u pbs-proxy.service -f
Conclusão
A configuração de repositórios remotos no Proxmox Backup Server é um passo essencial para qualquer ambiente que leve a proteção de dados a sério. Ao seguir os passos de configuração de SSH, adição do repositório via CLI e validação da integridade, você garante que seus dados estejam seguros contra falhas locais de hardware ou desastres naturais.
Lembre-se: a administração de backups é um ciclo contínuo. Monitore, teste restaurações e mantenha suas chaves SSH atualizadas. Com essa infraestrutura sólida em place, sua equipe de TI pode ter a tranquilidade necessária para focar na inovação do negócio, sabendo que os dados críticos estão replicados e seguros.
Para mais detalhes sobre comandos avançados do PBS, consulte a documentação oficial da Proxmox ou execute man pbs no seu terminal.