From dc98f7281ca851391066e06799b2f4214b3b4dec Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Wed, 14 Feb 2024 19:12:21 -0700 Subject: [PATCH] Update Servers & Workflows/Linux/Virtualization/Proxmox/ZFS-Over-iSCSI.md --- .../Virtualization/Proxmox/ZFS-Over-iSCSI.md | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Servers & Workflows/Linux/Virtualization/Proxmox/ZFS-Over-iSCSI.md b/Servers & Workflows/Linux/Virtualization/Proxmox/ZFS-Over-iSCSI.md index 5753e37..11edaa5 100644 --- a/Servers & Workflows/Linux/Virtualization/Proxmox/ZFS-Over-iSCSI.md +++ b/Servers & Workflows/Linux/Virtualization/Proxmox/ZFS-Over-iSCSI.md @@ -8,15 +8,15 @@ !!! note "Environment Assumptions" This document assumes you are running at least 2 ProxmoxVE nodes. For the sake of the example, it will assume they are named `proxmox-node-01` and `proxmox-node-02`. We will also assume you are using TrueNAS Core. TrueNAS SCALE (should work) in the same way, but there may be minor operational / setup differences between the two different deployments of TrueNAS. -## Configure SSH Key Exchange +## Configure SSH Key Exchange (All Nodes) The first step is creating SSH trust between the ProxmoxVE cluster nodes and the TrueNAS storage appliance. You will leverage the ProxmoxVE `shell` to run the following commands. ``` sh +apt-get install librest-client-perl git unzip # (4) mkdir /etc/pve/priv/zfs ssh-keygen -f /etc/pve/priv/zfs/192.168.101.100_id_rsa # (1) ssh-copy-id -i /etc/pve/priv/zfs/192.168.101.100_id_rsa.pub root@192.168.101.100 # (2) ssh -i /etc/pve/priv/zfs/192.168.101.100_id_rsa root@192.168.101.100 # (3) -apt-get install librest-client-perl git # (4) iscsiadm --mode discovery --op update --type sendtargets --portal 192.168.101.100 iscsiadm -m node -T iqn.2005-10.org.moon-storage-01.ctl:proxmox-zfs-storage -p 192.168.101.100 -l iscsiadm -m node # (5) @@ -30,6 +30,23 @@ iscsiadm -m session # (6) 5. Making sure that it's actually communicating with the iSCSI target successfully or not. 6. Making sure that it's actually communicating with the iSCSI target successfully or not. +## Configure Storage Provider +Now you need to set up the storage provider in TrueNAS via a series of "patches" provided by the community. You will run the commands below within a ProxmoxVE shell, then when finished, log out of the ProxmoxVE WebUI, clear the browser cache for ProxmoxVE, then log back in. This will have added a new storage provider called `FreeNAS-API` under the `ZFS over iSCSI` storage type. + +``` sh +cd /tmp +wget https://github.com/TheGrandWazoo/freenas-proxmox/archive/refs/tags/v2.2.zip +unzip v2.2.zip +cd freenas-proxmox +patch -b /usr/share/pve-manager/js/pvemanagerlib.js < pve-manager/js/pvemanagerlib.js.patch +patch -b /usr/share/perl5/PVE/Storage/ZFSPlugin.pm < perl5/PVE/Storage/ZFSPlugin.pm.patch +patch -b /usr/share/pve-docs/api-viewer/apidoc.js < pve-docs/api-viewer/apidoc.js.patch +cp perl5/PVE/Storage/LunCmd/FreeNAS.pm /usr/share/perl5/PVE/Storage/LunCmd/FreeNAS.pm +systemctl restart pvedaemon +systemctl restart pveproxy +systemctl restart pvestatd +``` + | **IP Address** | **Hostname** | **Additional Notes** | | :--- | :--- | :--- | | 192.168.5.1 | PFSENSE | pfSense Firewall | \ No newline at end of file