Wie kann ich NFS-Freigaben auf einer lokalen Festplatte zwischenspeichern?

37

Ich verwende NFS, um Medien für Computer in meinem Haus freizugeben. Leider ist einer der Rechner über eine langsame drahtlose Verbindung verbunden. Gibt es eine Möglichkeit, Netzwerkfreigaben auf der lokalen Festplatte für die Leistung zwischenzuspeichern?

Jorge Castro
quelle

Antworten:

43

Stefan hat mich auf den richtigen Weg geführt. Dies funktioniert auf allen Systemen ab 12.04.

Ihr Dateisystem benötigt auch erweiterte Attributunterstützung. Wenn Sie EXT4 verwenden, ist dies in Ordnung. Wenn Sie EXT3 verwenden, müssen Sie sicherstellen, dass Ihr Dateisystem mit dem user_xattrAttribut bereitgestellt wird.

Hier ist, wie ich es auf dem Client-Computer eingerichtet habe, Sie müssen nichts auf der Serverseite tun.

  1. Installieren Sie zuerst den User Space Daemon: sudo apt-get install cachefilesd

  2. Schalten Sie es dann ein, indem Sie die Lauflinie bearbeiten /etc/default/cachefilesdund in ändernRUN=yes

  3. Stellen Sie sicher, dass Ihr NFS-Mount-In /etc/fstabeine fscOption enthält. Vergessen Sie nicht, es erneut zu laden, nachdem Sie die Änderungen vorgenommen haben. Hier ist mein Auszug (an Ihre Bedürfnisse anpassen):

    192.168.1.115:/home/jorge /home/jorge/Backup nfs fsc

  4. Starten Sie den Dienst: sudo /etc/init.d/cachefilesd start

Die Konfiguration des Caches erfolgt in. /etc/cachefilesd.confInformationen zu den Einstellungsoptionen finden Sie in den Referenzen.

Verweise:

Jorge Castro
quelle
Weiß es zufällig, wie man dasselbe auf anwendet /etc/auto.master?
Sorin
Beachten Sie, dass ein Fehler vorliegt, der dazu führen kann, dass der cachefilesdDämon mit 100% CPU ausgeführt wird: redhat.com/archives/linux-cachefs/2014-February/msg00001.html bugzilla.redhat.com/show_bug.cgi?id=485314
Akaihola
2
Zumindest ab Ubuntu 14.04 sind rw, hard Standard und intr veraltet. Die einzige Option, die Sie derzeit verwenden, ist fsc
Andrew Wagner,
@AndrewWagner Bitte reichen Sie eine Änderung am Artikel ein!
Jorge Castro
10

Ich bin mir nicht sicher, ob dies derzeit mit Ubuntu 10.04 LTS möglich ist.

Die neueren Versionen des Linux-Kernels enthalten jedoch eine Funktion namens FS-Cache & CacheFS , die genau so klingt, wie Sie (und ich) es wollen.

Siehe auch Lokales Caching für Netzwerkdateisysteme .

Stefan Lasiewski
quelle
Danke, es ist eine großartige Funktion. Leider fehlt es an Schreibunterstützung :(.
Javier Rivera