Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I want to experiment with virtualization in Ubuntu 10.04 and have found the following list of hopefully relevant names: Xen, OpenVZ, KVM, Vservers, EC2 and Solaris Zones, although this is just a sample list and the question is not exclusive to these.

From the community's experience, what virtualization solution should I use on Ubuntu to learn with? Factors are ease of setup, ease of use. Stability is also important. Secondary are memory usage and performance issues.

What do I want to virtualize? Well, pretty much anything the chosen software will allow, under the banner of experimentation.

share|improve this question
2  
What problem are you trying to solve? –  andol Aug 16 '10 at 8:19
1  
This sounds almost suspiciously like a community wiki question. –  Marco Ceppi Aug 16 '10 at 12:19
    
@ando: Nothing beyond what the question states about experimentation. David provided a great set of options in that context - see accepted answer below. Thanks. –  John K Aug 16 '10 at 13:17
    
Friendliest to whom? –  Thorbjørn Ravn Andersen Aug 16 '10 at 15:42
    
@Thorbjørn: Take the titled with a grain of salt :) Titles an only be so long. Body of question contains all relevant context. –  John K Aug 16 '10 at 17:53
add comment

6 Answers 6

up vote 15 down vote accepted

I'd recommend VirtualBox, if you're just getting started. (apt-get install virtualbox-ose) It's intended for running a virtual machine on a desktop (or laptop) computer, so that you can use both the virtual (guest) computer and the real (host) computer together. It gives you a nice GUI that you can use to create virtual machines and alter their settings. You can start and stop the virtual machine, so that if you need extra processing power for some task you're running on the host, the guest doesn't have to get in the way.

The names you gave in your question are more high-level, I think. They're the kinds of things I hear about in connection with virtual private server (VPS) companies, which are web hosting companies that use virtualization to provide several people with servers using one physical computer. They're probably somewhat more complicated to set up and maintain, and typically when you use something like Xen, the host computer isn't intended to do much besides serving as a "base" for the VPS's.

share|improve this answer
    
I agree with David on this - if you're going to be using your host (Desktop) while you plan to use your guest machines (VMs) then you'll most definitely want to use something like VirtualBox. –  Marco Ceppi Aug 16 '10 at 12:18
    
Thanks David, very clear options, well explained. I did install virtualbox. Will enjoy experimenting with the software. –  John K Aug 16 '10 at 13:16
    
I would not recommend the ose version, but rather the one thats still freely downloadable from their website. Sharing USB devices properly to the virtual machine is quite useful and does not work with the OSE version (at least the last time I tried they did not). And by USB devices I'm referring to headset, webcam etc. –  red Jul 15 '11 at 13:12
add comment

I have both VirtualBox and VMware workstation installed on my HP EliteBook 8530. I experience occasional freezes with VirtualBox, but not VMware workstation. I've tried to tell myself that its some obscure bug, but its happened with both 10.04 and 10.10, so I'm not sure that it is... I've tried to collect info, but to no avail.

That said, I'd stick with VMware Workstation if you can float the coin to buy it. If you can't, just be prepared for some odd behavior from VB.

-C

share|improve this answer
add comment

Apart from Virtualbox, KVM along with virt-manager as front end is a pretty good virtualization solution in my experience.

share|improve this answer
add comment

VirtualBox is probably the most friendly if you only need to run 1 or 2 VMs at a time.

If you need to simultaneously run many different Linux environments (10 or more per host) then OpenVZ is the way to go. It's like chroot but provides completely isolated Linux environments (containers) with the ability to control resources, do check-pointing, and live migration. I'm using it for already more then 2 years for many different sysadmin tasks at work (a 400 user Bioinformatics center at a large university).

OpenVZ has almost no overhead. It's the only one of it's kind (operating system level virtualization). It handles well Linux applications of any proportion from a web reverse-proxy to an I/O intensive backup system processing 30TB a day. Having 30 or more containers per server is normal. Another big advantage is that from the hardware node (equivalent to Dom0 in Xen) you have all the file systems of the Linux containers mounted directly - no NFS required. Also, you can see all the processes of your Linux containers from the head node with the ability to strace, kill, etc...

You can safely delegate containers with ssh access to your friends and let them be root.

You would need to be comfortable with Linux and the command-line. Being able to edit start-up scripts would be helpful (quickly give you a lot of control). For more advanced setups, may need to learn some networking.

share|improve this answer
add comment

I have had very good experience with VMWare Player. It does two things well - running virtual images, and automatically integrating itself with the host environment.

share|improve this answer
    
Thanks. Good to know it's Ubuntu friendly too. –  John K Aug 16 '10 at 22:41
add comment

If you intend to use the host (computer that you install the VM-software on) for any thing other than to be at VM-host then you should keep to VirtualBot and qemu (or vmware if you like burning monies liberties).

I can recommend taking a look at qemu (install), it is a bit hard to setup (afaik no of the gui-tools really works well) since it is a commandline tool. But one of the main features of qemu is that you can emulate other CPU targets that the one your on. I often use it to boot a test-root-image of for my phone (Which in effect is a 500MHz ARM computer running Maemo Linux.)

When qemu runs on a x86-64 it can use KVM for x86-64, when on ia32 it can use KVM on ia32, when on PPC 440 it can use KVM for PPC 440 ect..

share|improve this answer
    
I'm unsure the statement about burning money on vmware because as far as I know the Server is free to download and use for non-commercial purposes. I've been using it freely on the Windows platform for years. However that's not a bad idea that I look into it since I'm already familiar. Thanks. –  John K Aug 16 '10 at 13:15
    
@jdk does this sound better? Still, on a workstation you should properly use vmware workstations, now I don't know about the price (neither monetary or social) of that, I stopped researching at the request of registration. –  Source Lab Aug 16 '10 at 13:57
    
Thanks for the info. qemu looks like an interesting package. I will give it a try at some point. –  John K Aug 16 '10 at 22:42
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.