ULC Lab · implementação reproduzível
Laboratório: Orquestração de Recuperação de Desastres com Ansible e Rsync em Ambiente Virtualizado
Você terá um ambiente de duas máquinas virtuais Linux, com Ansible automatizando a restauração de arquivos críticos após uma simulação de desastre. O laboratório pode ser realizado em cerca de 2 horas.

- Duração estimada
- 120 min
- Passos
- 11
- Validações
- 5
- Versões da documentação consultada
- Ansible a versão estável atual · Rsync a versão estável atual · OpenSSH a versão estável atual
Demonstrar como automatizar a recuperação de arquivos críticos em um servidor após falha simulada, utilizando Ansible para orquestrar a restauração a partir de um servidor de backup via Rsync. O foco é mostrar a importância da automação para respostas rápidas e reprodutíveis em incidentes, reduzindo o erro humano e o tempo de indisponibilidade.
Topologia
Duas máquinas virtuais Linux (Ubuntu Server 22.04), conectadas em rede privada. Uma máquina é o servidor principal (192.168.56.10), a outra é o servidor de backup (192.168.56.20). O Ansible é executado a partir do servidor principal, que orquestra a restauração de arquivos do backup em caso de desastre.
+---------------------+
| VM1: Principal |
| 192.168.56.10 |
| (Ansible + Rsync) |
+----------+----------+
|
|
+----------+----------+
| VM2: Backup |
| 192.168.56.20 |
| (Rsync) |
+---------------------+Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| Máquina Virtual (VM1) | 1 vCPU, 1GB RAM, 1 interface de rede, Ubuntu Server 22.04 ou superior |
| Máquina Virtual (VM2) | 1 vCPU, 1GB RAM, 1 interface de rede, Ubuntu Server 22.04 ou superior |
| Ansible | GPLv3 · a versão estável atual |
| Rsync | GPLv3 · a versão estável atual |
| OpenSSH | BSD · a versão estável atual |
Roteiro
- Preparar as VMs e rede privada
Crie duas VMs Ubuntu Server e configure ambas na mesma rede privada (ex: VirtualBox Host-Only Adapter).
O que você deve ver: Ambas as VMs conseguem pingar uma à outra.
- Instalar dependências nas VMs
Instale Ansible, Rsync e OpenSSH nas duas VMs.
sudo apt update && sudo apt install ansible rsync openssh-server -yO que você deve ver: Pacotes instalados sem erros.
- Configurar acesso SSH sem senha
Gere chave SSH em VM1 e autorize em VM2 para automação sem senha.
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_ed25519 ssh-copy-id user@192.168.56.20O que você deve ver: Acesso SSH de VM1 para VM2 sem senha.
- Criar diretório de dados críticos
No servidor principal, crie um diretório com arquivos simulando dados críticos.
mkdir -p ~/dados_criticos && echo 'arquivo importante' > ~/dados_criticos/arquivo1.txtO que você deve ver: Diretório e arquivo criados.
- Configurar backup inicial com Rsync
No servidor principal, sincronize os dados críticos para o servidor de backup.
rsync -avz ~/dados_criticos/ user@192.168.56.20:/home/user/backup_dados_criticos/O que você deve ver: Arquivos copiados para o servidor de backup.
- Criar inventário Ansible
No servidor principal, crie um arquivo de inventário com o IP do backup.
echo '[backup] 192.168.56.20 ansible_user=user' > ~/inventarioO que você deve ver: Arquivo inventário criado.
- Criar playbook de restauração
Crie um playbook Ansible para restaurar os dados críticos do backup em caso de desastre.
cat > ~/playbook_restauracao.yml <<EOF - hosts: backup tasks: - name: Restaurar dados críticos para o servidor principal synchronize: src: /home/user/backup_dados_criticos/ dest: /home/user/dados_criticos/ mode: pull recursive: yes delete: no delegate_to: 192.168.56.10 EOFO que você deve ver: Playbook criado.
- Simular desastre (apagando dados)
No servidor principal, apague o diretório de dados críticos para simular perda.
rm -rf ~/dados_criticosO que você deve ver: Diretório removido.
- Executar playbook de restauração
Execute o playbook Ansible para restaurar os dados do backup.
ansible-playbook -i ~/inventario ~/playbook_restauracao.ymlO que você deve ver: Saída indicando restauração dos arquivos.
- Verificar restauração dos dados
No servidor principal, verifique se os arquivos críticos foram restaurados.
ls ~/dados_criticosO que você deve ver: Arquivo(s) restaurado(s) no diretório.
- Automatizar restauração com tag
Adicione uma tag ao playbook para permitir execução seletiva.
Consulte a documentação da Ansible para uso de tags.O que você deve ver: Playbook pode ser executado com --tags.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Ping entre as VMs | ping -c 2 192.168.56.20 | Resposta de ping sem perda. |
| Acesso SSH sem senha | ssh user@192.168.56.20 'echo ok' | Saída 'ok' sem pedir senha. |
| Backup inicial realizado | ssh user@192.168.56.20 'ls ~/backup_dados_criticos' | Arquivo(s) do backup presentes. |
| Restauração automatizada | ls ~/dados_criticos | Arquivo(s) restaurado(s) após playbook. |
| Execução do playbook sem erro | ansible-playbook -i ~/inventario ~/playbook_restauracao.yml | Playbook finaliza com status 'ok'. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Erro de permissão ao acessar diretório remoto | Diretório ou usuário sem permissão adequada | Ajuste permissões com chown/chmod conforme necessário. |
| Falha na autenticação SSH | Chave SSH não copiada corretamente | Refaça o ssh-copy-id e teste o acesso SSH manualmente. |
| Rsync não encontra arquivos | Diretório de origem ou destino incorreto | Verifique caminhos nos comandos e playbook. |
| Ansible não encontra host | IP ou usuário errado no inventário | Corrija o arquivo de inventário. |
| Playbook falha por falta de módulo synchronize | Ansible instalado sem dependências extras | Consulte a documentação para instalar módulos necessários. |
Segurança e hardening
- Restrinja o acesso SSH apenas à rede privada das VMs
- Utilize chaves SSH protegidas por senha em ambientes reais
- Garanta permissões restritas nos diretórios de backup e dados críticos
- Não execute Ansible como root sem necessidade
- Revise logs de acesso após testes
Checklist final
Referências
- Ansible User Guide · Ansible (Red Hat) (docs.ansible.com)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 1 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
