# MANUAL TÉCNICO - SNAPSHOTS E REPLICAÇÃO - TRUENAS SCALE

**Código:** ITGINF 0013/26 | **Classificação:** RESTRITO
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}

## 1. HISTÓRICO DE REVISÃO

> ⚠️ **REGRA DE OURO:**
> 1. **Autor:** João Pedro Toledo Gonçalves.
> 2. **Descrição:** Criação do documento.

| Data | Versão | Descrição | Autor |
| :--- | :--- | :--- | :--- |
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |

## 2. OBJETIVO
Garantir a proteção de dados contra exclusão acidental e desastres através de Snapshots periódicos ZFS e tarefas de Replicação para local ou servidor secundário.

## 3. PRÉ-REQUISITOS
- [ ] Dataset criado e com dados.
- [ ] Espaço livre no Pool (Snapshots consomem espaço conforme os dados mudam).
- [ ] (Para Replicação) Servidor Secundário ou Pool de Destino pronto.

## 4. CONCEITOS ZFS DE PROTEÇÃO

*   **Snapshot:** Uma "foto" instantânea do sistema de arquivos. É somente leitura. Ocupa 0 bytes inicialmente e cresce à medida que você altera os arquivos originais (Copy-on-write).
*   **Replicação:** Envia essa "foto" para outro lugar. Pode ser incremental (envia só o que mudou).

## 5. PASSO A PASSO (EXECUÇÃO)

### Etapa 1: Configurar Snapshots Periódicos
1.  Acesse `Data Protection` > `Periodic Snapshot Tasks`.
2.  Clique em **Add**.
3.  Preencha:
    *   **Dataset:** Escolha o dataset raiz ou específico (Ex: `tank/financeiro`).
    *   **Recursive:** Marque ✅ (Protege subpastas).
    *   **Naming Schema:** Mantenha o padrão (`auto-%Y-%m-%d_...`).
    *   **Schedule (Agendamento):**
        *   Recomendado: `Hourly` (De hora em hora) ou `Daily` (Diário).
    *   **Snapshot Lifetime (Retenção):**
        *   Ex: `2 Weeks` (Mantém por 2 semanas e depois deleta automaticamente).
4.  Clique em **Save**.

### Etapa 2: Acessar Arquivos Deletados (Windows Shadow Copy)
Graças à integração ZFS <> SMB, usuários podem recuperar arquivos sozinhos.

1.  No Windows, clique com o botão direito na pasta compartilhada.
2.  Selecione **Propriedades** > aba **Versões Anteriores** (Previous Versions).
3.  Aparecerá a lista dos snapshots. O usuário pode abrir ou restaurar.

### Etapa 3: Configurar Replicação (Opcional)
Se houver um segundo servidor TrueNAS ou Pool de Backup local.

1.  Acesse `Data Protection` > `Replication Tasks`.
2.  Clique em **Add**.
3.  **Source (Origem):**
    *   Location: `Local`.
    *   Directory: `{{DATASET_ORIGEM}}`.
4.  **Destination (Destino):**
    *   Location: `Local` (mesma máquina, outro Pool) ou `On a different system` (requer SSH Connection).
    *   Directory: `{{POOL_BACKUP}}/{{DATASET_DESTINO}}`.
5.  **Schedule:** `Run Automatically` (Após a criação de cada snapshot).
6.  Clique em **Next** > **Save**.

![Tarefa de Replicação](assets/replication_task.png)

## 6. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)

**Problema 1: O Pool encheu ("Out of Space") devido a Snapshots**
*   **Causa:** Muitos dados foram deletados/sobrescritos, mas os snapshots retêm os blocos antigos.
*   **Solução:**
    1. Acesse `Storage` > `Snapshots`.
    2. Ordene por `Used`.
    3. Delete snapshots antigos massivamente (Se seguro).
    4. Reduza o "Lifetime" na tarefa periódica.

**Problema 2: Replicação falha ("Authentication Failed")**
*   **Causa:** Chaves SSH trocadas ou expiradas entre servidores.
*   **Solução:**
    1. Recrie a `SSH Connection` em `Credentials` > `Backup Credentials`.
    2. Garanta que o usuário de replicação tem permissão de escrita no destino.

## 7. DADOS TÉCNICOS

| Serviço | Detalhe |
| :--- | :--- |
| **Snapshot Dir** | Os snapshots ficam visíveis ocultamente em `.zfs/snapshot` na raiz do dataset (se habilitado). |
| **Porta Replicação** | 22 (SSH) |

## 8. VALIDAÇÃO FINAL
- [ ] Crie um arquivo txt, espere o snapshot (ou force manual), delete o arquivo e tente recuperar via "Versões Anteriores" no Windows.
- [ ] Verifique se a tarefa de replicação está com status `FINISHED` na tela de Data Protection.
