ned Productions Consulting

Technology musings by Niall Douglas
ned Productions Consulting
(an expert advice and services company based in Ireland)

Monday 23rd January 2012 4.00pm

Link shared:

Been experimenting recently with virtualisation solutions to solve bitrot, drive failure, remote mirroring never mind improve redundancy and reduce downtimes during migrations throughout all my server infrastructure both internally and externally. Was fairly disappointed with Ubuntu Cloud Infrastructure in 12.04 LTS Alpha 1 - it's nowhere near ready for small cluster deployments as they seem to assume a three machine minimum, all running a minimum of KVM. I was thinking of one machine heavily virtualised, so arse to that …

Anyway, was very impressed with Proxmox 2.0 beta 3 ( which manages OpenVZ and KVM virtual machines for you via a web interface. Clunky UI, but by god it just works. Within a KVM inside that I've installed an experimental FreeNAS v7 ported to run on FreeBSD 9.0 :) ( because FreeBSD 9 is the first to have proper non sucky virtio support, and for the self-healing, bitrot scrubbing, fail tolerant RAID-Z2 ZFS pool I'm thinking about it would be rather nice if disk performance wasn't completely crap.

The virtio drivers still aren't built in by default, but a 'pkg_add -r virtio-kmod' solves that. Then you have to hack some config directives into /boot/loader.conf because this is after all BSD. With FreeNAS, that was it actually - no fstab mods or anything. So here's the improvement over KVM emulated IDE seeing as no one else on the internet seems to have posted benchmarks:

Before virtio:

diskinfo -c /dev/ad0:
10Mb: 0.511677
2048: 6.628227
overhd: 0.299

diskinfo -t /dev/ad0:
full stroke: 0.95
half stroke: 0.252
outer: 42664 Kb/sec
middle: 302702 Kb/sec

After virtio:

diskinfo -c /dev/vtbd0:
10Mb: 0.479621
2048: 6.640665
overhd: 0.301

diskinfo -c /dev/vtbd0:
full stroke: 0.826
half stroke: 0.11
outer: 44494 Kb/sec
middle: 622723 Kb/sec
So, call overhead is unchanged, half stroke time is halved and maximum transfer doubles. Yeah, virtio for FreeBSD 9 inside Linux KVM is definitely worth it …