# 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). ![Diagrama de VDEVs ZFS](assets/zfs_architecture.png) *(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).