-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
rhel-virt-storage
-
ssg_virtualization
-
None
-
False
-
False
-
-
None
-
None
-
None
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
-
Windows
-
None
Goal
- As a user, I want to run Windows Server VMs with Failover Clustering on my NVMe-oF storage
Acceptance criteria
- Failover Clustering works
Background
Failover Clustering works with SCSI storage using Persistent Reservations. There is support in QEMU for sending reservation commands from the guest to the physical SCSI storage. NVMe has support for a similar set of Persistent Reservation commands but they are currently not supported by QEMU.
If the NVMe PR commands have similar semantics to SCSI PR commands, then it may be possible to support Failover Clustering by exposing virtio-scsi disks to guests and translating from SCSI to NVMe PR commands in QEMU.
Note that support for native NVMe PR in Windows Failover Clustering is not yet available/mature as of Apr 2025. There are vendor drivers for Windows that expose a SCSI interface (similar to how the viostor virtio-blk driver pretends to be a SCSI adapter) and translate to NVMe commands. Therefore, it may be possible to do the same at the virtio-scsi -> NVMe level in QEMU.
Investigation is required:
- Are the NVMe and SCSI PR command sets similar enough to allow translation?
- Can QEMU's existing SCSI PR support be reused on top of NVMe-oF?
- RHEL recommends using native NVMe driver multipathing instead of dm-multipath. Does QEMU's existing SCSI PR support need to take native NVMe multipathing into account? Or will users need to disable native NVMe multipathing and use dm-multipath?