A short how-to article, that covers from deployment of TrueNAS to creation of an iSCSI datastore in vSphere.
Building up nested V2T demo environment - PART3: TrueNAS (this article)
I always knew doing a nested vSAN is not a good idea, and still tried it in this case, just to waste another 4 hours configuring it, fixing tons of issues and then clearing up after it. Don't get me wrong, vSAN is awesome, but not when it is running on a nested environment on top of another vSAN storage.
This is how I came back to the good old FreeNAS, which much to my surprise is called now TrueNAS.
I am going to explain the steps to do a simple TrueNAS deployment, for the purposes of my V2T.DEMO (it is of course applicable to any vSphere lab).
STEP 1: Create VM
Create the VM to be compatible with whatever ESXi you're running on:
STEP 2: Select a guest OS
ESXi 7.0 U1 and later provides FreeBSD 13, with which I had some issues, so my advice is to choose FreeBSD 12 (64-bit)
STEP 3: VM Hardware
It is a storage device, so you better allocate some resources to it. I am going to go for 4 vCPUs and 16G of RAM. I have also added 2 additional disks, 1.5T and 1T to be used for the management and workload clusters repsectively.
Please note I am connecting the TrueNAS appliance to my trunk port group, so it can stay as close as possible to its consumers - my hypervisors.
STEP 4: Installation
Power up the VM and install TrueNAS. The process is pretty straight forward, just select the 8GB disk to install on it, add root password and reboot.
STEP 5: Network
It is time to configure the TrueNAS, starting with the networking.
I have connected the appliance to a Trunk portgroup, hence I'll need to configure a VLAN interface.
Once the VLAN interface is created, we need to set an IP address by selecting option 1)
(Optional) You can finish the deployment by configuring 4) Default Route and 6) DNS if needed.
STEP 6: Create an iSCSI Target
Now it is time to create and present the storage to the hypervisors, by adding it to the TrueNAS and then creating an iSCSI target.
First thing is to create a storage pool (Storage / Pools / Create Pool)
Repeat the same and create a secondary pool for the workload disk (da2 - TiB). I have 2 clusters in my lab, hence the need of 2 datastores.
After you create both pools, click on the tree dots on each pool and Add Zvol:
(Repeat that step on the second pool)
Next, and final step from the TrueNAS configuration is to create the actual iSCSI Target. Go to Sharing / Block Shares (iSCSI) and click on WIZARD.
On the first step you'll need to select a Block Device, then create a new Portal on the second step. Leave everything else to default settings, as we control the security on a higher level, so I will not bother to limit the access within the TrueNAS appliance.
The final result should look like that:
(Repeat that step to create an iSCSI target to the wld-zvol device).
Finish the TrueNAS configuration by clicking Save under Target Global Configuration, to save the newly created target and to enable the iSCSI service.
STEP 7: Present the iSCSI storage to your ESXis
Optionally you can configure iSCSI dedicated vmk/pnic if you want to, but that does not make sense in my case due to the nature of the deployment.
In the vSphere web client navigate to an ESXi host / Configure / Storage Adapters and click on Add Software Adapter
Once the adapter is created, add a Target Server in the Dynamic Discovery sub menu.
Hit Rescan Storage so the esxi could see the presented devices.
Finish the configuration by creating new datastores for each cluster.
Thanks for reading!