I have two physical servers that I'd like to setup for virtualization. I'd like to set them up in such a way so that the following goals are met:
- Allows live migration of guest OSes from one server to another, if I have to take one of the physical servers down for maintenance.
- If the hardware of one of the servers dies, I can do a cold migration of its guest OSes to the other server (i.e. all data is sync at all times between the two physical servers).
- Underlying storage for guest OSes can be efficiently snapshotted once every hour or once every day (e.g. using ZFS. I'm ruling out LVM, since taking multiple snapshots in LVM is inefficient).
Since OpenSolaris provides ZFS, I'm thinking using OpenSolaris/xVM as a dom0 would be a good fit. However, my understanding is that in order to allow live migration, you need to have another server (SAN) for shared storage, and I'd rather not add another server for cost reasons.
If it wasn't for the fact that ZFS isn't available for Linux (except through FUSE, which I'd rather avoid), I know I could set something like this up for DRBD. Could I do something similar to that with OpenSolaris? I've read about AVS, but I'm not sure if live migration can be made to work with that. Or if you have any other suggestions that use a different OS, I'm open to that as well.
Thanks!
What you are asking for isn't possible. The closest you could get would be to use iSCSI on each host for domU storage, which would allow you to do a live migration to the other host, but you will not be able to power the host down as it still will hold the iSCSI volume.
To be able to allow live migration between two hosts, you need a third. You don't have to use a SAN, you can just use a third OpenSolaris to host the iSCSI volumes.
Xen live migration needs some shared storage that can bee accessed simultaneously by both of the nodes being involved in migration, and data written at one end must be visible at the other end immediately.
iSCSI could provide that, and in a cluster with two nodes, one of those nodes could provide the iSCSI server (meaning that the storage is actually local, but it could be replicated like DRBD does). However the VMs like to see uninterruptible iSCSI, so if the iSCSI server moves between node, it should be fast.
However it's less complicated if the iSCSI server is external (not on one of the nodes).