VMware server on ReadyNAS 4.2.11

This is an updated and extended how-to, in which I will explain how you can install VMware Server 2 on the Netgear ReadyNAS PRO / 3200 / 4200 platform:

It applies to the following versions:

  • ReadyNAS firmware version Raidiator 4.2.11
  • VMware Server v2.0.2-203138.i386

First of all, let’s prepare:
1. Upgrade your ReadyNAS to the current firmware release using the Frontview control panel -> System -> Update -> Remote -> Reboot.
2. Decide on where you want to put your virtual machines, I decided to put them on a share of their own which I created. I called it “vm”. Create this share via Frontview. This makes sense in so far as VMware will create the files for virtual machines with “root” privileges, meaning only the root user will have access to these files via SMB or other access methods unless you reset share privileges via Frontview.
3. Decide where you want to put the ReadyNAS source code and VMware installation packages. I chose the already existing backup-share.
4. Install the EnableRootSSH addon to gain access to the ReadyNAS via SSH. You can download this add-on here: http://www.readynas.com/download/addons/x86/4.2/EnableRootSSH_1.0-x86.bin and install it via Frontview in System -> Update -> Local. Reboot.
5. You will need an ssh client such as putty.
6. You will need to register an account on vmware.com to download the free VMware Server. Get the i386 package, not the 64-bit package. This guide was compiled against version 2.0.2-203138.i386

Now let’s get started:
With putty, connect to your ReadyNAS and login as the “root” user. The password should be the same as your FrontView admin-password. You are now at the command prompt for your NAS.

#Note the following line:
Linux YOURNASNAME #1 SMP Wed May 19 19:36:51 PDT 2010 x86_64 GNU/Linux
#If you did all the earlier preparation right, your NAS will be running the x86_64 Linux Kernel in version Let’s continue some preparations:

apt-get update && apt-get install build-essential

#This will install the necessary Linux components for compiling your kernel and VMware server. There will be a prompt if you really want to install these packages, as well as a prompt that a few packages could not be authenticated. Answer both with YES.

#Then let’s change into our work directory:
cd /c/backup
#We are now on the backup share. All shares you create via Frontview will be created within the directory /c/. Avoid using other Linux paths as they probably will be on the system partition of the NAS, which is only 5GB. It is not a good idea to have that run out of space.

#Then we will download the ReadyNAS GPL Package for Raidiator 4.2.11:
wget -q http://www.readynas.com/download/GPL/RNDP6xxx_4.2.11_WW_src.zip
#Let’s unpack it:
unzip -q RNDP6xxx_4.2.7_WW_src.zip -d ./GPL
#Now we will have to compile a new kernel to get the modules we need to run VMware Server.
cd GPL/linux-
make ARCH=x86_64 oldconfig && make ARCH=x86_64
#This is going to take a while. You can go get another cup of coffee.

#We will need to tell Linux that we compiled a new kernel and its associated modules, as well as where to find it. For this we make a symbolic link:

ln -s /c/backup/GPL/linux- /usr/src/linux

#There has been a slight change in symlinks with kernel 2.6.32 onward which requires us to create two additional symlinks. Without these, VMware setup won’t work later on:

cd /usr/src/linux/include/linux
ln -s ../generated/utsrelease.h
ln -s ../generated/autoconf.h .

Now on to install the VMware server. First let’s copy the downloaded archive for the VMware server on the backup share.
Back in the ssh session, we’re going to unpack it, but first let’s change back into the backup share directory:

cd /c/backup
#and let’s unpack it:
gzip -d VMware-server-2.0.2-203138.i386.tar.gz
tar –xvf VMware-server-2.0.2-203138.i386.tar.gz

#Now we need to install some patches for VMware server to make it compatible with our kernel version:
wget http://risesecurity.org/~rcvalle/VMware-server-2.0.2-203138-update-2.patch

The following is taken from Ramon de Carvalho Valle at rise security (http://risesecurity.org/2010/04/02/vmware-server-2-0-2-update-patch-2/). Thanks to him for creating the patch.

#Extract VMware Server modules:
# Change working directory to vmware-server-distrib/lib/modules/source/
$ tar -xf vmci.tar
tar -xf vmmon.tar
tar -xf vmnet.tar
tar -xf vsock.tar

#Apply the patch:

#Change working directory to vmware-server-distrib/
patch -p1 < ../VMware-server-2.0.2-203138-update-2.patch

#Archive VMware Server modules again:

#Change working directory to vmware-server-distrib/lib/modules/source/
$ rm -f vmci.tar
rm -f vmmon.tar
rm -f vmnet.tar
rm -f vsock.tar
tar -cf vmci.tar vmci-only/
tar -cf vmmon.tar vmmon-only/
tar -cf vmnet.tar vmnet-only/
tar -cf vsock.tar vsock-only/

#And now let’s go install the VMware server:

cd vmware-server-distrib

#You will get several prompts now which you can all accept at face value except for one: You *must* change the default value for where to put the storage for virtual machines to a path within the /c/ directory. For this I prepared my “vm” share. Hence, I changed the path to “/c/vm/”. This is to make sure your virtual machines won’t kill the system volume of the ReadyNAS.

End notes and limitations:
Thanks to chirpa at the ReadyNAS forum for helping with my questions about the kernel and GPL package and for supplying me with early access to the GPL resources.

Known limitations:
– The VMware server webinterface seems to have its issues on browsers other than Internet Explorer. I recommend you install the VMware Infrastructure Client to access the VMware host and its virtualised guests.
– Sometimes if you manually restart the VMware services by running “/etc/init.d/vmware restart”, the virtual network service does not want to properly restart. This requires re-running the configuration script “/usr/bin/vmware-config.pl”.


2 thoughts on “VMware server on ReadyNAS 4.2.11”

  1. Jakkes says:


    I tried to install VMware on a readynas pro 4.2.13.
    Somehow it failed…..
    The last entry’s:
    arch/x86/boot/compressed/vmlinux.bin.lzma: No such file or directory
    AS arch/x86/boot/compressed/piggy.o
    gcc: arch/x86/boot/compressed/piggy.S: No such file or directory
    gcc: no input files
    make[2]: *** [arch/x86/boot/compressed/piggy.o] Error 1
    make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2
    make: *** [bzImage] Error 2

    When i run the command again it gives:
    scripts/kconfig/conf -o arch/x86/Kconfig
    # configuration written to .config
    scripts/kconfig/conf -s arch/x86/Kconfig
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    CALL scripts/checksyscalls.sh
    CHK include/generated/compile.h
    LZMA arch/x86/boot/compressed/vmlinux.bin.lzma
    /bin/sh: lzma: command not found
    MKPIGGY arch/x86/boot/compressed/piggy.S
    arch/x86/boot/compressed/vmlinux.bin.lzma: No such file or directory
    AS arch/x86/boot/compressed/piggy.o
    gcc: arch/x86/boot/compressed/piggy.S: No such file or directory
    gcc: no input files
    make[2]: *** [arch/x86/boot/compressed/piggy.o] Error 1
    make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2

    Any change that i can succesfull install VMware?

  2. Tijl says:

    Just install lzma:

    apt-get install lzma
    run the make command again

Comments are closed.

Related Post

Case of the missing Outlook SSOCase of the missing Outlook SSO

If you’re in IT you certainly know this scenario: There’s something in your environment you just can’t get to work the way you want, you’ve spent countless hours reading documentation, googled community forums and fiddled endlessly with settings in order to make it work. It’s not a showstopper and there is a workaround or even just a single prompt that only shows up every once in a while so you can’t justify powering through the issue until it is done, but you return to it every so often. Then it happens, you’re on a completely unrelated thing and reading through docs or configuring settings and then you stumble upon it, a small textbox that explains your issue and how to fix it.

This just happened to me. I’ve been trying to get SSO (Single Sign On) to work for our corporate PCs but haven’t had any luck whatsoever in years of trying. No matter what I did, we always still got prompted to enter credentials for Outlook and Skype for Business. Today I learned why:

Like many organizations, we’re using Office 365. We also use AzureAD Connect to sync our on-premises Active Directory to the Microsoft Cloud and have set it to enable SSO for our users – which works really well for everything but Outlook. The issue of logging in to Skype for Business went away when we migrated to the newer Teams client but Outlook remained a thorn in my side – one I just couldn’t get myself to figure out.
Lately, we have been trying to roll out Microsoft’s Security Defaults for our AzureAD environment and activating Multi-Factor Authentication (MFA) for all our users. The issue I ran into here was that when I enabled the AzureAD Security Defaults, none of my users were able to log in to Outlook on their PCs anymore. Searching through docs for this put me on the right track: For some reason, our Outlook installs were using Legacy Authentication. Some Google-Fu put me on to registry keys I was supposed to add to Enable modern authentication in Outlook – to no avail.
Careful reading of the docs however put me on to the source of my pain:

As we’ve been using Office 365 for a long time, this was us! Mind you, all documentation available on the web is (of course…) written agains the current defaults, which have modern authentication turned on.
Quickly jumping into Powershell solves this:

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

Set-OrganizationConfig -OAuth2ClientProfileEnabled $true

Remove-PSSession $Session

That’s it. Once I set this, Single Sign On to Outlook just worked. MFA just worked. And I have one less thing on the to-do list that I’ve been visiting over and over for years.


Netgear ReadyNAS PRONetgear ReadyNAS PRO

For the last couple of months, I have been part of the betatest for the Netgear ReadyNAS PRO Business Edition. As the product has been released, I can now tell my story.

First of all, some history:

I’ve been a user of the PRO’s predecessor, the ReadyNAS NV+ for almost 3 years now. Its primary use has been that of a file and media streaming server. I have also had another NV+ in use as part of my employers server infrastructure, where it also works as a file server for archive and storage.
There were a couple of things that made me choose the ReadyNAS NV+ over its competition, but mostly I was convinced by reviews such as this, along with user feedback in forums and comments. For the most part, I can truthfully say I have been very happy with the NV+, as it has been rock-solid. There were no crashes or problems and configuration – at least for my usage scenario – has been dead simple.
There was only one minor gripe: Once you have a couple TBs of data, or your job includes moving hundreds of gigs of data on a regular basis, network throughput really comes to the foreground. With the NV+, under most if not all real-world applications, throughput maxed out around 30MB/s. This might not sound all that bad, considering most people still use 100Mbit networking, which tops out at around 12MB/s – but Gigabit Ethernet can move 120+MB/s and I’m an impatient fellow.

Along comes the ReadyNAS PRO, which is in most user regards an evolutionary step over the NV+:

  • 6 hot-plug drive bays instead of 4
  • two Gigabit Ethernet ports (with support for teaming and failover) instead of one
  • x86 architecture instead of SPARC
  • support for RAID6
  • support for X-RAID2 (more on that later)

Everything else, from a user perspective is pretty much the same:

  • The ReadyNAS Pro uses the same interface (FrontView)
  • it supports the same file protocols (SMB/CIFS, AFP, NFS, FTP(S), HTTP(S))
  • it supports the same streaming media solutions (UPnP AV, iTunes, SqueezeCenter, Home Media Streaming Server)
  • DHCP, WINS, Printer Sharing
  • Active Directory support
  • UPS support

So why choose the PRO over its much cheaper predecessor, the NV+? One word: Performance!

The ReadyNAS PRO is by far the fastest networking device I’ve seen yet. To be honest, I have no idea how fast it really is, and from my experience during the beta phase, no-one else really knows either.
Why is that, you ask? Well, it turns out that no-one within the group of testers had a client available that could serve data at faster than gigabit speeds. I was in fact planning on using IEEE 802.3ad to hook up a much faster server as well as the PRO to my network – but incompatibilities with my network hardware kept me from testing it. I’m still trying to track down some Cisco hardware to have another go at this but for the time being, I will refer you to the official testing data from Netgear, which I can personally tell you to be true.

In use, the limiting factor for me has been my client computer (a ThinkPad T61 with a 200GB 7.200rpm Hitachi HDD), where I’m regularly seeing transfer rates between 50-60MB/s – a huge improvement over the NV+ which gave me 30MB/s only on a good day (I had some issues with data fragmentation as the NV+ was nearly constantly filled to max capacity…). On a side note: If you use Vista, *don’t* have any kind of media files or players open because that just murders network throughput (more on this issue here).

So what else is there to say:
The one factor that lead me to the ReadyNAS line of products was its proprietary X-RAID technology. Let me explain about this for a short while:
RAID stands for Redundant Array of Independent Disks. This means that a disk failure will not lead to you losing data. There are basically three types of RAID terminology you need to know about:

  • RAID 1: Mirroring – best for two disks, you loose 50% of your gross capacity
  • RAID 5: Striping – starting with three disks, parity information is spread so that any one disk failure will not lead to data loss
  • RAID 6: Striping with “hot spare” – starting with four disks, parity information is spread so that and *two* disk failure will not lead to data loss

There are also other kinds of RAID you can use like RAID 10, 50 or 60 but I won’t go into those as they don’t really apply for a NAS box. Back to the topic though: Typically, once you’ve decided on one version of RAID for your setup, you cannot go back. You cannot upgrade to larger disks, you cannot change much of anything whatsoever. That is, unless you have X-RAID:
The ReadyNAS has this trick up its sleeve which allows you to go from one disk to two (when it sets up a mirrored RAID 1 volume), then three (converting the RAID 0 to a RAID 5), up to 4 (with the PRO 6) disks. During the latter stages, all the NAS does is to expand the volume and restripe the parity information so it is evenly spread among disks. Netgear calls this horizontal expansion.
Once you hit the maximum amount of disks you could put into your box, there was only one way to upgrade to even higher capacity: Swap out each disk one-by-one for a larger capacity model, wait for resync, and once all the disks have been swapped, wait for the volume expansion to take place. With the ReadyNAS PRO, X-RAID2 is adding a new trick: vertical expansion. The moment your drive swaping allows for a redundant setup of two larger capacity disks, the NAS will expand the volume to include whatever new diskspace is available in a redundant setup. What’s that mean? Here’s an example:

Say you have 4 500GB hdds already in place and you need even more space, adding two 1TB drives would usually have lead to an additional 1TB of space – because in a RAID5 volume, all disks can only as much to the volume as the smallest disk in the array. With X-RAID2, the ReadyNAS PRO detects that there are two drives with an unused capacity of 500GB each, which it then uses to extend the volume by another 500GB, which are in a mirrored setting. Neat.

Then again, who cares? In reality, most people will probably populate the NAS with all the disks they plan to put in it from the start and never think about it again until something breaks or they run out of space. Only then does this feature become important. What’s it good for then? Peace of mind!

I have pretty much summed up most I had to say, except for one thing: It’s quiet. Really quiet. Netgear did a great job designing the hardware for this thing as all my disks have been at below 40°C and I’ve had this thing on my desk without the fans feeling annoying.

To sum it up: If you’re looking for a fast, stable and userfriendly device to store your data, the ReadyNAS PRO will be the best choice currently on the market. It may be more expensive than its competition – but ease of use and maturity do count for something, most certainly in a business environment. Finally, a five year warranty along with the stellar support from the ReadyNAS team over at www.readynas.com/forum should put your mind at ease… it’s certainly convinced me.

-Jan Olbrecht

My acknowledgements and thanks go to the ReadyNAS PRO beta tester group and the Jedi Council over at the ReadyNAS Forum.

Issues preparing for upgrade to SCVMM 1801Issues preparing for upgrade to SCVMM 1801

I just ran into a small hickup upgrading my System Center Virtual Machine Manger 2016 to the new version 1801. I wasn’t able to find any documented cases of anyone running into this so here we go:

The upgrade to SCVMM 1801 actually requires uninstalling SCVMM 2016. This failed on my installation just at the point where I was clicking on the “Remove features” button in the setup dialog.

In C:\ProgramData\VMMLogs\SetupWizard.log I found the following entry:

11:52:28:Uncaught Exception: Threw Exception.Type: Microsoft.VirtualManager.Utils.CarmineException, Exception.Message: Unable to detect cluster configuration of the node.
Ensure that the user has permissions to detect cluster node configuration.
11:52:28:StackTrace: at Microsoft.VirtualManager.Setup.ClusterServiceHelper.get_IsAClusterNode()
 at Microsoft.VirtualManager.Setup.AddRemoveComponentsPage.EnterPage()
 at Microsoft.VirtualManager.SetupFramework.PageNavigation.WaitEnterSet(Page page)
 at Microsoft.VirtualManager.Setup.AddRemovePage.RemoveComponent_Click(Object sender, RoutedEventArgs e)
 at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
 at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
 at System.Windows.Controls.Primitives.ButtonBase.OnClick()
 at System.Windows.Controls.Button.OnClick()
 at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
 at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
 at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
 at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
 at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
 at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
 at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
 at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
 at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
 at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
 at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
 at System.Windows.Input.InputManager.ProcessStagingArea()
 at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
 at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
 at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
 at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
 at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
 at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
 at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
 at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
 at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
 at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
 at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
 at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
 at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
 at System.Windows.Application.RunDispatcher(Object ignore)
 at System.Windows.Application.RunInternal(Window window)
 at Microsoft.VirtualManager.Setup.Program.UiRun()
 at Microsoft.VirtualManager.Setup.Program.Main()

So what this means is that the setup is unsuccessfully trying to determine whether SCVMM is installed in a clustered setup. Which mine is not. Has never been.

The solution is to actually *install* the Windows Feature Failover Clustering. This way the check can run and setup will continue. There is no need to actually configure clustering.

Warning: Invalid argument supplied for foreach() in /homepages/27/d42884237/htdocs/wp-content/plugins/kebo-twitter-feed/inc/get_tweets.php on line 257