Skip to content

desing question ceph tentacl 20 with nvme/tcp with vmware #1910

Description

@zouhairnador

We are planning to deploy a new Ceph cluster for block storage workloads using NVMe/TCP, and we would like to validate whether our design is production-ready.

Below are the planned technical design aspects along with our questions.

Hardware Specifications (Target Bill of Materials)

For a 6-node NVMe-optimized cluster, we are leveraging the high PCIe lane count of AMD EPYC CPUs.

The cluster will be dedicated to block storage workloads (NVMe/TCP) for a VMware vSphere environment.

  • OS: Ubuntu 24.04.4 LTS

  • Ceph Version: Tentacle 20.2.0

Component | Specification (Per Node) | Reasoning -- | -- | -- CPU | AMD EPYC 9535 (64 cores, 128 PCIe Gen5 lanes/socket) | Enough headroom for 12 OSDs + 8 reactor cores + possible deduplication overhead RAM | 256GB DDR5-6400 ECC | Targeting ~10GB RAM per OSD for performance Storage | 12 × 7.68TB NVMe Gen5 | Enterprise-grade SSDs (DWPD ≥ 1) Network | 2 × Dual-Port 25GbE SFP28 | Separation of Public and Cluster traffic

Questions

  1. What is your feedback regarding these tuning choices?
    Are there any risks, production caveats, or kernel stability implications with these settings?

NVMe/TCP Multipathing & Active/Active Paths

Compared to traditional enterprise storage arrays, Ceph NVMe/TCP currently appears limited regarding true active/active path utilization for the same namespace/LUN (ANA group behavior).

Questions

  1. From the Ceph side, how can we achieve better active/active path utilization for the same namespace before tuning the VMware vSphere side?
    Are there recommended NVMe-oF gateway designs, ANA configurations, or load-balancing approaches for this?

Traffic Separation for NVMe/TCP

For the NVMe/TCP target interfaces exposed to ESXi hosts, we are using dedicated listener IPs on a separate VLAN reserved only for storage traffic, isolated from MON/Gateway public IPs.

Questions

  1. Is this architecture aligned with current best practices for Ceph NVMe/TCP environments?
    Have you seen similar production deployments, and would you recommend any additional isolation or routing considerations?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions