Page tree
Skip to end of metadata
Go to start of metadata

It's end of 2011 and virtualization technology is really taking off with the concept of clouds. As such, I did an investigation on the exact differences of the Ubuntu installs.

I used these results to end up using "Install a minimal virtual machine" option and have been since Jan 2012 without any issues.

This 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

According to the Ubuntu FAQ,

The virtual kernel only includes the necessary drivers to run inside popular virtualization technologies such as KVM, Xen, and VMWare. The server kernel in contrast contains the necessary drivers to work with a wide range of hardware, and should be installed directly on host systems. Other than that, all other options are identical between the server and the virtual kernel.

Note though, that it is still a minimal install so the "Basic Ubuntu server" task packages are missing.

So in theory, the minimal virtual machine option should be used if you are using virtualization technology. The gains would be a faster kernel without the bloat of consideration for many types of drivers. This is because the hardware list in virtual machines is much smaller.

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 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),

  1. Operating system upgrade supports transactional upgrade/rollback | Solaris had this from way back.
  2. Traditional package managers replaced by new simplified systems (Snappy), or custom image builds (Atomic) | Yeah we did the same.
  3. Security enhanced through isolation.
  4. systemd for system/service management
  5. 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 per Bonsai Framework setup instructions (no updates though) and then fresh reboot.

The following commands were used,

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.

AttributeMinimal Virtual MachineMinimal *unchecked standard system utilitiesNormalRecently Ubuntu Snappy 15.04Microsoft Azure Default Image
Packages

217
236 (+ openssh-client)
251 (+ openssh-server)

223

430

[*] standard system utilities selected
no ssh

438 (+ openssh-server)

2 core packages containing minimal utilities489 (built with ssh)
Memory Used (measured shortly after Initial boot)35 MB62 MB83 MB165 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
200 - 8:00PM
162 - 9:30PM

Initial boot - 9:22
176 - 9:45
167 - 10:12
167 - 10:24

223 (did not let it settle)

Initial Boot - 10:50
223 - 10:53
186 - 10:56
186 - 11:11 

174 (did not let it settle)

133 - 2:20
133 - 3:04

Disk Space Used735 MB992 MB1.3 GB639 MB1.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.

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

  • No labels