# SCST Target Support for zfs over iSCSI on Proxmox Allows the use of an SCST Target with the zfs over iSCSI Storage of Proxmox. This plugin applies a Patch to QemuServer.pm that uses zfs send/rcv in favour of qemu when creating clones. The Patch also allows to create a clone from older snapshots than 'current' by materializing a snapshot before cloninng. The Patch will be reverted when the Plugin is uninstalled. Due to this Patch the dependencies are set very tight on a specific Version of libpve-storage-perl and qemu-server. **Use this Plugin at your own risk!** **We don't take any responsibility for you loosing or corrupting data. Make sure you have tested and validated in a non critical environment before putting this into production.** ## Requirements Proxmox > 5.0 SCST based Storage with ZFS Filesystem, and a separate iSCSI Target for the Cluster. ESOS works fine but requires a bit of extra setup, see the notes. Also make sure you have built ESOS with ZFS support from Sources. The Storage can also be provided by a Proxmox Host running SCST. ## Setup **Setup SSH-Keys and publish to the SCST Target** See: https://pve.proxmox.com/wiki/Storage:_ZFS_over_iSCSI#Platform_notes Persist the SSH-Key on ESOS: See: https://github.com/parodyne/esos/issues/201 ``` mount /mnt/conf/ cp -r /root/.ssh /mnt/conf/etc/ vi /mnt/conf/etc/rc.local => add line: cp -r /etc/.ssh /root/ umount /mnt/conf/ ``` **Create LUN0 (dummy) on the Target** /etc/scst.conf should look like this: ``` HANDLER vdisk_nullio { DEVICE dummy { dummy 1 } } [...] TARGET_DRIVER iscsi { enabled 1 TARGET { enabled 1 LUN 0 dummy } } ``` **When running ESOS:** Create an initiator group and add each Proxmox Host to it via TUI. Get the intiator name from /etc/iscsi/initiatorname.iscsi /etc/scst.conf should look like this: ``` HANDLER vdisk_nullio { DEVICE dummy { dummy 1 } } [...] TARGET_DRIVER iscsi { enabled 1 TARGET { enabled 1 GROUP { LUN 0 dummy { read_only 1 } INITIATOR [... one line for each Proxmox Host] } } } ``` **Configure the Storage in /etc/pve/storage.cfg** ``` scstzfs: esoszfs blocksize 128k iscsiprovider iet pool portal shared 1 target content images ``` ESOS: add this ``` esos 1 ini_group ``` ## Build and install from Source ``` git clone https://git.modula-shop-systems/modula/pve-iscsi-zfs-scst.git cd pve-iscsi-zfs-scst make deb dpkg -i pve-iscsi-zfs-scst_0.0.2_all.deb ```