我有一个NFS_Server - NFS_Client系统.我的客户是挂载到NFS_Server 目录。我想通过使用NFS_Server扩展文件属性(Xattr)通过NFS_Client挂载目录更改目录的文件属性。
当我试图从客户端设置一个属性时,它给出了以下答案:
root@ubuntu:/mnt/nfs/var/nfs# setfattr -n user.comment -v "some comment" test.txt
setfattr: nfs.txt:
权限被拒绝
我的问题是:
更新:
服务器端:
$ more /etc/exports file has:
/var/nfs 192.168.56.123(rw,sync,no_subtree_check)
客户端:
$ root@ubuntu:/# 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)
谢谢..。
发布于 2017-05-22 01:49:54
您可以使用xattrs (一个fuse文件系统层)来模拟NFS共享上的扩展属性(xattrs)。基本上你必须做:
/mnt/shared_data
$ fuse_xattrs /mnt/shared_data /mnt/shared_data_with_xattrs
现在,/mnt/shared_data
上的所有文件都可以在/mnt/shared_data_with_xattrs
上访问,并支持xattrs。扩展属性将存储在sidecar文件中。扩展属性不会作为扩展属性存储在服务器文件系统上,而是存储在侧文件中。
遗憾的是,这只是一个解决方案。
免责声明:我是fuse_xattrs的作者。
发布于 2017-12-14 02:58:13
(这篇文章很老了,但是我在寻找这个功能时遇到了这篇文章,它并不代表当前的状态。)
正如其他人所提到的,NFS中不支持扩展属性。然而,只要有一个拟议标准(RFC 8276),人们对它有很大的兴趣。
发布于 2022-06-09 16:05:58
所需要的只是服务器和客户端上的Linux内核版本5.9或更高版本,然后使用NFSVersion4.2或更高版本挂载。当服务器和客户端都支持nfs 4.2时,将自动启用对扩展属性的支持。
我的服务器和客户端上都有5.15.16版本的内核版本,其中包含nfs-utils-2.5.4-r3,它适用于我:
NFS服务器/etc/导出
/ 192.168.0.42(rw,subtree_check,no_root_squash)
NFS客户端/etc/fstab
192.168.0.42:/ /mnt/slowpc nfs noatime,nodiratime,noauto,hard,rsize=1048576,wsize=1048576,timeo=60,retrans=60 0 0
NFS客户端
# mount | grep /mnt/slowpc
192.168.0.42:/ on /mnt/slowpc type nfs4 (rw,noatime,nodiratime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=60,retrans=60,sec=sys,local_lock=none)
# cd /mnt/slowpc/tmp
# touch file
# printf bar | attr -s foo file
Attribute "foo" set to a 3 byte value for file:
bar
# attr -l file
Attribute "foo" has a 3 byte value for file
NFS服务器
# attr -l /tmp/file
Attribute "foo" has a 3 byte value for /tmp/file
在https://lwn.net/Articles/799185/中,需要使用新的挂载选项user_xattr。但是,当前的nfs实用程序不支持该选项。幸运的是,user_xattr可以在可能的情况下自动启用。
# mount -o user_xattr /mnt/test
mount.nfs: an incorrect mount option was specified
# tail -n 1 /var/log/messages
Jan 30 02:51:08 utl01 kernel: nfs: Unknown parameter 'user_xattr'
https://stackoverflow.com/questions/24629459
复制相似问题