Many of our own services are provided on virtual servers, and of course we support a large number of managed virtual servers, so we've acquired some hands-on knowledge of what works best. Here are some of our tips and suggestions. If you have any more, please let us know!
There are a few virtualization settings you can tweak. Our default settings are conservative to support the widest possible range of operating systems. You will get (very slightly) better performance with these settings, which should work fine with any recent Linux kernel:
Most distros support setting up LVM (Logical Volume Manager) during installation. We recommend doing this, as it makes future disk upgrades considerably simpler.
Configure a serial console
Once your server is installed and running, you typically won't need to access the console very often at all. For those odd times that you do, a virtual serial console is more convenient than the full virtual graphical console offered by VNC. It's easy to configure a virtual serial console.
You might imagine that you don't need NTP on a virtual server if the underlying
host system has it. It does, but the way virtualization works this effectively
just means that you have an accurate BIOS clock. You still need to install ntp
on the virtual server for the kernel clock to keep good time. That should be as
apt-get install ntp