Setting Up a Network Attached Storage System (NAS)

Introduction

I’ve been looking for a way that allows me to access my Adobe Photoshop Lightroom 3 catalogs and pictures via my network whether at home or away.

Lightroom is not very friendly in this regard. It won’t allow sharing of catalogs across a network because it uses SQLite. If you could access your catalogs across the network and two (or more users) tried to open the same catalog there would be all kinds of problems.

One solution that has been suggested on the internet is using DropBox (or similar “cloud” based file-sharing services to share the catalog. This solution has two potential problems: 1) storage unit size / throughput issues and 2) again, concurrency and collisions if two or more users attempt to access the catalog at the same time.

The file-sharing service I use (TeamDrive) has a 5 GB storage limitation unless you pay more(most of my catalogs would push me well over the limit). Now that I’ve upgraded my ISP to cable, my upload speed has improved almost 1000%, so throughput probably may not be too much of a problem.

Concurrency would be an issue if I had another person trying to access a catalog at the same I wanted to use it. We’d each make changes and neither of us would be aware of the changes the other was making. And when the catalog was closed, the last one to close it would get his changes saved over the other’s. Not good. However, since I’m a sole proprietor, it does not effect me now.

The storage size limit, though, impacts me, so that is why I’ve opted for a NAS.

Equipment

I did a fair amount of research and chose the Synology Diskstation DS1511+ for a reliable, albeit, expensive solution. It’s a 5-bay, scalable box, i.e., you can add at least five more bays via a second box called the DX510. I opted to fill each bay with a Western Digital 2 TB Green hard drive and set them up as one Synology Hybrid RAID (SHR). Since all the drives are the same size, using SHR was probably not needed, but if I decide to expand the NAS either with bigger drives or with the DX510, I figured SHR would make that transition easier.

So, after the RAID volume is setup via SHR (with one disk redundancy) I have a total of about 7.15 TB of storage. Details…

I use Gigabit routers and switches to maximize throughput to and from my main workstation and the Diskstation.

However, the Synology NAS operating system does not natively support a “cloud” emulating service like TeamDrive Personal Server

Server Software

TeamDrive provides software application called the Personal Server (TDPS). You can run it on a Windows, Mac OS X, or Linux box. I didn’t want to have it running on my main Mac desktop workstation, so that is one reason why I opted for a NAS. The Diskstation is just a Linux box. However, installing the TDPS was far from straightforward.

First, a command-line interpreter needs to be enabled on the Diskstation. Pretty easy using the embedded DSM software. Once enabled you can access the DiskStations’s shell commands (based on BusyBox) via telnet or SSH. Details…

Despite the fact that TeamDrive provides an Intel distribution of the TDPS, it relies on 32-bit libraries. The Diskstation’s Linux OS is 64-bit without the necessary supporting 32-bit libraries, so those need to be downloaded and installed. TeamDrive has a general NAS solution, but, it doesn’t work for the Synology DiskStations in general, since the OS doesn’t support apt-get to download and install the libraries.

The Synology OS uses ipkg to download and install packages compiled and built for the Diskstation Linux OS, but that has to be enabled, too, via a bootstrap. Details…

Unfortunately, I couldn’t find the libraries to download and install…Email to TeamDrive support to see if they could direct me to the right package…They don’t know how to do this and were very little help. Possibly since they are German company, our communications were not always very clear.

But hey, TeamDrive clients also support (kind of) WebDAV servers and the DiskStation can be a WebDAV server. Eureka!!! But that, too, didn’t seem to work.

Off to do more research on the web…

SparkleShare to the rescue (I was hoping). This is an open source project that allows you to create shareable/auto-updating folders on your own server (like Synology DiskStations) with similar features as TeamDrive. I like open source software.

However, SparkleShare is still in early developmental stages and shows promise, but from my testing it was too unreliable and immature in its development to suit my needs. The another problem right now is the complexity of setting up the software on the server as well as on the client side.

Linux chroot command

My search came full circle back to trying the TeamDrive Personal Server, but this time I came across the Linux ‘chroot’ command. It allow you to “host” another OS within your running OS. It’s almost like a virtual machine.

It was a long process creating the ‘chroot’ 32-bit environment, but it is working and the Personal Server is storing all my catalogs on the NAS with copies on each of the clients.

Client Software

Other than obviously having Lightroom installed, the only other software required is the TeamDrive client. With the client you set up “Spaces” on your local system where your data are stored.

For my Lightroom catalogs, I’ve set up a Space named “GN Photo” with a sub-folder “Catalogs”. The client creates a folder on your local hard drive and the server stores the hosted files within its own repository system. Each catalog that is placed in the local “Space” gets copied to the server and each client that has been invited to share that “Space” gets a copy of the catalog.

The concurrency issue is still present, but the throughput to/from the NAS is much faster than the “cloud” based TeamDrive server. I’m sure I will end up hitting the free storage ceiling that the Personal Server supports (10 GB) and will have to pay the “rent” to increase my storage allowance, but I think that will be just another business expense that will be worth having.

Remote Access

Now, I have to figure out how to access the server from the Internet, i.e., through my router’s firewall. With access to my server via an internet address from www.dyndns.com I should be able to keep my catalogs up to date even when away from my home office.

I’ve set my router to open the TeamDrive server’s port on the NAS and setup a URL via DynDNS since my ISP dynamically allocates my IP address.

This setup allows the client software to contact my NAS when away from my home office/studio. The only issue then is that when at home the client is still accessing the server via a loopback from my home network to the DynDNS nameserver and back through my ISP. The loopback time seems short, but still noticable when compared with just accessing it via the server’s local IP address.

I’m currently researching setting up my own nameserver on my network to directing local requests to my DynDNS URL to the TeamDrive server without going outside the network.

More to follow…

3 Responses to “Setting Up a Network Attached Storage System (NAS)”

  1. Michael Wenyon Says:

    I came here seeking a similar solution, but probably based on a ReadyNAS.

    Do you have any updates? Are you still using TeamDrive and your own server to keep your Lightroom catalog in sync between computers? This is exactly what I want to do.

  2. Grant Says:

    Michael,

    I’ve dropped TeamDrive for now due to their extremely poor customer and technical support. It may just be a language problem as they are a German company. I miss having the personal server running on my Synology NAS since it was so fast when I was sharing files on my LAN. I’m currently trying out SugarSync as an alternative, but it is Cloud based so it is much slower.

    I’m really wanting for Synology’s own Cloud server to mature. I’m not familiar with ReadyNAS hardware.

    Grant

  3. pht3k Says:

    hi, i have black armor seagate nas and all i have to do from a windows machine is to map the nas drive so i can use it as it were local. it works like a charm. concerning your other need – remote access from outside your lan – there is an option on the nas to access it via dyndns, but i dunno if it works great since i never tried it.
    http://www.wikihow.com/Map-a-Network-Drive

Leave a Reply