Rose Data Server (RDS2216) Review. Real world storage server with basic stats

I’ve recently grabbed a Rose Data Server (RDS2216) and hooked the 10G SPFs directly to my two proxmox hosts.

Running NVME over TCP to the nodes and then tested using local and shared storage.

As of writing, this Rose is currently hosting the mastodon (aus.social) and pixelfed (pixelfed.au) as well as other fediverse services!


note: I believe this 500MB/s~ is expected because the 10G SPF DAC is maxing out…. I’ve setup jumbo packets and that boosted by 10%… this would likely be better if I had 100G DACs (and even better once rose supports multipath for 200G links if you wanted to saturate the full 20 disks).

RoSE NVMe/TCP RAID5 Local NVMe RAID1 Local SSD RAID5 (ZFS with intel optane cache)
Random Read IOPS 27.4K 144K 159K
Random Read Latency 4,667µs 884µs 796µs
Random Write IOPS 42.5K 74.4K 87.6K
Random Write Latency 3,002µs 1,708µs 1,445µs
Sequential Read 597 MB/s 6,059 MB/s 5,342 MB/s
Single-thread Latency 234µs 69µs 67µs
Single-thread IOPS 4.0K 11.5K 11.8K
ioping Latency 486µs 273µ 337µs

The disks are 8 x SAMSUNG 960GB PM983 Gen3 X4 NVME on a raid 5 + 2 marked as spares.
then the raid disk is served as a block device over NVME over TCP… my proxmox node formats the block with LVM (the nodes handle all of the LVM volume smarts).

In short, this performance is perfectly cromulent (the low latency is excellent). I’ve moved a bulk of my VMs OS disks (efi/cloudinit/etc) on proxmox and the node to node migrate is working perfectly without fault.

I have a little bit of the fear about putting all of my services on such a new service.. but I figure they will continue to improve the features over time… from a speed and stability perspective, so far I am very happy with it.

Very low cost but only basic storage features (it does one job).

Requests to staff:

  • I would rather a “storageOS“ mode that disables everything that I don’t care about.. and has improved features focused on storage.
  • Please release a 6-8 x 100Gbit SPF Switch that I can use as a dedicated storage switch (no routing required for this) - refresh CRS504-4XQ-IN maybe?
  • please support nvme over tcp - NVMe native multipathing (NVMe-MPIO) to Aggregate throughput from multiple NICs
  • Please add more monitoring/metrics/alerts for SMARTS + nvme disk health, nvme-over-tcp details/diagnostics.
  • Alerts on disk failures (snmp and email?).
  • Please consider supporting ZFS/bcachefs or other filesystems (I am not a btfs hater and it works nicely) - I’m using 2Gb of the 32GB memory. ZFS would work nicely with 16-24GB for cache.
  • Native LVM management (used by proxmox shared storage).
  • Native backup support to external storage (attached USB storage would be great).
  • The Rose product sheet mentions “clustering“.. but you never explain what kind?
  • The 2 x SFF 8644 (24G each) what’s the point of this? SATA expander?
  • Please create a seperate storage category in this forum.

If anybody is aware of tuning on the rose/proxmox host guest level.. please feel free to tell us!

This is about as much information as you can currently get out of winbox.
the raid statistics need to be updated to show actual raid information.. and there isn’t much health information on the disks such as smart or nvme metadata available.

Update: After 36 days of uptime…

No downtime, no known issues. Servers are all working and NVME over tcp is working great.

Great info. Good to hear.

You might want to file some of your requests on the support site (https://mikrotik.com/support), as there is a feature request category.

You can use the "skins" feature to disable UI elements. You do this via webfig, but WinBox3 also supports them if configured (WinBox4 beta does not support skins yet). But this allow you remove a lot of the stuff you're not using.

I recall reading that & had no idea what they meant either. The router support VRRP and LACP/etc bonding, but that's not same as clustering in storage. It may be wishful thinking at present, but IDK.

Thanks for the support recommendation.

I’ve also added these requests to the ones above

  • and on top those.. I have a few more requests as somebody using the service.

    1. regarding the SFF, I’d love to add a JBOD/rack of 3.5” disks for 12 x 30TB spinning disks for cold storage. and use the 20 x NVME for hot storage via “tiering” / fusion pools.
    2. self-healing FS like ZFS or bcachefs
    3. Replication/clustering locally vs remote backup.
    4. native S3 support with winbox support (even if it bootstraps Garage/SeaweedFS/RustFS or similar services)
    5. Metrics and performance telemetry (latency, IOPS, throughput, network metrics)
    6. Ceph (I don't use it but people like it)

Considering i’m paying Wasabi for a lot of small S3 buckets. I’d love to see S3 added… I would use that for a ton of resources.

edit: I’ve updated my ticket with a specific ask for dm-cache, lvmcache, bcache or similar block level tiering/caching for NVME/spinning rust and even memory level caching. (and even dedupe and compression)

Follow up

TLDR; I highly recommend a ROSE server as a shared storage solution with Proxmox Clusters.

Proxmox fixed a bug with the 512 to 4K sector issue I faced and for the last month I’ve been running hundreds of VMs on multiple proxmox clusters off the single ROSE server.

I filled the device with Samsung PM983 and PM983a (similar but the a doesn’t have opal native encryption) in 2 x RAID6 blocks (9 active + 1 spare so 3 disks need to fail in a row for the raid to die) served over NVME-over-TCP.

So far so good. Good performance, good stability…

As I’ve said above, I hope they spend more time to the development of the storage subsystems, regardless, if they never add a single new feature to the ROSE, it does one job well.

note: the 20th spare is missing but I’ll install that soon.

On the Proxmox side, are you using LVM to handle the multi-host sharing of the NVME target?

Yeah, proxmox handles it for you. Just using native “shared clustered storage“.

Note: nvme-over-tcp isn’t supported by the GUI. you just need to mount the storage on all of the nodes and it should detect the LVM automatically.

/etc/systemd/system/nvme-rose-storage.service

[Unit]
Description=Connect to RoSE NVMe-TCP Storage - nqn.2000-02.com.mikrotik:xxxxxx
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/nvme connect -t tcp -a 10.x.x.x -s 4420 -n nqn.2000-02.com.mikrotik:xxxxxxx
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Currently running 2x Micron U2 and 2x Samsung Evo M.2 (w/ adapters) - Garage in container mounted as JuiceFS K8s CSI. All good, stable, fast.

However, lack of SMARTs is bit worrying for a long-term. Having to pull disk out every couple months to check on health is .... going to be annoying. Especially for more disks. Is there any plan / update / progress on exposing SMART metrics please?

What Is your procedure when S.M.A.R.T. readings show something abnormal?

I believe NVME has a nicer "smart" which is easier on the eyes (more human readable)... so I'd like to see these passed to the client at least.

EXAMPLE: PROXMOX NVME Drive.

SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 61 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 4%
Data Units Read: 410,829,986 [210 TB]
Data Units Written: 340,055,086 [174 TB]
Host Read Commands: 15,951,547,372
Host Write Commands: 4,526,265,391
Controller Busy Time: 16,054
Power Cycles: 70
Power On Hours: 20,146
Unsafe Shutdowns: 23
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 131
Critical Comp. Temperature Time: 1

Well, then ROS 7.23 is for you:

What's new in 7.23beta2 (2026-Mar-13 11:52):
*) disk - added "/disk" smart-info;

Once 7.23 stable is out.. I'll upgrade and see what additional smart data it gives us

Well, then ROS 7.23 is for you:

What's new in 7.23beta2 (2026-Mar-13 11:52):
*) disk - added "/disk" smart-info;

No way!

Once 7.23 stable is out.. I'll upgrade and see what additional smart data it gives us

What a timing! Just upgraded.

ugly but better than nothing.

Ugly, because Winbox uses a variable width font to display the output. I am sure it is better to read on CLI.

I've never upgraded the firmware with any data on the disks!

I'm going to migrate all of the critical prod data off the drives and then give the upgrade a try with some dev environment VMs.

Yes, I also use Jetbrains Mono as GUI font since the setting was introduced in Winbox. But while I really like it. it is not for everyone. :wink:

Is there a way to change the terminal font?

I'm rather fond of Dank Mono myself (my preferred font for VSCode).