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.
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
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
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
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?
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.
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 trafficOS: Ubuntu 24.04.4 LTS
Ceph Version: Tentacle 20.2.0
Questions
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
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
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?