11

我有一个NFS_Server - NFS_Client系统。我的客户端安装到 NFS_Server目录我想使用扩展文件属性 (xattr)通过 NFS_Client 安装目录更改 NFS_Server 目录文件的属性。

当我尝试从客户端设置属性时,它给出了以下答案:

root@ubuntu:/mnt/nfs/var/nfs#setfattr -n user.comment -v "some comment" test.txt setfattr: nfs.txt: 权限被拒绝

我的问题是:

  • 是否可以通过 NFS 使用扩展文件属性?

  • 如果可能的话,我该怎么做?

更新:

服务器端:

$ 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)

谢谢你...

4

4 回答 4

10

您可以使用fuse_xattrs(一个 fuse 文件系统层)来模拟 NFS 共享上的扩展属性 (xattrs)。基本上你必须这样做:

  1. 挂载 NFS 共享。例如:/mnt/shared_data
  2. 安装保险丝 xattr 层: $ fuse_xattrs /mnt/shared_data /mnt/shared_data_with_xattrs

现在/mnt/shared_data可以通过/mnt/shared_data_with_xattrsxattrs 支持访问所有文件。扩展属性将存储在 sidecar 文件中。扩展属性不会作为扩展属性存储在服务器文件系统中,它们将存储在 sidecar 文件中。

可悲的是,这只是一种解决方法。

免责声明:我是 fuse_xattrs 的作者。

于 2017-05-22T01:49:54.967 回答
7

(这篇文章很老了,但是我在寻找这个功能时偶然发现了这篇文章,它并不代表当前的状态。)

正如其他人所提到的,NFS 中不支持扩展属性。然而,人们对它有很大的兴趣,只要有一个提议的标准(RFC 8276)

于 2017-12-14T02:58:13.080 回答
1

nfs 不支持扩展属性。nfs 内核模块中没有用户属性的处理程序。有关更多信息,请阅读 RFC for nfsv4。

于 2015-02-22T20:23:15.813 回答
1

Linux 5.9 中的 NFS 代码终于提供了对用户扩展属性(用户 xattrs)的支持。

Linux 5.9 的 NFS 服务器更新支持 NFS 上的用户扩展属性。这是通过 IETF 的 RFC 8276 概述的功能,用于处理 NFSv4 中的文件系统扩展属性。“此功能允许使用 NFSv4 客户端查询和操作扩展属性(以下也称为 xattrs)。Xattrs 由文件系统提供,用于将不由文件系统解释的不透明元数据与文件和目录相关联。这种支持是存在于许多现代本地文件系统中。提供了新的文件属性以允许客户端查询服务器以获取 xattr 支持,该支持包括获取和设置文件系统对象上的 xattr 的新操作。

来源:https ://www.phoronix.com/scan.php?page=news_item&px=Linux-5.9-NFS-Server-User-Xattr

于 2021-06-09T09:33:43.600 回答