From 425da31bd193d72fe4fb6f309d9a07bf5ddad9ed Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Tue, 6 Jan 2026 23:53:34 -0700 Subject: [PATCH] Update Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md --- ...Configuring iSCSI-based Cluster Storage.md | 74 ++++++++++++------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md b/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md index 7fd37f4..32edd4a 100644 --- a/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md +++ b/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md @@ -56,52 +56,72 @@ zfs create -V ${ZVOL_SIZE} \ !!! note The `refreservation` enforces **true thick provisioning** and prevents overcommit. ---- +## Configure iSCSI Target (TrueNAS CORE) + +This section uses a **hybrid approach**: +- **CLI** is used for ZFS and LUN (extent backing) creation +- **TrueNAS GUI** is used for iSCSI portal, target, and association +- **CLI** is used again for validation + +### Enable iSCSI Service -## Configure iSCSI Target (TrueNAS CLI) ```sh -# Enable iSCSI Service service ctld start sysrc ctld_enable=YES +``` -# Create iSCSI Portal -ctladm create -b block -l /dev/zvol/CLUSTER-STORAGE/iscsi-storage iscsi-lun-0 +### Create the iSCSI LUN Backing (CLI) +This step creates the **actual block-backed LUN** that will be exported via iSCSI. -# Create Target -ctladm create -t iqn.2026-01.io.bunny-lab:storage - -# Create Extent -ctladm create -b block -l /dev/zvol/${POOL_NAME}/${ZVOL_NAME} proxmox-extent - -### Associate Target + Extent -ctladm add -t proxmox-target -l proxmox-extent - ----------- - -# Enable iSCSI Service (TrueNAS CORE) -service ctld start -sysrc ctld_enable=YES - -# Sanity Check: Confirm the backing zvol exists +```sh +# Sanity check: confirm the backing zvol exists ls -l /dev/zvol/${POOL_NAME}/${ZVOL_NAME} -# --- Create the CTL LUN (iSCSI "extent") --- -# Name identity is carried via Serial Number and Device ID +# Create CTL LUN backed by the zvol ctladm create -b block \ -o file=/dev/zvol/${POOL_NAME}/${ZVOL_NAME} \ -S ISCSI-STORAGE \ -d ISCSI-STORAGE +``` -# Verify the LUN is real and sized correctly (must be NON-ZERO) +### Verify the LUN is real and correctly sized + +```sh ctladm devlist -v ``` !!! tip - At this point, the LUN is live and can be discovered by initiators. + `Size (Blocks)` must be **non-zero** and match the zvol size. If it is `0`, stop and correct before proceeding. + +### Configure iSCSI Portal, Target, and Association (GUI) +In the TrueNAS Web UI, navigate to **Sharing → Block Shares (iSCSI)**: + +#### Create Portal +* **Portals → Add** +* IP Address: `0.0.0.0` +* Port: `3260` + +#### Create Target +* **Targets → Add** +* Target Name: `iqn.2026-01.io.bunny-lab:storage` +* Authentication: `None` +* Portal Group: `