VirtualBox in unRAID


Recommended Posts

Yes, I recognize that maybe I'm being a bit over-zealous with that, I know that at least while having phpVirtualBox page open (even if you leave the page open alone, I did it and in some 1h maybe the log got with near 1MB size) the log gets written every few seconds... but yes if you don't browse it very often then it should not be a problem. Anyway I just didn't liked it and found weird that we can't disable the log with the --logfile param.

 

Another thing, not related, I did found that with the lainie package and instructions on this thread (as far as I can find it), no symlink is created for /root/VirtualBox\ VMs to store it on the pen, then vm configs get lost after system restart, despite they get listed as list seems to be on .VirtualBox (that is actually symlinked), we can workaround that on our do file anyway as I did above.

 

Just a question, do you think it's ok to store vm hdd images on the unraid array? I'm currently doing it, as I have no cache/spare drive currently, and so far it seems to work very well.

 

Thanks lainie for the packages and all the others that contributed with instructions to make this work easily.

Link to comment
  • Replies 528
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

... Another thing, not related, I did found that with the lainie package and instructions on this thread (as far as I can find it), no symlink is created for /root/VirtualBox\ VMs to store it on the pen, then vm configs get lost after system restart, despite they get listed as list seems to be on .VirtualBox (that is actually symlinked), we can workaround that on our do file anyway as I did above.

 

Just a question, do you think it's ok to store vm hdd images on the unraid array? I'm currently doing it, as I have no cache/spare drive currently, and so far it seems to work very well...

I have a parity protected user share in unRAID that contains copies of working VMs. The VMs I use are on my cache drive. I tried running one of the VMs from the user share a couple times & it was a bit laggy most of the time. Depends on the performance you need from your VM(s). It will work from the user share, just not as well as from a cache drive or SNAP drive.

 

None of my VMs are located at "/root/VirtualBox VMs/". I do not even have that directory. When you create a new VM, you can specify the path where ever you like.  It would probably be better to store your configs somewhere on your array as opposed to storing them on your flash drive since you do not have a cache drive.  Looks like you have the configs copying to & from you flash drive every restart (if I understand your posts)...

 

When storing VMs on a cache drive, the VMs run better, but are not parity protected. You have to manually backup your VMs to somewhere else if you are concerned with losing them in a cache drive failure. Same thing with using a SNAP drive, though you can run into issues with SNAP if you try to start VMs on a SNAP drive before your SNAP drive is mounted. I have not used SNAP drives.

 

When storing VMs on a user share, the VMs lose a little performance (but still work for most purposes). They are automatically protected by your parity.

 

If you store your VMs in /root/ then, yes, your VMs will not be there when you restart.  I did not go into where to save VMs in my instructions because there are different pros & cons that each person needs to take into consideration depending on their system & how they prefer to use it.

Link to comment

I see, thanks for your clarification, concerning storing VM disk image on the array if performance is the only possible issue then honestly it seems rather fast to me, I do have 30-40MB/s write speed and near 100MB/s read speed from the array, it's not that bad for a VM... and from my tests it seems really fast to boot xp on a vm for eg., actually faster than booting xp on a vmware vm on my desktop pc :)

 

Concerning the /root/VirtualBox\ VMs directory I see now what you mean, it's even possible to set default directory for new VM's on phpVirtualBox settings, I see, just forget what I said.

 

I did also thought about symlinking /root/.VirtualBox to a directory on the array, instead of copy from/to the flash... however I'm not sure if the array is actually started when the go script runs? guess not, at least if we have unraid set to don't autostart the array then it should be no for sure... maybe there some way... some script that is only called when the array is up? will search for that :)

Link to comment

Below is some code that checks to see if a cache drive is online then starts a program located on the cache drive.

 

It could probably be tweaked to check for a user share instead of a cache drive.

 

# determine if cache drive online, retry upto 7 times
for i in 0 1 2 3 4 5 6 7
do
    if [ ! -d /mnt/cache ]
    then
      sleep 15
    fi
done

# If Cache drive is online, start some app on cache drive
if [ -d /mnt/cache ]; then
  cd /mnt/cache/ 
<command to start some app here>

Link to comment

Hi,

 

I am trying to get this working with rc8 as per your instructions:

 

root@Clara-Belle:/boot/config/plugins# installpkg /boot/config/plugins/vbox-4.2.0-unRAID-3.4.11.tgz

Verifying package vbox-4.2.0-unRAID-3.4.11.tgz.

Installing package vbox-4.2.0-unRAID-3.4.11.tgz:

PACKAGE DESCRIPTION:

Executing install script for vbox-4.2.0-unRAID-3.4.11.tgz.

Package vbox-4.2.0-unRAID-3.4.11.tgz installed.

 

root@Clara-Belle:/boot/config/plugins# ps -ef |grep ox

root    31445 23205  0 16:32 pts/0    00:00:00 grep ox

 

root@Clara-Belle:/boot/config/plugins# vboxwebsrv -b -H 127.0.0.1 --logfile /dev/null >/dev/null

Oracle VM VirtualBox web service Version 4.2.0

© 2007-2012 Oracle Corporation

All rights reserved.

root@Clara-Belle:/boot/config/plugins# ps -ef |grep ox

root    31793    1  1 16:32 ?        00:00:00 /opt/VirtualBox/vboxwebsrv -b -H 127.0.0.1 --logfile /dev/null

root    31797    1  0 16:32 ?        00:00:00 /opt/VirtualBox/VBoxXPCOMIPCD

root    31835 23205  0 16:32 pts/0    00:00:00 grep ox

 

 

The error is as follows, don't know what to make of it.

 

root@Clara-Belle:/boot/config/plugins# VBoxManage extpack install /boot/config/plugins/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack

VBoxManage: error: Failed to create the VirtualBox object!

VBoxManage: error: Code NS_BASE_STREAM_WOULD_BLOCK (0x80470007) - Stream operation would block (extended info not available)

VBoxManage: error: Most likely, the VirtualBox COM server is not running or failed to start.

root@Clara-Belle:/boot/config/plugins# ps -ef |grep ox

root    32411 23205  0 16:34 pts/0    00:00:00 grep ox

 

Log has nothing unusual:

Sep 25 15:39:20 tower kernel: vboxdrv: Found 4 processor cores.

Sep 25 15:39:20 tower kernel: vboxdrv: fAsync=0 offMin=0x406 offMax=0x1bca

Sep 25 15:39:20 tower kernel: vboxdrv: TSC mode is 'synchronous', kernel timer mode is 'normal'.

Sep 25 15:39:20 tower kernel: vboxdrv: Successfully loaded version 4.2.0 (interface 0x001a0004).

 

lsmod | grep box

vboxnetflt            13590  0

vboxnetadp            18095  0

vboxdrv              185524  2 vboxnetflt,vboxnetadp

Link to comment

Hi,

 

I am trying to get this working with rc8 as per your instructions:

 

root@Clara-Belle:/boot/config/plugins# installpkg /boot/config/plugins/vbox-4.2.0-unRAID-3.4.11.tgz

Verifying package vbox-4.2.0-unRAID-3.4.11.tgz.

Installing package vbox-4.2.0-unRAID-3.4.11.tgz:

PACKAGE DESCRIPTION:

Executing install script for vbox-4.2.0-unRAID-3.4.11.tgz.

Package vbox-4.2.0-unRAID-3.4.11.tgz installed.

 

root@Clara-Belle:/boot/config/plugins# ps -ef |grep ox

root    31445 23205  0 16:32 pts/0    00:00:00 grep ox

 

root@Clara-Belle:/boot/config/plugins# vboxwebsrv -b -H 127.0.0.1 --logfile /dev/null >/dev/null

Oracle VM VirtualBox web service Version 4.2.0

© 2007-2012 Oracle Corporation

All rights reserved.

root@Clara-Belle:/boot/config/plugins# ps -ef |grep ox

root    31793    1  1 16:32 ?        00:00:00 /opt/VirtualBox/vboxwebsrv -b -H 127.0.0.1 --logfile /dev/null

root    31797    1  0 16:32 ?        00:00:00 /opt/VirtualBox/VBoxXPCOMIPCD

root    31835 23205  0 16:32 pts/0    00:00:00 grep ox

 

 

The error is as follows, don't know what to make of it.

 

root@Clara-Belle:/boot/config/plugins# VBoxManage extpack install /boot/config/plugins/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack

VBoxManage: error: Failed to create the VirtualBox object!

VBoxManage: error: Code NS_BASE_STREAM_WOULD_BLOCK (0x80470007) - Stream operation would block (extended info not available)

VBoxManage: error: Most likely, the VirtualBox COM server is not running or failed to start.

root@Clara-Belle:/boot/config/plugins# ps -ef |grep ox

root    32411 23205  0 16:34 pts/0    00:00:00 grep ox

 

Log has nothing unusual:

Sep 25 15:39:20 tower kernel: vboxdrv: Found 4 processor cores.

Sep 25 15:39:20 tower kernel: vboxdrv: fAsync=0 offMin=0x406 offMax=0x1bca

Sep 25 15:39:20 tower kernel: vboxdrv: TSC mode is 'synchronous', kernel timer mode is 'normal'.

Sep 25 15:39:20 tower kernel: vboxdrv: Successfully loaded version 4.2.0 (interface 0x001a0004).

 

lsmod | grep box

vboxnetflt            13590  0

vboxnetadp            18095  0

vboxdrv              185524  2 vboxnetflt,vboxnetadp

 

Did it work with a previous version? The internets are not very helpful when it comes to the  Code NS_BASE_STREAM_WOULD_BLOCK (0x80470007) error. The two posts I read that mentioned it... one was a dependency that was missing and the other was a permissions error... neither seem to fit your situation.

Link to comment

Thanks for the help. Yeah, searching the interwebs yielded nothing useful as well.

 

No, first time I tried to install it.

 

Could it be hardware related: running Core i3-530 + SUPERMICRO MBD-X8SIL-F. Settings in the Bios?

 

Both Intel Virtualization and VT-d enabled in the bios

 

Update: I created the directory /boot/custom/vbox and that seem to do the trick

Link to comment

I just wanted to add that somehow /dev/null had 0600 permissions set, and is causing a lot of the python plugins from not starting.

 

Not sure how / when the problem started for me but it was fine up until i installed vbox. not sure if the two are related or not but i thought i mention it. perhaps others have experienced similar?

 

Update: So I can confirm that the command, while run as root overwrites the default /dev/null device and changes it's permissions causing problems with many plugins. Btw, I'm on v5rc8  and have the below command in my go script.

 

vboxwebsrv -b -H 127.0.0.1 --logfile /dev/null >/dev/null

 

I opted to add the logrotate portion

 

vboxwebsrv -b -H 127.0.0.1 --logfile /path_to/vboxwebsrv.log --logrotate 0

 

I'm not sure where the logfile gets create if at all, probalbly where the symlink /root/.VirtualBox points to would be my guess

Link to comment

phpVirtualBox v4.2-0 (BETA) is out for anyone wanting to test VirtualBox v4.2 with a GUI.

http://code.google.com/p/phpvirtualbox/downloads/list

 

I haven't tried it yet myself.

 

Edit (27 Sep 2012):

Installed VirtualBox v4.2 for Kernel v3.4.4 (unraid v5RC6) and seems to work including the phpvirtualbox v4.2-0 BETA.

Needed a reboot of the Virtual Machine.

Don't forget the correct Extension_Pack and Guest Additions.

 

Edit (29 Sep 2012):

Installed VirtualBox v4.2 for Kernel v3.4.11 (unraid v5RC8a) and seems to work including the phpvirtualbox v4.2-0 BETA.

 

Link to comment

Hi, about to try my hand at virtualbox again. Tried ages ago on 4.7 to no success.

 

Have upgraded unraid hardware to a quad core and 8gig. Actually wanted to get esxi running, but can't.

 

Anyway, so thought I'd give this another go. I'm running current rc8a. Will the instructions on the wiki "For unRAID version 5.x, those packages can be found here" work?

I'm thinking I might have to get a different kernel then the one listed in the wiki? To match the current build?

If someone can give me a few updated tips, I'd really appreciate it.

Link to comment

thanks nars for the link..

 

i did everything getting the 4.2 version of everything

but i'm failing on the last command

i'm getting

 

root@Server:~# vboxwebsrv -b -H 127.0.0.1 --logfile /dev/null >/dev/null

Oracle VM VirtualBox web service Version 4.2.0

© 2007-2012 Oracle Corporation

All rights reserved.

root@Server:~# VBoxManage extpack install /boot/packages/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack

VBoxManage: error: Failed to create the VirtualBox object!

VBoxManage: error: Code NS_BASE_STREAM_WOULD_BLOCK (0x80470007) - Stream operation would block (extended info not available)

VBoxManage: error: Most likely, the VirtualBox COM server is not running or failed to start.

:(

 

edit: nvm, just remembered about your making the custom folder :)

 

edit2: ok can't get into the webpage thing. goto server:8084, log in with admin/admin and i get. could not connect to host (http://127.0.0.1:18083/)

 

edit3: restarted unraid, redid the 3 commands, loged in and now get Error logging in to vboxwebsrv :(

 

edit 4: yay :D.. got it.. did the whole ps -ef thing from above, and it's working now?

Link to comment

If you want to use lainie compiled binaries (see: http://lime-technology.com/forum/index.php?topic=10978.msg197022#msg197022) then it will be a lot easier.

 

Note: there is a step missing on instructions, you need to manually create directory at /boot/custom/vbox or vbox will not start.

 

I updated my instructions at the end to check for this directory & manually create it if not there. Thanks.

Link to comment

So I was able to get virtualbox and phpvirtualbox running on my unraid 5.0 rc8a setup.  I've been trying to install ubuntu in a virtual machine (with the virtual disk file stored on my unraid array under the disk4 mount).

 

Whenever the installation gets to the point where it starts creating partitions, a) my unraid server load average spikes way up -- 8 to 10 or higher and b) the guest OS complains about various disk errors.  "illegal qc_active transition" was one of them.  Then, I can't stop the virtual machine from within the phpvirtualbox GUI, and "kill -9 <pid>" as root doesn't even work to kill the process.

 

I tried both fixed and dynamic disk modes.  The .vdi disk file never actually grows beyond 8-10MB.

 

Other than for running virtualbox, my reading and writing to my unraid server disks seems perfectly healthy to me.

 

My hardware should be plenty to run virtualbox (AMD Phenom II, all modern 1.5-2TB SATA hdds)

 

Has anyone else encountered anything similar?

Link to comment

Hi Guys,

 

I am have been trying to get the VirtualBox working on RC8a (Media Tree - as server also is running TVHeadend) but having problem with installing the vbox-4.2.0-unRAID-3.4.11.tgz.

I get this error:

 

Verifying package vbox-4.2.0-unRAID-3.4.11.tgz.

Installing package vbox-4.2.0-unRAID-3.4.11.tgz:

PACKAGE DESCRIPTION:

Executing install script for vbox-4.2.0-unRAID-3.4.11.tgz.

insmod: error inserting '/lib/modules/3.4.11-unRAID/misc/vboxdrv.ko': -1 Invalid module format

insmod: error inserting '/lib/modules/3.4.11-unRAID/misc/vboxnetadp.ko': -1 Invalid module format

insmod: error inserting '/lib/modules/3.4.11-unRAID/misc/vboxnetflt.ko': -1 Invalid module format

ln: creating symbolic link `/root/.VirtualBox/vbox': Operation not permitted

Package vbox-4.2.0-unRAID-3.4.11.tgz installed.

 

I am at the end of my knowledge on this one - anybody have any idea's or is this just isolated to the Media Tree version of RC8a??

 

Thanks in advance...

 

Edit: Tried recompiling media tree as per instructions for TVheadend, but still won't load the above modules on the kernel - same Invalid module format error.

 

Still working on it though - will report back if I manage to succeed...

Link to comment

I have a vague recollection that somewhere in this thread it is mentioned that its best to have the vdi not on the array but on the cache drive (or a mounted drive outside of the array completely) due to performance issues. I do not know if this is what your problem is, but might be worth testing.

It "should" still work, but just be a bit slower when stored on an unraid share instead of a standalone disk.

 

However, I tried moving the .vdi to a standalone disk and it works fine, whereas the .vdi on the unraid disk share gave I/O errors.  Very odd. 

 

I don't really need fantastic disk I/O performance on my virtual guests and would much rather have the guests' backing store on my unraid drives instead of a non-array drive..

Link to comment

phpVirtualBox v4.2-0 (BETA) is out for anyone wanting to test VirtualBox v4.2 with a GUI.

http://code.google.com/p/phpvirtualbox/downloads/list

 

I haven't tried it yet myself.

 

Edit (27 Sep 2012):

Installed VirtualBox v4.2 for Kernel v3.4.4 (unraid v5RC6) and seems to work including the phpvirtualbox v4.2-0 BETA.

Needed a reboot of the Virtual Machine.

Don't forget the correct Extension_Pack and Guest Additions.

 

Edit (29 Sep 2012):

Installed VirtualBox v4.2 for Kernel v3.4.11 (unraid v5RC8a) and seems to work including the phpvirtualbox v4.2-0 BETA.

 

phpVirtualBox 4.2-1 is final and released.

Installed it with VirtualBox v4.2 for Kernel v3.4.11 and it is working.

 

Link to comment

Anyone could get usb to work properly on virtualbox?

 

I could get it to work once using:

 

groupadd vboxusers

usermod -aG vboxusers root

usermod -aG vboxusers nobody

 

and then killing virtualbox processes and re-launching them... but it was really really slow (an usb mass storage device could only be read at less than 100KB/s on a VM... really crap...), and also seems a bit tricky to get the usb devices listed as available to virtualbox, only after killing/rerun virtualbox process and connect a new usb device... after that I could get it to work (very slow), else nothing detected at all, even if I add the lines to add the vboxusers group on the go file before the lines to install and run virtualbox...

Link to comment
  • 2 weeks later...

That latest version you just posted works for me.

 

If anyone comes across this and is trying to get the latest version running that lainie http://lime-technology.com/forum/index.php?topic=10978.msg197022#msg197022 precompiled... here's the deviations from lainie's directions that I used that worked.  (I think some people have no issues, but I did)

 

Do everything lainie says... Download the precompiled version (I used the vbox-4.2.4-unRAID-3.4.11.tgz one) the ext pack, and the latest phpvirtualbox.  rename the example config.php in the phpvirtualbox folder to just config.php and use it as it defaults.  However, instead stick the vbox-4.2.4-unRAID-3.4.11.tgz and the Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack file in /boot/custom/vbox and then use the following lines to fire it off instead.

 

 

cd /boot/custom/vbox

  installpkg *.t*z

  VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack

  VBoxManage setproperty websrvauthlibrary null

  vboxwebsrv -b -H 127.0.0.1 --logfile /dev/null >/dev/null

 

I found that if I didn't do it in that proper order it would cause phpvirtualbox login errors.

 

Anyways, hope that helps if someone was having issues.

 

Link to comment

Can I upgrade VirtualBox without restarting the server? somethig like this?

 

stop all VMs
removepkg "current_vbox 4.2.0"
uninstall Extension Pack - "VBoxManage extpack uninstall <old v4.2.0 pack>"
installpkg "new_vbox 4.2.4"
install new Extension Pack - "VBoxManage extpack install <new v4.2.4 pack>"
restart VMs

 

Will this work?

 

Link to comment

Can I upgrade VirtualBox without restarting the server?

 

I'm not sure. It would be nice, since occasionally I have time to make changes, but there are programs running on the server (that I don't want to shut down). I have always just waited until the server could be shut down & ran a fresh install.

 

If you decide to try to make changes without restarting, please post your results.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.