Wednesday, May 6, 2015

Two VMware Clusters, One Nutanix Cup


OK, I played with the title for dramatic effect... I have two VMware Clusters sitting on one Nutanix Cluster.

My SE, I'll call him Steve. Totally not his real name (yes it is), was aghast!  Hey!  If you don't say I can't do it, then I can do it. I do a lot of things that freak out my my SE. 

The idea for this configuration was that I can logically split my VMs and isolate a cluster of hosts for a specific team.  I know you can do a lot with DRS groups but that is hard to see in the Hosts and Clusters view which I live in.

My cluster of 8 Nutanix hosts share one storage pool but I created a separate container for each VMware cluster.  The containers are only mounted on the appropriate hosts in the separate VMware clusters. I get the performance of 48 disks and I have simplified management of both storage and VMs.

So, Steve freaked out a bit when I he saw this.  Mainly because he feared we would reboot 2 VMware hosts at the same time which would cause a problem with data redundancy. I have the same problem with one cluster too but we are less likely to when we see they are in the same VM cluster.

For this exercise, I have three Nutanix  hosts, with just under 300 VMs, running VMware 5.5 Enterprise.  My hosts run at around 80% CPU and memory.  The resource pools are configured to limit the CPU and Memory (why oh why can I limit storage!  Why!!) so my hosts can barely have HA (not really but I tell management that to make them feel good. HA costs money folks.).

To move the hosts to the target VMware cluster, in the save vCenter (can't say about separate vCenters), and ensure the VMs end up in the correct Resource Pool, I followed the steps below.  each host took about 5 minutes to complete.

Step 1;  Create new resource pools in on the target VMware cluster


I use vCenter in a mostly self service model.  VMware doesn't make this easy but we have a working model.   
- I created duplicate resource pools in the target VM cluster.
- I added the AD users that can access the RP and set their roles.  
- I configured the RP limits.  
- I use a small reservation and have a complex Excel doc to determine the limits for memory and CPU for each resource pool (each pools gets a specific percentage of a total of 80% of the total CPU/Memory calculated in MHz and KBytes).  


Step 2: Add a note to existing VMs

On the existing resource pools (I'll call them Auto and D_Auto) edit the notes to add a unique name to identify the RP the VM resides in. 
- Click on the RP, then the VM tab
- Then selected all the VMs
- Right Click
- Edit Notes and entered X_Auto for "Auto" and D_Auto for "D_Auto".  This allows me to quickly find all the VMs and move them to the right target later.  Running VMs are easily identifiable later but powered off VMs are not.


Step 3: Disconnect a host from the source VM Cluster

Right Click on the host and Disconnect.  Wait for the host to disconnect.


Step 4: Remove the host from the VM Cluster

Right Click the host again and select Remove.  Wait for the host to be removed.


Step 5: Add host to the target VM cluster

Right click on the target VM cluster and Add Host.  You will authenticate, pick a license, etc.  When you get to the Resource Pool section, select the option to create new pool.  The default name is Grafted From [IPADDRESS].  Just leave it default and finish up.


Step 6: Move VMs to the correct Resource Pool

- Navigate to the new Grafted From resource Pool.  
- Drill down a level.  
- Click a resource pool, 
- Click the VMs tab
- Select all the VMs and drag / drop then to the target.  
- Repeat for all resource pools.  

Filter the remaining VMs by the name you entered into the notes to uniquely identify the target resource pool.  
- Make sure the Notes column is displayed in the VM list panel (right click and select the column from the list).
- Click the little down arrow next to the search/filter box and select the Notes field.
- Enter the name of the first resource pool you want to filter for as entered in Step 2
- Verify the list then drag and drop to the target RP. 
- Repeat until done.


No comments: