In an earlier post I showed how to make Lightroom work with Network Attached Storage (NAS). I ended the post with a caveat that there's probably a better way and a promise to show you my approach. Well, here's that post.
Disclaimer: the below is written from the perspective of an advanced Lightroom and computer user to other advanced users. If you are looking for beginner's advice regarding use of a NAS I would summarise my recommendation as:
- Store your source image files (which Lightroom references) on your local hard drive or an external hard drive connected directly to your computer.
- Use a NAS as a backup destination for your image files.
For any advanced users that read the below and feel uncomfortable with my approach, DON'T FOLLOW IT!
First here's a diagram of my set-up:
That might look complicated but it really isn't (honest!).
- My Lightroom catalog lives on my MacBook Pro - my main photo editing machine.
- My images live on an external hard drive connected to my MacBook Pro which Lightroom references. My Lightroom catalog is also regularly backed up to the external hard drive (HD).
- My MacBook will regularly copy my images and my Lightroom catalog backup from the external HD to the NAS.
- My old Windows PC (which my MacBook Pro replaced) now has the dubious honour of being my backup machine, so it regularly copies images/LR catalog from my NAS onto its local HD.
- Finally my backup PC constantly uploads all of my images and any changes to "the Cloud" for offsite backup giving me 4 copies of my images (3 backups).
This is just for a single user using mostly a single machine. If you had multiple users or computers needing access to files then this solution probably isn't for you.
Let me talk about some of the details of my set-up.
NAS v External Hard Drive
Soon after I bought my NAS I became dissatisfied with its performance as access over the network was so much slower than the internal hard drives I was used to. Putting it into numbers:
- NAS read speed: 95.8MB/s
- External HD read speed: 180MB/s
- Internal SSD read speed: 311MB/s
So my external HD is twice as fast as my NAS and my internal drive is 3 times faster. Note these numbers are with the NAS connected via Gigabit ethernet (with a theoretical top speed of 125MB/s). If I connect via wifi these numbers drop big time (half or less).
Surprisingly this shouldn't pose a significant performance problem for Lightroom. The findings of this article show that the drive performance of the HD where the images are stored only has a small impact on the time it takes to load and render images.
However in my own experience it definitely felt a good deal slower. Note also that article is talking about ~20MB RAW files from a Canon 5D Mark II. With layered TIFFs that I've edited in Photoshop often being upwards of 100MB then things slow down a lot. I once tried to open a 1GB TIFF file (a 15 image stitch) from the NAS and it felt like it took minutes. As the file size grows hard drive performance is a larger contributing factor in the time it takes to retrieve and render an image.
It's also worth considering that a NAS is like a little mini-server and can run other jobs or be accessed by other devices which will further slow down the NAS while it tries to juggle multiple jobs.
Another consideration is that I still needed an external HD to backup the NAS images to. Given external HDs are faster, it actually makes more sense to store the images on the external HD and backup that to the NAS rather than the other way around.
A final advantage for using the external HD as my primary image store is that it's much smaller and lighter than my NAS, so I can take it with me if I need to.
Keeping Everything Backed-up and In-Sync
There are a number of software applications that can be used to keep each location up-to-date. On Mac the easiest I've used is Carbon Copy Cloner. I have now switched to GoodSync which offers more configurability and, crucially, much better feedback on any differences and actions performed. It also works on Windows which is handy given I'm still using my old PC.
With GoodSync I have two jobs always running on my Mac - one to copy my Lightroom catalog to my external HD, and another to copy the external HD to the NAS. I have a job configured on my Windows PC that copies the images and LR catalog to the PC's local hard drive.
On my PC I'm using Zoolz (sadly they don't have a Mac client as yet) which uploads all of the contents from its local hard drive and then monitors for any changes that are copied over from the NAS.
This keeps everything continually backed up in multiple locations.
Accessing the NAS Remotely
The above is pretty straightforward. It's when it comes to accessing the NAS remotely that things get a bit trickier and fraught with danger. I considered not writing this section. However people have asked me about it so I'll share with you with a strong warning that you can lose work if you don't take care.
A real advantage of having images stored on the NAS is that they can be accessed when my MacBook isn't at my desk. I can access the NAS over wifi or even the internet to access images there. Hold on, you might think, your external HD is your primary image store. Yes it is, and that's why this approach has an element of danger.
Because my external HD and NAS are always in sync their contents are identical. That means I can use either one to access my images as required. When I unplug my MacBook from my external HD I can use the 'Update Folder Location' feature in Lightroom (see last post) to tell Lightroom to look for the image files on the NAS instead of the external HD.
I can also connect to the NAS over the internet (again covered in the last post), and use 'Update Folder Location' to point to the NAS over the internet. For a Synology NAS, follow this tutorial to access your NAS over the internet, and then follow this tutorial to connect to it via WebDav. How usable accessing 20MB+ files over the internet is will depend on the speed of the network you're connected to as well as the upload speed of the network the NAS is connected to. It's not something I would do regularly, but it's good to be able to do it when required.
The big danger comes when you reconnect your external HD - your synchronisation jobs will kick in, syncing your external HD to the NAS (including deleting anything that isn't on the external HD) and potentially wipe out any of the work that you've done on files on the NAS. This, quite obviously, is a bad thing!
My first defence is that when I'm working off the NAS I avoid doing anything that will actually make any file changes on the NAS. As Lightroom stores all of its edits in the catalog (which is on my machine) it never actually changes the source file - it only ever reads from it to build the preview (stored locally) which you then work on. So using Lightroom typically won't make any file changes on the NAS that might get clobbered.
However there are some things that will make changes. If I e.g."Edit in Photoshop" then a TIFF file with my Photoshop edits will be created alongside the RAW file on the NAS. When it comes to synchronising later, GoodSync sees that that TIFF file isn't on the external HD and it will delete it.
If you use 'Save Metadata to Files' it will either update the source file (in the case of a DNG) or writes an XMP sidecar file (for a propriety RAW format, such as CR2) to the NAS. If in your catalog settings you have "Automatically Write Changes to XMP' enabled (I don't) this will be happening as you work on images. The synchronisation job will either replace the DNG files, or delete the XMP files losing this saved metadata (note it's still in LR so you can resave it, so it's not 'lost' but just be aware).
Also if you delete a file from disk in Lightroom then GoodSync will copy it back over from the external HD - that's not damaging, but as LR no longer has a reference to is then it's essentially forgotten about (orphaned) and wasting disk space needlessly.
Ok, so stuff can go wrong. Most of the time when I'm connected to my NAS I'm sitting on my sofa flipping through images reviewing or rough editing them so all of my changes are made to the local Lightroom catalog and I don't run into any problems.
The second defence is to pause the synchronisation job before plugging the external HD back in. I then have a manual synchronisation job that compares the NAS with the external HD and I can then choose to copy any changes from the NAS to the external HD that I might want to keep (again, this is rare). Once I've done that I can re-enable the synchronisation jobs and normal service is resumed.
The third defence is that both my NAS and GoodSync provide recycling bins for deleted files, and GoodSync can also keep a copy of changed files for user defined time (30 days by default). If something does go wrong I can dive into the recycling bins and restore the file.
Lightroom's "Find All Missing Photos" feature (Library menu) is a godsend for when you're swapping folder locations around like this. Whenever I "Update Folder Location" I immediately run "Find All Missing Photos" just in case the new folder location is not an exact replica so that I can investigate any problems immediately (finding out months later that you've lost a file and can't do anything about it is gut wrenching!).
If any of this last section has sounded a little scary and fraught with potential disaster, good! Whilst I can't accept any responsibility for any mishaps that people reading this run into, I have a duty to give suitable warnings that things can go really badly wrong. As a techie I know what is going on, how to fix problems, and I'm comfortable with the associated level of risk. I don't know if you will have the same level of comfort and the above could get you into a bit of a mess. You have to judge for yourself if this approach will work for you and if in any doubt DONT DO IT! :)