I think I'd be inclined to do it the following way to keep it a little more commodity distribution based. KVM and btrfs.
1) snapshot the running server.
2) copy snapshoted image and start it up as a new running instance
3) upgrade new instance
4) verify instance
5) restart original server point at new instance image.
5.a) maybe shut down original instance and rsync data directories over
5.b) maybe copy new image over onto original image.
I'm sure a decent portion of this could be scriptable as well. Anyway, just my two cents. This is similar to what I do now, except a number of things have to be shut down before the image can be made. btrfs and snapshots seem like it would be good to take a snapshot of an image while at rest to make sure there aren't corruption issues, without the need for all of that extra space.
NLUUG: Minimizing downtime on servers using NanoBSD, ZFS, and jails
Posted May 18, 2010 18:51 UTC (Tue) by bronson (subscriber, #4806)
[Link]
Can multiple KVM instances run well sharing a single btrfs filesystem? That's what's so great about containers/jails/etc over full virtualization -- there are no problems sharing the same filesystem.
Maybe you meant snapshotting using LVM? I've done that before. It works fine, and you can boot different machines onto different snapshots of the same filesystem. For some reason though my attempts to use LVM usually end up in tears.
Or maybe you're prosposing doing everything offline and never booting more than one machine on the btrfs filesystem. That would work but I'm not sure what btrfs would buy you over using a more mature filesystem on LVM. Ultimately, I'm skeptical the minor benefits would be worth the downtime and effort it would take to do set that up!
NLUUG: Minimizing downtime on servers using NanoBSD, ZFS, and jails
Posted May 18, 2010 22:21 UTC (Tue) by jeremiah (subscriber, #1221)
[Link]
I'm suggesting using multiple disk images sitting on a single btrfs system. That way an image can be copied w/o shutting down the instance, because we made a snapshot of the whole btrfs system before we started the instance, or instances The only reason I'm suggesting btrfs in place of lvm, is that I don't care for lvm, and I keep hearing people say it's the future of Linux filesystems.