110 lines
5.3 KiB
Markdown
110 lines
5.3 KiB
Markdown
# MANUAL TÉCNICO - ARQUITETURA ZFS E PLANEJAMENTO - TRUENAS SCALE
|
||
|
||
**Código:** ITGENG 0016/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
|
||
Definir a arquitetura lógica de armazenamento ZFS, incluindo escolha de VDEVs, dimensionamento de hardware (Sizing) e estratégias de redundância para diferentes cargas de trabalho (VMs, Backup, Arquivos).
|
||
|
||
## 3. PRÉ-REQUISITOS
|
||
> Lista de hardware e conceitos necessários.
|
||
* [ ] Servidor compatível com TrueNAS Scale (HCL verificado).
|
||
* [ ] Discos SAS/SATA em modo Passthrough (HBA) ou AHCI. **Jamais Hardware RAID.**
|
||
* [ ] Memória ECC (Recomendado para produção).
|
||
|
||
## 4. CONCEITOS ZFS E REDUNDÂNCIA (VDEVs)
|
||
|
||
> ℹ️ **NOTA:** Um Pool ZFS é composto por um ou mais VDEVs. Se UM VDEV falhar completamente, **TODO O POOL É PERDIDO**. A redundância ocorre no nível do VDEV.
|
||
|
||
### Tipos de VDEV de Dados
|
||
|
||
| Tipo | Descrição | Custo/GB | Performance | Segurança | Uso Recomendado |
|
||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||
| **Mirror** | Espelhamento (RAID 1/10). 2+ discos. | Alto (50% útil) | Alta (Leitura/Escrita) | Alta | VMs, Bancos de Dados, iSCSI. |
|
||
| **RAIDZ1** | Paridade Simples (RAID 5). Min 3 discos. | Baixo | Média | Baixa (Risco na resilver) | Não recomendado para discos > 2TB. |
|
||
| **RAIDZ2** | Paridade Dupla (RAID 6). Min 4 discos. | Médio | Média/Baixa | Muito Alta | File Server, Backups, Mídia. |
|
||
| **RAIDZ3** | Paridade Tripla. Min 5 discos. | Médio | Baixa | Extrema | Cold Storage, Arquivamento Crítico. |
|
||
|
||
### VDEVs Especiais (Performance)
|
||
|
||
1. **LOG (SLOG):**
|
||
* **Função:** Acelera escritas síncronas (NFS, Banco de Dados, iSCSI). Move o ZIL (ZFS Intent Log) para um SSD rápido.
|
||
* **Hardware:** SSD High Endurance (Optane é ideal). Não precisa ser grande (16GB-32GB sobraram).
|
||
* **Risco:** Se o SLOG falhar sem mirror, pode haver perda de dados em escritas não confirmadas durante um crash.
|
||
|
||
2. **CACHE (L2ARC):**
|
||
* **Função:** Extensão da RAM (ARC) para leitura. Armazena dados acessados frequentemente que não cabem na RAM.
|
||
* **Hardware:** NVMe/SSD rápido de leitura.
|
||
* **Atenção:** Consome RAM para mapear o L2ARC. Só use se tiver >64GB de RAM e ela já estiver cheia.
|
||
|
||
3. **METADATA (Special VDEV):**
|
||
* **Função:** Armazena metadados do filesystem e arquivos pequenos. Acelera monstruosamente listagem de diretórios e buscas.
|
||
* **Hardware:** SSD NVMe em Mirror (Obrigatorio).
|
||
* **Crítico:** **Se este VDEV falhar, o pool morre.** Sempre usar espelhamento (Mirror).
|
||
|
||

|
||
*(Imagem ilustrativa da estrutura de Pool > VDEV > Discos)*
|
||
|
||
## 5. DIMENSIONAMENTO DE HARDWARE (SIZING)
|
||
|
||
### Memória RAM (ARC)
|
||
O ZFS usa RAM agressivamente para cache (ARC). É o componente mais importante para performance.
|
||
|
||
> 🚀 **REGRA BÁSICA:** 1 GB de RAM para cada 1 TB de Espaço Bruto.
|
||
|
||
**Cenários Ajustados:**
|
||
* **File Server Simples/Backup:** Pode usar menos (ex: 8GB RAM para 20TB), mas a performance cairá.
|
||
* **VMs/iSCSI:** Mínimo 32GB ou siga a regra de 1GB/1TB, o que for maior.
|
||
* **Deduplicação:** Requer **5 GB de RAM por TB de dados**.
|
||
> ⚠️ **PERIGO:** **Não ative Deduplicação** a menos que tenha certeza absoluta e RAM infinita. Use Compressão (`LZ4` ou `ZSTD`).
|
||
|
||
### CPU
|
||
* **Compressão (LZ4):** Leve, qualquer CPU moderna aguenta.
|
||
* **Compressão (ZSTD-High):** Exige multicore moderno.
|
||
* **Encripatação:** Exige suporte AES-NI.
|
||
|
||
## 6. CENÁRIOS RECOMENDADOS
|
||
|
||
### Cenário A: Alta Performance (Virtualização/Databases)
|
||
* **Layout:** Mirrors de SSDs ou HDDs SAS 10k/15k.
|
||
* **Rede:** 10GbE / 25GbE iSCSI.
|
||
* **Extras:** SLOG (Optane) + RAM Máxima.
|
||
* **Record Size:** Pequeno (8k, 16k) na tunagem do Dataset/Zvol.
|
||
|
||
### Cenário B: Capacidade e Segurança (File Server / Mídia)
|
||
* **Layout:** RAIDZ2 (6-10 discos por VDEV). Evite VDEVs muito largos (>12 discos).
|
||
* **Extras:** Special VDEV (Metadata) em SSD para acelerar navegação de pastas.
|
||
* **Record Size:** Grande (1M) para arquivos de mídia/backup.
|
||
|
||
### Cenário C: Backup Puro (Veeam Repo)
|
||
* **Layout:** RAIDZ2 ou RAIDZ3.
|
||
* **Compressão:** ZSTD (Nível 3 ou superior) para economizar espaço.
|
||
* **Foco:** Custo/GB.
|
||
|
||
## 7. DADOS TÉCNICOS
|
||
|
||
| Parâmetro | Valor Padrão | Notas |
|
||
| :--- | :--- | :--- |
|
||
| **Compressão Padrão** | `LZ4` | Excelente equilíbrio. Mude para `ZSTD` se CPU sobrar. |
|
||
| **Sync** | `Standard` | Para segurança total, use `Always` (Requer SLOG). |
|
||
| **Atime** | `Off` | Desligue para evitar escritas desnecessárias a cada leitura. |
|
||
| **Dedup** | `Off` | **NÃO LIGUE**. Performance penalty servero. |
|
||
|
||
## 8. VALIDAÇÃO (CHECKLIST DE DESIGN)
|
||
|
||
- [ ] O Hardware tem acesso direto aos discos (Sem RAID Controller)?
|
||
- [ ] A quantidade de RAM está adequada ao tamanho do pool?
|
||
- [ ] Se usar RAIDZ1, os discos são menores que 2TB? (Se >2TB, use Z2).
|
||
- [ ] Se usar Special VDEV ou SLOG, eles estão redundantes (Mirror)?
|
||
- [ ] Existe plano de backup off-site? (RAID não é Backup).
|