From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id ED8021FF0EF for ; Sun, 02 Aug 2026 05:37:14 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 4B263214FE; Sun, 02 Aug 2026 05:37:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neatech-ar.20251104.gappssmtp.com; s=20251104; t=1785641799; x=1786246599; darn=lists.proxmox.com; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=PSec3YiUQF30Yol3Q+JNRsyP6saaKuErcsujEvOCjNY=; b=gMzjArxRyGDWr0GN4DcgknTBuSVqtoViVC7iEEomvdmkDFNOzWfppHJec+NkyNqHiu DBSIepLK43iV/fsATA0+NG4yPVFKjCbQ2Tc0WycNOrZdXkrDmUiFkfenr1PFY38l2nx3 hJaO1VXI3prECx/Thh2et1Audk43pc7R2P+u7rsE7sLkfHJ7EfoxVnDiWkwQmWLA/n6S HrWsQI4sk6sMJsuQJXohvuMb3SonlZxYWFzwIFYwVA6m3n8q5eQsSLiToLkbLbZOyVuc 5jW0GUsymbmmTdr8m06hubxvUTWrRi1cLDjQkPI0sTdoFGLLdR8z5OctykukbFiUUdxJ SA+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785641799; x=1786246599; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=PSec3YiUQF30Yol3Q+JNRsyP6saaKuErcsujEvOCjNY=; b=OwiKsThPoXHHcDhKKtgCvqs8HOz2w6zZJcVQm72Y09eFGLt1ARVfilNGpxvT5ctMw2 ofDgW3ZFAHO0B23vbGNqMiKXPfCSLHyqHi++Et5Yy+SDLN67V9ipwmGS0TOVeOkUavRN 49SlT6Nc4SEKQv+QmgceogDZZszouj1rFONnwVN0GZEzHv2ptirCuT+JorLy0RmzFR18 oUF/aZ+pWJMLDkyO8HsvsEbwEbDP01jWK8CyvxJ8jP/7WI2v+We6/J1AUAIwK91rsUZ/ siEhalQyZ5BwJV362l4rymvFbEHVHS7+hLUvFlu61G7Poqu8I4nQMGk5ooUHRSnDQe8e i1ug== X-Gm-Message-State: AOJu0YzxG0KdTuJ+iLkWyXOr9TnmrZZZXce7WW5fVLVyThYroaf+TUJE IadOVbYoeEOIaFnMciY+2Syaev+uLg3TSoQjvK+AFd/FOiO/snba6HzCOMefxJsy1yb3q05a/UB 7wA9tngw= X-Gm-Gg: AR+sD12QQzRSOsRgarr9X9xmfG8Xf0IDyXwAUJ4ePwCsIlibJMkjFmvbI9zIZBgi4/G cJMW8osJSYO61ziMtpkMcCpGKNxOa7yYew14ZCGLp42DJgX0ncgXe6VOh8JJaN+HIZuCPZkm8z4 Zs/plLjb4IkCRRMOVI0jOceW9x/m9JZyJAZ60XxiJwHize7cIX2dOPWewr3TYJOcEpXt1zlYB06 DUv76ohYbQQc8L5gwMOFYgOhg+4BXRic5pgwdft+nLUBpDU1SagXNqpBW6hNUddYxBlH9KGJTUf 6LdSVk8w5f/xD9/XH/UF31F5m/CXNS1yLxUwzsbcZqktPf67/bHQp4dpea30yfZDP0EFUJGngZd /TU/3yLYb6akObr7Wln7E9iNstcpIQHDW10LMNuhZv8JPyjdArt2uNAhEZiLyjDnNr9uJ6ZI2pL j/LJtvCFpE0LF9ZGhdVwdxMqrusH2xLfm2a6XLvDYvj1psrrQr91tPB/LprC4QWwwL6MH2irspT f5gnWeLFXblMJ8CbgFdevWM/5gojNuZghOUvJhqWkPLQsCgur0+1cg= X-Received: by 2002:a17:90b:58c3:b0:38e:ab3f:2c99 with SMTP id 98e67ed59e1d1-38fbc4c673dmr6804403a91.2.1785641799462; Sat, 01 Aug 2026 20:36:39 -0700 (PDT) From: Joaquin Varela To: pve-devel@lists.proxmox.com Subject: [PATCH docs v2 4/5] zfsnvme: document target reboot prerequisites Date: Sun, 2 Aug 2026 00:36:29 -0300 Message-ID: <5208017ed6266e36b7094a4938891ecf5b67ec74.1785636981.git.joaquinvarela@neatech.ar> X-Mailer: git-send-email 2.54.0.windows.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.025 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DMARC_PASS -0.1 DMARC pass policy RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: AOMHKQHRWCOG7MFFF7RQ5PJNNLPHOAJI X-Message-ID-Hash: AOMHKQHRWCOG7MFFF7RQ5PJNNLPHOAJI X-MailFrom: joaquinvarela@neatech.ar X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Joaquin Varela X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Document module loading and configfs availability on the Linux nvmet target. Clarify that target configuration is derived state reconstructed from ZFS properties during activation. Signed-off-by: Joaquin Varela --- pve-storage-zfsnvme.adoc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pve-storage-zfsnvme.adoc b/pve-storage-zfsnvme.adoc index 35f09f8..edfb938 100644 --- a/pve-storage-zfsnvme.adoc +++ b/pve-storage-zfsnvme.adoc @@ -26,6 +26,21 @@ modules. Configure root SSH access like for the ZFS over iSCSI backend. The key for the server address is stored at `/etc/pve/priv/zfs/_id_rsa`. +The NVMe target modules and configfs must be available after a target reboot, +before a {pve} node attempts to reconcile the exported namespaces. On a Linux +target using systemd, load the transport at boot and verify the configfs mount: + +---- +# echo nvmet_tcp >/etc/modules-load.d/pve-nvmet.conf +# modprobe nvmet_tcp +# mountpoint /sys/kernel/config +---- + +The target configuration below configfs is derived state. It does not need a +separate persistence service: after the module and ZFS pool are available, the +backend reconstructs subsystems, namespaces, UUIDs, ACLs, and ports from the +ZFS user properties during activation. + Each {pve} node needs `nvme-cli`, the `nvme-tcp` module, native NVMe multipath, a unique `/etc/nvme/hostnqn`, and `/etc/nvme/hostid`. Interface names listed in the storage configuration must exist on every node where the storage is -- 2.54.0.windows.1