我使用 CentOS 7。
我为两个用户创建了简单的目标/启动器配置和两个 acl(ACL)。
但是,当我在两个用户上安装并从第一个用户写入时,写入更改不会传播到第二个用户。
看起来发起者将所有更改缓存在主机上,并且仅在会话结束时注销时才将它们提交给目标。
仅当第一个用户注销并且第二个用户卸载并重新安装 LUN 时,第二个用户才能看到新的更改。我在后台存储上启用了 write-thru 并将 acl 映射到 LUN 作为 rw。
我进行了配置并在各种发行版上尝试过,但问题仍然相同。我可以根据需要附加配置,我认为它非常通用和简单,所以我不会直接提供它。
如何允许写入更改传播到连接到同一 LUN 的其他用户?谢谢。
这似乎应该是预期的行为,但如果能给出明确的观点就更好了。
答案1
iSCSI 并非如您所想的那样。大多数文件系统设计为仅由一个操作系统挂载,但您希望两个客户端在您的 iSCSI LUN 中挂载相同的文件系统。
为什么这不管用
想象一下,您以某种方式将一个硬盘连接到两台计算机(或一台主机及其虚拟机共享一个虚拟磁盘)。这是您的两个 iSCSI 启动器(2 台计算机)连接到您的单个 LUN(1 个硬盘)。
当你将硬盘上的文件系统挂载到两台计算机上的某个位置时,每台计算机都不知道对方也在使用该文件系统。这可能导致严重的数据损坏因为每台计算机都跨过了其他计算机的脚趾。
你可以做什么
不要让您的启动器通过 iSCSI 直接连接到同一个 LUN。
您需要服务器来跟踪对共享文件系统所做的更改。由于客户端不知道彼此的更改,因此必须使用服务器来执行此操作。
NFS 或 CIFS 位于客户端和服务器本地文件系统之间的一层,以便客户端不会互相冲突。
资源
基本操作
超越自我
您可以使用以下方法轻松设置可扩展的分布式文件系统: