Here is my current setup: Intel(R) Core(TM) i7 CPU 960 @ 3.20GHz. 512MB of RAM. 4 x 2TB Hard drives. Running NAS4Free 18.104.22.168 Sandstorm - Beta (Revision 49) from VMware Workstation.
My 4 x 2 Terabyte drives are in no HARDWARE RAID configuration. This is important as ZFS employs its own RAID structure in its file system so the Mother Board BIOS had its RAID settings disabled (this is what worked for me).
1 - Pull down the “DISKS” Menu from the top navigation bar and then select “MANAGEMENT”. See SUG Section 5.1 - Disks Management for details.
3 - Using the drop down Menu, select the drive you are adding.
4 - Give it a Description
5 - I left the following settings in their default positions, but depending on your configuration you can change them.
6 - Preformatted file System was left to Unformatted. By setting this to Unformatted we can use the format option in NAS4Free.
7 - Click the “ADD” Button.
8 - Click the “APPLY CHANGES” Button.
I repeated this process (steps 2 – 8) for the remaining three drives. I DID NOT ADD MY USB stick as this holds the NAS4Free OS and I don’t want that to be formatted by ZFS etc.
All drives should now appear in the disc Management Page. All Drives should have a “STATUS” of “ONLINE”
When all the drives are added I now format them into ZFS.
1 - Pull down the “DISKS” Menu on the top Navigation Bar and select “FORMAT”.
2 - Select Drive which should now appear in the dropdown.
3 - Select ZFS Storage Pool Device for the File System.
4 - I erased my MBR so left the “Don’t Erase MBR” Setting UNCHECKED.
5 - Click the “FORMAT DISK” Button.
Repeat steps 2-5 for all additional drives that you have.
Pull down the “DISKS” Menu on the top Navigation Bar and then select “MANAGEMENT” again to check that the formatting of all drives was successful.
Once you have gotten NAS4Free to recognise, format and present your drives in the WebGUI, you will now proceed to create a virtual device consisting of these drives.
1 - Go to “DISKS” Tab at the top navigation bar and then select “ZFS”.
2 - Click on the “Virtual Device” Tab.
4 - Enter a Name (I called mine VD01).
5 - Select a Type (I personally selected Single Parity Raid 5 which is RAIDz1 in ZFS speak).
6 - Now select ALL the DEVICES SO THEY TURN BLUE!! OTHERWISE YOU WILL GET AN ERROR.
7 - I didn’t select Advanced Format.
8 - Enter a Description.
9 - Click the “ADD” Button. After clicking the “ADD” Button you will be returned to the Virtual Device page in ZFS.
Now the drives have been added to NAS4Free they still have to be made available for NAS4Free to manage.
Pull down the “STATUS” Menu on the top navigation bar and select “SYSTEM”, you will see the Disc you have been setting up are still not here “No Disc Configured”.
1 - Pull down the “DISKS” Menu on the top Navigation Bar and select “ZFS”. This will load up the management page.
3 - Enter a Name ( I gave mine the exact same name as what I gave the Virtual Device: VD01)
4 - SELECT THE VIRTUAL DEVICE SO IT IS TURNED BLUE!!! AGAIN THIS HAS TO BE SELECTED.
5 - I kept these options as default:
6 - I entered a name for the Description. Click the “ADD” Button. You will then be returned to the Management Page.
Everything is listed as UNKNOWN. DO NOT WORRY. YOU MUST APPLY THE CHANGES!
7 - Click the “APPLY CHANGES” Button!
8 - Now all the values should have changed and the virtual device is now online. Just to make sure, Pull down the “STATUS” Menu on the top navigation bar and select “SYSTEM”, you should now see the Disc.
9 - Take note of the FREE space! You will need this value for later.
Now with the disc managed and configured correctly in ZFS we are now going to create an iSCSI Target.
1 - Pull down the “SERVICES” Menu on the top Navigation Bar and select “iSCSI target”.
2. Click the “ENABLE” checkbox for iSCSI Target in the upper right corner of the page.
3. Leave everything else alone, change nothing.
4. Click the “Save and Restart” Button.
This will allow you to configure how the iSCSI target will be seen or reported on the network.
Now click the “PORTALS” tab.
2 - For the benefit of this document I left it at its default which is to allow it to be accessed VIA any IP address that the NAS4Free server is configured with.
3 - Click the “ADD” Button.
4 - Click the “Apply Changes” Button in the Portal Group Page.
Initiators are systems that can access an iSCSI target (in this case the ZFS storage we created above) here you can specify which machines via IP can initiate a communication with the iSCSI target.
1 - Click on the “Initiators” Tab.
3 - Here again I left all settings at their defaults and clicked the “ADD” Button. (Anything can access it).
4 - Click the “Apply Changes” Button.
To create an iSCSI Target you must create an Extent first.
1 - Go to the “Targets” Tab.
3 - Give the Extent a name I left mine as “extent0”.
4 - In 0.7.2 of NAS4Free with ZFS the “TYPE”, “ZFS Volume” option in the Drop-down Menu did not work for me! SO KEEP IT AS “File”.
5 - Click on the Button at the end of the Path text box. This will bring up a simple file system browser. Since we cannot use the ZFS volume, we have to point to the correct directory and create a file which will essentially be the drive you will be writing to.
6 - Earlier we created a device called VD01 which is presented here as a folder. Select VD01 or the name of your Virtual Device.
7 - This will change the path from /mnt/ to /mnt/VD01/ in the address bar at the top. Click the “OK” Button once you have selected the path.
This will appear in the Target Add page.
8 - Add to the path field “extent0”
9 - File Size: Here is the big problem DO NOT USE AUTO it does not work with ZFS. You will get an:
Error: The changes could not be applied (error code 1).
message later on when trying to “Apply Changes” and in the logs (Top Pull Down Menu Diagnostics > Logs) you will get messages such as:
Apr 4 15:13:37 nas4free root: Failed to restart service iscsi_target Apr 4 15:13:37 nas4free istgt: istgt.c:1618:main: ***ERROR*** istgt_lu_init() failed Apr 4 15:13:37 nas4free istgt: istgt_lu.c:1863:istgt_lu_init: ***ERROR*** lu_add_unit() failed Apr 4 15:13:37 nas4free istgt: istgt_lu.c:1604:istgt_lu_add_unit: ***ERROR*** LU1: LUN0: Auto size error (/mnt/VD01/extent0) Apr 4 15:13:37 nas4free istgt: istgt version xxxxxxxxxx (xxxxxxxx) Apr 4 15:13:37 nas4free istgt: istgt version xxxxxxxxxx) exiting
You must put in an approximate size. So do you remember earlier, when I asked you to note down the free space in the Status System Page?
Here I have 5.34T which is 5.34 TB of free space, this is what we will present to the iSCSI Initiators as free space.
10- In “File Size” as it only accepts whole numbers and no Decimal points, enter the value as a whole number with the correct units attached. I cannot add 5.34TB so I added 5468GB (5.34 x 1024(number of GB in a TB), I might lose a tiny bit of space but for this document I will allow it.
11- Add a comment, then click the “Save” Button
12- Click “Apply Changes” on the Services| iSCSI Target | Target page.
All that is left is to add a target.
That is it! All that is left is connecting to the iSCSI Target. There is a wealth of information on this, so I will leave you to Google that one.