IBM Storage Ceph

IBM Storage Ceph

Connect, collaborate, and share expertise on IBM Storage Ceph

 View Only

Ceph Block Storage Showdown: RBD vs. NVMeoF (NVMe/TCP)

By Mike Burkhart posted yesterday

  

Ceph Block Storage Showdown: RBD vs. NVMeoF (NVMe/TCP) — Choosing the Right Path for Your Workloads

Intro: The Evolution of Block Storage in Ceph

If you're building scalable infrastructure—from cloud-native apps to virtualization or AI pipelines—ceph has long offered a rock-solid foundation. At its core sits RADOS Block Device (RBD)—a tried-and-true, reliable way to carve out block storage from Ceph’s RADOS object store. But as performance demands escalate, particularly for workloads like VMware virtualization, or non-Linux native client access, IBM Storage Ceph inserts NVMe-over-Fabrics (NVMeoF)—specifically NVMe/TCP—into the mix to blur the line between local and distributed storage performance.


1. RBD at a Glance: Solid, Flexible, and Feature-Rich

  • Architecture: RBD sits atop RADOS, mapping logical block ranges (LBAs) to objects in the Ceph cluster using librbd and kRBD. Both clients are available today in almost any modern Linux-based operating system.
  • Features: Enables snapshots, cloning, striping, object maps, fast-diffs, journaling, deep flattening, and erasure-coded pools. It supports a max virtual device size of 2 EiB, with customizable object-size, stripe-unit/count, and feature sets. RBD also provides “Just-in-Time” allocation to written blocks, providing thin-provisioning that allows for over-subscription and over-allocation to various workloads. This allows for underlying workloads to scale independently of the physical architecture, maximizing your investment and streamlining capacity consumption.
  • Access Methods:
    • Kernel RBD (kRBD): Kernel compiled Linux driver, works with Linux kernels (≥ 2.6.37) for block device mounts.
    • librbd: User-space Linux driver, similar client-side to kRBD, but not compiled into the Linux kernel.
    • CSI Drivers: For Kubernetes via opensource with Rook/Ceph, and for OpenShift with deeper integration via IBM Fusion Data Foundation.
    • Virtualization: Integrated into OpenStack environments; most KVM-based hypervisors support CephRBD and/or CephFS for VM storage.
  • Experience: Ceph RBD is simple to use – create an OSD Pool, initialize for use with RBD block storage, create an RBD image, map the image to the client and then mount as a local storage device. Maintains the look and feel of linux block devices, through the ceph native client.
  • When to Use: Ideal for established, stable block workloads that benefit from rich Ceph-native features—think snapshots, clones, erasure-coded pools, and direct integrated access from within Linux OSes. Great in container orchestration or opensource virtualization contexts.

2. NVMe-oF (NVMe/TCP) and Ceph: Performance Meets Distributed Storage

  • How It Works: IBM Storage Ceph 7.1 Introduced the NVMe-oF gateway to expose RBD images as NVMe namespaces over TCP/IP networks—no need for direct Ceph client libraries. This allows the already stellar core Ceph block storage stack to be leveraged over the industry-standard NVMe/TCP protocol. NVMe over TCP (NVMe/TCP) is a spiritual successor to iSCSI, truly accomplishing the high-throughput, low-latency, lower TCO goals that were tough to deliver on 1GbE networks of the iSCSI era, but easily accomplished with today’s high-performance networks.
  • Experience: Similar to RBD, NVMe/TCP requires the creation of an RBD pool and RBD image, but requires an NVMe namespace to be layered on top as a pass-thru device to be leveraged via the NVMe/TCP protocol, and during creation time this namespace is assigned to a subsystem that provides host-based security masking. NVMe/TCP Initiators then discover gateways via an IP and network port combination, and are able to mount the namespace as if it were local to the host.
  • Advantages:
    • Low latency, high throughput: Near-local NVMe performance over standard Ethernet networks.
    • Broad compatibility: Presents volumes as standard block devices—simple for RHEL and VMware initiators – can be formatted into any linux-based filesystem (JFS, EXT4, BTRFS, etc.); on VMware as VMFS6 datastores. Also consumable via SmartNICs with NVMe/TCP embedded offload.
  • Scalability & Resilience:
    • High Availability (HA): Gateway clusters support active/standby configurations, offering I/O resilience and automatic failover.
    • Scale-Out Support: Gateway groups span multiple gateways, subsystems, hosts, and namespaces—suitable for enterprise-scale deployments, and provide more tightly controlled data access.
    • NVMe Discovery: Automatically advertises gateway IPs for initiator discovery.
  • Use Cases: Best for latency-sensitive, high-IOPS workloads—critical virtualization environments and high performance structured database workloads. If your app expects enterprise-grade SAN-like block interfaces over TCP, this is your go-to.

3. RBD vs. NVMe-oF: Side-by-Side Comparison

Aspect

RADOS Block Device (RBD)

NVMe-oF over TCP (NVMe/TCP)

Underlying Architecture

Thin layer over RADOS

NVMe gateway exports RBD as NVMe namespaces

Access Protocol

Krbd, librbd, CSI, virtualization APIs

Standard NVMe over TCP/IP (SAN-like); CSI in-progress.

Performance Characteristics

Low latency, high throughput—near local NVMe speeds

Reliable, distributed storage layered on top of Ceph RBD; some additional performance needs due to the layers.

Feature Set

Rich: snapshots, clones, erasure codes, journaling, etc.

More limited; optimizes for speed and simplicity over Ceph-native features. Can leverage most Ceph-native features separately.

Availability & Scale

Depends on Ceph cluster HA config

HA gateway clusters, load balancing, discovery, scalable namespaces

Authentication

CephX protocol; custom protocol with per-client access control

DH HMAC CHAP Industry standard authentication, host-based login access control. Can be combined with host/volume masking.

Encryption

Ceph Messenger v2 with TLS provides encryption in flight.

TLS-PSK 1.3 with shared keys

Suitable Workloads

Cloud-native apps, OpenShift virtualization, general-purpose block

Performance-critical, SAN-compatible workloads, VMware datastores, Structured database workloads


4. Choosing the Right Path

  • Use RBD when your Linux-based workloads need rich Ceph-native capabilities—snapshots, cloning, erasure-coding, dynamic resizing—with flexibility and broad orchestration support.
  • Opt for NVMe/TCP when your environment benefits from standard NVMe/TCP access—like data-intensive virtualization, high-performance structured database workloads or where client compatibility with NVMe/TCP is a must.

5. Final Thoughts

Your strategic storage decision—RBD or NVMe/TCP—should align closely with your workload requirements, performance needs, and integration context. What's clear: IBM Storage Ceph empowers you with both robust flexibility and cutting-edge performance.

Want to dig deeper? Discover guides, benchmarks, deployment strategies, and real-world case studies in the comprehensive IBM Redbooks publication "Exploring IBM Storage Ceph Block Storage" (SG24-8591), covering Ceph Version 8.1 (IBM Redbooks).


Ready to Elevate Your Storage Strategy?

Explore the full breadth of IBM Storage Ceph capabilities—RBD, NVMe/TCP, deployment best practices, scalability, and performance—over at https://www.ibm.com/products/storage-ceph Get hands-on with modern block storage for your most demanding workloads today.

Going to TechXchange 2025?

Don’t miss our exciting IBM Storage Ceph Sessions and Labs such as:

Ceph block performance with VMware NVMe/TCP [2892]

IBM Storage Ceph NVMe over TCP: VMware Integration and Data Migration [2621]

Using Ansible to manage IBM Storage Ceph [1375]

0 comments
11 views

Permalink