<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Proxmox_iscsi_over_zfs_with_freenas</id>
	<title>Proxmox iscsi over zfs with freenas - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Proxmox_iscsi_over_zfs_with_freenas"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Proxmox_iscsi_over_zfs_with_freenas&amp;action=history"/>
	<updated>2026-05-15T19:47:38Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Proxmox_iscsi_over_zfs_with_freenas&amp;diff=20305&amp;oldid=prev</id>
		<title>Niklas.guenauer: Die Seite wurde neu angelegt: „=FreeNAS= ==Download &amp; Install== *https://www.freenas.org/download-freenas-release/ ===Web Access=== *https://dhcp_ip_of_freenas ===Network Settings=== *Networ…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Proxmox_iscsi_over_zfs_with_freenas&amp;diff=20305&amp;oldid=prev"/>
		<updated>2020-03-04T11:09:28Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=FreeNAS= ==Download &amp;amp; Install== *https://www.freenas.org/download-freenas-release/ ===Web Access=== *https://dhcp_ip_of_freenas ===Network Settings=== *Networ…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=FreeNAS=&lt;br /&gt;
==Download &amp;amp; Install==&lt;br /&gt;
*https://www.freenas.org/download-freenas-release/&lt;br /&gt;
===Web Access===&lt;br /&gt;
*https://dhcp_ip_of_freenas&lt;br /&gt;
===Network Settings===&lt;br /&gt;
*Network -&amp;gt; Interfaces -&amp;gt; Select your Interface -&amp;gt; press the &amp;quot;&amp;gt;&amp;quot; symbol at the right side -&amp;gt; EDIT -&amp;gt; change config as required&lt;br /&gt;
&lt;br /&gt;
==Prepare disks==&lt;br /&gt;
===Create Pool===&lt;br /&gt;
*Storage -&amp;gt; Pools -&amp;gt; ADD&lt;br /&gt;
**Create new pool&lt;br /&gt;
**Select the disks and Raid level you wanna use &lt;br /&gt;
[[Datei:FreeNAS-pool-manager.png |600px]]&lt;br /&gt;
**Create -&amp;gt; tick confirm and hit CREATE POOL&lt;br /&gt;
&lt;br /&gt;
===Create dataset within the pool===&lt;br /&gt;
*Storage -&amp;gt; Pool -&amp;gt; go to the pool you like and press the 3 dots -&amp;gt; Add Dataset -&amp;gt; change as required&lt;br /&gt;
[[Datei:FreeNAS-dataset-to-pool.png | 600px]]&lt;br /&gt;
&lt;br /&gt;
==Prepare iSCSI==&lt;br /&gt;
===Enable iSCSI===&lt;br /&gt;
*Services -&amp;gt; iSCSI -&amp;gt; start and enable iSCSI&lt;br /&gt;
[[Datei:FreeNAS-enable-iSCSI.png]]&lt;br /&gt;
&lt;br /&gt;
===Create Portal===&lt;br /&gt;
Create Portal if it doesn't already exist&lt;br /&gt;
*Sharing -&amp;gt; Block Shares (iSCSI) -&amp;gt; Portals -&amp;gt; ADD&lt;br /&gt;
[[Datei:FreeNAS-Portal.png|600px]]&lt;br /&gt;
*Save&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create Target===&lt;br /&gt;
*Sharing -&amp;gt; Block Shares (iSCSI) -&amp;gt; Targets -&amp;gt; ADD&lt;br /&gt;
[[Datei:FreeNAS-Target.png|600px]]&lt;br /&gt;
*Save&lt;br /&gt;
&lt;br /&gt;
=Proxmox=&lt;br /&gt;
===Lets create the SSH keys on the proxmox boxes. (The IP must match your iSCSI Portal IP)===&lt;br /&gt;
You only need to create the keys on one node if they are clustered as the keys will replicate to the other nodes.&lt;br /&gt;
&lt;br /&gt;
*portal_ip=192.168.1.1&lt;br /&gt;
*mkdir /etc/pve/priv/zfs&lt;br /&gt;
*ssh-keygen -f /etc/pve/priv/zfs/$portal_ip_id_rsa&lt;br /&gt;
*ssh-copy-id -i /etc/pve/priv/zfs/$portal_ip_id_rsa.pub root@$portal_ip&lt;br /&gt;
&lt;br /&gt;
===Enable &amp;quot;Log in as root with password&amp;quot; under Services -&amp;gt; SSH on the FreeNAS box.===&lt;br /&gt;
 &lt;br /&gt;
===Make an SSH connection from every node to the iSCSI Portal IP===&lt;br /&gt;
&lt;br /&gt;
*ssh -i /etc/pve/priv/zfs/$portal_ip_id_rsa root@$portal_ip&lt;br /&gt;
&lt;br /&gt;
===Install the REST client on every node===&lt;br /&gt;
&lt;br /&gt;
*apt-get install librest-client-perl git&lt;br /&gt;
&lt;br /&gt;
===Download the patches on every proxmox node===&lt;br /&gt;
&lt;br /&gt;
*git clone https://github.com/TheGrandWazoo/freenas-proxmox&lt;br /&gt;
&lt;br /&gt;
===Install the patches on every proxmox node===&lt;br /&gt;
&lt;br /&gt;
*cd freenas-proxmox&lt;br /&gt;
*patch -b /usr/share/pve-manager/js/pvemanagerlib.js &amp;lt; pve-manager/js/pvemanagerlib.js.patch&lt;br /&gt;
*patch -b /usr/share/perl5/PVE/Storage/ZFSPlugin.pm &amp;lt; perl5/PVE/Storage/ZFSPlugin.pm.patch&lt;br /&gt;
*patch -b /usr/share/pve-docs/api-viewer/apidoc.js &amp;lt; pve-docs/api-viewer/apidoc.js.patch&lt;br /&gt;
*cp perl5/PVE/Storage/LunCmd/FreeNAS.pm /usr/share/perl5/PVE/Storage/LunCmd/FreeNAS.pm&lt;br /&gt;
&lt;br /&gt;
===Restart the PVE services===&lt;br /&gt;
&lt;br /&gt;
*systemctl restart pvedaemon&lt;br /&gt;
*systemctl restart pveproxy&lt;br /&gt;
*systemctl restart pvestatd&lt;br /&gt;
&lt;br /&gt;
If you are using a cluster restart the following services as well.&lt;br /&gt;
&lt;br /&gt;
*systemctl restart pve-ha-lrm&lt;br /&gt;
*systemctl restart pve-ha-crm&lt;br /&gt;
&lt;br /&gt;
Reload the PVE webgui. Now FreeNAS-API should we available as a iSCSI provider.&lt;br /&gt;
&lt;br /&gt;
===Create a iSCSI target on the FreeNAS box.===&lt;br /&gt;
You dont need to create any extents as the FreeNAS-API plugin will do this automatically when the drive is created on the VM.&lt;br /&gt;
&lt;br /&gt;
 NOTE: If you followed this guide you already created your target&lt;br /&gt;
&lt;br /&gt;
===Setup ZFS Over iSCSI i Proxmox GUI. choose FreeNAS-API as provider.===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID: Whatever you want&lt;br /&gt;
Portal: iSCSI portal IP on the freenas box&lt;br /&gt;
Pool: Select your pool (eg: dagobert/VirtualMachines )&lt;br /&gt;
ZFS Block Size: 4k&lt;br /&gt;
Target: IQN on the FreeNAS box and target ID (eg: &amp;quot;qn.2005-10.org.freenas.ctl:iscuzzy&amp;quot;)&lt;br /&gt;
API use SSL: Unchecked&lt;br /&gt;
API Username: root&lt;br /&gt;
API IPv4 Host: iSCSI portal IP on the freenas box&lt;br /&gt;
API Password: root password on freenas box&lt;br /&gt;
Thin provision and Write cache is optional&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Proxmox-zfs-over-iscsi.png]]&lt;br /&gt;
&lt;br /&gt;
==API after update==&lt;br /&gt;
Note: A pve-manager upgrade will replace the patched files so i suggest you create a bash script&lt;br /&gt;
and run it on every node after an upgrade.&lt;br /&gt;
&lt;br /&gt;
I have a script that looks like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
cd /root/freenas-proxmox &lt;br /&gt;
&lt;br /&gt;
patch -b /usr/share/pve-manager/js/pvemanagerlib.js &amp;lt; pve-manager/js/pvemanagerlib.js.patch&lt;br /&gt;
patch -b /usr/share/perl5/PVE/Storage/ZFSPlugin.pm &amp;lt; perl5/PVE/Storage/ZFSPlugin.pm.patch&lt;br /&gt;
patch -b /usr/share/pve-docs/api-viewer/apidoc.js &amp;lt; pve-docs/api-viewer/apidoc.js.patch&lt;br /&gt;
&lt;br /&gt;
cp perl5/PVE/Storage/LunCmd/FreeNAS.pm /usr/share/perl5/PVE/Storage/LunCmd/FreeNAS.pm&lt;br /&gt;
&lt;br /&gt;
systemctl restart pvedaemon&lt;br /&gt;
systemctl restart pveproxy&lt;br /&gt;
systemctl restart pvestatd&lt;br /&gt;
&lt;br /&gt;
systemctl restart pve-ha-lrm&lt;br /&gt;
systemctl restart pve-ha-crm &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Niklas.guenauer</name></author>
	</entry>
</feed>