Last time I described how to automate the deployment of PernixData FVP, including the esxi kernel modules and the mangement server. Now, fortunately PernixData has managed to become VMware partner certified, which means that you can now install the vibs through update manager, or if you use powerCLI, you won’t have to use the flag to install non-certified vib files anymore.

In this second blogpost, what I will be talking about is the second part of the implementation of any PernixData FVP accelerated environment: the actual configuration. Of course the manual way of configuring PernixData FVP is easy enough, but why wouldn’t you automate this? If you deploy new clusters on a regular basis or you want customers to be able to manage their own virtual machines through a self-service portal like vCloud Automation Center, you’ll need to use the automation tools provided by PernixData.

First of all, you’ll need to install the PernixData FVP management tools. This can be achieved by running the management server installation software, then deselecting “management server” and selecting “management CLI tools” and continuing the install as usual.

Now, for the actual usage. First, we’ll start off with the basics of importing the powershell module and connecting to the PernixData FVP management server:

import-module prnxcli
Connect-PrnxServer hostname -Username user -Password pass

Then, we’ll run through some of the most important commands. You can find a reference to all of these in the user guide provided to you with the product.

Say, we have a new vSphere cluster configured with 1 SSD device each, and we want to automatically create a PernixData cluster for this.

First, we’ll create the cluster with the following command:

New-PrnxFlashCluster -Name "Pernixcluster" -ObjId "vspherecluster" -Description "enter description here".

Then, we’ll iterate over all hosts in the cluster and add their ssd to the flash cluster. This script assumes only one SSD is present, if multiple SSDs exist the script would need some rewriting.

Get-vmhost -location "vspherecluster" |% {
    $DiskCanonical = (Get-ScsiLun -VMHost $_ | where { $_.ExtensionData.Ssd -eq "True" }).CanonicalName
    Add-PrnxFlashDeviceToCluster -ObjID $DiskCanonical -Flashcluster "vspherecluster"

This will add the SSDs in all hosts to the flash cluster in one go, allowing you to get up and running within minutes. In case the SSD has already been used, you can use the -ForceReformat parameter to the Add-PrnxFlashDeviceToCluster cmdlet to force the removal of all data on the device.

The same goes for automating configuration of datastores or virtual machines. Customers won’t have access to the PernixData configuration, but you still might want to allow them the option to choose to accelerate individual datastores or virtual machines themselves, at a price. By using the PernixData FVP powershell modules, you can integrate this in your own self-service portal.

Adding and removing a datastore to or from the PernixData FVP accelerated cluster is as simple as running the following command:

Add-PrnxDatastoreToFlashCluster -FlashCluster "pernixcluster" -Name "datastore" -WB-NumWBPeers 2
Remove-PrnxDatastoreToFlashCluster -FlashCluster "pernixcluster" -Name "datastore"

Similarly, accelerating indiviual machines is equally simple:

Add-PrnxVirtualMachineToFlashCluster -FlashCluster "pernixcluster" -Name "VM" -WB -NumWBPeers 2
Remove-PrnxObjectFromFlashCluster -FlashCluster "pernixcluster" -Name "datastore"

This configured the datastore or virtual machine as write-back, if you want write-through for some reason you could use the -WT parameter instead.

Listing all virtual machines a customer has accelerated can be done through the following command:


This returns a list of virtual machine objects, which can then be filtered through location, tags, vApps, or anything that identifies the virtual machines as belonging to a specific tenant or internal department. This can be done in the usual was as you would a normal PowerCLI VM object.

Changing between write-back and write-through policies can be done with the set-PrnxAccelerationPolicy cmdlet:

Set-PrnxAccelerationPolicy -Name "vmdatastore" -WT
 Set-PrnxAccelerationPolicy -Name "vmdatastore" -WB -NumWBPeers 2

There are some more commands which could be used to automate things like performance measurement, setting PernixData specific properties, getting information about accelerated objects, etc, which are left up to the reader to find out.

If you would like to find out more about PernixData, review a trial or arrange a Proof of Concept, please contact me by mail or give me a call at (+31)251 828803.

Sjors Robroek

Author Sjors Robroek

I have been working in IT from 2000 onwards, starting mainly with Linux then branching out into areas of expertise such as Cisco networking, Microsoft windows and storage. In 2008 I learned more about virtualization and have been specializing in that since. Other skills has certainly not been neglected though and one of my strong points is the knowledge about the related technical areas of virtualization, such as networking and storage. This helps me a lot in getting around in the Software Defined World where automation will be the name of the game.

More posts by Sjors Robroek
10 April 2014

Leave a Reply