In the article series dedicated on how to run Nutanix CE platform nested into VMware in our homelab we covered the initial install and configuration steps. We are now ready to progress with more articles. And in particular this quick article wants to provide a quick overview on Nutanix Storage Container objects.
So what is a Nutanix Storage Container?
In a nutshell Nutanix Storage is organized with different objects with a specific hierarchy: Storage Tiers, Storage Pools, Storage Containers and Volume Groups.
Storage Tiers define the type of physical Storage available to the Nutanix Cluster. As per Nutanix CE deployment we have two tiers (0 on SSD and 1 on HDD) for hot and cold data tiering
Storage Pools are groups of physical Disks from one or more Tiers. Although they provide physical separation for virtual machines, the best practice is to create a single Storage Pool. We’ll cover these aspects with a separate article.
Storage Containers are a subset of the available Storage. We can use them to create the storage for Virtual Disks, ISO files and more. Nodes can mount a Nutanix Storage Container and present this one as as NFS Datastore to VMware vSphere, an SMB Share for Hyper-V and an iSCSI target for both vSphere and AHV.
Volume Groups instead are a collection of virtual disks that can be attached to VMs or other iSCSI initiators. We can simply manage them like iSCSI targets.
As a matter of truth when deploying Nutanix CE there are already Storage Pools and Containers defined as part of the initial setup. In fact we’ll be able to see at least 3 Nutanix Storage Container objects:
Although some of the features for these Nutanix Storage Container objects can be changed I would advise to leave them untouched and most of all not to delete them. For the simple reason they are referenced into an internal Database and it’s a good idea to leave them for Administrative tasks (for example when downloading and executing updates).
Which gives us a good opportunity to create and learn more about to a manage a Nutanix Storage Container.
Managing a Nutanix Storage Container
Let’s login to the Prism Web interface and from the Home button let’s go down to the Storage section.
From the main page in the Storage section let’s create a new Nutanix Storage Container.
The wizard will start. All we have to do is to define a name and associate this one with a Nutanix Storage Pool. The default one as in this example.
When we click on the Advanced button we have access to even more options from the same wizard. These options include the Redundancy Factor (RF), Reserved and Advertised Capacity, Inline or at-rest Compression, Deduplication, Erasure Coding and access WhiteLists.
Probably to the most important ones include the Redundancy Factor which specifies the number of copies of objects in the storage at the expense of the free space. So for example RF2 will already use up to 50% of the available space in the Nutanix Storage Container.
Other two interesting ones include Compression and Deduplication. With the former it is possible to enable inline compression or delay this one at rest with a chosen time window. By default is set to 60 minutes but this of course can be changed.
Deduplication allows the option to share VM Guest data between different Tiers. By enabling these features of course more RAM memory will be used by the Nutanix Controller VM. So let’s make sure we have plenty available that can be assigned to this Nutanix. CVM. In addition deduplication it is more effective and beneficial in cases where we are working with full clones rather than linked ones. Of course there are plenty of scenarios also based on critical workloads compared to others and so on.
As a rule of thumb the more feature we enable like Compression and Data Deduplication the more RAM Memory we need to provide to the Nutanix Controller VM.
So we can create multiple Nutanix Storage Container objects. Each one of them will be created with “Thin Provisioning” by default so they will grow only when needed. Which is great also and in particular for homelabs!
In this case for my homelab I have created two separate Nutanix Storage Containers for ISO files and VMs. It might make sense to enable the compression on the first one in order to save space considering these are static files. whereas the VMs are always accessing and changing the content of the Virtual Disks (VDisks).
For each one of the Nutanix Storage Container objects we can also review the current usage and other metrics as per screenshot below. Everything from a single pane of glass makes things a lot easier to manage.
And the very same applies fot Storage Container Performances with a dedicated tab showing Controller IOPS, Bandwidth and I/O Latency.
Last but not least also two additional sections for Nutanix Storage Container Alerts and Events. We’ll cover them in more details in the Health section.
Software Defined Storage in Nutanix Platforms makes very easy the management and administration of storage dedicated to different workloads. We’ll cover more detailed scenario with dedicated articles. Next step is a quick overview of the Nutanix VM Network.