Rabu, 10 Agustus 2011
Kamis, 28 Juli 2011
Test-Driving VirtualBox 4.1 on Linux: Bumpy but Pretty Good
Oracle released VirtualBox 4.1 on July 19 with a slew of improvements ranging from usability improvements to rasing the ceiling for RAM to 1TB for 64-bit hosts. With 4.1, we decided to take VirtualBox out for a spin and see how it handles.
I've been using desktop virtualization since the early days, when VMware was a scrappy little company shipping a nearly unheard-of product — a desktop virtualization tool that would let you run Windows in VM in Linux. No more dual-booting for those folks who had to have access to Microsoft Word or QuickBooks but wanted to enjoy Linux as their desktop of choice.

Fast forward to 2011 and users have a lot more choice. VirtualBox is at the top of the list for Linux users for a number of reasons: It's free as in cost and speech, because it's GPL'ed. It's packaged up for a number of distributions and easy to install, and it's easy(ish) to use. Let's take a look at the latest release.
Typically, I use VMware Workstation. In part out of force of habit, in part out of necessity. I'd tried VirtualBox in the 3.x days, and found it wanting quite a bit. VMware, though a pain to install and pay for "just works" for me. With VirtualBox 4.1 I wanted to give VB another go and see if it'd improved enough to turn to for my day to day work.
It was really easy to install VirtualBox 4.1 — and would have been even easier if I wasn't looking to go with the very latest release. I'm using Linux Mint 11, which already has VirtualBox in its (well, Ubuntu's) repos, but I needed to add Oracle's repos for 4.1. This took about two minutes and a short dive into my /etc/apt/sources.list.
Well, almost. While the main package is GPL'ed, some extensions for VirtualBox that provide niceties like USB 2.0 support, RDP, and PXE boot are in an extension pack that is under a proprietary license. It's also free as in beer, but it requires a separate download. Again, it's easy to install, but one additional step.
Finally, on Linux Mint, I also had to add my user to the vboxusers group as well. How's this compare with installing, say, VMware? I'd say VirtualBox has a slight edge given that VirtualBox often requires compiling kernel modules — which requires installing a bunch of packages for many users that don't necessarily have all the kernel headers and development tools to compile them on-hand.
Most of my use of desktop virtualization boils down to testing Linux distros. It's been more than a decade since I needed Windows, and I'm pretty light on working with the BSDs. I check in on them now and again, but for the most part my use is about running various Linux distros to test the latest and greatest or to for reference. (For example, installing or using a program on Debian-based vs. some of the popular RPM-based distros.)
This time around I tried VirtualBox with the experimental images for Debian GNU/Hurd, a BitNami virtual machine for VMware, and loading up a couple of regular distros from scratch.
The results were a bit of a mixed bag. The Debian GNU/Hurd install went well, until it was time to reboot and try it out. At that point, it froze entirely. I'm not entirely sure if that's a problem with VirtualBox or Hurd, or a combination of both. I was able to install and run Debian GNU/Hurd under KVM, but there's a lot of work that needs to be done yet to get it ready for prime time.
Unfortunately, things didn't go very well trying to import the machine from BitNami. I got a slew of errors before even getting to the point of trying to turn the VM on.
Installing regular distros, that went well. VirtualBox handles those just fine, or at least the handful I tried. Admittedly, I didn't try every Linux distro.
A couple of comments on the usability of VirtualBox: it's good but not great. VirtualBox has a few rough edges that really make me scratch my head. For example, if you want to install a Linux distribution in VMware it's pretty simple to figure out how to add an ISO image to boot from. You don't get the option to add an ISO image to VirtualBox until you start the "first run wizard" and then it's not intuitive. You can only add an image by clicking a fairly non-obvious folder icon on the right-hand side of the dialog next to a drop-down menu that shows the physical optical drives.
The defaults are very resource stingy, at least in my opinion. For example, I've run into problems with VMs in VirtualBox because it provides such a stingy amount of video RAM for its virtual machines. It also is very conservative about RAM, disk sizes, etc. This isn't a major deal — you can configure all of this — it just takes a bit longer than it should and can be frustrating if you're creating a lot of VMs.
For grins, I thought I'd see what would happen if I tried booting a Mac OS X DVD in VirtualBox. As most folks know, Apple doesn't want you running OS X on non-Apple hardware and is pretty touchy about running it in a VM as well. VirtualBox does have some support for OS X Server, but it's apparently limited to Mac hardware — when I tried to boot the DVD I got an error saying the platform is not supported. I'm not dinging VirtualBox for this one, though. It's one thing if VirtualBox has trouble running an OS that's not specifically designed to prevent being run on standard hardware, but the VirtualBox devs aren't exactly getting a lot of support from Cupertino to run Mac OS X on Linux.
As much as I would have liked to have road-tested the 1TB RAM limit for 4.1, I don't have any machines with that kind of RAM. It is pretty cool that they're supporting that, though.
VirtualBox has a couple of features I really like that are worth mentioning. For example, you can set up a VM for remote display so that you can run a VM on one machine but view its display on another. Even better, VirtualBox offers VBoxHeadless to run VMs on systems without any local display at all. I haven't used this one extensively yet, but look for a tutorial soon on running Linux headless.
VirtualBox 4.1 is pretty darn good, especially given what you pay for it. Is it as good as VMware? No. But, despite a number of minor annoyances, I have to say that I do really like the latest iteration of VirtualBox. It's not quite as easy to use or as intuitive as VMware Workstation — but at the low, low price of "free," it's hard to complain too much.
Whether you want to run multiple Linux distros, run Windows on top of Linux, or Linux on top of Windows, VirtualBox should be your first stop.
Comments (0)
You must be logged in to post a comment. Please register if you do not have an account yet.

Selasa, 31 Mei 2011
VBoxHeadless - Running Virtual Machines With VirtualBox 4.0 On A Headless Ubuntu 11.04 Server
This guide explains how you can run virtual machines with VirtualBox 4.0 on a headless Ubuntu 11.04 server. Normally you use the VirtualBox GUI to manage your virtual machines, but a server does not have a desktop environment. Fortunately, VirtualBox comes with a tool called VBoxHeadless that allows you to connect to the virtual machines over a remote desktop connection, so there's no need for the VirtualBox GUI.
I do not issue any guarantee that this will work for you!
I have tested this on an Ubuntu 11.04 server (host system) with the IP address 192.168.0.100 where I'm logged in as a normal user (user name administrator in this example) instead of as root.
To install VirtualBox 4.0 on our Ubuntu 11.04 server, we open /etc/apt/sources.list...
sudo vi /etc/apt/sources.list... and add the following line to it:
[...]deb http://download.virtualbox.org/virtualbox/debian natty contribThen we download the VirtualBox public key...
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -... and update our package database:
sudo apt-get updateAfterwards, we install VirtualBox 4.0 as follows:
sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.0 dkms(The dkms package ensures that the VirtualBox host kernel modules are properly updated if the Linux kernel version changes.)
Starting with version 4.0, VirtualBox has introduced so called "extension packs" and has outsourced some functionality like remote desktop connection support (VRDP) that was part of VirtualBox packages before version 4.0 into these extension packs. Because we need remote desktop connections to control our virtual machines, we need to install the appropriate extension pack now. Go to http://www.virtualbox.org/wiki/Downloads, and you will find a link to the following extension pack:
VirtualBox 4.0.6 Oracle VM VirtualBox Extension PackSupport for USB 2.0 devices, VirtualBox RDP and PXE boot for Intel cards.
Download and install the extension pack as follows:
cd /tmpwget http://download.virtualbox.org/virtualbox/4.0.6/Oracle_VM_VirtualBox_Extension_Pack-4.0.6-71344.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.6-71344.vbox-extpack
(Make sure you grab the latest version from the VirtualBox web site.)
(Make sure you run the last command with sudo - sudo VBoxManage extpack install ... - because otherwise you will get an error like this:
administrator@server1:/tmp$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.6-71344.vbox-extpack0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to install "/tmp/Oracle_VM_VirtualBox_Extension_Pack-4.0.6-71344.vbox-extpack": The installer failed with exit code 127: Error creating textual authentication agent: Error opening current controlling terminal for the process (`/dev/tty'): No such device or address
administrator@server1:/tmp$
)
Now we must add the user that will run VirtualBox (administrator in this example) to the vboxusers group:
sudo adduser administrator vboxusersVirtualBox is now installed and ready to be used.
To create a VM on the command line, we can use the VBoxManage command. See
VBoxManage --helpfor a list of available switches and (highly recommended!) take a look at http://www.virtualbox.org/manual/ch08.html.
I will now create an Ubuntu 11.04 Server VM with 512MB memory and a 10GB hard drive from the Ubuntu 11.04 Server iso image (which I have stored in /home/ubuntu-11.04-server-amd64.iso):
VBoxManage createvm --name "Ubuntu 11.04 Server" --registerVBoxManage modifyvm "Ubuntu 11.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
VBoxManage createhd --filename Ubuntu_11_04_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 11.04 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_11_04_Server.vdi
VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-11.04-server-amd64.iso
Let's assume you have a VM called examplevm that you want to reuse on this host. On the old host, you should have a directory Machines/examplevm in the VirtualBox directory; Machines/examplevm should contain the examplevm.xml file. Copy the examplevm directory (including the examplevm.xml file) to your new Machines directory (if your user name is administrator, this is /home/administrator/.VirtualBox/Machines - the result should be /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).
In addition to that copy the examplevm.vdi file from the old VDI directory to the new one (e.g. /home/administrator/.VirtualBox/VDI/examplevm.vdi).
Afterwards, you must register the imported VM:
VBoxManage registervm Machines/examplevm/examplevm.xmlRegardless of if you create a new VM or import an old one, you can start it with the command:
VBoxHeadless --startvm "Ubuntu 11.04 Server"(Replace Ubuntu 11.04 Server with the name of your VM.)
VBoxHeadless will start the VM and a VRDP (VirtualBox Remote Desktop Protocol) server which allows you to see the VM's output remotely on another machine.
To stop a VM, run
VBoxManage controlvm "Ubuntu 11.04 Server" poweroffTo pause a VM, run
VBoxManage controlvm "Ubuntu 11.04 Server" pauseTo reset a VM, run
VBoxManage controlvm "Ubuntu 11.04 Server" resetTo learn more about VBoxHeadless, take a look at
VBoxHeadless --helpand at http://www.virtualbox.org/manual/ch07.html#vboxheadless.
VBoxHeadless - Running Virtual Machines With VirtualBox 4.0 On A Headless Ubuntu 11.04 Server - Page 2Sabtu, 30 April 2011
How To Set Up A Serial Port Between Two Virtual Machines In VirtualBox
I needed to test serial communication between two VirtualBox guest machines on Linux. This tutorial describes what I did to set up a serial port between two virtual machines running on VirtualBox.
My host operating system was Ubuntu 10.10My guest operating systems were Microsoft Windows XP and Debian Lenny.On the host machine you don't need to install or configure anything.
On guest virtual machines you need to configure serial port settings.
Enable Serial Port check box: checked (enabled)
Port Number: COM1
Port Mode: Host Pipe
Create Pipe check box: checked (enabled)
Port/File Path: /tmp/vboxS0
Enable Serial Port check box: checked (enabled)
Port Number: COM1
Port Mode: Host Pipe
Create Pipe checking box: unchecked (disabled)
Port/File Path: /tmp/vboxS0
First you need to start a machine with checked "Create Pipe" check box (in my example this is the Debian VM). Afterwards you can start your second machine (in my example this is my Microsoft Windows XP VM).
If you try to start the first machine with an unchecked "Create Pipe" check box then you will get one error message.
Error message if you try to start VM with unchecked "Create Pipe" check box
I have enabled serial console login in Debian Linux and I don't have any problem to connect to the Linux machine from the Windows terminal program.
Figure 4. - Proof of working serial port connection
Rudolf - http://www.bodocsi.net/