public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [RFC] Native ZFS over NVMe/TCP storage backend for Proxmox VE
@ 2026-07-15 16:23 Joaquin Varela
  0 siblings, 0 replies; only message in thread
From: Joaquin Varela @ 2026-07-15 16:23 UTC (permalink / raw)
  To: pve-devel

Hello,

I have implemented an in-tree Proxmox VE storage backend named `zfsnvme`.
It follows the remote ZFS lifecycle model used by ZFS over iSCSI, but uses
Linux nvmet, NVMe/TCP and native kernel multipath.

The ZFS dataset is the durable source of truth. Each owned zvol stores its
subsystem NQN, NSID and namespace UUID as ZFS user properties. Configfs is
reconciled from those properties, and the namespace UUID provides the stable
by-id path used by QEMU.

The implementation includes:

- one NVMe/TCP connection per configured portal and host interface;
- native multipath and ANA state handling;
- DH-HMAC-CHAP without exposing the key in process arguments;
- thin provisioning, discard, snapshots, rollback and linked clones;
- safe teardown and foreign-zvol identity checks;
- an explicit queue-versus-fast-fail policy for complete path loss;
- pve-manager and pve-docs integration.

Validation covered the complete pve-storage test suite (593 assertions),
two-node live migration under guest I/O, migration to a degraded
destination,
real ANA transitions, simultaneous allocations from both cluster nodes,
single and dual path loss, configfs reconstruction, watchdog HA and a live
Corosync/QDevice partition. No source/destination QEMU overlap was observed
in
the live partition test.

The implementation and detailed validation report are available here:

https://github.com/joaquinv98/pve-storage/tree/feature/zfs-nvme-tcp
https://github.com/joaquinv98/pve-manager/tree/feature/zfs-nvme-tcp
https://github.com/joaquinv98/pve-docs/tree/feature/zfs-nvme-tcp

The lab results are not presented as hardware certification. TLS, online
resize and target control-plane HA remain explicit limitations.

I have prepared signed patch series for pve-storage, pve-manager and
pve-docs.
Before posting the full series, I would appreciate feedback on whether this
in-tree backend and its architecture are acceptable for upstream review.

Kind regards,

-- 
Joaquin Varela

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-15 16:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 16:23 [RFC] Native ZFS over NVMe/TCP storage backend for Proxmox VE Joaquin Varela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal