Otávio Henriques

      Otávio Henriques

      Arquiteto de Soluções Enterprise

      Com duas décadas desenhando infraestruturas críticas, olho além do hype. Foco em TCO, resiliência e trade-offs, pois na arquitetura corporativa a resposta correta quase sempre é 'depende'.

      Artigos publicados (29)

      Ceph Rbd Vs Cephfs Vs Rgw Diferencas E Usos

      Ceph Rbd Vs Cephfs Vs Rgw Diferencas E Usos

      O Ceph é uma plataforma unificada, mas a performance muda drasticamente dependendo da interface. **RBD** oferece a menor latência e acesso direto aos OSDs (ideal para VMs e DBs). **CephFS** introduz a complexidade do MDS para garantir POSIX (ideal para arquivos compartilhados). **RGW** adiciona o overhead do protocolo HTTP e indexação de buckets (ideal para S3/Backups). A escolha errada da interface pode destruir a performance do seu cluster, independentemente da velocidade dos discos. --- Muitos administradores tratam o Ceph como uma "caixa preta mágica" onde você joga dados e eles ficam seguros. Embora a parte da segurança dos dados (durabilidade) seja verdadeira, a performance é uma história completamente diferente. A maior confusão que vejo em campo é a escolha da interface errada para o workload errado. Não, você não deve montar um bucket S3 via FUSE para rodar um banco de dados. E não, você não deve usar CephFS se precisa apenas de um disco virtual para uma VM. Para entender isso, precisamos dissecar o **Data Path**: o caminho que o bit percorre desde a aplicação até ser gravado no disco físico. Como discutimos no guia sobre [Block, File e Object Storage](/articles/tipos-de-armazenamento-block-file-object), cada tipo tem sua própria "taxa" de processamento. No Ceph, essa taxa é paga antes de chegar ao layer RADOS. ## A Base de Tudo: RADOS e a Ilusão das Interfaces No fundo, o Ceph não sabe o que é um arquivo, um bloco iSCSI ou um objeto S3. O Ceph só entende **Objetos RADOS**. Toda a mágica acontece no **librados**. RBD, CephFS e RGW são apenas "tradutores" que convertem as chamadas da sua aplicação em operações que o cluster entende. ![A pilha unificada do Ceph: Como Block, File e Object convergem para o layer RADOS.](/images/artigos/ceph-rbd-vs-cephfs-vs-rgw-diferencas-e-usos-ceph-architecture-stack-layers.png) Quando você grava um bloco de 4MB no RBD, ele quebra isso em objetos RADOS. Quando você faz upload de um arquivo no RGW, ele também vira objetos RADOS. A diferença é **como** essa tradução ocorre e quantos "pedágios" (hops de rede e CPU) você paga no caminho. ## 1. RBD (RADOS Block Device): O Caminho Expresso O RBD é, na maioria dos casos, a interface mais performática do Ceph. Por quê? Porque ele é "burro" da maneira certa. O driver do cliente (`librbd`, usado pelo QEMU/KVM, ou o módulo do kernel Linux) faz o trabalho pesado. Ele pega o mapa do cluster (OSD Map), calcula via algoritmo CRUSH exatamente onde os dados devem estar e fala **diretamente com os OSDs**. ### O Data Path do RBD: 1. **Aplicação (ex: VM)** envia write de 4KB. 2. **Librbd** mapeia esse write para um objeto (ex: `rbd_data.1234`). 3. **Librbd** calcula o PG (Placement Group) e os OSDs primários/secundários. 4. **Socket Direto:** O cliente abre conexão TCP direto com o OSD responsável. Não há "servidor de metadados" no meio do caminho para operações de I/O de dados. O overhead é mínimo. **Comandos Práticos:** Para verificar o mapeamento real de um objeto RBD e ver onde ele vive: ```bash rbd ls -l pool_vms/vm-100-disk-0 # Descobrir onde o prefixo do objeto está mapeado ceph osd map pool_vms rbd_data.1025774b0dc51.0000000000000001 ``` **Quando usar:** * Discos de Máquinas Virtuais (Proxmox, OpenStack). * Bancos de dados (via block device montado). * Qualquer cenário onde [IOPS, Throughput e Latência](/articles/iops-throughput-latencia-guia-completo) sejam críticos. ## 2. CephFS: O Custo do POSIX O CephFS é incrível porque é um sistema de arquivos distribuído POSIX-compliant. Isso significa que você pode ter 100 servidores montando a mesma pasta e gravando simultaneamente. Mas a conformidade POSIX custa caro. Para manter a consistência de diretórios, permissões e *locks* de arquivos, o Ceph precisa de um componente extra: o **MDS (Metadata Server)**. ### O Data Path do CephFS: O tráfego é bifurcado (Split-brain architecture): 1. **Metadados (open, ls, chmod):** O cliente fala com o **MDS**. O MDS mantém a árvore de diretórios na RAM (para velocidade) e faz flush para o RADOS. 2. **Dados (read, write):** Uma vez que o cliente sabe onde o arquivo está (graças ao MDS), ele fala **diretamente com os OSDs**, similar ao RBD. **O Gargalo:** Se você tiver milhões de arquivos pequenos, o MDS vira o gargalo. Um `ls -l` em um diretório com 1 milhão de arquivos pode travar sua aplicação, mesmo que seus discos OSD estejam ociosos. **Tuning Crítico:** Você precisa ajustar o cache do MDS e, em clusters grandes, usar *MDS Pinning* para distribuir subárvores de diretórios entre múltiplos MDS ativos. ```bash # Verificar status do MDS e lag ceph fs status # Definir afinidade de cache para diretórios quentes (Pinning) setfattr -n ceph.dir.pin -v 1 /mnt/cephfs/hot_data ``` **Quando usar:** * Pastas compartilhadas (Home directories, Webroot de clusters). * Workloads HPC (High Performance Computing). * Kubernetes RWX (ReadWriteMany) volumes. ## 3. RGW (RADOS Gateway): A Camada Web O RGW é a interface que transforma o Ceph em um "AWS S3 on-premise". Ele é fundamentalmente diferente de RBD e CephFS porque fala HTTP/REST. ### O Data Path do RGW: Aqui o overhead é maior. 1. **Cliente** envia requisição HTTP (PUT/GET). 2. **Load Balancer** (HAProxy/Nginx) recebe e passa para o RGW. 3. **RGW Daemon** processa o HTTP, autentica a request, consulta o **Bucket Index** (metadados do bucket). 4. **RGW** converte o payload em objetos RADOS e envia aos OSDs. Além da latência do protocolo TCP/HTTP, o RGW tem um custo pesado de **Indexação**. Cada bucket mantém um índice (geralmente no RocksDB via OSDs) listando seus objetos. Se você colocar 10 milhões de objetos num único bucket sem *sharding* (fragmentação do índice), a performance de escrita vai despencar. ![Comparativo de overhead e latência: O impacto da arquitetura na performance de I/O.](/images/artigos/ceph-rbd-vs-cephfs-vs-rgw-diferencas-e-usos-ceph-interface-latency-comparison.png) **Estratégia de Backup:** O RGW é o destino clássico para backups. Como discutimos em [Backup Full, Incremental e Diferencial](/articles/backup-full-incremental-e-diferencial-em-storage), ferramentas modernas (Veeam, Kasten, Velero) falam S3 nativamente. O overhead de latência do RGW não importa tanto para throughput de backup, desde que a largura de banda seja alta. **Quando usar:** * Armazenamento de objetos imutáveis (Imagens, PDFs, Logs). * Target de Backup. * Aplicações Cloud-Native. * Federated Storage (Multi-site replication). ## Comparativo Técnico: Overhead e Latência Para decidir a arquitetura, use esta matriz de decisão. Note como o cache do cliente afeta o resultado, um conceito que exploramos em [Read-ahead e Write Buffering](/articles/read-ahead-write-buffering-ajuda-atrapalha). | Característica | RBD (Block) | CephFS (File) | RGW (Object) | | :--- | :--- | :--- | :--- | | **Protocolo** | Nativo Ceph (TCP) | Nativo Ceph (TCP) | HTTP/REST | | **Componente Central** | Librbd (Client-side) | MDS (Metadata Server) | RGW Daemon (Gateway) | | **Latência Típica** | Baixa (< 1-2ms + Network) | Média (Depende do MDS) | Alta (Overhead HTTP) | | **Gargalo Comum** | OSD (Disco/Rede) | CPU/RAM do MDS | CPU do RGW / Bucket Index | | **Cache Client-side** | RBD Cache (RAM do Host) | Kernel Page Cache | Inexistente (Stateless) | | **Ideal para** | IOPS intensivo, Virtualização | Compartilhamento, HPC | Throughput, Web, Archival | ## Veredito: Qual escolher? 1. **Performance Pura (IOPS/Latência):** Use **RBD**. Se você precisa rodar um banco de dados, formate um volume RBD com XFS/Ext4 e monte localmente. Nunca coloque um DB sobre CephFS ou montagens S3 (s3fs/go-ofys), pois a consistência e latência serão terríveis. 2. **Colaboração:** Use **CephFS**. Se múltiplos servidores precisam ler/escrever nos mesmos arquivos simultaneamente, esta é a única opção viável que mantém a sanidade do POSIX. 3. **Escala Infinita e Web:** Use **RGW**. Se a aplicação foi feita para web (GET/PUT), não tente forçá-la a usar arquivos. O RGW escala horizontalmente: precisa de mais performance? Suba mais gateways RGW atrás do Load Balancer. O Ceph é poderoso porque permite misturar esses workloads no mesmo cluster RADOS subjacente. No entanto, isolar pools e definir "Crush Rules" separadas (ex: SSD para RBD, HDD para RGW) é a marca de uma arquitetura madura.

      Diferencas Reais Entre Sata Sas E NVMe

      Diferencas Reais Entre Sata Sas E NVMe

      Como sysadmins, frequentemente nos deparamos com a escolha de soluções de armazenamento para servidores, estações de trabalho e até mesmo laptops. SATA, SAS e N...

      Replicacao Sincrona Vs Assincrona

      Replicacao Sincrona Vs Assincrona

      **O Preço da Consistência: Latência e Disponibilidade**...

      ZFS ARC: O Mito da RAM Devorada e a Arte do Tuning Real

      ZFS ARC: O Mito da RAM Devorada e a Arte do Tuning Real

      Seu servidor está sem RAM ou o ZFS está apenas fazendo o trabalho dele? Entenda o ARC, analise hit rates e saiba quando (e como) limitar a memória.

      RAID-Z2 vs RAID-Z3: A Matemática da Sobrevivência em Discos de 20TB+

      RAID-Z2 vs RAID-Z3: A Matemática da Sobrevivência em Discos de 20TB+

      RAID-Z2 ainda é seguro? Analisamos a probabilidade de falha durante o resilvering, o impacto de performance do RAID-Z3 e quando a tripla paridade é obrigatória.

      Btrfs vs ZFS: Análise Profunda de Checksums e Mecanismos de Self-Healing

      Btrfs vs ZFS: Análise Profunda de Checksums e Mecanismos de Self-Healing

      Entenda como Btrfs e ZFS combatem o 'bit rot' silencioso. Uma comparação técnica dos algoritmos de checksum, árvores de Merkle e a realidade da autocorreção de dados.

      Intel VROC vs Hardware RAID: A Realidade do Desempenho NVMe

      Intel VROC vs Hardware RAID: A Realidade do Desempenho NVMe

      VROC é Hardware RAID? Vale a pena pagar pela chave de licença? Analisamos a arquitetura Intel VMD, gargalos PCIe e quando abandonar controladoras tradicionais.

      NVMe-oF vs iSCSI em 2025: O Fim da Era SCSI e a Realidade do Storage Desagregado

      NVMe-oF vs iSCSI em 2025: O Fim da Era SCSI e a Realidade do Storage Desagregado

      NVMe over Fabrics (NVMe-oF) não é apenas mais rápido que iSCSI, é arquiteturalmente diferente. Analisamos NVMe/TCP, RDMA e o suporte nativo no Windows Server para decidir o futuro do seu storage.

      ZFS vs MDADM vs Hardware RAID: A Batalha do NVMe e o Custo do Rebuild

      ZFS vs MDADM vs Hardware RAID: A Batalha do NVMe e o Custo do Rebuild

      Análise forense do impacto em CPU e latência entre ZFS, MDADM e Hardware RAID em arrays NVMe. Descubra quem sobrevive a um rebuild sem travar seu servidor.

      vSAN vs. Open Source em 2025: Análise Real de Custo e Performance (Pós-Broadcom)

      vSAN vs. Open Source em 2025: Análise Real de Custo e Performance (Pós-Broadcom)

      Os aumentos de licença VMware inviabilizaram seu vSAN? Comparamos arquitetura, latência e TCO real entre vSAN, Ceph (Proxmox) e ZFS para decidir seu futuro em 2025.

      Windows 11 NVMe: Driver Nativo vs. Fabricante e o Mito da Tradução SCSI

      Windows 11 NVMe: Driver Nativo vs. Fabricante e o Mito da Tradução SCSI

      Seu NVMe aparece como SCSI? Entenda a pilha de armazenamento do Windows (Storport), por que drivers de fabricantes (Samsung/WD) estão morrendo e o impacto real de stornvme.sys na latência.

      Snapshots Não São Backup: O Checklist de Sobrevivência Contra Ransomware Moderno

      Snapshots Não São Backup: O Checklist de Sobrevivência Contra Ransomware Moderno

      Descubra por que confiar apenas em snapshots é fatal. Aplique a regra 3-2-1, entenda RPO vs. RTO e blinde sua infraestrutura com este checklist de recuperação.

      Zero Downtime: A Fronteira entre Alta Disponibilidade e Alucinação Coletiva

      Zero Downtime: A Fronteira entre Alta Disponibilidade e Alucinação Coletiva

      Desmontando o mito do Zero Downtime. Uma análise cínica e técnica sobre SLAs, Teorema CAP, custos de redundância e por que 100% de uptime não existe.

      OpenZFS dRAID: A arquitetura de resiliência para a era dos discos de 24TB

      OpenZFS dRAID: A arquitetura de resiliência para a era dos discos de 24TB

      Adeus aos rebuilds de 6 dias. Descubra como o dRAID elimina o gargalo do resilver em arrays de alta capacidade, reduzindo o TCO e o risco de perda de dados.

      CXL e o Fim da Memória Local: Redesenhando a Infraestrutura de IA em 2026

      CXL e o Fim da Memória Local: Redesenhando a Infraestrutura de IA em 2026

      A desagregação de memória via CXL 3.1 não é apenas uma tendência, é uma necessidade física. Analisamos o impacto no TCO, a latência real de 200ns e como arquitetar pools de memória para clusters de IA.

      Deduplicação e Compressão: O Cálculo Real de TCO em Storage Moderno

      Deduplicação e Compressão: O Cálculo Real de TCO em Storage Moderno

      Economizar disco pode custar caro em latência. Uma análise sênior sobre OpenZFS Fast Dedup, algoritmos ZSTD vs LZ4 e o trade-off entre CPU e armazenamento.

      HCI vs SAN: A verdade sobre TCO e complexidade além do marketing

      HCI vs SAN: A verdade sobre TCO e complexidade além do marketing

      Descubra quando a hiperconvergência simplifica e quando ela cria gargalos. Uma análise de arquiteto sobre HCI, SAN, NVMe-oF e o impacto do licenciamento Broadcom no TCO real.

      MinIO em Produção: O Guia de Sobrevivência para Performance e Consistência

      MinIO em Produção: O Guia de Sobrevivência para Performance e Consistência

      Descubra por que clusters MinIO falham em escala. Uma análise profunda sobre JBOD vs RAID, consistência estrita e como evitar gargalos em redes de 100GbE.

      TrueNAS e ZFS em Produção: O Guia de Arquitetura para Alta Disponibilidade

      TrueNAS e ZFS em Produção: O Guia de Arquitetura para Alta Disponibilidade

      Guia técnico para arquitetos: do layout de VDEVs à escolha de SLOG com PLP. Evite gargalos de performance e garanta integridade em storage ZFS corporativo.

      Cibersegurança em storage 2026: a convergência do NIST SP 800-209 em ambientes híbridos

      Cibersegurança em storage 2026: a convergência do NIST SP 800-209 em ambientes híbridos

      Análise arquitetural sobre a aplicação das normas ISO/IEC 27040:2024 e NIST SP 800-209 para mitigar ransomware em infraestruturas de armazenamento híbridas.

      Sobrevivendo ao Custo da NAND: Arquitetura de Storage Eficiente para Workloads de IA

      Sobrevivendo ao Custo da NAND: Arquitetura de Storage Eficiente para Workloads de IA

      Com a alta dos preços de SSDs em 2025, escalar infraestrutura de IA exige engenharia, não apenas compras. Descubra como Zoned Namespaces (ZNS) e GPUDirect Storage salvam seu TCO.

      OpenZFS 2.3 e a Nova Economia de Escala: RAIDZ Expansion e Fast Dedup

      OpenZFS 2.3 e a Nova Economia de Escala: RAIDZ Expansion e Fast Dedup

      O fim do overprovisioning? Analisamos como o RAIDZ Expansion e o Fast Dedup do OpenZFS 2.3 alteram radicalmente o TCO e o planejamento de capacidade em storage enterprise e home labs.

      O fim da barreira da memória: CXL e a ascensão do novo Tier 0

      O fim da barreira da memória: CXL e a ascensão do novo Tier 0

      Análise técnica sobre como o Compute Express Link (CXL) redefine a hierarquia de dados, eliminando o desperdício de DRAM e criando um novo tier de memória 'Far Memory' no datacenter.

      NVMe over TCP: Storage Enterprise em Casa com TrueNAS e Proxmox

      NVMe over TCP: Storage Enterprise em Casa com TrueNAS e Proxmox

      Aprenda a configurar NVMe over TCP no TrueNAS Scale e Proxmox. Substitua o iSCSI, reduza a latência e sature sua rede 10GbE com hardware comum.

      Ceph Crimson: O Fim dos Context Switches em Storage NVMe

      Ceph Crimson: O Fim dos Context Switches em Storage NVMe

      Descubra como a arquitetura shared-nothing do Ceph Crimson e SeaStore elimina o gargalo de CPU em clusters NVMe, reduzindo latência e TCO.

      Do U.2 ao EDSFF: a barreira térmica do PCIe 5.0 e o novo design de storage

      Do U.2 ao EDSFF: a barreira térmica do PCIe 5.0 e o novo design de storage

      Entenda como a termodinâmica do PCIe 5.0 tornou o formato U.2 obsoleto e por que o EDSFF (E1.S/E3) é a única resposta viável para eficiência energética e performance sustentada em data centers.

      Afinidade NUMA e storage: otimizando a latência PCIe em servidores modernos

      Afinidade NUMA e storage: otimizando a latência PCIe em servidores modernos

      Descubra como o desalinhamento entre CPU e PCIe cria gargalos silenciosos em NVMe. Uma análise técnica sobre topologia NUMA, IRQ affinity e redução de latência em infraestrutura enterprise.

      NVMe/TCP vs. RoCEv2: o dilema entre latência pura e sanidade operacional

      NVMe/TCP vs. RoCEv2: o dilema entre latência pura e sanidade operacional

      Análise técnica profunda sobre a escolha entre NVMe over Fabrics via TCP ou RDMA. Entenda por que a simplicidade do protocolo TCP está vencendo a batalha do TCO contra a complexidade do RoCEv2 em datacenters modernos.

      Ceph Crimson e SeaStore: reescrevendo o storage distribuído para a era NVMe

      Ceph Crimson e SeaStore: reescrevendo o storage distribuído para a era NVMe

      Análise profunda da nova arquitetura do Ceph. Entenda como o Crimson e o SeaStore utilizam o modelo shared-nothing e SPDK para eliminar gargalos de CPU e maximizar o ROI de clusters All-Flash.