Ordnerkopie mit Hardlinks, (wie) geht das?

  • Auf einem TS-677 gibt es in einer Freigabe ein Verzeichnis, auf das zur selben Zeit immer nur 'Benutzer 1' zugreifen darf. Das klappt ganz gut, ich würde aber gerne eine Kopie dieses Verzeichnisses auf der selben Freigabe anlegen, so dass 'Benutzer 2' ebenfalls mit den Daten arbeiten kann, indem er einfach auf diese Kopie zugreift. Die Datenmenge ist recht groß, ca. 400GB mit mehr als 300.000 Dateien.

    Nun wäre es schön, nicht die ganzen 400GB kopieren zu müssen, sondern mit Hardlinks zu arbeiten, um Platz auf der Platte und Zeit beim Kopieren zu sparen. Kennt da jemand eine Möglichkeit?


    Der Plan ist, jede Nacht das kopierte Verzeichnis neu anlegen zu lassen, so dass am Morgen 'Benutzer 2' immer den Originalzustand der Daten vorfindet. Die Daten sollen eigentlich nur eingesehen werden, dauerhafte Änderungen gibt es nur im Originalverzeichnis. Wen es interessiert, es geht um Lightroom.

  • Ich denke, Du bist Dir nicht ganz bewusst was ein Hard Link ist. Kurz gesagt ist ein Hard Link nichts anderes als ein Pointer (Zeiger), der auf die originale Datei verweist, also eigentlich eine Art Verknüpfung. Mit Hard Link wirst Du Dein Problem nicht lösen können, denn die Daten / Datei ist so auch weiterhin nur einmal vorhanden.


    Bei uns in der Firma können wir üblicherweise solche Dateien mit Fehlermeldung zumindest lesend öffnen und müssen die dann unter anderem Namen abspeichern. Ist denn ein nur lesendes Öffnen bei Dir nicht möglich?

  • Hmm, eigentlich ist es ja das was ich möchte - glaube ich. Jede Datei ist nur einmal vorhanden, durch die Kopie habe ich ein Verzeichnis mit 300.000 Hardlinks (Pointern), die jeweils auf die Originaldatei zeigen. Wenn in meinem Szenario 'Benutzer 2' lesend auf eine dieser dateien zugreift, merkt er keinen Unterschied. Wenn er aber eine Datei ändert und speichert, wird diese geänderte Datei als reale Datei neu angelegt.

    Ich nutze seit Jahren Lutz' rsnap, das meiner Kenntnis nach so arbeitet. Ändert sich gegenüber dem vorherigen Backup eine Datei, dann wird der Hardlink durch diese Datei ersetzt und diese neu geschrieben. Das gilt auch dann, wenn sie den selben Namen hat. Die bereits in früheren Backupsätzen vorhandenen Dateien werden nicht 'rückwärts' auf den Stand der neuen Datei gebracht.


    Nein, einen read-only Modus kennt Lightroom leider nicht. Nicht mal Verknüpfungen zu Netzlaufwerken werden für die Katalogdateien und Previews akzeptiert, man muss ihn (den Lightroom) mit subst hinters Licht führen.

  • Ah OK, jetzt verstehe ich Deinen Ansatz. Der Gedanke mit den Hard Links ist gut, aber ich wüsste nicht wie dies damit zu bewerkstelligen ist, da Du geöffnete Dateien nicht mal lesen kannst.


    Wie sieht es aus, wenn Du eine geöffnete Datei kopierst? Kannst Du die Kopie dann öffnen? Wie markiert Lightroom eine Datei als geöffnet?

  • ich würde aber gerne eine Kopie dieses Verzeichnisses auf der selben Freigabe anlegen, so dass 'Benutzer 2' ebenfalls mit den Daten arbeiten kann, indem er einfach auf diese Kopie zugreift

    Ich verstehe den Ansatz nicht.


    Wenn Benutzer 1 und Benutzer 2 auf ein und dieselbe Datei zugreifen können, und sie gleichzeitig bearbeiten, gibt es Probleme. Da nützt doch auch der Hardlink nichts, denn der verweist ja auch die Originale Datei. Der Hardlink ist ja eben gerade keine Kopie der Datei.


    Da dein Benutzer 2 die Daten nur sehen können soll, und - soweit ich das verstehe - nur Benutzer 1 die Daten bearbeitet, wäre es doch viel einfacher, dem Benutzer 2 auf das betreffende Verzeichnis nur Leserechte zu geben, dann müssen da auch keine Daten kopiert werden etc.


    ???

  • Ist das so, dass auf durch Hardlinks verknüpfte Dateien nicht lesend zugegriffen werden kann, wenn deren "Originaldatei" bereits geöffnet ist? Gute Frage... Ich würde annehmen, dass dann bereits eine Kopie erstellt wird. Das Konzept der Hardlinks wäre sonst irgendwie inkonsistent.


    Lightroom benutzt eine dbLite-Datenbank, die ist der Grund allen Übels weil extem empfindlich bei gleichzeitigem Zugriff. Die kann man nicht kopieren, wenn sie geöffnet ist. Tut man das, meldet Lightroom grundsätzlich einen beschädigten Katalog.

    Es wird eine .lock-Datei angelgt, wenn der Katalog offen ist. Wenn man sich abspricht, funktioniert der konkurrierende Zugriff ganz gut. Aber zur selben Zeit kann halt immer nur einer den Katalog nutzen. Angedacht ist momentan, den Katalog nachts mit einem 'Arbeitskatalog' abzugleichen, so dass an einem Arbeitsplatz zwar nichts dauerhaft verändert, aber immerhin ständig auf den Katalog zugegriffen werden kann. Das funktioniert, aber 500GB SSD Speicher ist noch immer teuer, vor allem, wenn er gespiegelt wird.

  • Wenn er aber eine Datei ändert und speichert, wird diese geänderte Datei als reale Datei neu angelegt.

    Nein, es wird die originale Datei geändert. Es sei denn, es wird mit "speichern unter..." eine Kopie gespeichert.

  • Ich habs mit einem rsnap-Backupsatz mit Hardlinks ausprobiert, ihr habt recht. Es wird auf die Originaldatei zugegriffen. Schade.

    Danke für eure Hinweise!

  • Bei Backup-Programmen, die mit Hard Link arbeiten werden diese verwendet um nicht geänderte Dateien im Nachhinein zu einem Datensatz zu verknüpfen. Du hingegen versuchst vorher ein Verlinkung für später zu ändernde Dateien herzustellen. Das kann so leider nicht funktionieren.

    Trotz intensivem Einsatz meines Hirnschmalzes will mir leider auch keine alternative Lösung einfallen. Was Du benötigen würdest, ist eine Art Pre-Schattenkopie oder Pre-Snapshot für Produktivdaten. Ob es sowas gibt, keine Ahnung. Erschwerend kommt bei Dir noch dazu, dass es sich um eine DB handelt. Ich habe keine Vorstellung wie dies funktionieren soll.

  • Die saubere Lösung wäre, wenn Adobe Lightroom Multiuserfähig machen würde. das ist aber entweder extrem komplex oder nicht gewollt, jedenfalls warten die Anwender seit vielen Jahren vergebens darauf.

    Die Hardlink-Kopie könnte schon funktionieren, zumindest was die Vorschauen anbelangt. Die Datenbank ist hier nur etwas über ein Gigabyte groß, diese zu kopieren wäre kein Problem. Die Previews müssten halt schreibgeschützt sein, die Datenbank dagegen nicht. Beides zwingend in einem Verzeichnis. Wer hierfür eine Lösung findet, kann Geld damit verdienen, wenn er sie Fotografen anbietet.

  • Ich kenne Lightroom zwar nicht, aber ist dies nicht die abgespeckte Variante von Adobe Photoshop für den Heimbereich?

  • Du meinst Photoshop Elements. Lightroom ist eine Bildverwaltung mit RAW Entwicklung. Bei Fotografen weit verbreitet. Aber, Adobe sei Dank, nicht Multiuser- oder wirklich Netzwerkfähig.


    Im konkreten Fall kommt noch dazu, dass ein Arbeitsplatz von außerhalb auf die Daten zugreifen soll. Bisher wurde das über die Dropbox erledigt. Das hat auch funktioniert, aber die Daten waren in der Cloud und die Synchronisation hat manchmal Tage gedauert.

    Seit einer Woche gibt es ein NAS, ein TS-677. Die Synchronisation mit dem Notbook erfolgt über Resilio Sync, das funktioniert bisher sehr gut. Mit QSync, das ich zuerst getestet habe, war die Synchronisation dagegen nicht zuverlässig. Die Geschwindigkeit des NAS mit SSD ist in Ordnung, die Anwender bemerken keinen Unterschied zur lokalen SSD, was bei Lightroom schon was heißt.

  • Ah, ok. Aber „weit verbreitet“ und „Datenbank“ dann ist es wirklich nicht zu verstehen, dass es keine netzwerktaugliche Version / Lizenz gibt. Vielleicht unter anderem Namen? Aber vielleicht muss jemand Abobe nur mal erklären, dass Fotografen nicht immer als Einzelkämpfer arbeiten.:)