In this article we are covering the steps on how to create a Synology LUN compatible with VMware VAAI Framework. VAAI is short for vStorage APIs for Array Integration. It is also referred as Hardware Acceleration and gives the VMware Hosts the option to delegate Virtual Machines and Storage Management operations to compatible storage hardware able to process the “VAAI Primitives”.
This way we can offload from the VMware Host, therefore saving on CPU and Memory and Network resources, to the Storage Hardware the execution of such operations. What kind of operations or what kind of VAAI Primitives are currently supported?
There are different types of operations aka Primitives that are categorised as follows:
VAAI Block Primitives
- Atomic Test and Set (ATS)
- ATS Only Flag
- XCOPY (extended Copy)
- Write same (Zero)
VAAI NAS Primitives
- Full File Clone
- Fast File Clone / Native snapshot support
- Extended Statistics
- Reserve Space
VAAI Thin Provisioning Primitives
- Thin Provisioning Stun
- Thin Provisioning Space Threshold Warning
- Dead Space Reclamation
We’ll cover more VMWare VAAI implementation specifics with regards to Pluggable Storage Architecture (PSA) in a dedicated article. In this instance the focus is on how to leverage VAAI APIs for the iSCSI LUNs where we can setup our VMware Datastores. In the previous article we have seen the easy steps for a Synology NAS first time configuration. Now we are ready to configure the iSCSI LUNs we’ll use for our VMware Datastores.
Synology Disk Group
The creation of an iSCSI LUN with Synology is a super easy process and most of all is wizard driven. The next screenshots will show the steps. In the previous article we have already seen how to create a Disk Group.
In theory we can carry on by clicking on the iSCSI LUN menu and start the wizard as per screenshot below.
In practice if we decide to create an iSCSI LUN directly from a Disk Group we are only given the option to create multiple iSCSI LUNs on a Block Level. This might sounds right for what we intend to do.
Just imagine you can create multiple iSCSI LUNs storing different VMware Datastores depending on purpose. For example one LUN for Production and one for Dev. Does it sound about right? It does. The only caveat is that these iSCSI LUNs created on a Block level cannot leverage the VMware VAAI APIs for Hardware Acceleration.
In order to take advantage of such iSCSI LUN types we need to create them as iSCSI LUNs at a File Level.
In addition if we take a closed look at this screenshot it looks like the option we need is not available. This is because we need to create an iSCSI LUN on top of a Volume. So the process looks like:
- Create a Disk Group
- Create a Volume using the Disk Group
- Create iSCSI LUNs VAAI optimised (File Level)
So at this point we are ready to move to the next step about creating a Synology LUN on a Volume.
Create a LUN on a Synology Volume
In this part we are going to create a Volume on the Synology NAS. Volumes are used for different purposes including the ability to setup multiple iSCSI LUNs on a File Level rather than Block Level. Of course File Level has lower performances compared to “native” Block Level. With File Level we can leverage the resources on the Storage Hardware (CPU, Memory and Network) to complete the operations on behalf of the VMware Hosts thus saving resources and focusing on other operations.
As soon a Disk Group is created next is to create a Volume from the Storage Manager menu and follow the wizard.
In this case one option only is available. We can setup 1 Volume per Disk Group. Within each Volume we can create multiple iSCSI LUNs.
Let’s specify the Disk Group previously created. In alternative we can create a new one on the fly.. Of course depending with which option we go for we’ll have the pertinent options available as highlighted above in the article.
For VMware VAAI we need to select the Btrfs file system. This File System also offers other very nice capabilities such like Shared Folders, Snapshots Management, Data Integrity and more.
At this point we can specify the size for the Volume. Since in my case I’m using all 4 drives capacity I will go for the full size. With Storages with more Bays of course it is possible to create different Disk Groups and associate the pertinent Volumes. Values are in Gibibytes (GiB).
We can provide a description. This field very muck like acts as Name field for this Volume object. It is not possible to control directly the name of the Volume. so we can use this filed instead. A descriptive name will work best when working with multiple volumes.
An finally we get a summary of the main settings before committing the changes.
The creation of the Volume is pretty quick. The screenshot below shows the used chosen settings. From here we can also manipulate the Volume container including actions like:
Option Remove: to completely delete the Volume. Careful this will also delete the iSCSI LUNs on top of it!
Option Edit: to change Description and Record File Access Time Frequency
Option Manage: to start Data Scrubbing and File System Defragmentation
Option Configure: To enable SSD Trim (when using SSD drives) and set LUN allocation unit size.
The LUNs allocation unit size can be set only before the creation of the actual iSCSI LUNs. We can also specify this value at the time of the LUN creation. Also multiple LUNs on the same Volume can only use one unit size at a time.
Synology LUN compatible with VAAI
At this point we are ready to create our first iSCSI LUN VMware VAAI optimised. In this case if we hit the same wizard as before the only option available is the first one to create LUNs at File Level.
In the next screen let’s specify the settings to something similar to the one below. The most important one in this case is the LUN Type field. We need to select “Advanced” option and then choose the 8KB sector size which is optimised for VMware VAAI.
Additionally we can also opt for the quick setup of the iSCSI Target or leave this one as a separate step. Other options include the ability to create LUNs optimised for Windows ODX or use a custom sector size. The size of the LUN again is still in GiB.
From this screen we can now configure the settings for the iSCSI Target. these will be the info we’ll be passing to the VMware iSCSI Software Initiator in order to add new Storage Devices. Additionally we can also challenge security by enabling CHAP and allowing only the intended iSCSI initiators to connect to this LUN.
And finally we can review the main settings for the creation of the Synology LUN otpimised for VMware VAAI. As soon as we hit on apply we’ll be able to edit settings as mentioned earlier in this article.
And this concludes this part about the creation of iSCSI Synology LUN optimised for VMware VAAI. Wait there’s more! We can also query the Storage Hardware and perform other operations pertinent to VAAI. We’ll cover these in more details in a specific article. Moreover the Advanced LUN type paired with Btrfs also allow other great features like the Storage Snapshots Management.
There is really a lot we can do in our home labs and Synology is simply a great companion!
Hopefully it was an informative article and would be great to get comments and feedback from your home labs!