DroboFS – Improved Read Speeds for the Mac

One of the biggest disappointments with Drobo FS was slow reads on the mac.

After much trial and error, I finally discovered that mounting the DroboFS using the NFS protocol provides access at up to 20-30MB/s on a gigabit network i.e. equivalent to the read speeds possible from a Windows machine.

As a comparison, I tried to copy a 3Gb file using the apple file protocol (afp) and my macbook reported it would take 7 hours. After mounting on nfs, it took 11 minutes.

Even under NFS there can be lags in read times especially when copying a lot of small files. However, after what can be a few minutes delay with ridiculously poor performance, the operation zips through to completion at 20-30Mb/s.

I’ve successfully streamed and seeked 3 videos at once using the VLC player. When using afp, you’d be lucky to get one video streaming and seeking correctly.

As far as I can tell so far, mounting the device using AppleScript’s “mount volume” command appears to give the same results as dropping into a terminal to use the “mount” unix command. However, I’m not 100% certain of that and will definitely go for the unix command when I need zippy access as I’m certain that gives good performance.

Here’s an example mount command (remove line break):

mount -w -t nfs 192.168.0.194:/mnt/DroboFS/Shares/Public
/mnt/drobo/public

This mounts the Public share for read/write using nfs at the location /mnt/drobo/public. The target location has to exist as a folder prior to running the command.

In order to access DroboFS via NFS, you also need UNFSD installed and correctly configured as a DroboApp. This in itself is beyond the reach of an average user. Luckily I have a scrap of Unix experience and a degree in computer science.

Once you’ve got UNFSD installed on the Drobo, you’ll need to edit the exports file. Here’s one I made earlier:

/mnt/DroboFS/Shares/Public 192.168.0.0/24(rw,no_root_squash)
/mnt/DroboFS/Shares/media 192.168.0.0/24(rw,no_root_squash)

This makes two drobo shares (Public and media) available to any clients accessing from IP addresses 192.168.0.*. This is the address range of my local network but yours may differ. The default unfsd configuration uses 10.*.*.* so it probably won’t work for many home users without config.

Pretty sure I also changed the command in the service.sh file that starts the unfsd service to force single user mode (-s option – see here) but I can’t remember now. Here’s the command from my file:

${prog_dir}/unfsd -s -e ${exportsfile} -i ${pidfile} >> ${logfile} 2>&1

Unless you’ve mastered SSH on the Drobo, you’ll need to reboot at this point to get unfsd started.

I think that’s the main steps. If you’re reading this because you’re in the same boat I was in a few weeks ago then I hope this works for you and good luck!

Advertisements
Comments
24 Responses to “DroboFS – Improved Read Speeds for the Mac”
  1. Hey,

    I tried unfsd on my Drobo FS just out of curiosity to compare it with afp performance. I found unfs to be slower than the AFP. With AFP on my iMac and Macbook Pro I get speeds between 25-30MB/s, with NFS it is between 15-20MB/s.

    • obadonke says:

      Hi Andreas, funny how our experiences are so different with similar hardware eh?
      Even with the firmware update to 1.0.5 and a dashboard update, the AFP performance is cripplingly slow for me when READING files. WRITE performance with AFP is the 25-30MB/s you’re getting. So, I’ve taken to using UNFS for readonly access to the DroboFS and do all my writes via AFP. A bit of a pain but workable for my needs.

  2. Ted says:

    I wish I had found your blog before buying my DroboFS in late July. I’ve been having trouble properly setting up unfsd, and since neither the forums nor tech support are answering me I hope you don’t mind if I post my experience here:

    My exports looks like this:

    /mnt/DroboFS/Shares/Movies 192.168.2.0/24(rw)

    Where “Movies” is a share defined in the dashboard with rw access for everyone. When I mount the share using Directory Utility in 10.5.8, I can see any directories and top-level files copied from my Windows machine, but I do not have access to write or navigate to lower directory levels. So far the only solution I’ve found is to chmod -R 777 * in the Movies directory on the Drobo. I recognize that this is a less-than-ideal situation, especially when I save something from the Mac and my Linux computer doesn’t see it until I once again chmod 777 the new file(s). Very annoying. Would you mind sharing your exports and any service.sh changes you might have made?

    Thanks!

    • obadonke says:

      Hi Ted,

      All the changes I made are in this post. I think?

      Note the “no_root_squash” in my exports file that isn’t in yours and the “-s” in the service.sh file. If you look in the standard service.sh file, you will see a line similar to the one posted in this post.

      The principle of both changes I made are to try force the remote user to appear as root to the DroboFS so that you don’t need to chmod any directories on the drobo.

      If I’m not making myself clear, please get in touch and I’ll try again when I next get to the site.

      Good luck!

  3. Ted says:

    That was the trick, thanks! I tried all sorts of options in the exports file. I even settled on (rw,all_squash,anonuid=0,anongid=0) to force all connections to be the root user, but when I installed Snow Leopard (finally) on my wife’s iMac the previously working NFS shares became read only again. Adding -s in the unfsd command line seems to have done the trick. My wife’s iMac thinks all the files belong to her account; likewise with my two MythTV boxen.

    Thanks again!

  4. Koofka says:

    Hey just scanned through your interesting post as I have been in the same performance boat re: AFP and the DroboFS. One spot I have found the performance to nearly be intolerable has been listing directory structures, particularly those with large numbers of folders / items. Happened to try accessing the Drobo when I was BootCamped to Windows 7 and noticed most of this lag immediately disappeared. Made the quick assumption that SMB was better supported then AFP and over the weekend remapped my several macs to use the same with at least better results accessing and listing directories trees.

    Did you find NFS superior to the MAC via SMB access?

    Best & thanks,

    -Koof

    • obadonke says:

      Hi Koof,

      Yes, for me SMB didn’t improve the situation. However, I was very new to the mac back then and can’t be 100% sure I set it up correctly. I might have another go as it would be nice simple solution.

      As far as UNFSd goes, I read a few days ago that it doesn’t support file locking. I subsequently changed the mount command to include the “nolock” option and haven’t had any errors writing to the Drobo using UNFS since then. so far so good!

      • obadonke says:

        Quick update: did another test with SMB. 186Mb file was estimated to take 5 minutes to copy using SMB (I couldn’t bring myself to wait that long). NFS completed the transfer in under a minute. So yes, NFS is faster than SMB for my purposes.

    • Koofka says:

      Appreciate you testing that out. Going to confirm I am seeing about the same throughput and then will give NFS a shot. Wish I had found your thread before I copied 5TB to that damn thing 🙂

      Thanks again.

  5. nfs_manup says:

    Anyone can help me out here, trying to nfs mount to my droboFS pro

    client side – ubuntu 10.10
    server side – droboFS pro nas

    installed unfsd on drobo
    installed nfs-common, portmap, nfs-kernel-server on ubuntu 10.10

    Currning Running on Drobo with a ps grep unfsd command – portmap and unfsd
    Currently running on Ubuntu with ps -ef | grep nfs – /usr/sbin/unfsd -u -n 2049 -m 2049
    [nfsiod]

    export file on drobofs – /mnt/DroboFS1/Shares/test XX.XX.XX.XX/24(rw,no_root_squash)

    Getting this error when trying to nfs mount – mount -t nfs XX.XX.XX.XX:/mnt/DroboFS1/Shares/test /mnt/test (XX is the ip of the droboFs)
    mount.nfs: access denied by server while mounting XX.XX.XX.XX:/mnt/DroboFS1/Shares/test (XX is the ip of the drobo)

    • obadonke says:

      Hi nfs_manup. Hope someone can help you. I’m not a linux guru. The error sounds like the ones I get when the share isn’t exported correctly. Did you try the -s in the service.sh file?

      • nfs_manup says:

        hi obadonke,

        thanks for the reply. i have no idea about this service.sh file. where is it at the client side or server side? I do a find on service on the drobo but nothing shows up, so i am not sure at this point.

  6. nfs_manup says:

    Hi Obadonke,

    I found the service.sh file in the droboFS box. ran it with the -s and restart stopped and restart nothing worked. Anyone please help!

  7. Solenbaum says:

    So I just discovered this blog myself and wish I had before purchasing a DroboFS unit myself. I’ve run into a problem with my unit and was wondering if anybody out there has any suggestions for me. DR tech support is not very, um, supportive…

    I had my unit for a little under a year when it failed. All the bay lights went yellow, even when all the drives were ejected. DR sent me a replacement unit and I switched the disk set over and started up the new unit. That’s when I discovered the new unit had firmware V.1.0.5 on it, so I updated it to V1.1.2 (my old unit had V1.1.1 but that was unavailable).

    Upon starting up this time, Dashboard saw that I had 2.7tb of data on the drobo, all good right? Wrong. The new unit forgot or is simply not showing all the shares/volumes I had created. Without those shares, i am unable to access my data. It did have the default “public” and “droboApps” shares, and the droboApps share still had all my previous apps in it.

    I’m wondering if anybody can suggest a way for me to tunnel into the drobo so that I can access files, and maybe copy them off the unit itself?

    Thanks!

    • obadonke says:

      Hi Solenbaum,

      logging into the drobo via ssh using an admin account may be your best bet. DroboFS stores the shared files in /mnt/DroboFS/Shares/ . If you’re lucky there are some extra folders in this location that are not being displayed in the client. Alternatively if Drobo auto deleted them, maybe you’ll find them in /mt/DroboFS/System/DNAS/deleted_shares (on my drobo this folder is empty – I just happened across it when poking around just now).

      I’m not sure how to run an ssh session on windows. from a mac you can drop into the console window and type “ssh ”

      hope you find what you’re looking for.

      • Solenbaum says:

        Thanks so much Obadonke! I was able to connect to the Shares Volume through SSH. I have a mac too so it was pretty easy. As you can see bellow, my shares are still there and I can even access them. However, as soon as I try to navigate deeper into a share I start getting permission issues. I also tried copying entire directories, but it would just copy the folders but none of the content. Any thoughts as to what might cause this?

        $ cd /mnt/DroboFS/Shares
        $ ls
        DroboApps Judd Monica Reciprocity
        EVENT Media Public public
        $ cd Reciprocity
        $ ls
        Documents LR Catalog Production Public Temporary Items
        $ cd Documents
        -sh: cd: can’t cd to Documents
        $ find . -name “Documents*”
        find: ./LR Catalog: Permission denied
        ./Documents
        find: ./Documents: Permission denied
        find: ./Production: Permission denied
        find: ./.TemporaryItems: Permission denied
        $

        This was the error message I got when trying to copy entire directories. I was attempting to copy a “hidden” share (reciprocity) to the not hidden Public share.

        $ cp -r Reciprocity Public
        cp: can’t open ‘Reciprocity/.AppleDB/__db.006’: Permission denied
        cp: can’t open ‘Reciprocity/.AppleDB/__db.001’: Permission denied
        cp: can’t open ‘Reciprocity/.AppleDB/__db.003’: Permission denied
        cp: can’t open ‘Reciprocity/.AppleDB/__db.002’: Permission denied
        cp: can’t open ‘Reciprocity/.AppleDB/__db.005’: Permission denied
        cp: can’t open ‘Reciprocity/.AppleDB/__db.004’: Permission denied
        cp: can’t open ‘Reciprocity/.AppleDB/log.0000000001’: Permission denied

        Thanks for your help!

  8. obadonke says:

    Hi Solenbaum,

    OK! Looking promising. I had an idea this morning: log in as root! Luckily the password is… root 🙂

    So, the command you want is “ssh root@drobo-ip-address”
    when prompted for password type “root”

    Obviously take great care but when logged in as root I was able to add a new directory to the Shares folder, having been unable to do so logged in as Admin.

    Here’s a few things you could try:
    a) chmod everything in place and see if the share reappears in the dashboard. the commands when logged in as root seem different . one chmod format that works is “chmod -R a+w,a+r,a+x” (gives everyone read, write and execute rights).
    b) if you decide to just copy the files, you’ll probably still need to chmod them to gain access as an ordinary user.

    Please beware I’m not a linux guru by any means so this may not be the best solution e.g. (i) there may be a way to modify files on the drobo to make your shares reappear with less changes or (ii) the chmod instruction I’ve just given may be a sledgehammer to crack a nut.

    • Solenbaum says:

      Thanks so much for your help! I am able to access all the directories when logged in as root. Even better, is that I can copy files to my local computer using a tar command in ssh (more on that bellow). The nice thing is I didn’t need to change permissions using chmod to copy and access the files after.

      Now, there is a chance that I could experiment with chmod and try to get all of my shares to appear in the drobo again. I’ll play around with this after I safely back up all of my data 🙂

      This is the tar command I found to be very useful and thought I would share it here:
      ssh user@machine-where-precious-data-is “tar czpf – /some/important/data” | tar xzpf – -C /new/root/directory

      and for full disclosure this is where I found this nifty trick “http://meinit.nl/using-tar-and-ssh-to-efficiently-copy-files-preserving-permissions”

      As far as Data Robotics goes, it’s been two weeks now and they still have yet to offer any sort of solution, or even a test of any kind. In fact i’ve called them twice today and the tier 3 tech has yet to call me back. I would have to advise people to avoid Drobo like it’s the next plague. This is on top of poor performance and transfer speeds as well, which I was willing to accept as a trade of for security and ease of use…

      Anyway, thanks again for the help. I’ll be sure to post again once I’ve backed everything up and attempt a chmod to repair the shares on the Drobo. If anything maybe it can help the next Drobo user who experiences this.

      Cheers!

  9. Jerry says:

    I have the DroboFS and performance is killing us on MAC’s. Unfortunatley, I have no UNIX experience. I also have problems with connections dropping. Anyone else having this problem?

  10. bcarney says:

    Installed unfsd and edited the appropriate files. After using the command:

    mount -w -t nfs 169.254.213.234:/mnt/DroboFS/Shares/Public /mnt/drobo/public

    I get an error message:

    mount: realpath /mnt: No such file or directory

    Any idea what is going on?

    • obadonke says:

      hi bill. most likely it’s an honest error message i.e. the directory /mnt really doesn’t exist… sorry to be so obtuse. can’t think of anything else.

  11. Manuel says:

    Hey folks, I’ve been having the same problems you had, when I’ve contacted DR customers support and asked them, they pointed me to have a check on my network infrastructure. It seems there are some switch/router chips that are not working well with drobos (maybe with other nases too). Mine in particular were a dlink green ethernet switch and a dlink dir655 router.

    I’ve changed the switch with a gigabit netgear and flashed a beta firmware on my router.

    Now I have ˜20mb write and ˜30mb read. Try a direct connection with your mac ethernet adapter (you’ll need a crossed cable).

    You can read my experience here http://www.amazon.de/Drobo-DRDS2A31-NAS-System-Festplatten-5-Bay/dp/B003H05I8E/ref=cm_cr-mr-img

    Anyway … the drobo isn’t bad, but tbh it’s not worth the money.

    Hope it helps you

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: