Custom zfs over iscsi storage plugin for pve
|
|
vor 7 Jahren | |
|---|---|---|
| PVE | vor 8 Jahren | |
| debian | vor 7 Jahren | |
| releases | vor 7 Jahren | |
| .gitignore | vor 7 Jahren | |
| Makefile | vor 7 Jahren | |
| QemuServer.patch | vor 7 Jahren | |
| README.md | vor 8 Jahren |
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.
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 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 <target name, i.e. iqn.2017-05.esos:81bfb> {
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 <target name, i.e. iqn.2017-05.esos:81bfb> {
enabled 1
GROUP <intiator group name, i.e. pvedevcluster> {
LUN 0 dummy {
read_only 1
}
INITIATOR <iscsi initiator name of Proxmox host, i.e. iqn.1993-08.org.debian:01:cd8e73367472>
[... one line for each Proxmox Host]
}
}
}
Configure the Storage in /etc/pve/storage.cfg
scstzfs: esoszfs
blocksize 128k
iscsiprovider iet
pool <zfs pool name, i.e. tank/devfs>
portal <storage ip>
shared 1
target <traget name, i.e. iqn.2017-05.esos:81bfb>
content images
ESOS: add this
esos 1
ini_group <initiator group>
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