Getting away with minimum on ESXi 5.1

It's been 5 years since my last thread (http://forums.freebsd.org/showthread.php?p=4131#post4131), but I have an opportunity now to follow Dara's advice and use VMware ESXi as a platform for hosting FreeBSD VMs. I am planning an installation of a bazillion VMs for testing purposes on ESXi 5.1. It would be a fairly simple installation, FreeBSD 9, no X, but I do need gcc and gcc++, python, perl, bash, Apache+PHP, ftpd, asterisk, live555, dnsmasq, and a few other servers, but nothing havily taxing disk space, plus a snapshot after I get it all installed (VMs would occasionally need to be reset to a previous state).

Since the host machine has very small SSDs (total disk space of about 400 GB), I need to be very frugal.

Does anyone have any idea what the minimum installation requirement would be assuming thick installation? Could I get away with 5 GB? I RTFMed, but didn't find anything specific enough.

Appreciate your experience.
 
I'm not sure what the minimum is - but bear in mind that if you build a VM template and clone it, much of the disk can be shared.

I.e., build base install, clone it, then snapshot your changed VM.

So whilst the base install may use 5, 6, 8 GB or whatever, subsequent VMs are mostly just deltas off the base disk.
 
If you build your packages somewhere else you can avoid the space for /usr/ports and /usr/src. You can also save a few MB by removing the manpages. If you want even more have a look at NanoBSD.
 
I generally assign 8GB to my FreeBSD VMs to have room to grow, but they generally consume about 3-4GB. My PHP AppServer VM takes 3.6GB (including /usr/src). It's configured with nginx and php-fpm, plus a myriade of dependencies. The MySQL VM takes about 3.1GB + databases.

I ro-mount /usr/ports with nfs, which saves about 1GB space per VM. To make that work, I have the following in /etc/make.conf on all VMs and the host which shares /usr/ports:
Code:
WRKDIRPREFIX=           /var/ports
DISTDIR=                /var/ports/distfiles
PACKAGES=               /var/ports/packages
INDEXDIR=               /usr/ports

I hope that's the kind of information you were looking for.

PS: Running 8x FreeBSD (production) and 2x Win2k8 (testing) VMs, I consume 100GB (plus user-generated data), where the two Windows VMs consume about 40GB combined. 400GB should be more than enough for testing purposes, unless you were being literal in your description of the amount of VMs you would be running. :)
 
Thank you everyone! Excellent information. Savagedlight, I could even have one VM with the directories you listed serving other VMs during build and configuration. Once the environment is stable, I should be able to tear it down.

I will be running a total of ~60 VMs, 33 of which will be FreeBSD. Good news is, I found out I will be able to bump the memory to 128 GB. That should ease the pain a little bit.

Poor CPUs. ;)
 
Back
Top