2014-07-08 11 views
5

Ich habe ein NFS_Server - NFS_Client System. Mein Client ist montiert zu einem NFS_Server Verzeichnis. Ich möchte das Attribut der Dateien des Verzeichnisses NFS_Server über das Verzeichnis NFS_Client mounted ändern, indem ich Extended File Attributes (xattr) verwende.Wie Verwenden von erweiterten Dateiattributen auf NFS?

Als ich versuchte, ein Attribut aus der Client-Seite zu setzen, gibt es folgende Antwort:

root @ ubuntu:/mnt/nfs/var/nfs # setfattr -n user.comment -v "some comment" test.txt setfattr: nfs.txt:Erlaubnis verweigert

Meine Frage ist:

  • es möglich ist, Erweitert zu verwenden Dateiattribute über NFS?

  • wenn möglich, wie kann ich das tun?

UPDATE:

Server-Seite:

$ more /etc/exports file has:  
/var/nfs  192.168.56.123(rw,sync,no_subtree_check) 

Client-Seite:

$ [email protected]:/# mount -t nfs 
192.168.56.130:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=192.168.56.130,clientaddr=192.168.56.123) 

danke ...

+0

Wenn Sie diesen Befehl setfattr als Eigentümer der Datei anstelle von root ausführen, erhalten Sie eine Fehlermeldung? –

+0

mein Besitzer ist auch root und es gibt auch die gleiche Fehlermeldung. hast du das versucht? was ich will ist möglich oder? – Celik

+0

Können Sie die Exportoptionen, die Sie auf dem Server verwenden, und die Mount-Optionen, die Sie auf dem Client und der Distribution des Clients und Servers verwenden, einbeziehen? Das wird uns sehr helfen. –

Antwort

2

Erweiterte Attribute werden von nfs nicht unterstützt. Es gibt keinen Handler für Benutzerattribute im nfs-Kernelmodul. Weitere Informationen finden Sie in RFC für nfsv4.

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. – AlvaroAV

+0

welche Link @AlvaroAV? Kannst du es teilen? – Celik

1

Sie können fuse_xattrs (eine Fuse-Dateisystemebene) verwenden, um erweiterte Attribute (Xatrs) auf NFS-Freigaben zu emulieren. Grundsätzlich müssen Sie tun:

  1. mounten Sie die NFS-Freigabe. z.B .: /mnt/shared_data
  2. montieren Sie die Sicherung xattr Schicht: $ fuse_xattrs /mnt/shared_data /mnt/shared_data_with_xattrs

Nun sind alle Dateien auf /mnt/shared_data auf /mnt/shared_data_with_xattrs mit xattrs Unterstützung zugegriffen werden. Die erweiterten Attribute werden in Sidecar-Dateien gespeichert. Die erweiterten Attribute werden nicht als erweiterte Attribute im Server-Dateisystem gespeichert, sondern in Sidecar-Dateien gespeichert.

Leider ist dies nur ein Workaround.

Haftungsausschluss: Ich bin der Autor von fuse_xatrs.

1

(Dieser Artikel ist alt, aber ich auf diesen Artikel kam, als für diese Funktionalität suchen, und es nicht den aktuellen Stand dar.)

Wie andere erwähnt haben, gibt es keine Unterstützung für erweiterte Attribute in NFS.Es besteht jedoch ein erhebliches Interesse daran, dass es einen proposed standard (RFC 8276) gibt.

+1

Während dies die Frage beantworten kann, [wäre es vorzuziehen] (http://meta.stackoverflow.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. –

+0

Es tut mir leid, ich weiß nicht, was Sie suchen @ TomAranda - Ich biete den Link, der wesentliche Teil der Antwort ist, dass es keine Unterstützung für erweiterte Attribute in NFS gibt. Ich habe auch nicht nur einen Link - der Link wird als vorgeschlagener Standard beschrieben (die Implikation ist, dass es ein vorgeschlagener Standard für die Unterstützung erweiterter Attribute ist). Ich habe sogar die Verbindung mit der RFC-Nummer beschrieben, falls die Verbindung verrottet, was in diesem Fall _wirklich_ unwahrscheinlich erscheint. Kannst du es ausarbeiten? – Drew