It's 2012 end of 2011 and virtualization technology is rampant in clouds and admins are choosing to use this optionreally taking off with the concept of clouds. As such, I did an investigation on the exact differences and check if there really are any performance gainsof the Ubuntu installs.
I used these results to end up using the "Install a minimal virtual machine" option and have been since Jan 2012 without any issues.
Lab
I just setup two vms (one optimized the other not) using 10.04.4 in Parallels to investigate.
At least as early as Ubuntu 8 (I'm not 100% sure), the Ubuntu installation there allows the administrator to use F4 and select from a number of options some of which areThis article has now evolved to chart out comparisons on minimizing Ubuntu.
Lab
F4 on the first screen allows selection of,
- Normal
- Install a minimal system
- Install a minimal virtual machine
...
Conceptually this is similar to the Stripped Solaris approach I refined from Tony Bates back in 2008 which he implemented for a major FI with nine-nines of uptime for years. Since 2013 Gogole Google and others have taken this idea further (CoreOS, Ubuntu Snappy, Redhat Atomic) with the concept of core operating systems with the key benefits (again some borrowed from Solaris),
- Operating system upgrade supports transactional upgrade/rollback | Solari Solaris had this from way back.
- Traditional package managers replaced by new simplified systems (Snappy), or custom image builds (Atomic) | Yeah we did the same.
- Security enhanced through isolation.
- systemd for system/service management
- new (well kinda evolved from distributed computing) - clustering as part of the OS
Results
Here are the differences between a minimal virtual machine, minimal and normal all with ssh during initial setup. per Bonsai Framework setup instructions (no updates though) and then fresh reboot.
The following commands were used,
Code Block | ||
---|---|---|
| ||
dpkg --get-selections | wc -1 # how many packages installed free -h # how much memory used ps aux | wc -l # how many processes (including the two to run this command) df -h | grep root # how much disk used (not going to bother counting the small 30MB for boot dpkg --get-selections | wc -l # how many packages installed |
Ubuntu
...
16.04.
...
1
Running inside of VMWare Fusion. 2GB Memory and 2 CPU's assigned.
Attribute | Minimal Virtual Machine | Minimal *unchecked standard system utilities | Normal | Recently Ubuntu Snappy 15.04 |
---|
Microsoft Azure Default Image | ||||
---|---|---|---|---|
Packages | 217 | 223 | 430 [*] standard system utilities selected 438 (+ openssh-server) | 2 core packages containing minimal utilities |
639M
489 (built with ssh) | |||||
Memory Used (measured shortly after Initial boot) | 35 MB | 62 MB | 83 MB | 165 MB (this does not look right) | 96 MB |
Tasks (minus 2 to run the commands) * System needs time to settle after boot. | Initial boot - 8:00PM | Initial boot - 9:22 176 - 9:45 167 - 10:12 167 - 10:24 | 223 (did not let it settle) Initial Boot - 10:50 | 174 (did not let it settle) | 133 - 2:20 |
Disk Space Used | 735 MB | 992 MB | 1.3 GB | 639 MB | 1.3 GB |
Key Advantage | Reduced fat due to uniformity of virtual machines. | Minimal to run a normal Server. |
Already includes popular admin packages. | Upgrade core OS as 1 package and revert btw OS upgrades quickly. Made for pure Cloud. |
Ubuntu 16.04.1
Attribute | Minimal Virtual Machine | Minimal | Normal | Standard | Microsoft Azure Default Image |
---|---|---|---|---|---|
Packages | 247 | 439 | |||
Memory on Initial Boot | 39 MB | 9 MB | |||
Tasks | 164 - 2 (to run the command) = 162 | 113 - 2 = 111 | |||
Disk Space | 757 MB | 1.9 GB (need to double-check this on a fresh install) | |||
Key Advantage | Reduced fat due to uniformity of virtual machines. | Minimal to run a normal Server. |
Environment
VMWare Fusion wiith 2000GB of Memory and 2 Processors.
References
Provided what the differences between the installs are - http://askubuntu.com/questions/57336/minimal-system-or-minimal-virtual-machine-on-install