2020.04.28 – Building a VMware vSphere Virtual Lab with VMware Fusion – Part 5: Create a FreeNAS iSCSI and Configure Multipathing – working now

Working now …

Starting info and advice:

  • I will try to do Part 5 using these idea: I’d recommend using FreeNAS instead of Ubuntu. I’ve just done a test and managed to set up a FreeNAS VM with 2 GB of RAM and managed to create a volume and connect it to ESXi using iSCSI. 

Mine lab parts:

GraspingTech’s helping guid:

Overview

My idea is to add Disk and configure iSCSI in FreeNAS and connect mine ESXi hosts to it.

In the Part 4 I’ve created a three node cluster but I couldn’t enable DRS or HA because it requires centralised storage. In this part, I’ll create a storage server with FreeNAS and configure it so that mine ESXi hosts can access it via iSCSI (with multipathing).

After completing the steps in the previous page, I will be at a point where I have:

  • Three ESXi 6.7 VMs running on VMware Fusion
  • The first ESXi VM contains a pfSense firewall VM with built in DNS Resolver
  • One vCenter Server Appliance in VMware Fusion
  • I am able to access the hosts and vCenter from the Mac using domain names
  • A cluster with the three ESXi 6.7 hosts use to it

For this project I need to download the FreeNAS image, named FreeNAS-11.3-U2.1.iso, and install it. I publish here all I do to install: 2020.04.27 – Install FreeNAS 11.3 on VMware Fusion with iSCSI Disks

Now I go to the next step ….

Step 1. Configure Network and open the existing FreeNAS 11.3 U2.1

Open VMware Fusion and find the Virtual Machine FreeNAS and select it.

Clicking on Virtual Machine > Hard Disk (SCSI)

-> Processor and Memory

Verify Processor and Memory

Modify to 2 processor cores and 2048 MB meaning 2 GB

-> Hard Disk

Verify total GB for both/all Hard Disk. If needed add a New Hard Disk to create a total of 80 GB. I have 2 Hard Disk with 20 GB

… and 10 GB

If needed add a new Hard Disk with 50 GB to have a total of 80 GB

-> Network Adapter

Need to have a total of 3 Network Adapter. If needed, create new Network Adapter’s

Tag vSphere for all existing Network Adapter

-> FreeNAS Settings looks like this

Step 2. Power-on FreeNAs 11.3 U2.1 and configure all three Networks

Power-on FreeNAS

Login into FireFox

In left side click on Network > Interfaces then in up-right side ADD

Create vlans named vlan101 and vlan102 with details below. The same is for each

All Networks created are here

Now is possible to ping the VM from the MacBook using the hostname freenas

murgescusilvia@Murgescus-MacBook-Pro ~ % ping freenas
PING freenas.silvique.ro (10.1.1.201): 56 data bytes
64 bytes from 10.1.1.201: icmp_seq=0 ttl=64 time=0.285 ms
64 bytes from 10.1.1.201: icmp_seq=1 ttl=64 time=0.594 ms
64 bytes from 10.1.1.201: icmp_seq=2 ttl=64 time=0.447 ms
64 bytes from 10.1.1.201: icmp_seq=3 ttl=64 time=0.532 ms
64 bytes from 10.1.1.201: icmp_seq=4 ttl=64 time=0.352 ms
64 bytes from 10.1.1.201: icmp_seq=5 ttl=64 time=0.560 ms
^C
--- freenas.silvique.ro ping statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.285/0.462/0.594/0.112 ms

Step 3. Verify iSCSI Port groups inside vCenter

The next thing needed to do is add two new VMkernel adapters to our standard virtual switches so that the hosts can communicate with the storage server created using multiple paths.

Power-on the needed of three ESXi’s, one FreeNAS, one vCenter and one pfSense (inside esxi01). To be able to use as much RAM as possible for vCenter I do NOT power-on all in the same time but in the order mentioned before.

Login to vCenter via Firefox

  • Click Host and Clusters
  • Click on the first ESXi host, esxi01
  • Click Configure
  • Click Virtual switches

Virtual switches that appears there include ISCSI-1 and ISCSI-2 including during Part 5: Create a Ubuntu iSCSI Target and Configure Multipathing – major problem and not finished

Go on FreeNAS web bowser then >- Shell and ping all ISCSI‘s:

  • 10.10.1.11, 10.10.1.12
root@freenas[~]# ping 10.10.1.11
PING 10.10.1.11 (10.10.1.11): 56 data bytes
64 bytes from 10.10.1.11: icmp_seq=0 ttl=64 time=2.170 ms
64 bytes from 10.10.1.11: icmp_seq=1 ttl=64 time=1.299 ms
64 bytes from 10.10.1.11: icmp_seq=2 ttl=64 time=0.885 ms
^C
--- 10.10.1.11 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.885/1.451/2.170/0.536 ms

root@freenas[~]# ping 10.10.2.11
PING 10.10.2.11 (10.10.2.11): 56 data bytes
64 bytes from 10.10.2.11: icmp_seq=0 ttl=64 time=1.173 ms
64 bytes from 10.10.2.11: icmp_seq=1 ttl=64 time=0.848 ms
^C
--- 10.10.2.11 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.848/1.010/1.173/0.162 ms
  • 10.10.2.11, 10.10.2.12
root@freenas[~]# ping 10.10.1.12
PING 10.10.1.12 (10.10.1.12): 56 data bytes
64 bytes from 10.10.1.12: icmp_seq=0 ttl=64 time=1.100 ms
64 bytes from 10.10.1.12: icmp_seq=1 ttl=64 time=0.665 ms
64 bytes from 10.10.1.12: icmp_seq=2 ttl=64 time=0.557 ms
64 bytes from 10.10.1.12: icmp_seq=3 ttl=64 time=0.643 ms
64 bytes from 10.10.1.12: icmp_seq=4 ttl=64 time=0.877 ms
^C
--- 10.10.1.12 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.557/0.768/1.100/0.196 ms


root@freenas[~]# ping 10.10.2.12
PING 10.10.2.12 (10.10.2.12): 56 data bytes
64 bytes from 10.10.2.12: icmp_seq=0 ttl=64 time=0.954 ms
64 bytes from 10.10.2.12: icmp_seq=1 ttl=64 time=0.720 ms
64 bytes from 10.10.2.12: icmp_seq=2 ttl=64 time=0.713 ms
^C
--- 10.10.2.12 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.713/0.796/0.954/0.112 ms
  • 10.10.1.13, 10.10.2.13
root@freenas[~]# ping 10.10.1.13
PING 10.10.1.13 (10.10.1.13): 56 data bytes
64 bytes from 10.10.1.13: icmp_seq=0 ttl=64 time=1.090 ms
64 bytes from 10.10.1.13: icmp_seq=1 ttl=64 time=0.981 ms
64 bytes from 10.10.1.13: icmp_seq=2 ttl=64 time=0.642 ms
^C
--- 10.10.1.13 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.642/0.904/1.090/0.191 ms


root@freenas[~]# ping 10.10.2.13
PING 10.10.2.13 (10.10.2.13): 56 data bytes
64 bytes from 10.10.2.13: icmp_seq=0 ttl=64 time=0.497 ms
64 bytes from 10.10.2.13: icmp_seq=1 ttl=64 time=0.533 ms
^C
--- 10.10.2.13 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.497/0.515/0.533/0.018 ms

Step 4. Configure iSCSI Target into FreeNAS

Now that the network is configured and all three ESXi hosts can communicate with the storage server, I need to configure the iSCSI target into FreeNAC.

The idea is to test VMware vSphere 6.7 and the vCenter appliance going to VMotion and Storage VMotion.

A full description of iSCSI installation for FreeNAC is into 2020.04.27 – Install FreeNAS 11.3 on VMware Fusion with iSCSI Disks.

Go to Sharing and select Block (iSCSI) to configure more options. We are into Target Global Configuration. Then click SAVE

Click on Portals. Click ADD for 2 different timess.

  • Name: ISCSI-1
  • IP adress: 10.10.1.201 default port 3260
  • Click Save
  • Name: ISCSI-2
  • IP adress: 10.10.2.201default port 3260
  • Click Save

Click on Initiators. Click ADD. Tag Allow ALL Initiators then SAVE.

Click on Targets. Click ADD for 2 different times.

  • Target Name: iscsi-1
  • Portal Group ID: 1 (ISCSI-1)
  • No other default configuration and click SAVE.
  • Target Name: iscsi-2
  • Portal Group ID: 2 (ISCSI-2)
  • No other default configuration and click SAVE.

Click Extents. Click ADD for 2 different times. Below are only modification and new setup.

  • Extent name: ISCSI-1
  • Extend Type: Device
  • Device: pool2/vmware-disk-01 (20.0G)
  • SSD – Enable
  • Click SAVE
  • Extent name: ISCSI-2
  • Extend Type: Device
  • Device: pool2/vmware-disk-01 (20.0G)
  • SSD – Enable
  • Click SAVE

We can see this:

Click on Associated Targets. Click ADD for 2 different times

  • Target: iscsi-1
  • LUN ID: 1
  • Extensors: ISCSI-1
  • Target: iscsi-2
  • LUN ID: 2
  • Extensors: ISCSI-2

Step 5. Verify iSCSI Target into vSphere

vSphere is already configured using the installation in Part 5: Create a Ubuntu iSCSI Target and Configure Multipathing.

Clicking on the Devices tab I do not see the thin provisioned disk I created when configuring the iSCSI target.

Open ssh for esxi01, esxi02 and esxi03. Use the following command on all

[root@esxi01:~] esxcli storage core adapter rescan --all
[root@esxi01:~] esxcli storage core adapter list
HBA Name  Driver     Link State  UID                                     Capabilities         Description
--------  ---------  ----------  --------------------------------------  -------------------  ------------------------------------------------------------------------
vmhba0    pvscsi     link-n/a    pscsi.vmhba0                                                 (0000:03:00.0) VMware Inc. PVSCSI SCSI Controller
vmhba1    vmkata     link-n/a    ide.vmhba1                                                   (0000:00:07.1) Intel Corporation PIIX4 for 430TX/440BX/MX IDE Controller
vmhba64   vmkata     link-n/a    ide.vmhba64                                                  (0000:00:07.1) Intel Corporation PIIX4 for 430TX/440BX/MX IDE Controller
vmhba65   iscsi_vmk  online      iqn.1998-01.com.vmware:esxi01-10a4398c  Second Level Lun ID  iSCSI Software Adapter

Clicking again on the Devices tab and now see the thin provisioned disk I created when configuring the iSCSI target.

When you click on the Paths tab you should see two paths. It is said that and one of them is with Active I/O bit I have both with Active I/O.

This is all…

2020.04.27 – Install FreeNAS 11.3 on VMware Fusion with iSCSI Disks

Download from here: https://www.freenas.org/download/

Informations that helps me to learn and install here: https://www.sysprobs.com/nas-vmware-workstation-iscsi-target

VMware is one of the best and user-friendly virtualization software in the market. Their Fusion can be installed on most of the client Operating Systems to virtualize the physical hardware and install multiple Operating Systems top of it.

Not only the server or client Operating Systems but even we can also install network storage Operating Systems on VMware as a virtual machine. Here I’m going to show how to install FreeNAS on VMware Fusion and configure iSCS disks. This method gives the ideal test lab setup to have NAS as a virtual machine on single computer hardware.

What is NAS (Network Access Storage)?

In the physical environment, NAS is a hardware device with hard drives and it is accessible via the network port. The controller will have its own Operating System to manage the disks and allow the access. Every NAS devices have plenty of features and tools to make it scalable, secure and accessible.

These NAS devices support iSCSI, that can be used to set up VMware vCenter. But for the testing purpose in VMware, we can’t have the expensive physical NAS devices to configure a cluster with high availability in VMware Fusion. So, there is some free open source NAS software available to install on computers or servers to build a NAS system with existing hard disks and partitions. These free storage virtualization software make your computer hard disk as network access storage.

I found that these two famous free NAS software can be installed in the computer and make NAS.

Installing FreeNAS on VMware Fusion is simple and straight forward. But setting up and configuring the iSCSI disks involves several steps. Also, remember that the steps involved in configuring iSCSI disks in FreeNAS as shown below remain the same on any platform.

Install FreeNAS Server on VMware Fusion

1) Download the latest stable version from the official site here. At the moment you can find FreeNAS 11.3-U2.1 as on writing this guide.

NOTE: The current version requires a minimum 8GB of RAM. Since I have enough resources on my MacBook PRO, I could configure a VM with 8GB RAM. If you do not have enough RAM, then you can try with lower capacity. It may impact the performance of VM.

2) Create a virtual machine in VMware Fusion

3) Select Install from disk or image and click Continue

4) If needed click Use an other disk or disk image, find the FreeNAT file and select it. Then press Continue

5) Let Legacy BIOS and click Continue

6) Click Continue Settings

7) Search for Users > murgescusilvia > Virtual Machines. If you want, create a New Folder chose a name like FreeNAS, make sure to chose a name into Save As like FreeNAS, and click Save

8) Continue with FreeNAS Settings

9) Into Processors & Memory

  • Processors: 4
  • Memory: 8GB meaning 8192 MB
  • Keep Advanced options unselected as default

10) Connect CD/DVD Drive is already installed

11) Keep Hard Disk configuration default of 20GB. Remember, this hard disk will be used to install the Operating System only. We can’t use this disk to create storage, disks and LUNs for sharing a purpose. We need to attach another hard disk again to this VM. We will discuss that later.

12) Boot the system with the first option (default)

13) Let it for Autoboot and wait…

14) Select the Install/Upgrade option and press OK

15) On the next screen, select the virtual hard disk to install. You need to choose the hard drive and press spacebar key to make the selection.

16) Press Yes

17) Insert your Password and make sure you will remember it for future use

18) Select the Boot mode as ‘Boot via BIOS’ option to make the things simple

19) Click OK

20) Chose Reboot and click OK

21) Immediately remove the loaded ISO file

At this point, we have successfully installed the latest FreeNAS on VMware Fusion which is running on MacBook PRO.

Let’s see some more settings to make it work.

Network Settings in FreeNAS VM – Vmware Fusion

Once the VM booted, you can see the below screen which gives several options.

By default, the VM network is in NAT mode in VMware Fusion. I’m not going to explain more about VMware Fusion networking.

In the NAT mode, your virtual machines and host will communicate well even though the host and VM IP look different.

If you want you can change the network mode to ‘Bridge Mode’ so the FreeNAS virtual machine will get the same IP scheme of your host computer physical network.

In both cases, we need to configure static IP for FreeNAS storage. That is the ideal way to keep the IP unchanged for your storage device.

22) First I change the network connectivity

23) Before configure the IP for FreeNAS I power-on the application that offer connectivity to internet, pfSense. I don’t know if I need internet for fart configuration of FreeNAS but I make sure it is connected to internet.

24) Configure FreeNAT with a static IP. Press 1 and enter

25) I have used File Name: em1 not em0 as in the follow Photo. I forget to make a photo withered version. All other are the same as shown

Once the IP changes, it will display the web URL on the screen.

26) Open a browser and access the URL. I use Firefox. Login with the root user name and password you set during the installation.

You must land on the FreeNAS management page without any issues.

Add Disk and Configure iSCSI in FreeNAS 11.3 on VMware Fusion

27) Now we are ready to configure the storage system and iSCSI disks. But we do not have any more drives than the OS disk. Hence we need to add another disk. You can add a few disks if you want.

  • -> It is thinking that luckily VMware allows adding the virtual disks to a virtual machine while it is working. SCSI disks can be added. We will see that it is not true for VMware Fusion.
  • -> In VMware Fusion shout down before adding a new Hard Disk
  • -> Power-off FreeNAS
  • -> Add a new Hard Disk. I added another 10GB disk for testing purpose.

28) Power-on FreeNAT and make sure VMware and FreeNAS detected the new disk successfully. It should be listed under the Storage > Disks.

29) Clock Storage > pool. Select ADD

30) Clock CREATE POOL

31) Add the new disk Name pool1 to the pool, select da1 and click ->

  • -> da1 is moved right. Click Created
  • -> Click CREATE POOL
  • -> it is successfully created

32) Now start the iSCSI service in FreeNAS. By default, it is off.  Go to ‘Services’, select and switch on the iSCSI service.

33) Go to ‘Sharing’ and select ‘Block (iSCSI)’ to configure more options. Then SAVE

34) Click on ‘Portals’ and add a new one. If it is the first time you are configuring, most probably you need to add a new portal. Click ADD

35) You can comment for your reference. Click on the drop-down and select the IP address of the FreeNAS VM.

36) Now click on ‘Initiators’ tab and add a new one.

37) If you do not want more restriction, as me, then keep both ‘All’. Otherwise, add the client network where you will be accessing the iSCSI storage. I left ‘All’ and applied the settings.

38) Time to add targets. Click on ‘Targets’ and ADD a new one.

39) Give a name related to the type so that you can understand later. Here select the portal you created in the earlier step.

40) We need to create Extents to add the storage. Click on ‘Extends’ and ADD new.

41) Give an appropriate name, and select the type as ‘File’.

  • -> Maybe it can be given any name you chose without .vmdy end but …
  • -> I give the next name from here. It is correct?
  • -> Browse the mount point where you intended to store the iSCSI disk and give a name at the end of the mount point. This method will allow hosting several LUNs in the same disk. Give the size of the extend. When host access this iSCSI target, it will read the disk size what you mention here. It should be less than the mount point size.

42) As the final step, add an ‘Associated Targets’. 

43) Make sure to select the correct names from the drop-down and add LUN ID. It can be any number between 0 to 256 but should be unique. Click SAVE

This is it!

With those steps, we have successfully created an iSCSI disk in FreeNAS which is running on VMware workstation.

Connect and Test the iSCSI Target in FreeNAS from VMware vCenter

This is done into Building a VMware vSphere Virtual Lab with VMware Fusion part 5