Change policy on a vSAN object via RVC

I had someone reach out to me recently, asking for a way to change the policy on a file that was uploaded to a vSAN datastore, e.g. an ISO image. When a file is uploaded to the vSAN datastore, a VM Home namespace object is created. It is into this ‘file system’ type object that the files/ISOs are stored. Initially, I looked at ways to change the VM Home namespace. I looked at various commands to change the policy and I did find some in RVC, the Ruby vSphere Console. Unfortunately all the spbm.namespace_change commands look for a VM as…

Using PowerCLI SPBM cmdlets to create VMs with storage policy

Recently I was looking for a way to consume the Storage Policy Based Management (SPBM) cmdlets in PowerCLI. I wanted to see if I could provision a VM from a Template onto my vSAN datastore with a particular policy rather than simply change it after it was deployed. It wasn’t as easy as I thought, as some of the commands I tried would only change the VM Home Namespace to the new policy, and leave the disks with the default datastore policy. And when I tried to clone a new VM from a template, I couldn’t get the VM to…

A deeper-dive into Fault Tolerant VMs running on vSAN

After receiving a number of queries about vSphere Fault Tolerance on vSAN over the past couple of weeks, I decided to take a closer look at how Fault Tolerant VMs behave with different vSAN policies. I wanted to take a look at two different policies. The first is when the “failures to tolerate” (commonly referred to as FTT) is set to 0, and the other is when the “failures to tolerate” is set to 1. The question is whether or not we could deploy VMs without any vSAN protection and allow Fault Tolerant VMs to protect them instead.

Which policy changes can trigger a rebuild on vSAN?

Some time ago, I wrote about which policy changes can trigger a rebuild of an object. This came up again recently, as it was something that Duncan and I covered in our VMworld 2017 session on top 10 vSAN considerations. In the original post (which is over 3 years old now), I highlighted items like increasing the stripe width, growing the read cache reservation (relevant only to hybrid vSAN) and changing FTT when the read cache reservation is non-zero (again only relevant to hybrid vSAN) which led to a rebuild of the object (or components within the object). The other…

Using Tags with Storage Policy Based Management

I was doing some work in the lab with Storage Policy Based Management recently. I was using both vSAN and a Virtual Volume array from Nimble Storage. While I was able to create independent policies for both vSAN and VVols, I was curious to see if I could create a policy where I could be offered both datastore types for the initial placement of a VM. For example, if I wanted to ensure my VM was encrypted, could I have a policy which would be compliant with both vSAN datastore and the Virtual Volume datastore, so long as they both…

Cloning and Snapshots on vSAN when policy requirements cannot be met

I was looking into some behavior recently to assist one of our partners. He described a situation that they observed during proof-of-concept testing. I thought it would be of benefit to highlight this behavior in case you also observe it, and you are curious as to why it is happening. Let’s begin with a description of the test. The customer has a 7-node vSAN, and has implemented RAID-6 erasure coding for all VMs across the board. The customer isolated one host, and as expected, the VMs continued to run without issue. The customer was also able to clones virtual machine…

VSAN 6.2 Part 4 – IOPS limit for object

VSAN 6.2 has a new quality of service mechanism which we are referring to as “IOPS limit for object”. Through a policy setting, a customer can set an IOPS limit on a per object basis (typically VMDK) which will guarantee that the object will not be able to exceed this amount of IOPS. This is very useful if you have a virtual machine that might be consuming more than its fair share of resources. This policy setting will ensure that there are “guard rails” placed on this virtual machine so it doesn’t impact other VMs, or impact the overall performance…