Support plans related to RoCE in storage protocols (iSER, NVMe-oF, SMB Direct, NFSoRDMA)

The premise of all this is that there is a supported NIC and rdma-core in the system

iSER: This should be the simplest. You only need to enable the iSER function in the relevant components. You only need to add a switch in the webui to control whether to enable iSER.

NVMe-oF: The minimum support requires adding nvmet-rdma. NVMe-oF support is also missing in the webui, but it is very similar to iSCSI. (In the current market, NVMe-oF supports RoCE by default, so it is meaningless to talk about NVMe-oF that does not support RoCE)

SMB Direct: Obviously it depends on samba…

NFSoRDMA: This is similar to the iSER situation. Only one RDMA port needs to be added after the supported NIC and rdma-core exist in the system.

2 Likes

Is this a job application? :grin:
Seriously, if you know how to do this and test it, we’d love your contribution.

Still have an open FR for a similar request if anyone wants to track (the non existing) progress. Ideally a paying customer would say they have a use case for this;)

https://ixsystems.atlassian.net/browse/NAS-122936

I’m interested in hearing real use-cases where there is real economic or application benefit of these technologies. Please describe them here or in the NAS ticket.

This will help decide the priority and sequence.

Bumping this, but for NVMe-oF target support, especially with RDMA. TrueNAS ships by default with the built-in kernel support.

Back on the old forums I yapped a bit about this, about how much more performance it gives over iSCSI. Other people eventually confirmed it, even with just the TCP transport vs iSCSI (w/o iSER).

At least one bigger storage appliance vendor offers target support. At least ESXi has initiator support for it, allowing faster IO for their VMs. Even Microsoft is working on their own initiator finally for Windows Server 2025.

So I’d say it’s a good time to mingle within this.

2 Likes

I’m about to give this a whirl. I’ll report back if I can make it work and if it’s any better…

This is great, my server can easily achieve 10GiB/s read and write in fio test (operating in arc/l2arc).

Ultimate performance limiter is always the transfer protocol, nvmeof can greatly eliminate the performance limit on file transfer.

@Captain_Morgan
Though I’m just a personal homelab user, if I knew of a way to vote for this feature, I would also. I looked through Jira page also.

What benefit are you looking for?

Do you have 100Gbe RDMA-capable NICs (trueNAS and Clients) and a ROCE-capable switch?

RDMA aint cheap to get value out of it…

1 Like

The network infra is the easy part, you can get that relatively cheap.

Now the drives on both/all sides to make use of a 100G network on the other hand…:wink:

If you’re suggesting just used regular Ethernet, the reason I said homelab or SMB user is because it’s still expensive.

I can get connectx-3 pro, must be pro, to do RDMA and iSER over 40gb for $30 and a switch for under 200. When comparing that to 50gb Ethernet, much of it is higher.

I like to potential to be in micro instead of mili for latency.

Also this, where they did spend the Ethernet money:

NFS + RDMA and iSER are currently planned as Enterprise features for 25.04 IIRC.

Does this mean that a specific license or device is required to use it?

Sorry, I also guess I didn’t answer your question.

I have been testing with ConnectX-3 Pro. It supports iSER/RDMA.

When you guys keep saying “enterprise feature”, are you saying community users aren’t getting it?

I guess fibre channel is coming in 25, but it also is being called an enterprise feature.

Looking at Level1Tech review. Their numbers with RDMA were:

That is 2.9ms and 4.8ms.

The bandwidth numbers were not that amazing either… 3-4GB/s

We get about the same with standard iSCSI. We would assume we get more with iSER, but have not yet tested.

iSER is planned to start in Enterprise because of some reasons:

  1. We need to fund our development and testing (not important to you, but critical for me)
  2. We want to constrain the testing to specific cards and switches
  3. We have no idea of how to support homelabs with random hardware/switches and RDMA (tcp/IP is more forgiving and diagnosable)

We don’t object to anyone following Level1Tech’s advice… but we can’t help fix issues. So, its only for users with strong skills and high desire.

There are two options for Feature Requests:

  1. iSER for Community (provide reasons other than “I want to test”)
  2. Is there a way for a technology person to get a “tester” Enterprise license?

Let’s see which is the most common request.

2 Likes

I don’t think anyone would object if you provide features that are available but unsupported on community level - that is much better than not providing the functionality at all (for the community that is).

At some point I even would have paid to get Enterprise functionality (if that had been an option with non Enterprise hardware), and I still think there is demand for that.

Else there are lots of smart people in the community who can provide help and or guides on how to use these features even if you don’t support them directly.

It also would be totally fine (imho) to limit the out-of-the-box functionality to certain hardware.

Mellanox (Nvidia) makes running RoCE simple on the 100G switches (and newer I assume), its a single cli command.
iWarp does not even need Switches, just the server protocol enabled services

So just say you support
Chelsio T6 or higher
Mellanox CX4 or higher with MLX switches

Cx3 pro+ with older MLX switches (56G) could still use the server side services, but config would need to rely on community/vendor documentation

Wrt your two options, I think both have merit with the second probably being easier for you to handle (Enterprise license without support), I’d take either;)

As far as use cases go - I think everyone is hoping for a speed up of their network transfers, a way to bring the theoretical pool performance (SSD/NVME arrays) closer to the client, be that a Hypervisor or a beefy workstation (eg running video workloads)

1 Like

It looks like they’re using the “Peak Performance” profile in CrystalDiskMark. It runs that RND4k latency test at QD32 and T16. Rubs me as a pointless corner case. “Let’s see how long it takes push water really really hard through clogged pipes”

On that particular test my [non-RDMA] iSCSI numbers are roughly similar to the above, FWIW.

A “normal” Q1T1 test on this same system (in µs):

This translates to roughly 18-19k IOPs.

1 Like

Bottom line is, TrueNAS doesn’t just happen for free. Some features are very specifically Enterprise targeted towards our paying customers. iSER and related RDMA things are some items that nearly all typical home users aren’t going to be using in production and make sense to be reserved for our enterprise customers specifically. (If you do use them at home, you are pretty darn unique).

If there is enough interest for access to these features under some paid license option, we’re happy to gauge that interest and see if that makes sense under some program at a later date.

1 Like