在通过 NFS 修改接合卷时,此更改似乎会在几秒钟后还原
适用于
集群模式 Data ONTAP
问题
在集群模式 Data ONTAP 中,卷将作为文件夹呈现给 NAS 客户端。这意味着,对于向客户端显示的某些文件夹,当客户端访问该文件夹时,客户端会重定向到其他卷。
这些重定向 " 文件夹 " 称为接合路径。vol show
可以使用 CLI 中的命令显示卷的接合路径。
::>vol show -fields junction-path
上述命令将列出集群中所有卷的接合路径。
或者,在 System Manager 中,可以在 SVM 存储下命名空间区域中每个卷的路径列中查看卷的接合路径。管理员可以通过命令行界面或 System Manager 等工具修改卷的接合路径。
如前文所述,这些接合路径本身是文件夹;因此,可以对这些接合路径执行许多相同的操作,就像对实际文件夹执行的操作一样。例如,可以通过 NFS 或 CIFS 更改权限和所有权,修改 ACL ,并对这些接合路径及其内的数据进行组更改。请注意,客户端无法重命名或删除接合路径,但 NFS 或 CIFS ,重命名或删除操作(例如创建这些路径)需要成功对集群进行管理访问,并且这些访问是通过 CLI 或管理工具完成的。
在通过 NFS 对接合路径执行操作时, NetApp 集群将向客户端提供有关相关卷及其文件系统 ID 的信息,以便将更改正确传播到相关卷。
在ls
chown
chmod
chgrp
某些特定版本的各种 Linux 分发版(例如 RedHat 6.3 和 Debian 7.0 )中出现错误,导致运行这些版本的客户端在卷接合上尝试通过 NFS 执行,或操作(等等)时,无法查找文件系统信息 (重定向到卷的文件夹)。
因此,客户端会无提示中断此操作,如果用户请求,则不会将任何更改操作( setattr )实际发送到 NetApp 集群,因此不会进行任何更改。
但是,如果客户端在相关挂载上启用了属性缓存(相关标志是 AC ,而不是 noac ,如/proc/mounts
客户端上的中所示),则客户端将使用相关更改填充此缓存,从而使更改最初看起来成功。稍后列出的文件夹中设置的权限(访问缓存超时后)将显示修改尝试之前的设置。
问题示例:
root@xela:[~] # mount -o noac,vers=3 10.61.85.219:/ /mnt #<-- mounting with noac to avoid a poisoned client cache and see the immediate silent failure
root@xela:[~] #cd /mnt
root@xela:[/mnt] #ls -l
total 12
drwxrwxrwx 2 root daemon 4096 Jan 29 10:55 junction
root@xela:[/mnt] #chmod 755 junction
root@xela:[/mnt] #ls -l
total 12
drwxrwxrwx 2 root daemon 4096 Jan 29 10:55 junction2 #<-----chmod change did not take effect