Sunday, October 23, 2011

Why KVM on Illumos matters - ZFS

When Joyent first announced they had ported KVM to Illumos, the value proposition didn't occur to me right away. Both KVM and Xen under Linux have been around for while and you if want/need to run a Linux guest, why not use a linux Host? One reason is a feature of ZFS known as a zvol.

To understand what a zvol is, you must first understand what a zpool is. In short its an abstraction on top of one or many disks turning it all into a logical unit on which filesystems can be created. Multiple disks can be used for both redunancy and performance. In particular, you can create a zpool that uses a pair of super fast state of the art SSDs for the ZIL, or intent log. This makes random writes blazingly fast. You can add a couple of fast SSDs as a read caching layer (l2arc). Finally, use those boring old -but relatively high capacity- magnetic disks for raw storage. The result is a hybrid storage system that provides performance and redundancy at a terrific price.

The zpool is where the zfs filesystems live. So once you create a pool you can create a bunch of different file systems in there. You can also create and export block devices from a zpool, these are called zvols. These block devices can now be passed to qemu running on top of kvm inside Illumos, providing the underlying VM's with potentially blazingly fast redundant storage. A Linux VM will use this block device as if were a raw disk.

More generally, by using a zvol for a guest disk you can use all the ZFS features that are below the zfs filesystem layer. For instance it's possible to snapshot a live/attached zvol then export that snapshot to a file which can be used to create backups and clones. The implications for cloud/cluster management are clear.

Here's some other posts on zvols I found interesting:


At October 30, 2011 at 8:34 PM , Blogger Jackie Bolinsky said...

Overall, this is very interesting though. If you want Zones, stick with Solaris 11. If you want KVM, stick with Linux. If you are running a cloud you probably aren't using local storage anyway... so ZFS doesn't come into play. Just sounds good in the marketing brochures.
JavaScript Countdown Timer

At November 5, 2011 at 7:04 PM , Blogger Geoff Flarity said...

I don't see any future in Solaris 11 having experienced Oracle support first hand. Illumos however has a terrific community of ex-solaris developers that Oracle has alienated over the years. For instance, the Dtrace team. Smartos is an Illumos distribution.

I also don't see what ZFS has to with remote storage. In general, remote storage, is an interesting technology but I wouldn't use it for primary storage. Take that huge EC2 outage is an example of what can go wrong.

Using a local zvol to back a linux instance running on KVM is a terrific idea though. Once live migration is working it'll be in even better.


Post a Comment

Subscribe to Post Comments [Atom]

<< Home