?

Log in

No account? Create an account
Xen, again - brad's life [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Xen, again [Oct. 9th, 2005|11:22 pm]
Brad Fitzpatrick
[Tags|]

I know I already wrote about this once today, but...

I've been having so much fun with Xen. It's so cool. It's just made my life easier, saner, and more productive, all in one.

Can't wait to install it on my desktop at work tomorrow, then I can transport around a full dev environment (potentially dozens of machines) between work/home, and never deal with ssh latency (which isn't that bad, but can get annoying).

Also it means less noise, less space, less power, less heat, less money. And all the while, tons more machines to play/test/dev with.

It's so incredibly empowering to be able to just "create" a new machine for fucking around with. For instance, installing that one piece of software that isn't packaged (too new) and you're too lazy to both read its Makefile to see what its make install does, and definitely too lazy to go clean up after it. Instead, just fork off a new whole operating system whenever you want to run a potentially-dangerous experiment.

So nice.

Need to force myself to get off the computer now.
LinkReply

Comments:
[User Picture]From: brad
2005-10-10 07:43 am (UTC)
Sure, Erik.

I'm not claiming Linux is unique in doing virtualization. Virtualization has been going on since the 60's. There's nothing new here but refinement and things finally going mainstream.

We've had VMWare for the longest time, and qemu, recently User Mode Linux, and now Xen.

Microsoft? They bought a product (Virtual PC) and are trying to catch up now. Read this:

http://www.theregister.co.uk/2004/09/16/microsoft_virtualserver_analysis/
Microsoft comes in lower on the totem pole. It acquired a product from Connectix, once meant to ship in 2002, and then spent 18 months retooling the code. The original Connectix code was based on the company's Virtual PC software for running multiple OSes on the same desktop, and one can only hope Microsoft moved well away from this low-end software with its server product. Sadly, this doesn't seem to be the case as Microsoft still requires a host operating system to run Virtual Server, while VMware's ESX server uses its own operating system - a feature which makes many of the more complex partitioning functions possible.

In addition, Microsoft only supports one extra OS per processor, while VMware can support up to eight partitions per processor. VMware has tools for clustering virtual machines, adjusting processing power for different software workloads and disaster recovery technology. Microsoft is still working to catch up in all these areas.


So yeah, great ... competition. But so far Xen is the only one I'm really impressed by.
(Reply) (Parent) (Thread)
[User Picture]From: erik
2005-10-10 08:26 am (UTC)
Duuuuddee... I appreciate the debate and all, but, really, I just like to poke fun. I'm not pro-MS at all, but I like to masquerade as anti-Linux occasionally.
(Reply) (Parent) (Thread)
[User Picture]From: 7leaguebootdisk
2005-10-10 08:55 am (UTC)
Zen cheats. It needs the client OS to be patched (and thus you need a source licence to have a windows client).

Then again, why would I care? Linux top to bottom for me (well, with the ocasional OSX and OpenBSD box), and with out that, virtualization is a nasty hack on x86 (AMD is supposed to be adding instructions to their x86-64 to make it easier).
(Reply) (Parent) (Thread)
[User Picture]From: brad
2005-10-10 09:05 am (UTC)
"Cheating", sure, but like you said -- Linux from top to bottom, so who cares? It's totally worth the extra speed.

Both AMD/Intel are adding in virtualization instructions in upcoming chips, then you can run unported OSes on Xen (Windows, etc)
(Reply) (Parent) (Thread)
[User Picture]From: scosol
2005-10-11 07:32 am (UTC)
> Both AMD/Intel are adding in virtualization instructions in upcoming chips, then you can run unported OSes on Xen (Windows, etc)

Wha?!?!?
The client-OS porting has of course always been the downside of Xen...
Link?
(Reply) (Parent) (Thread)
[User Picture]From: 7leaguebootdisk
2005-10-12 05:34 am (UTC)
Well, the problem is there are parts of x86 instruction set that are just a bitch to virtualize, you just about have to patch the client OS for good performance. Xen patches the client, VMWare does some kind of magic, everyone else is pokey.

It doesn't have to be this way. PPC is easy, for example, SheepShaver let you run Mac OS as a client under Be, and there are others out there now, IBM mainframes are designed from the ground up for it, and with support in the x86-64 instruction set, the PC will finally catch up, and it will be easy for Xen to do it without patching or porting.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: brad
2005-10-10 04:53 pm (UTC)
Xen's fast as all hell, the management tools are a breeze/polished, can run 10s-100s of VMs on same box, and you can LIVE MIGRATE A MACHINE between hosts ... live! while it's running! 10-60 ms pause.

And it's Free. But it's also the best that I've seen. And with Xen 3.0 and new Vanderpool extensions, VMWare starts to seem like it was "good for its time".
(Reply) (Parent) (Thread)
[User Picture]From: aaronlehmann
2005-10-10 06:37 am (UTC)
When one OS crashes, does it take down the system?
(Reply) (Thread)
[User Picture]From: brad
2005-10-10 07:44 am (UTC)
Never. That's pretty much The definition of virtualization, that that is impossible.
(Reply) (Parent) (Thread)
[User Picture]From: quindarprime
2005-10-10 07:47 am (UTC)

Migration

1. How are you migrating the images between work and home? AFAIK Xen live migration only works with shared disks.

2. You using any special magic to deal with the network environment changing during a migration? (Or maybe you NAT the VMs behind Domain-0 and don't care about inbound connections, I dunno.)
(Reply) (Thread)
[User Picture]From: brad
2005-10-10 07:52 am (UTC)

Re: Migration

Random thoughts:

1. Initially I was just going to rsync/xdiff/xdelta the root filesystems around and reboot them. But once I get fancier, I'll use DRBD to create a virtual shared disk between the two sites.

2. mDNSResponder and *.local hostnames, using libnss-mdns for the clients. and/or rinetd (or similar) on the domain 0s, mapping in ports 22 and 80 and whatever else I need.
(Reply) (Parent) (Thread)
From: jmason
2005-10-10 10:30 pm (UTC)

filesystems

'just fork off a new whole operating system whenever you want to run a potentially-dangerous experiment.'

how trivial is it to do this? Is there a copy-on-write filesystem? Playing with VMWare and uml has been pretty painful, in my experience, mainly in terms of dealing with filesystems. That's the main thing I'd fear with Xen (which I haven't tried yet).

Feel free to post as much as you like about this subject, this reader is decidedly curious as to how well it plays out ;)


(...PS: erik - nice Gloomy Bear user icon!)
(Reply) (Thread)
From: photwenny
2005-10-12 12:14 am (UTC)

Re: filesystems

If you can live migrate a machine to another host (see one of brad's comments above), you could migrate it to the same host, with a different name/id or whatever, and just not stop the original. More likely the migration is written based on fork. ;)

Also check out this xen intro at ibm. The author sets up a "base" machine and a "test" machine. When he's ready to try the dangerous stuff, he shuts down the base machine, copies the disk image to the test machine, then starts it up. Its not live in that version, but still pretty cool.

Maybe to do it live, you could sync on the live machine, then copy the image file and start up a new machine from the copy.

If UPS ever gets here I'll give it a try.
(Reply) (Parent) (Thread)