我有两台 Linux 服务器,它们通过光纤通道连接连接到同一个磁盘设备(我没有配置它,它已经存在了)。我可以在两台服务器上看到磁盘显示为 /dev/mapper/something。
我想将其中一半用于一台服务器,另一半用于另一台服务器,但我无法修改存储上的任何内容。我可以创建两个分区,将第一个分区安装在一台服务器上,将另一个分区安装在另一台服务器上吗?
不幸的是,服务器之间无法互相看到,所以 NFS 也不是一种选择。
谢谢!
答案1
严格的答案是,只要两个分区(A 和 B)只能从它们自己的服务器访问,那么就没问题。
只要确保只从一台主机进行分区,然后只从一致的主机挂载分区就可以了。
请注意,一些非常便宜的 San 磁盘控制器不接受多个同时不同的源主机。因此,如果您的硬件是最低出价特惠,请在部署前小心测试。
答案2
只要您不遇到 SCSI 预留冲突,就没问题。
http://en.wikipedia.org/wiki/Fencing_%28computing%29#Approaches_to_fencing
设备可以对目标发出 SCSI 保留,以防止其他设备对该目标执行 IO。
(或者,正如@caskey 所发布的,它是可以正确处理从不同设备到同一目标的 IO 的控制器。)
答案3
我很不同意现有的两个答案,很抱歉,Linux 没有自带任何集群感知文件系统,事实上有些根本没有,如果你有两个系统思考他们对磁盘设备有独占访问权,那么你将要除非您使用集群感知文件系统,否则该磁盘会损坏。尽管这种配置非常常见,但您需要使用集群感知文件系统,例如 OCFS2 或类似文件系统。需要澄清的是,即使对此进行分区也不会带来长期利益,一台机器在某些时候会执行某些操作并破坏另一个分区。因此,要么要求存储人员为每个服务器提供专用 LUN,要么使用集群感知文件系统。