Along with the release of NexentaStor 3.1.4, Nexenta Systems today officially released the (very) Beta VAAI-NAS plugin for VMware vSphere 5.x via the community NexentaStor.org forums. VAAI-NAS is still not widely supported in the NAS world, and of those that do, not all support all the primitives. You can search the VMware Compatibility Guide for vendors that are VAAI-NAS certified.
VAAI, to catch up, is the the suite of primitives (instructions) that allow vSphere to offload certain VM operations to the array. For NAS Hardware Acceleration, these are:
- Full File Clone – Enables virtual disks to be cloned by the NAS device (but not ‘hot’, the VM must be powered off).
- Native Snapshot Support – Allows creation of virtual machine snapshots to be offloaded to the array.
- Extended Statistics – Shows actual space usage on NAS datastores (great for thin provisioning).
- Reserve Space – Enables creation of thick virtual disk files on NAS.
Everything you wanted to know about VAAI (but were afraid to ask)
http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-Storage-API-Array-Integration.pdf
At this point, all primitives are working (or supposed to, it’s beta, right?) save for the Native Snapshots.
Here’s a quick tutorial to install the agent in NexentaStor and the plugin in VMware Vsphere.
** IMPORTANT NOTE **
This is in no way supported in a production environment. Installation/configuration requires use of the command line which is NOT supported on production systems under a support contract and in fact may void your support contract. Basically, if you do put it into production and get caught, you may not reference this post. :) Also, this is beta, it may delete all the things, so don’t put into production. Also, don’t put into production.
Repeat after me: “Even if the product blows my mind and saves me 500 hours a week, I <name> will not put this in production for fear of my life and data.”
As you can see, Hardware Acceleration is currently not supported on my NFS Datastore.
- Download and extract the contents of the zip file
http://downloads.nexenta.com/cdn/beta/VAAI-NAS/nas_vaai_installer_1.0-128.zip
- Run the NASVAAIInstaller.exe
- Choose ‘Install Nexenta NAS VAAI agent and plugin‘
- Enter a hostname or IP of the NexentaStor host and the root credentials and click Next
- The operational log should tell you if the installation was successful or not
- The operational log should tell you if the installation was successful or not
- Click Next
- Enter a hostname or IP address and the root credentials for the ESX host for which you want to install the plugin. This performs the following:
- ????
- Profit
Well, maybe not yet. While the agent is installed on the Nexenta host and the plugin installed on ESX, you still have to start the agent by hand. This would normally have to be done every time the Nexenta host boots, but we’re going to create an SMF service.
- SSH into your Nexenta host as root, set the ‘expert mode’ option and drop to the shell.
nmc@ns1:/$ option expert_mode=1 nmc@ns1:/$ !bash You are about to enter the Unix ("raw") shell and execute low-level Unix command(s). Warning: using low-level Unix commands is not recommended! Execute? Yes root@ns1:/volumes#
- copy the init script to /lib/svc/method/ to make it a little more kosher with SFM best practices.
cp /etc/init.d/nasvaaisrv.sh /lib/svc/method/
- Create the xml manifest file
touch /var/svc/manifest/application/nas_vaai.xml
- Paste the following into the manifest
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <!-- Copyright 2013 Nexenta Systems, Inc. All rights reserved. Use is subject to license terms. $Id$ --> <service_bundle type="manifest" name="nas_vaai"> <service name="application/nas_vaai" type="service" version="1"> <create_default_instance enabled="true"/> <single_instance/> <!-- If there's no NFS, then there's no point in running --> <dependency name="nfs" grouping="require_all" restart_on="restart" type="service"> <service_fmri value="svc:/network/nfs/server:default"/> </dependency> <exec_method type="method" name="start" exec="/lib/svc/method/nasvaaisrv.sh %m" timeout_seconds="60"/> <exec_method type="method" name="stop" exec="/lib/svc/method/nasvaaisrv.sh %m" timeout_seconds="60"/> <stability value="Unstable"/> <template> <common_name> <loctext xml:lang="C">VAAI-NAS Agent</loctext> </common_name> </template> </service> </service_bundle>
- After creating the manifest, you can validate your xml with
svccfg validate /var/svc/manifest/application/nas_vaai.xml
- If no errors are present, import the XML to create the service
svccfg import /var/svc/manifest/application/nas_vaai.xml
- Enable the service to start on boot (this also starts the service)
svcadm enable application/nas_vaai
- Confirm that the service has started
pgrep -l nas_vaai_server
The VAAI-NAS agent is now installed and started and the plugin is installed on your ESX host.
As you can see, Thick Provisioning is now available on this NFS datastore (utilizing the Reserve Space primitive)
We’re taking feedback on the plugin in this forum:
http://nexentastor.org/boards/13/topics/9315
So please, install it, use it, break it, suggest improvements (already submitted to Engineering to allow ad hoc and multiple vSphere host installation)
*** UPDATE 1 ***
I’ve updated the startup method. I moved away from using an rc3.d method to the more proper SMF service method of service/daemon/agent starting.
Pingback: Reposting an update to NexentaStor version 3.14, with credit to @MattVogt | Virtuallytiedtomydesktop's Blog
Pingback: Nexenta 3.1.4 and beta Nexenta NFS VAAI Plugin released
Hi Matt,
Do you have any sense as to when the VAAI-NAS plugin will exit Beta and be ready for production?
Unfortunately, I don’t have a timetable from the PM team. But it’s not far off as it’s actively shipping with the NexentaVSA for View product. To help the PM team gauge its importance, if you’re a customer or partner, you can submit an RFE through the portal or from the ‘Request a feature’ link inside of NMV (at the bottom).
Thanks for your instructions! I got it working, however it seems to offload the cloning of VMs pretty randomly. I’ll clone a VM and it’ll take 10 minutes and go over the network. Then right after I’ll clone the same VM and it takes less than a minute with no network activity. Seems the beta still has some work that needs to be done. By the way, do you know if this will be available for the community edition when it gets released?
SMF integration. Awesome!
Thanks for your help sanitizing my manifest :)
Hello, do you know if there will be a version that will install a working vib for esxi 5.5? I cannot install the vib on my 5.5 systems.
Sorry, I haven’t heard. I no longer work there, so I don’t have the insight into engineering that I used to. Best to ask on their forums.
Pingback: vSphere Home Lab 向けの CentOS 7.x NFS Server | over a Radler