我有一个 LUN 磁盘通过 FC 连接到 Linux 服务器(使用 centos)和 esxi 服务器以及 Centos 中的 VM。(两台机器在不同的 LAN 中工作。)我在两台机器上都看到了这个磁盘。在 VM 中,我创建了分区并格式化为 ext4 文件系统(我也尝试过 ext3)。然后我将其安装到系统。在另一台机器上,我看到了这个 LUN 磁盘并安装了它。因此,当我从一台机器在磁盘中创建一些文件或目录时,当我从该磁盘重新安装时,我无法在另一台机器上看到它们。/var/log/messages 中没有一些信息。iptables off selinux = disabled。有什么想法吗?
答案1
因此,您向物理机和 VM 呈现了一个 FC LUN,并且您想要使用 ext3 - 对吗?
如果是这样,那么您需要了解块级和文件级共享之间的区别 - 而且要快,因为您已经无可挽回地损坏了这个 LUN。
您有两台机器(无论它们是物理机器还是虚拟机都无关紧要),它们都认为它们对 LUN 的块系统具有独占访问权限,它们不知道您想要共享它们,因此会很高兴地自行写入 - 破坏所有内容,包括底层文件系统 - 它已经完蛋了。
您需要做的是使用集群感知文件系统(例如 OCFS2),这样服务器就会知道其他服务器可以访问同一存储,并在它们之间进行仲裁以维护一致的文件系统。这就是集群的工作方式。
NAS 确实不需要担心这个问题,因为您只是读取或写入整个文件,NAS 负责仲裁。这听起来可能比 SAN 好得多,但如果设置正确,SAN 可以提供 NAS 盒的大量额外好处。
无论如何,请寻找一个支持集群的文件系统并正确实现它 - 最好在执行此操作之前删除现有的 LUN - 不值得尝试保存。
希望这可以帮助。