如何将 NFS 卷挂载为“假可写”?

如何将 NFS 卷挂载为“假可写”?

我们遇到的情况是,来自多个供应商的多个软件需要大量的模板文件(几十 GB)。应用程序希望以打开任何项目文件的方式打开这些模板文件,即读写。

  • 让用户将模板配置单元本地复制到他们的 Linux 工作站(仅限 RHEL6 和 RHEL7)会给网络基础设施带来负担
  • 该软件不会更改模板文件
  • 如果服务器上的文件被写保护,软件会抛出错误
  • 如果 NFS 卷以只读方式挂载,并且文件被赋予写入权限,则软件会抛出错误
  • 如果我们授予可写 NFS 卷上文件的写权限,我们就不能再相信模板文件是原始的

除了承担基础设施负担外,我还在寻找一种方法来欺骗软件,即让 NFS 卷看起来可写,并赋予文件写权限,但实际上并没有提交更改

我想起了“日志回放”工具,例如深度冻结在 Windows NTFS 卷上。是否有类似的 NFS 安装破解方法?在给出此问题标签时,“unionfs”会弹出作为“nfs”的匹配项。这也是一种允许“假写入”Live CD 的方法。我现在正朝着这个方向前进,但我希望有人已经这样做了。

另一个限制是,用户通常需要使用来自多个供应商的软件的旧版本;这意味着来自供应商的错误修复只会对最新版本有帮助。

答案1

最好的办法是像其他人说的那样要求供应商修复软件。

还要检查许可证。有些软件不喜欢在文件服务器上共享运行(包括在文件服务器上共享数据)。如果是这样,您可能不被允许以这种方式运行它。然后只需将所有模板文件复制到每个用户的本地磁盘上。磁盘很便宜,除非您使用 SSD。

如果该软件不再受支持且在您所在国家/地区的法律范围内,您可以破解该软件并将读写打开模式更改为只读打开模式。需要进行一些拆卸。

您可以创建一个自定义的用户空间虚拟文件系统,如 vfs 或 fuse,伪造读写模式,这可能需要一些编程。

答案2

你试过了吗覆盖文件系统。 它可以伪造的写入并保存所有更改(如果有)。

答案3

由于它是 NetApp,您可以创建卷的(精简)克隆并将其共享给客户端。它可以读取,但每晚都会删除并重新创建。这与从快照恢复略有不同,就像我在评论中所说的那样,因为原始 FS是 RO(或者只是不共享),这样您就不会冒险意外更改内容。

否则,正如其他人所说的那样,zsync 到本地存储可能值得研究。

答案4

NetApp 重复数据删除

根据NetApp 文档,重复数据删除是一种无声无息的方式来实现我所需要的。每个用户只需一个“库”,每个用户都可以访问他们自己的“副本”。然后 ONTAP 会负责记账。

主副本将被隐藏起来;这将用于为每个用户提供新的副本,或更新用户的副本。

相关内容