By eliminating wasteful resource use on your host servers, you can make more resources available for additional virtual machines.
Most operating systems today have been developed to run on physical servers in non-virtual environments. Because all the virtual machines are competing for the same resources on the host server, you want to limit the guest operating system so it only consumes resources that it needs to perform whatever function that it has been designated to do.
Microsoft Windows is notorious for wasting server resources in its typical default configuration. Many unnecessary services are loaded that most servers do not need: for example, when’s the last time you needed the Windows Audio, Print Spooler and Wireless Configuration services on your SQL Server? Windows also constantly reads and writes to disk for things like swap and log files and Windows networking tends to be very chatty on a network often generating excessive network traffic.
All of these additional services generate excessive and often unnecessary network, CPU, memory and disk resource usage. It may not be all that much on any one individual server, but add that up across 12 virtual machines on a host and it makes a difference.
Windows Server 2008 takes a step in the right direction with its Server Core installation which strips out many of the unneeded components including the GUI. Many Linux distributions are already optimized to perform specific functions as well. Additionally, there are many virtual appliances available that have very small footprints and make for good alternatives to full-blown operating systems.
Here are some tips for reducing the amount of resources that your servers consume:
- Keep event and audit logging to a minimum
- Disable unnecessary Windows services
- Disable unneeded network protocols
- Disable screen savers and visual effects
- Remove any unneeded applications
- Remove all unneeded hardware from the virtual machine configuration
- If the server was a physicla-to-virtual (P2V) converstion, delete any non-present hardware
- Optimize anti-virus confgurations to exclude specific directories or disable real time scanning
- Disable NTFS last accessed time stamp
- For Linux systems, disable unneeded daemons, services and background tasks and do not run X-Windows if possible.
In the future, operating systems will evolve to become specifically optimized to run on virtual servers. Until then you should take steps to ensure that your guest servers are optimized to run on virtual hosts.