Update Servers & Workflows/Linux/Virtualization/Proxmox/ZFS-Over-iSCSI.md
This commit is contained in:
@ -8,15 +8,15 @@
|
|||||||
!!! note "Environment Assumptions"
|
!!! 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.
|
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.
|
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
|
``` sh
|
||||||
|
apt-get install librest-client-perl git unzip # (4)
|
||||||
mkdir /etc/pve/priv/zfs
|
mkdir /etc/pve/priv/zfs
|
||||||
ssh-keygen -f /etc/pve/priv/zfs/192.168.101.100_id_rsa # (1)
|
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-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)
|
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 --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 -T iqn.2005-10.org.moon-storage-01.ctl:proxmox-zfs-storage -p 192.168.101.100 -l
|
||||||
iscsiadm -m node # (5)
|
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.
|
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.
|
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** |
|
| **IP Address** | **Hostname** | **Additional Notes** |
|
||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| 192.168.5.1 | PFSENSE | pfSense Firewall |
|
| 192.168.5.1 | PFSENSE | pfSense Firewall |
|
Reference in New Issue
Block a user