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!

Optimize settings

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:

Setting Value
disk busvirtio
CPU modeperformance
cache modenone

Configure LVM

Most distributions 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.

Install NTP

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 simple as: apt-get install ntp