In my previous post “The SDDCbox Project — Part #1 — Introduction”, I introduced the idea behind running a data center in a box, now, it is time to go a bit further and dig a bit deeper. In this article, I want to expose the process by which I’ll make sure this project makes sense technically. In other words, is VMware Fusion powerful enough to run nested virtualization? Is it workable on my current hardware? Is Vmware Fusion taking advantage of multi CPU cores? What about flexible networking configurations? What kind of CPU and storage speed does it take? Let’s dig a bit deeper to find some answers.
Testing CPU performance
Before buying something as expansive as a Mac Pro, the box on which the SDDC will run, I need to make sure the idea of running many virtual machines at once is possible at an acceptable performance level on my 2017 iMac. I’m not the first one who wants to do this kind of setup. In many occasions at work I saw other IT guys running their lab on their MacBook Pro. I guess I should be fine with the iMac for my initial testing. My current iMac configuration is as follows, as reported by the system configuration utility.
According to the MacTracker application, my iMac is using an Intel Core i7-7700 Kaby Lake processor. According to GeekBench 5 benchmarking software, the multi-cores performance is rated at 4283. For a quick comparison, a Mac Pro with the 12 cores Xeon W processor is rated at 11752 which is close to 2.7x the performance of my current machine.
To test virtualization performance, using VMware Fusion 12 Pro, I ran a few installations of different Linux distributions, ESXi 7.0U1 with a nested Linux virtual machine. Overall, I’m pleased with the results. My current iMac is surprisingly speedy but I know that with many more virtual machines, it would start to crawl, hence the need for a much powerful machine.
While doing my testing, by using macOS Activity Monitor, I confirmed that Vmware Fusion is actively using all available CPU cores. I shouldn’t be surprised; Vmware is the king of multi-threaded software. It is a stark contrast with Adobe’s Lightroom which is known to be underperforming even on modern hardware, which is a shame. But, that’s another story.
Testing Disk Performance
What about disk performance? According to my testing, my iMac’s internal 1 TB SSD is doing quite well. Using Black Magic performance testing tool, I got about 325 MB/s writes and 2172 MB/s reads. This is superfast. What about using an external USB-C SSD? Using a Samsung T5 external SSD, I got 260 MB/s reads and a much lower 412 MB/s writes. Write speed is important at the initial installation phase of each product. Read speed becomes important after initial deployment and at runtime. I don’t expect that external ESB-C SSD drives to be a showstopper, but I would prioritize internal storage as much as possible for running an SDDC in a box.
Disk space and RAM space required
Now, how much disk space does an SDDC box would require? Well, a typical Linux installation requires about 5 to 10 GB depending of what gets installed. Windows Servers and desktops machines are much more space-hungry and require at least 30 GB or more of space. My current estimation of the number of virtual machines needed at one time is around 10 to 15. I expect to consume at the very least 100 GB to 200 GB of disk space initially. This requirement will grow further with iterations of the SDDC and the many scenarios I could want to test.
Regarding the amount of RAM, I need to consider macOS, VMware Fusion and the many virtual machines running all at once. Linux virtual machines can run with 4 GB of RAM, Windows requires at least 8 GB of RAM and more memory-intensive services like Vmware vSphere Center need more than 8 GB of RAM. Overall, at least 96 GB of RAM will be needed.
What could go wrong?
My testing shows that running many virtual machines at once on an iMac under Vmware Fusion is not only doable but will vastly benefit running on a Mac Pro with a much more powerful Xeon processor and more RAM. Any possible Mac Pro configurations should try to maximize the number of CPU cores, the internal SSD size and speed and the amount of physical RAM. The more cores, the more virtual machines can run simultaneously with acceptable performance. Internal SSD which will be the fastest over external USB-C connected drives and should be sized appropriately.
In the next article, I’ll explore the possible Mac Pro configurations that are future proof and could enable this SDDCbox project while keeping the price reasonable.