Transactionale Dateien sperren

Der neue transaktionale Dateisperrmechanismus arbeitet in ownCloud anders als die alte Datei-Locking-Anwendung, und wird diese schließlich ersetzen. Wenn Sie den neuen neuen Datei Verriegelungsmechanismus verwenden wollen, müssen Sie sicherzustellen, dass Sie die alte Dateien sperren App deaktiviert haben.

Der neue Datei Verriegelungsmechanismus hat diese Fähigkeiten:

  • Arbeitet auf einem höheren Niveau als das Dateisystem, so dass Sie eine Dateisystemsperre nicht mehr benötigen
  • Sperrt übergeordnete Verzeichnisse, so dass sie nicht bei jeder Aktivität Dateien in den Verzeichnissen anpassen müssen
  • Bei Updates werden die Datei-Transaktionen unterbrochen, z.Bsp. wenn ein Sync-Client die Verbindung während eines Uploads verliegt. Die betroffenen dateien bleiben dann gesperrt
  • Verwaltet Sperren und Freigaben auf freigegebene Dateien während Änderungen von mehreren Benutzern vorgenommen werden und sperrt diese entsprechend korrekt.
  • Verwaltet Sperren auf externen Speicher korrekt
  • Verwaltet verschlüsselte Dateien korrekt

Sie müssen den Redis-Server und das php-redis Modul für die neue Dateisperre installieren, um damit arbeiten zu können. Auf Debian / Ubuntu / Mint ist redis-server und php5-redis, und unter Red Hat/CentOS/Fedora ist es redis und php-pecl-redis aus dem EPEL Repository. Nach der Installation von Redis und seinen entsprechenden PHP-Modulen, starten Sie den HTTP-Server neu.

Nach der Installation von Redis müssen Sie eine einfache Konfiguration in Ihre config.php Datei eigeben, wie in diesem Beispiel:

'filelocking.enabled' => 'true',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     // can also be a unix domain socket:
     '/tmp/redis.sock',
     'port' => 6379,
     'timeout' => 0.0,
     // Optional, if undefined SELECT will not run and will use Redis
     // Server's default DB Index.
     //'dbindex' => 0,
   ),

Der Server status Abschnitt auf Ihrer ownCloud Administrator-Seite zeigt an, ob die transaktionale Dateisperre aktiviert oder deaktiviert ist.

../_images/transactional-locking-1.png
../_images/transactional-locking-2.png

Sehen Sie dazu auch config.sample.php in den Konfigurationsbeispielen für Redis nach, um Memcache zu unterstützen.

Erfahren Sie mehr über Redis unter Redis. Memcache ist das beliebte Distributed-Memory-Caching-System, es ist nicht geeignet für die neue Dateisperrung, denn es ist nicht dafür ausgelegt, um die Sperren zu speichern, und Daten verschwinden daher aus dem Cache jederzeit. Redis ist ein Schlüssel-Wert-Speicher der sicherstellt, dass zwischengespeicherte Objekte gespeichert werden, solange sie benötigt werden, damit stehen sie jederzeit Verfügung.