diff --git a/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md b/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md index 3b04569..7fd37f4 100644 --- a/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md +++ b/Servers/Virtualization/Proxmox/Configuring iSCSI-based Cluster Storage.md @@ -2,7 +2,6 @@ This document describes the **end-to-end procedure** for creating a **thick-provisioned iSCSI-backed shared storage target** on **TrueNAS CORE**, and consuming it from a **Proxmox VE cluster** using **shared LVM**. This approach is intended to: -- Replace NFS-backed VM storage - Provide SAN-style block semantics - Enable Proxmox-native snapshot functionality (LVM volume chains) - Avoid third-party plugins or middleware @@ -62,20 +61,39 @@ zfs create -V ${ZVOL_SIZE} \ ## Configure iSCSI Target (TrueNAS CLI) ```sh # Enable iSCSI Service -service iscsitarget start -sysrc iscsitarget_enable=YES +service ctld start +sysrc ctld_enable=YES # Create iSCSI Portal -ctladm create -p 0.0.0.0 +ctladm create -b block -l /dev/zvol/CLUSTER-STORAGE/iscsi-storage iscsi-lun-0 # Create Target -ctladm create -t proxmox-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 +ls -l /dev/zvol/${POOL_NAME}/${ZVOL_NAME} + +# --- Create the CTL LUN (iSCSI "extent") --- +# Name identity is carried via Serial Number and Device ID +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) +ctladm devlist -v ``` !!! tip