Jump to content
Jerry

Installing VMware Server on unRAID Box

334 posts in this topic Last Reply

Recommended Posts

It seems an awful waste to me to only have my server host files. Before migrating to unRAID my home server was Red Hat 9 (it ran for years) and hosted a pair of Windows Virtual Machines. The Windows VMs were nice because it let me offload my large FTP and P2P transfers, and a great number of other behind-the-scenes processes off of my main PC. The new replacement server has a decent dual-core CPU (Pentium D 805) that just sits idle all day. My intention is to get VMware Server up and running on this new box so I can reclaim the same functionality I had with my old one, but with the benefits of unRAID.

 

Has anyone tried installing VM Server on unRAID? So far I'm hitting a wall when I try to compile the VM Server modules because I can't seem to find and load the compiler libraries.

Share this post


Link to post

vmware uses alot of swap space, something that unRAID doesn't have

 

i can't see an install of vmware going well -- at all

Share this post


Link to post

It is easy to do a swap on unRAID.

 

1. install another spare hard drive, doesn't need to be large, 40 GB is more than enough.  It will NOT be added to the array.

2. boot unRAID, and use fdisk to partition the new spare drive and create a swap partition.  Note which device/partition it is.

3. put the "swapon /dev/hdxx" command in your go script.

Share this post


Link to post

Thanks for the tip, Bubba!

 

I’ve been able to get the packages I think are necessary in there, but now I’m being held up because I don’t have the kernel headers. I can’t compile the VMware modules without them.

 

Can I get them for unRAID or do I need to recompile the kernel?

Share this post


Link to post

It is easy to do a swap on unRAID.

 

1. install another spare hard drive, doesn't need to be large, 40 GB is more than enough.  It will NOT be added to the array.

2. boot unRAID, and use fdisk to partition the new spare drive and create a swap partition.  Note which device/partition it is.

3. put the "swapon /dev/hdxx" command in your go script.

 

Thanks bubbaQ. :)

I've got a spare 80GB disk lying around that I think I'll setup as a swap drive.

 

It probably isn't worth using the entire 80GB for swap, I might setup like 40GB for swap and if I can, mount the other 40GB somewhere. Could be handy if I ever change the unRAID box to handle torrents or vm's as well. :)

 

Share this post


Link to post

It seems an awful waste to me to only have my server host files.

...

Has anyone tried installing VM Server on unRAID?

 

An awful waste, indeed! I'm trying to cut down on the number of processors and disks, not increase it. I understand why unRAID is a standalone product, but I really find it counterproductive in practice.

 

I like your idea of running VMware on the unRAID box, but I don't get along very well with Linux so I'm taking the opposite approach: Running Windows on the physical hardware, then hosting an unRAID VM which gets control of the SATA disks for bulk storage.

 

I've been toying with this on my laptop and it seems to work fine. UnRAID may like lots of RAM for caching, but it's been perfectly happy in 256MB, so the VM won't even chew up too much memory on the host. The only feature I haven't been able to test is whether the OS in the VM can spin down physical disks, since my test environment uses virtual disks. If not, I can just do that with inactivity timers on the host OS, no big deal.

 

The server I'm replacing has been running XP from a Compactflash card for quite a while with no issues, other than the slow swap. The new box will have quadruple the RAM so that shouldn't be an issue, and I might be able to use the XP Embedded Toolkit to tweak some things too, though I have to check the licensing on that.

 

I ordered the hardware this morning (Via PC2500E, two WD10EACS) and I'll post my progress in a few days.

Share this post


Link to post

So, I'm really interested in this topic, and I'm hoping we can revive it.  I currently have a couple of virtual machines running on a Windows box, and along with unRAID, that means I have two physical machines running 24x7.  If I can get VMware Server running on unRAID, maybe I can lower my light bill!

 

I've dabbled around with Linux a little over the past few years, but I am by no stretch of the imagination anywhere close to being anywhere near the vicinity of having any semblance of Linux proficiency, but that's not going to stop me from trying.  Over the past few days, I've done some "testing" that, hopefully, may lead to some progress in getting VMware running on unRAID.  I'm going the give the details of what I've tried.  I'll try to be very detailed (including what didn't work), so maybe those with more Linux knowledge can help us move this along.

 

ASSUMPTIONS:

I'm assuming that given 1) unRAID can now use more RAM and 2) it is possible to add a swap partition, it is actually feasible that VMware might run well on unRAID.  If anyone knows of other obstacles, please speak up.

 

 

GOAL(S):

Ideally, I'd like to create a package that could be installed via installpkg, so it could easily be loaded onto a "clean" unRAID.  If this isn't possible, then I'll try "rebuilding" unRAID to include VMware.

 

 

SETUP:

Everything that I've done so far has been as virtual machines on VMware Server 1.0.4 running on Windows (Server 2003).  I recently got rid of all my extra gear, so I only have my production machines.  This may become a roadblock when I get to a point of actually having something to test.

 

 

TRY #1:

I was a little ambitious on this one.  I started with a clean Slackware 12 install (2.6.21.5 kernel).  Referring a lot to the Custom Kernel thread (http://lime-technology.com/forum/index.php?topic=1244.0), I downloaded the 2.6.24.3 kernel to match the new unRAID 4.3-beta1.  I also extracted the kernel .config file from the beta.  My goal was to compile a 2.6.24.3 kernel using the unRAID config and build VMware server on the resulting system.  I managed to build the kernel, but I couldn't get it to boot due to a kernel panic:

 

kernel panic -not syncing : VFS : Unable to mount root fs on unknown-block(8,1)

 

In the end, I think this is due to unRAID being configured to run inside RAM and my configuration not accounting for that properly.  At this point in the testing, I didn't think this error was part of the critical path of getting VMware working, but if someone can tell me how to solve it, that would be great.  This issue may very well come up again as we get closer to a working solution. 

 

Anyway, before reaching to conclusion that this was a ramdisk issue, I thought the problem was due to my original VM being on a root ext3 partition, so I tried recompiling the kernel with ext3 enabled.  Same error.  So I thought maybe it was because my VM was built on a virtual SCSI drive and maybe I didn't have the right drivers, so I reinstalled on a virtual IDE.  Even worse, I couldn't get it passed the "BIOS data check successful" part of the start up.  So I decided to reinstall using SCSI drive and ReiserFS.  That didn't work, either.

 

 

TRY #2:

This time, I decided simply getting VMware working on any 2.6.24.3 kernel was more important that having the kernel config exactly match the unRAID config.  This time I used make oldconfig to create an initial new config file, and I built the new kernel.  This new kernel (2.6.24.3-smp) booted properly.  Next I tried to build VMware Server 1.0.5.  Everything was fine until it determined that there were no pre-compiled binaries for something called vmmon, and it errored out while trying to compile one.  I'm not sure whether it was based on this thread or the actual error messages, but I assumed that this might be a kernel header issue.  I tried installing a kernel headers package, and still got the same errors.

 

Then I decided to do what I probably should have started with.  I decided to build VMware on the stock Slackware 12 (2.6.21.5) install.  VMware installed with no problems at all on this kernel.  This REALLY made me think (erroneously) that the vmmon problem under 2.6.24.3 was a kernel headers issue.

 

 

TRY #3:

For this attempt, I discovered something new...I found this magical directory on the Slackware mirrors called slackware-current.  This has all the updated packages (including the 2.6.24.3 kernel) that are destined to become a part of the next Slackware release.  Using its upgrade instructions, I was able to upgrade the standard Slackware 12 installation to a "clean" install with the 2.6.24.3 kernel.  I thought that this would solve my "kernel headers" issue, but when I tried to install VMware, I got the same vmmon error.

 

This time, I searched the VMware forums and found references to Fedora Core 8 users having this issue under the same kernel.  One thread (http://communities.vmware.com/message/890296#890296) mentioned using a "vmware-any-any-update" patch to solve the issue.  Trying this patch, I was able to get vmmon to compile and get VMware to install (albeit with some warnings and/or errors), and I was able to bring up the initial VMware Server Console.

 

 

 

NEXT STEPS:

  • Given that I think there were some warnings during the successful install, I really need to see if VMware actually works.  I'd really like to have Slackware running on physical hardware to test this.  I don't think having a virtual machine running a virtual machine will be the best test setup.  At the very least, I'll still have to redo everything because my current VMs only have 8GB hard drives!
  • For this install, I used the default VMware installation directories.  All the "How to Build a Slackware Package" tutorials that I see talk about creating an empty directory tree and redirecting the installation to that tree with the ./configure --prefix=/newdirectory directive before make and make install.  However, VMware uses its own installation script, so I don't know if it can be easily redirected.  You can specify a number of directories during the installation, so I'll need to see if those are sufficient for creating a package.  Otherwise, if anyone knows of some other method for finding all the newly installed files, I'm all ears.
  • Once I'm able to get something that "looks" like a package, the real test will be taking it to another clean 2.6.24.3 install to see if the package can be install successfully.  If that works, we could start testing on a demo unRAID box.  If it's not possible to package the installation, then I'll probably need to look at the original ramdisk issue and/or try to build a custom unRAID bzImage

 

 

I'm hoping this might spark some interest, so maybe a group of us can push this forward.  At any rate, if you have any ideas, please post them.  Hey, even if you have a convincing argument of why this is a doomed plan from the start, that would be good to know.  I could certainly use the sleep.

Share this post


Link to post

Hmmmm...

 

In my "successful" install, I used a "fixed" version 116  of that any-any patch.  I think I'm going to try version 115 as it is the latest "official" release listed on the VMware site, and I might try the plain version 116 since the fixed one might have been for some specific Fedora 8 issues.

Share this post


Link to post

I have slack 12 basic install from CD, and rebuilt the kernel w/o SMP and with a few niceties like CPUFreq support enabled, and was able to easily use it to compile a new unRAID 4.3beta3 kernel.

 

  • Downloaded source for 2.6.24.3
  • Copied .config, System.map, and drivers from the unraid initramfs (/usr/src/) into my 2.6.24.3 source tree.
  • Compiled new kernel, and repacked it into the initramfs (see script below)
  • Put the initramfs and boot image back onto the USB stick

 

Boots into unRAID fine.  Here's my build script (/dev/hda4 is the partition where I keep an uncompressed copy of the unRAID initramfs.):

 

cd /usr/src/linux-2.6.24.3
make
make modules
make modules_install
mount /dev/hda4 /mnt/ur
mount /dev/sdb1 /mnt/usb
rm /mnt/ur/lib/modules/2.6.24.3-unRAID/*
rm /mnt/ur/lib/modules/2.6.24.3-unRAID/kernel/* -r
cp /lib/modules/2.6.24.3-unRAID/* /mnt/ur/lib/modules/2.6.24.3-unRAID
cp /lib/modules/2.6.24.3-unRAID/kernel/* /mnt/ur/lib/modules/2.6.24.3-unRAID/kernel -r
cd /mnt/ur
find . | cpio -o -H newc | gzip > /mnt/usb/testfs.gz
cp /usr/src/linux-2.6.24.3/arch/i386/boot/bzImage /mnt/usb/testkern
sync
ls -la /mnt/usb
shutdown -r now

Share this post


Link to post

Thanks for the details, bubbaQ.

 

Your steps 3 & 4 show the problem with what I originally tried.  I didn't repack initramfs and I didn't make the necessary changes to account for that.  My big problem now is that I don't have a test machine to use.  I know people have gotten unRAID to run as a VM, but I'm not emotionally prepared for that challenge! ;)

Share this post


Link to post

I think somewhere in the VMware documentation it says you cannot run vmware under vmware.

Therefore I would check into that possibility first, before banging your head against the wall.

 

I have plenty of spare machines to test this out with.

In fact I'm about to build my own Tower to do this with.

However, Right now I have two on the bench I need to finish for friends before I move further with this testing.

(plus I have to get NFS going one way or another or abandon unRaid in favor of openFiler)

 

Good Job all, gives me plenty of food for thought.

This certainly looks highly feasible.

 

As for finding "new" files.

 

I was planning to write a script to do a find down the whole tree which creates an index file of

 

FILE SIZE YYYYMMDD HHSS

 

Then run the vmware install

Do another find job.

 

Then compare the two to find new or changed files.

 

From there I bet we could create a tar file to work like a packge for easier installation.

 

 

 

 

 

Share this post


Link to post

I think somewhere in the VMware documentation it says you cannot run vmware under vmware.

Therefore I would check into that possibility first, before banging your head against the wall.

Thanks for the heads up.  Yeah, running VMware under VMware probably breaks several laws of physics.

 

 

(plus I have to get NFS going one way or another or abandon unRaid in favor of openFiler)

WeeboTech, by all means PLEASE concentrate on your NFS issue.  You are far too valuable to the unRAID community to risk losing you.

 

As for finding "new" files.

 

I was planning to write a script to do a find down the whole tree which creates an index file of

 

FILE SIZE YYYYMMDD HHSS

 

Then run the vmware install

Do another find job.

 

Then compare the two to find new or changed files.

 

From there I bet we could create a tar file to work like a packge for easier installation.

This is exactly what's needed, and I'm kinda surprised that nothing like it exists yet (or maybe I just didn't search in the right places).  It's pretty much an incremental backup.  I wonder if some kind of backup software could be tricked into doing this.  I might need to revisit google (or learn some scriptin')

Share this post


Link to post

tar DOES have an incremental backup option.

Something called --listed-incremental

 

It's used internally with a program called hdup although I've never looked into the details as to what is exactly happening.

 

I'm sure I have some old code somewhere that does the perl find, log and compare.

I just have to dig it up from one of my source hard drives.

 

We'll see how ambitious I get.

 

So far I see the following items on my hope to work on list.

 

slimserver (for the gang)

rTorrent (should be just a few compiles and installs)

NFS (should just be a few compiles and installs, but there is an unknown issue as to why we don;t have it already)

vmWare (this will be a bit of work, but highly rewarding).

 

I figure if we can get vmware running then that whole torrent-flux thing becomes easier as we could have a self contained OS booted up on request.

 

Personally I want a vmware environment to run dvd rips and autogk.

 

 

 

Share this post


Link to post

Great work guys, cant wait for a more easy install method (im not that crafty with linux  ;D)

Share this post


Link to post

I have been trying to get unraid to work in a virtual machine, instead of the other way around.  There is an option in vmware server to give the virtual machine an entire disk, so I gave my machine all my unraid disks.

 

I was able to get the virtual machine to boot from the usb drive and I thought I was golden, but there

were issue with the ram disk and the /boot never mounted and therefore could not read the .conf files (network.config) for example.

Share this post


Link to post

Last night, I retried a few things just so I can start concentrating some of the efforts.  Trying to install VMware Server 1.0.5, the latest official patch would not work.  The two versions of a later unofficial patch both produced the same warnings, but both said that the vmmon module was successfully built.  I decided to scour ebay, so I should have some development hardware on which to do some real testing soon.

 

Also, a new beta of Server 2 was released yesterday.  It seemed to install successfully without any patching!  I think Server 2 is significantly different than 1.0.x, so I might need to play around with it on Windows before committing to it on Linux.

 

I'll try to see if I can make a package, and sometime when the new gear arrives, I'll see if it will really run my VMs.

 

 

 

Share this post


Link to post

Hi everyone, I stumbled upon unRAID recently while looking for a solution for an NAS. After extensive research, I found the technology innovative and promising. I even found a thread started by Tom 2 years ago and it more or less chronicles unRAID's development (I've yet to go through all the posts though). By now, I'll rate it highly for its unique and reliable file management capabilities, but in terms of other functionalities, things are still being added (e.g. I understand FTP and Rsync have only been recently added after feedback). In fact, I was thinking of running unRAID with a virtualisation software when I came to this forum on Tom's advice. And boy was I glad to find so many experts here who either have succeeded or are toying with what I want to do (e.g. email server, Hamachi, Squeezebox, VMware, etc.). At the same time, I'm finding difficulty in understanding Linux as I've always been a Windows user... sigh...

 

Ok, on VMware, I went through the thread and have a thought: though the thread title says "Installing VMware Server on unRAID Box", it appears now that we are talking about installing unRAID on VMware instead. But since the critical thing are our files, wouldn't it be more reliable if we can run it like what the thread originally intended? I mean, I don't mind if the Windows or whatever is running in the VM crashes, but I'll be damned if unRAID becomes unstable running in a VM and starts writing garbage into the disks. Ok, perhaps I'm paranoid here, but would anyone care to comment?

Share this post


Link to post
I'll be damned if unRAID becomes unstable running in a VM and starts writing garbage into the disks. Ok, perhaps I'm paranoid here, but would anyone care to comment?

 

people have gotten unRaid to run as VM under windows without issue.

There has not been any talk of instability in that environment. The caveat is that you can only support 4 IDE disks

 

The core of this thread is to get VMware running under unRaid.

 

 

Share this post


Link to post

I would think that running vmware on the unRaid server would just let you use up some of the spare horsepower.  It simplifies some of the issues with loading 3rd party windows based applications to serve media.  As already mentioned, several folks have gotten unRaid working on vmware on windows, presumably using disks that the windows box is not using.

 

Personally, I originally thought I'd try some day to build my own kernel with v4l (video for Linux) capabilities.  I want to try to use my unRaid server to eliminate a need for a second box as a DVR/video surveillance server.  I figured that 99.9% of the time I would want it recording the security cameras I would not be watching any movies.  I'd either be asleep, or away from the house.  The two uses would not be at odds over CPU cycles.  I've never gotten around to experimenting, or even setting up a development unRaid box, but some day.

 

Joe L.

Share this post


Link to post

people have gotten unRaid to run as VM under windows without issue.

There has not been any talk of instability in that environment. The caveat is that you can only support 4 IDE disks

 

The core of this thread is to get VMware running under unRaid.

 

 

 

Ok, seems like my fear is unnecessary. But what about supporting SATA disks when unRAID is in VM mode? Also, I read that Windows XP (which I'm using on my desktop) slows down with prolong use without rebooting. Isn't it a hassle then to have to reboot constantly and re-start VM? Sorry if my questions sound newbie as I'm just starting out on the NAS + VM road.

 

 

 

Personally, I originally thought I'd try some day to build my own kernel with v4l (video for Linux) capabilities.  I want to try to use my unRaid server to eliminate a need for a second box as a DVR/video surveillance server.  I figured that 99.9% of the time I would want it recording the security cameras I would not be watching any movies.  I'd either be asleep, or away from the house.  The two uses would not be at odds over CPU cycles.  I've never gotten around to experimenting, or even setting up a development unRaid box, but some day.

 

Joe L.

 

Seems like the possibility is endless. Really looking forward to seeing more uses built on top of unRAID. For me, first is to get over the lethargy of starting with Linux  ::)

Share this post


Link to post

I read that Windows XP (which I'm using on my desktop) slows down with prolong use without rebooting. Isn't it a hassle then to have to reboot constantly and re-start VM?

it shouldn't be any more of a hassle then it currently is to reboot your windows workstation today.

I.E. you only reboot the XP vmware world, not the whole unRaid server.

 

besides if you have enough ram, you can leave your windows machine up for days (weeks even) without too much of a hassle.

 

I have a large dual 3ghz xeon workstation. I use XP and W2K under it. Sometimes the XP goes for weeks without being rebooted.

My prior linux workstation was up for 450 days before I took it out of service. (and then only to shut it off because it was time to sunset my dual 3.2Ghz XEONS and upgrade to the 3ghz Woodcrests)

 

I think I reboot XP about once a month and even then it's only a few clicks to do it.

 

 

 

Share this post


Link to post

....it appears now that we are talking about installing unRAID on VMware instead. But since the critical thing are our files, wouldn't it be more reliable if we can run it like what the thread originally intended?

 

Yes there has been talk of running unRAID as a VM, but my goal is still true to the thread's title--getting VMware running as a software package on my unRAID server.  I agree with you and think that my unRAID data is far too valuable to try running unRAID itself as a virtual machine. Even though no one has reported any problems using that setup, my other concern would be whether it creates performance issues when you try to stream multiple movies from a virtual machine to the various client machines around the house.

Share this post


Link to post

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.