Friday, February 28, 2014

PernixData FVP 1.5 Reinstall

One of my favorite things to do is try to squeeze as much performance out of my home lab without buying more expensive gear or generating excessive amounts of heat since I already have space and cooling issues in my 15x15 office at home (yay townhouse). To that end, PernixData's FVP seemed like a perfect fit. These guys are awesome and one of their Engineers, Charlie Gautreaux has been really helpful as far as aiding me in getting this set up in our Greensboro lab and my home lab.

Smarter people than me (for instance, Nash and Wahl) have already blogged in depth on the architecture and performance gains offered by FVP so I wont dive too deep here. Suffice it to say the technology leverages local flash drives in your hosts as an intelligent read/write cache to accelerate storage performance. There is also a write back option that will mirror your writes to other hosts before acknowledgement rather than flushing to the datastore immediately further improving performance and ensuring data integrity if you lose a host.

Instead, what I am going to blog here real quick is an uninstall/reinstall of 1.5. please note there is an upgrade process for the management server, but I prefer to just dig it all out and start fresh. Refer to Pernix's documentation for an in place upgrade. This will give you an idea of how easy the product is to use in addition to the massive performance gains it offers up. With that, lets dive in.

Flash Cluster Removal


Before we start messing around with the managment server I am going to disable the acceleration on my datastore, remove the flash devices from the cluster, and delete the cluster.

So lets hop into our flash cluster from the web client and start working:



We will need to add the security exception to manage FVP since I am using Chrome:



And now we can mange our flash cluster, first I am going to remove acceleration from my iSCSI datastore:


Next, I am going to remove my flash devices from the cluster:


Once that is all done we can delete the flash cluster without issue, you may be able to delete the flash cluster outright and have it clean up for you, but I like to control all these mechanics. Also ignore the fact that my screenshot shows 3 flash devices in the cluster, you should see 0. I was just too lazy to take another screenshot:


This should be the end result:


Host Extension Removal


Next we need to uninstall the host extension from each of the hosts, so go ahead and throw one in maintenance mode, SSH into the host, then remove the host extension using Pernix's uninstall script: 


Once this is done, reboot the host, exit maintenance mode, vMotion some VMs, wash rinse and repeat.

Management Server Uninstall


Now that all the host extensions are uninstalled, we can uninstall and reinstall the management server. So lets start the uninstall:




Management Server Reinstall


Sweet, now we can install the latest management server, download the executable, and kick it off:


Accept the EULA:


Select an install type, I've always done complete:


Installation location:


Point it at your vCenter server and give it credentials to connect, the checkbox is for fairly niche use cases where you need to run the mgmt server as local admin rather than a domain account:


Give it credentials to the DB, I am am using my sql SA account b/c it is a lab, this is not a good security practice. Windows integrated auth works fine too:


Select the name used to identify this management server, I am using local hostname:


Away we go:




All set!

Host Extension Reinstall


First stick one of your hosts in maintenance mode. Then, upload your new host extension to one of your datastores, and kick off the extension installation using the following command:

esxcli software vib install -d /<PATH TO VIB>/PD-host-extension-version# --no-sig-check 

Where path to vib is the path to the folder location of the vib on your datastore and version# is the appropriate version# string for your extension. No sig check is necessary for now but eventually you can do this all through VUM once it is signed.


Once this is done, you can pull that host out of maintenance mode, and move on to the next. Continue until all of your hosts have the new extension on them.

Flash Cluster Recreation


Now that the management console and the host extensions are reinstalled we can rebuild our flash cluster. You will need to log out of, then back into the vSphere web client in order to get started.

Once logged back in you should see Flash Clusters listed under your vCenter server:


Click on the flash cluster and then click the add icon to create a new flash cluster:


Give it an appropriate name and select the cluster you are working with:


Once it's creation is complete select it, then head to the manage tab, then flash devices, and click add devices to bind your host flash devices to the FVP cluster:




Next, Select datastores/vms and add either the datastores you want to accelerate or the specific VMs you want to accelerate, make sure you choose write back if you want peak performance, and select the write redundancy you are comfortable with. I usually power off one of my hosts and this is a lab so I am only doing 1 network flash device for redundancy:



Voila! In short order you will be able to use the monitor tab to see your individual VMs consuming flash cache, make sure that your write policy matches what you had selected earlier:


Hopefully this is helpful, FVP is awesome and I really hope it gains some real traction out there. Hit me on twitter if you have questions!