Scale out storage and or compute in Nutanix -101
Nutanix allows you to scale out compute and storage independently. As I’m reading about Nutanix cluster, I was wondering do you really need to create a storage pool for each vSphere cluster. Pre-vSphere 6.0 days, vSphere cluster was considered vMotion boundary. Post vSphere 6.0 things changed especially cross switch migration, cross vcenter migration, cross cluster migration even when storage is not shared. From design perspective and to keep things simpler I would always recommend to have a cluster as vMotion boundary.
Nutanix do not have specific guidelines on it. As it is no longer constraint from storage side. Nutanix DSF(Distributed Storage Fabric) is combination of nodes, hypervisor and storage tiers (SDD+HDD), it can scale to any limit. It is vSphere limit of 64 nodes which drives the scalability
Let’s discuss vSphere cluster and Nutanix Cluster. As we have defined vSphere cluster as vMotion boundary, in similar terms Nutanix Cluster is your storage boundary. If you create a Nutanix Cluster-A, VM machines provisioned remains within the storage pool. It may be migrated using Storage vMotion. Do we have to create multiple Nutanix cluster. In my opinion you don’t have to. Let’s discuss that below.
Below a single Nutanix cluster and Single vSphere cluster is created. It is one-to-one mapping between Nutanix cluster and vSphere cluster. We have to create container out of Storage pool. Container is logical representation of storage pool. Containers are the objects which are presented to vSphere as NFS mounts. Containers are nearly same as LUNs, as you choose which ESXi should see NFS mounts. So containers are presented to ESXi hosts. A good vSphere design would recommend atleast two datastores. One for ISO and other for VMs. You can create as many datastore as you wish to as long storage pool allows you. Irrespective of number of datastores you create, they is single storage pool below containers. Performance is not going to change as there is NO RAID involved in DSF. So i doesn’t make sense to create multiple datastore. Keep things simple where possible.
In case you wish to just to scale out storage, you simple add a storage node. Both Nutanix and Dell have storage only nodes (Nutanix Model: NX-6035c and Dell Model:XC730xd-12c)
As you can see below, one-to-one relation is not needed. You scale storage independently of compute. Very good blog from Josh is available on this subject.
As some point in your vSphere design process there may arise a need to create to multiple cluster. By vSphere definition cluster is vMotion boundary. So question which struggled me for a while how we are going to ensure storage is presented only to specific nodes as DSF is combination of nodes. Answer was not at all difficult one. What remains simple is storage pool. You create single storage pool and present containers to specific storage.
Below a single storage pool and three containers are created. One container is presented to all ESXi hosts in the cluster for storaging ISO’s.
I will pause here a little. I remember how difficult this was to get storage Admins to present one LUN to 10 ESXi host forget, 100 of esxi host. They have to create different zones over above zones for storage. It was too complicate for them to pool all WWN numbers into single Zone. It was never accept as it was never good practice to present a single LUN to multiple servers. I have to make them understand this is not a problem for us. I have to put in writting in an email, accept risk. Loads of stress, loads of internal fighting and email exchanges. Here I take this decision, I implement it and of course I don’t need anyone to vouch or contest it. Nutanix made it damn simple.
Other containers for VMs you can specifically mount on ESXi hosts in a cluster to maintain cluster boundary from vSphere perspective.
vSphere clusters and nutanix cluster are completely independent and scale at their own level
Nutanix cluster spans multiple nodes that doesn’t mean you have to design vSphere cluster as per the Nutanix cluster
Nutanix cluster is storage boundary which has no limits
Nutanix cluster scaling allows simplicity in vSphere design, any addition of compute node increases compute plus storage. You vSphere administrator have choice of allocating storage any node in vSphere
There is no downtime involved anywhere in scaling out nutanix cluster.
Multiple nutanix cluster, multiple storage pools and multiple containers might increasing operational overhead. Keep things simple which is central theme of Nutanix platform.