As the title suggests, I have been thinking about setting up a Nutanix cluster at my house for testing purposes. You may wonder why I am wanting to go with Nutanix over other available solutions. My reasoning is simple, we use Nutanix at my place of work, so it makes the most sense for me to run Nutanix in my lab.
The first hurdle in this project is of course hardware. I need something capable of running Nutanix. Since this will reside in my living spaces, it needs to be small, quiet, and I don’t want it to double as a heater. It’s plenty hot in Las Vegas already.
Before even looking at any hardware options, we need to take a minute to study the hardware compatibility list. Nutanix isn’t super specific on what hardware is supported, and instead provides a somewhat generic table of requirements.
Table: System Configuration
|CPUs||Intel CPUs with VT-x support.||4 core minimum; 2 cores dedicated to the Controller VM|
|System memory||16 GB minimum|
One Controller VM per node with optional deduplication/compression features and additional memory for one or more user VMs
|32 GB or greater recommended for AOS features such as deduplication, compression, or more user VMs|
|Network interface card (NIC)||Intel-based NIC||Some Community Edition users have reported success using Broadcom NICs.|
|Host bus adapter (HBA)||Community Edition supports Advanced Host Controller Interface (AHCI) SATA or LSI controller with:|
|Storage Devices, All Drives||The maximum number of SSD/HDD drives per node is 4.||Some Community Edition users have reported success using more than 4 drives.|
|Storage Devices, Cold Tier||500 GB or greater available|
Maximum 18 TB (3 x 6 TB HDDs)
|Hard disk drive (HDD) or Solid-state drive (SSD) for cold-tier storage|
|Storage Devices, Hot Tier Flash||Single 200 GB SSD or greater|
|Boot device||One 8 GB capacity device per node. It can be an external or internal device.||Nutanix has successfully tested and used external USB drives and internal devices such as a SATA DOM. USB 3.0 media recommended.|
Note: If you use a USB drive, do not remove the USB drive or device at any time during your use of Community Edition.
|Firmware||Consider updating the firmware for any devices or hardware you plan to use with Community Edition to the latest edition or edition recommended by the hardware vendor.|
Given my requirements and the rather limiting Intel CPU support, I decided to explore Intel’s mini PC offerings in the form of the NUC. While these devices are capped at 4 cores / 8 threads, and 32 GB’s of RAM, this configuration should be more than capable for our small lab environment.
Unlike the enterprise version of Nutanix, the Community Edition permits the user to instantiate a single-node cluster. Alternatively, 3 or 4 node cluster configurations are also possible, and generally preferable. It is noteworthy that it is not possible to expand a single-node cluster to include additional hosts at a later time. An upgrade would require destroying the single-node cluster.
With that and my budget constraints in mind, I will be opting for the single-node configuration. This is a test lab, so I am not too worried about any data loss in the event that I should expand to a multi-node cluster down the road.
Table: Other Recommendations
|Cluster size||Community Edition allows you to install single-node, three-node, and four-node clusters.|
Depending on your available hardware, Nutanix recommends a three-node cluster to exercise the features of Community Edition most effectively.
|DHCP Server||If you are using a DHCP server, ensure that static IP addresses are assigned for hypervisor hosts and Controller VMs.|
Nutanix recommends that you not use dynamic IP addressing for hosts or Controller VMs.
After some digging, I settled on the NUC8 configured with an Intel Core i7-8559U processor (part # BOXNUC8i7BEH1). This system will be equipped with:
- Memory: 2x Patriot Memory Viper Series DDR4 16GB (1x16GB) 2400MHz (PC4-19200) SODIMM Laptop Memory Module – PV416G240C5S
- Hot Storage: WD Blue 3D NAND 250GB PC SSD – SATA III 6 Gb/s, M.2 2280 -WDS250G2B0B
- Cold Storage: Samsung 860 EVO 500GB 2.5 Inch SATA III Internal SSD (MZ-76E500B/AM)
- Boot Device: SanDisk 32GB Ultra Class 10 SDHC UHS-I Memory Card Up to 80MB, Grey/Black (SDSDUNC-032G-GN6IN)
Despite the NUC’s small form factor, assembly was surprisingly simple. It’s a tight fit, but the NUC makes full use of the space available. It’s basically a laptop without a screen, keyboard, and touchpad.
Note: Turns out I was unable to boot the NUC using the internal card reader. Funnily enough an external (USB) card reader works just fine, so I was still able to use the SD card I purchased. With that said, I would recommend a small USB drive instead. Preferably something you can easily plug in and hide on the back of the device.
Once everything is assembled it’s time to focus on getting the boot disk prepped. I used a tool called Rufus to image the drive using the media provided by Nutanix. I had some issues with getting a drive imaged using the latest version of Rufus to boot. Not sure why. I simply dropped back to an earlier version, which resolved my issue. I used version 2.1.8.
You will also need to ensure you download the install media for Nutanix Community Edition from the Nutanix NEXT Community forums. For this, you will need to sign up for an account and submit a request for community edition here to get access to the download page.
Now that you have both the install media and tool to create your boot drive with, fire up Rufus and let her rip…
The settings in the screenshot to the right worked just fine for me. Be patient, this may take a while.
Once it finishes, go ahead and plug the drive into a USB port on your NUC and fire it up. You will need to connect the NUC to a mouse, keyboard, and monitor at this point. I used my TV as my NUC lives on the shelf beneath it.
Note: You won’t need any of the other files available for download from Nutanix at this time. The other media is largely intended for upgrading existing environmnets, which you are required to do to comply with the terms of serivce for use of Nutanix Community Edition.
Assuming you are limited to 32GB’s of RAM like I am, you will need to modify some settings to reduce the amount of RAM the installer will allocate to the CVM (Controller Virtual Machine). The defaults are quite high, as the software is designed for Enterprise environments, not a tiny 4×4″ NUC.
Once you boot your device for the first time, you will need to log in as “root”. Use the default password “nutanix/4u”.
Note: Nutanix generally uses this password as the default for all its accounts. AHV, CVM, and Prism Element.
Once logged in you will need to open and edit a configuration file, which is part of the installer using VI test editor or another text editor of your choice. For instructions on how to use VI, please refer to this guide here.
The path to the script we are modifying is:
ram_gb = parse_memory(meminfo)
And edit the highlighted block as shown in the below screenshot.
# If we don’t have >32GB, we need to scale CVM down to 8GB.
ram_gb = parse_memory(meminfo)
if ram_gb < 33.0:
custom_ram = 8
The purpose of this step is to lower the memory allocation for the CVM from the 32 GB it wants to a more reasonable 8GB.
The CVM is a bit of memory hog, as it does most of the heavy lifting. You will see alerts in Prism Element if you run the CVM with anything less than 32GB, but this is fine for your home lab, it won’t affect functionality in such a small environment.
Once you have edited the file, save it and log out.
Install – Finally
At last, we are at the point where we can begin the install. Doing so is super simple. From the login prompt type “install” and hit enter – watch as magic will ensue.
It’s going to take a few minutes as the Nutanix install script unpacks and installs all of the packages. Once done you will be presented with a simple configuration screen. At this time you will need to have you’re IP’s ready to go. If you have more than one node, do not select the “Create single-node cluster” option.
Note: You will need to scroll to the bottom of the license agreement before it will let you proceed.
Since I only had one node, I selected the single-node option and the installer created the single-node cluster for me. If you have multiple nodes (min 3, max 4), you will need to perform the above steps for each node, and create the cluster from the command line once all nodes have been imaged and IP’d.
To create a multi-node cluster, log into a CVM of one of the nodes. Username is “nutanix” with the same default password as the root account from earlier.
To create the cluster run:
cluster –s [cvm1_ip],[cmv2_ip], [cmv3_ip], [cmv4_ip] create
Once the cluster creation has completed check it’s status to ensure everything looks good:
If the services aren’t running, start the cluster:
If everything is up, it’s time to log in to you’re brand new Nutanix Prism Element control panel. 🙂
To access the web portal of your new cluster open a browser of your choice and browse to:
https:// [cvm_ip] :9440/
Note: Replace “[cvm_ip]” with the IP of one of your CVM’s. Doesn’t matter which one.
The first time you log in you will need to do so using “admin” for the username, and the same default password as the other accounts. You will be prompted to change the password for this account at first login. You will also be prompted for your NEXT Community credentials.
That’s it. You have successfully stood up your cluster. You will see a number of warnings in Prism Element, some due to limited resources, others due to running on a single node.
At this point, you are ready to configure your environment and start spinning up virtual machines. I may write some detailed how-tos on how to get around in Nutanix at a later time.
Hope you found this guide helpful.