Thursday, January 15, 2009

More about Virtual Machine with Sun VirtualBox

I've been working on a little project on Virtual Machine. And I was trying to setup a network for our networking course, so we can do thing like Beowulf clustering. I used VirtualBox, since it's a cross platform. Because I have tri-boot with Vista/OSX/Fedora. So I can turn on my VM in any system and work on it.

After hours of searching and testing. Finally, I can ssh to and from my VMs and even connected to outside world. Thank you John64 and Vyas(Mohak) testing it for me. There are a lot of things that I'm not quite sure too. But since I've gotta stop playing with my VM and go back to my labs works. I can't spend too much time on it.

Anyway, here is the command to enable port fowarding with the build-in command "VBoxManage". This command allow you control VM configuration and even create a VM with one line command...

= enable Foward ports 2222 to 22 in VirtualBox =
# VBoxManage setextradata vm-F10i686 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222
# VBoxManage setextradata vm-F10i686 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
# VBoxManage setextradata vm-F10i686 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP

NOte: - vm-F10i686 - is the name in your VirtualBox, not your hostname

= Check configuration with VBoxMange command.
# VBoxManage getextradata vm-F10i686 enumerate

The good thing about using port forwarding is easy. But it has limitation also. Like... if I want to VNC to/from my VM, i'll need to forward another port also. So, instead, my next little project will be working on using DNS server, etc to setup a network (virtual network?) for my VMs. And I'll be using my host (my laptop) as the router, DNS server, etc.

And her are some trick and tips I would like to share with you..
1. If you are setting up same VMs in different machine. You can actually save your image file (.vdi). So you don't have to install again. But it seems a name is writed in the file also. So, I wasn't able to duplicate image file and having two same config VMs running in same host. I may spend sometime to hack about it when I have chance.
2. There is a build-in function called "snapshot" that allow you to capture the system status and recovery it later. But instead, I just copy the image file instead, because it gives me more flexibility when I'm using it in different OS.
3. Install Guest Additions, it's just fun to see a full-screen high resolution Fedora running in your Vista! I was able to have 1440x900 to use my Fedora VM in osx and Fedora host!
4. If you want to have a tri-boot VM with XP, Vista and some Linux. You may want to install XP, Vista and Linux in order. I would suggest to put XP, Vista, Swap as the primary and put all other Linux in your logical drive. Yeah... You can put all different Linux in your vm, Fedora, Ubuntu, FreeBSD... (the list goes on forever)
5. If you have backup, and somehow your vm system is not working. Instead of fixing it, you can just mount the old image file back! It's not a good admin should do, but... if u know the stuffs.. why do it over and over again? ^^

Actually, There are still a lot of things I want to explorer about VM. I could spend a month on it without doing any thing else. But... I'll save this fun later when I'm done the LUX course. Lets put study first. ^^


No comments: