What does VirtualBox need to be production/enterprise ready?
I’m a VirtualBox fan and I’ve been using it a few years now and my satisfaction varied from highly disappointed in some situations and at some points, to highly satisfied at others. I’ve also used the Python API for VirtualBox and it has been a not-so-good experience especially when it comes to
documentation, I would say that the API is poorly documented and there are several functions missing proper documentation or missing any documentation at all.
However, through my journey with VirtualBox, I fell in love with VirtualBox and while doing that and I wanted to take the love to the next level
I wanted to use VirtualBox in a server environment as a virtualization server, where I failed miserably.
I failed not because I couldn’t do it, but because it wasn’t easy for the administrator to configure and monitor the system.
VBox Auto Control
First, I wanted to start some machines on boot and I couldn’t find any straight forward way to do that from the VirtualBox GUI or from the CLI and the only way was to write my own shell scripts that still did not give me all the features I was looking for. I expected to find some easy way to do that as in VMWare but I had to do that manually.
So, I decided to write a controlling service for vbox that uses a simple configuration file to spawn and save/shutdown machines on boot/poweroff which should make our life easier when we try to use vbox as virtualization host hypervisor.
Enterprise-class Management GUI
That’s one big issue with VirtualBox, people tend to look at the GUI as a meter to measure the features of the hypervisor in hands and VirtualBox fails miserably because of its very basic user interface that lacks 70% of the features provided by any decent hypervisor offerring like VMWare and that is really shocking for people who are looking forward to using this in production.
The following is a list of some of the things you cannot do from the GUI but you can do either from CLI or the API:
- You cannot choose the type of the virtual disk (either vdi, vmdk, or raw)
- You cannot monitor machines performance (IO, CPU, Network, etc)
- You cannot configure the DHCP servers running for NAT network mode, you cannot also configure any of the NAT features (port forwarding, redirection, DNS proxy, etc)
- You cannot clone disks, snapshots, etc.
- You cannot see any of the tele-transportation features in the GUI.
- You cannot change the BIOS logo.
- You cannot control any of the configuration parameters for the guest clock and timers.
- You cannot control the automated guest logons features in the guest addons.
- You cannot set any limites to CPU, Network, Disk IO for the virtual machines.
- You cannot bind virtual cores with physical CPU cores.
- You cannot overcommit memory allocation.
And many more, VirtualBox is really fruity but everything is hidden behind this ugly GUI that doesn’t show except the basic stuff for the below average user.
Testing and Release Management
VirtualBox lacks the production-quality testing process and they have been seeing many regressions lately and releasing minor updates quite often, which is fine but doesn’t work well with the enterprise-class sector in the market. VirtualBox should be covered more by tests and the release management should be more careful for regressions and the too-frequent updates they are throwing to the end user.
During my journey with VirtualBox, I’ve seen many many crashes in the hypervisor where it fails to start a machine or restore a snapshot and I’ve seen many cases where VirtualBox got stuck while changing the state of the virtual machine, most of the those cases happened in a tight memory environment where the host didn’t have plenty of free memory available for VirtualBox. Still, more testing is needed and some bug reporting tool is required to make things easier for users to submit or issue tickets for bugs.
i am waiting VirtualBox Next Level
[...] This post was mentioned on Twitter by amal elshihaby and Sinar, AhmedSoliman. AhmedSoliman said: What does VirtualBox need to be production/enterprise ready? http://bit.ly/czIhGt [...]
My limited exposure to VirtualBox began after I failed to run Vmware , on my new mandriva installation , and it was too frustrating that I switched to virtual PC!
The problem with most Linux distros , arises with the minimality of GUI built-in support. It’s as if you have to be a command-line geek in order to do any basic thing , and this sucks. Mind you , there is always some setting to be tweaked , so that you can run this or that , and finally the sys crashes for some unmanageable reason.
Finally -but never last!- , Interoperability.You just have to download loads of packages , only to discover they are dependent on many other packages , that are -of course!- dependent on others. There should be some sort of “Package Layering” , if ever.
P.S.: I probably strayed , but recently I’ve been unable to set-up any stable Linux , or functional for that matter!, on my 1-year old AMD machine , and I hate this! Things used to be much better on Intel , or is it?
Well, that’s seriously weird, Linux desktop has been developing really fast and if you tried ubuntu recently you shouldn’t face of what you have mentioned.
Plus, AMD == Intel
Ubuntu 10.04 won’t install ,hardware conflict of sorts. Fedora 13 , just the same. Ended with the conclusion that both my display devices , card and chip , are just the problem. But Mandriva installed after about 10 trials , and with the X.org driver , not the proprietary driver, only to ignore my humble speedtouch modem . Thus , I am unable to do any updates , or use package managers , resorting to windows and many reboots!
I recently downloaded about 10 Gbs of linux , and just can’t use it to connect to the internet , that ain’t fair , but I am persistent and shall get it going somehow.
And : AMD one= Intel ! (when it comes to system stability , anyway).
I’ve found myself only using the GUI to create VMs. The CLI is simple enough to learn. I use VBoxHeadless to start my VMs that run on a remote system that I only have SSH access.
I’ve found it better for my use then VMware Workstation – which requires a GUI connection.
The terminal services client access to the VMs is priceless.
Most important to me is that I can administer the VMs from anything that can SSH to my server. Linux, Windows, MacOSX, Solaris, Blackberry, iPhone, Android. I can’t do that with VMware workstation or ESX.
i think vbox really needs
1-web management console
2-client to connect to from any other platform like vmware client
3-modifying the architecture to be client/server like vmware vsphere/ESXI
4-working with OS templates just like openvz ,virtual appliance ..etc
5-improving networking functionality (i think it’s too late in comparing to RHEV,Microsoft,VMWARE…)
it’s a good for any desktop user but for admin it’s too stupidness to work with it in a production environment.
you always think of what i think
thanks for this post
Why not look at something like kvm since it is considered the primary open source virtualization platform? Now that Oracle’s purchased VirtualBox, it will probably die anyway (like they did with Virtual Iron).
What does VirtualBox need to be ready for Enterprise Use?
#1 – Stability.
On a Linux x64 host, a WinXP x32 VM doesn’t stay up for more than 4 days at a time even when not actively being used. Without VirtualBox VMs running, this actively used host stays up for 6 months at a time.
Without stability, there simply isn’t any reason to consider VirtualBox for enterprise production use, sorry.
We run ESX, ESXi, and Xen VM hosts here, in addition to VirtualBox. Those others all stay up – basically forever and only go down when we patch and take them down.
On desktops, VirtualBox is probably the best answer, although stability has also been a problem with Win7 and Vista x64 hosts. Client Linux VMs don’t stay up more than 5 days, but that could be due to the host OS instability issues. The MS-Windows hosts were used as VM platforms without much application use.
KVM is interesting as a competitor, but needs more performance based on our testing. VirtualBox performance hasn’t been an issue for us.
[quote]You cannot clone disks, snapshots, etc.[/quote]
VBoxManage clonehd ????
I mean from the GUI
For the last 2 months or so, VirtualBox has been much more stable here. Basically, it hasn’t failed or locked up in that time. Because the hostOS is Windows7 x64, this stability could be a reflection of the greater stability in Windows7 OR in VirtualBox. We’re still running 3.2.12 since it meet our needs. Client OSes are Linux and WinXP – mainly Lubuntu 10.04 (which is the main daily use OS). The current host has almost 9 days of uptime – which I consider good for a Windows OS running on a laptop.
I’d be interested in user reports on the stability of the vbox 4.x line.
BTW, use SATA disk controllers to hugely improve disk performance inside VBox clients. 30%-50% disk performance improvements are possible with just this change.
you can use phpvirtualbox for Virtualbox GUI/Management GUI.
Cheers