Skip to main content
Known Participant
May 1, 2011
Open for Voting

P: Allow Catalog to be stored on a networked drive.

  • May 1, 2011
  • 559 replies
  • 13725 views

I'd love to make LR more multi-computer friendly. I have no doubt that there's probably database architecture issues and a host of other barriers... But I have to believe that the need for either multi-user or at at lease multi-computer use is widely desired. And yes, I know you can do the catalog import export thing but I find this less than ideal.

559 replies

RRKing
Inspiring
September 18, 2024

It's a little late but the only way to "properly" host your catalog and images and everything on a NAS is to use LUNs and attach them via iSCSI.  I've been doing this for years with zero issues and i have had network fails and power outages and all kinds of madness over the last 9 years and never had a problem with corruption and even if i did i ahve proper backups becuase it's on my NAS.

One thing i will say is my NAS is attached via a fiber 10gig conenction (or it was now i use 25gig) and so i never have speed issues and 100% of my LR data is over the network.  Keep in mind iSCSI is basically a local drive that is connected over a network so thats why LR works off of it.  

Inspiring
September 10, 2024

@jrellis: A question: LR uses WAL (Write Ahead Logging) journaling mode for the SQLite catalog database. But the SQLite documentation says "WAL does not work over a network filesystem". That page says that when an app requests WAL via:

PRAGMA journal_mode=WAL;

the journaling mode will remain the default mode (rollback) if the filesystem containing the database doesn't support WAL.

So it seems your LR is running in the older and somewhat slower rollback journaling mode.  I wouldn't hazard any guesses whether that makes a differnce to LR performance in practice.

 

The full quote from the SQLite documentation is:

 

1.  All processes using a database must be on the same host computer; WAL does not work over a network filesystem. This is because WAL requires all processes to share a small amount of memory and processes on separate host machines obviously cannot share memory with each other.

 

This restriction doesn't apply when all processes using a database do reside on the same host computer, which is the situation with LrC.  LrC locks the catalog with both the SQLite database lock and by creating a file in the catalog directory, preventing another instance of LrC from accessing the catalog from another PC.

 

I am running the latest LrC (13.5.1) and it is using WAL.

johnrellis
Legend
September 10, 2024

@keg415, thanks for the clear write-up -- that could be useful to many others. 

 

So making a Windows junction to a symbolic link to the remote directory containing the catalog fools LR into thinking that directory is not on a network volume.

 

A question: LR uses WAL (Write Ahead Logging) journaling mode for the SQLite catalog database. But the SQLite documentation says "WAL does not work over a network filesystem". That page says that when an app requests WAL via:

 

PRAGMA journal_mode=WAL;

the journaling mode will remain the default mode (rollback) if the filesystem containing the database doesn't support WAL.

 

So it seems your LR is running in the older and somewhat slower rollback journaling mode.  I wouldn't hazard any guesses whether that makes a differnce to LR performance in practice.

 

 

Inspiring
September 9, 2024

Allow a catalog to be stored on a network drive.  This is a much-requested feature that is simple to implement -- the check to prevent it just needs to be removed.  I've stored catalogs on a NAS for over a decade without experiencing corruption.  I've researched this thorougly, please see the attachement for details and references.

 

A related feature, for which I'm submitting a separate request, is to allow the location of the previews cache to be changed so that it can be stored separately from the catalog.  This would allow the previews to be stored on an SSD to improve performance when the catalog is on a network drive.

KostFan2
Known Participant
February 4, 2024

I have been using this method and it works well

Participant
February 3, 2024

Feature Request for a possibility to use Adobe Lightroom Classic on different computers across a local network, with implementing a similar solution as DaVinci Resolve Project Server.

 

With DaVinci Resolve you can choose if you have projects saved locally on a computer, or you connect to the Project Server running on a main computer to open a project from there. The Project Server take care of making sure that two computers are not working on the same project at the same time.

 

Can this be possible?

Sean McCormack
Community Expert
Community Expert
February 3, 2024

Two issues. One is that the constant writing that's happening with the catalog gets corrupted on a network. The second is database is SQLite which is single user. You'd need a complete rewrite of the database which would probably require a licensed multiuser database increasing the cost of Lightroom. 

Sean McCormack. Author of 'Essential Development 3'. Magazine Writer. Former Official Fuji X-Photographer.
Inspiring
May 16, 2023

Yes, but at least it's clear that storing the catalog on a network drive isn't causing this problem.

johnrellis
Legend
May 15, 2023

So ambiguous results above where the problem might be...

Inspiring
May 15, 2023

I tested with the suggested settings ("Replace Embedded Previews With Standard Previews During Idle Time" and "Generate Previews In Parallel" were already disabled) and found that Import/Add worked, but Synchronize Folder failed (twice). I then retested Import/Add with normal start options, Build Previews:1:1 and everything on the NAS, and that also worked, though I'm fairly sure Import/Add with this configuration has also failed at least once. I don't recall Synchronize Folder ever succeeding with a large number of photos. I'm surprised there's much difference between Import/Add and Synchronize Folder.

johnrellis
Legend
May 15, 2023

"Photos: NAS, Catalog: SSD, Previews: SSD: Fails So this appears to be an LrC bug"

 

Very interesting. It conceivably could be a problem with the NAS being overwhelmed by too many concurrent requests from LR. You could test that with these steps:

 

1. Restrict LR to use just one processor:

 

start "Lightroom" /affinity 1 "c:\Program Files\Adobe\Adobe Lightroom Classic\Lightroom.exe"

 

 

2. Disable the option Preferences > General > Replace Embedded Previews With Standard Previews During Idle Time.

 

3. Disable the option Preferences > Performance > Generate Previews In Parallel.

 

4. Import with the option Build Previews: Standard.

 

If the the import succeeded, that would point the finger more towards the NAS. It's possible there's a concurrency bug in LR that is triggered by your configuration that hasn't been encountered and reported by others, but that seems less likely, since many people store their photos on NAS.