![在多台主机上安装单个 San 驱动器](https://linux22.com/image/659657/%E5%9C%A8%E5%A4%9A%E5%8F%B0%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%AE%89%E8%A3%85%E5%8D%95%E4%B8%AA%20San%20%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
我不太清楚该如何问这个问题,但还是问吧。
我们有一个 san。在 san 中,我们可以将单个卷作为原始磁盘连接到多个系统。服务器本身会将其视为相同的原始硬盘。
我们当前的配置是这样的,在一台服务器上,我们获取了原始驱动器并在 lvm 中对其进行了配置,并将其设置为主驱动器。
我们的最终目标是让该主目录同时连接到多个系统。我们担心的是,由于 san 从技术上讲只是通过光纤提供原始磁盘,因此其中会涉及各种锁定问题。
我对 SAN 不太熟悉,如果这没有意义,我很抱歉。无论如何。有没有办法安全地做到这一点?这是一个旧的 sun 6900 SAN。
答案1
立刻停止你正在做的事情!
抱歉,我说得这么夸张,但您在这里遇到了一个大问题 - 您要做的事情实际上非常简单,只是不使用 LVM。
原因是大多数文件系统/磁盘管理系统,包括 EXTx、LVM、raw-NTFS、FAT(所有形式)都不是“集群感知”的——它们假设它们对磁盘具有完全和不受干扰的访问权,因此可以安全地假设它们可以随意读写。
在共享/集群环境中,这个问题在于,即使只有两台机器使用非集群感知的文件系统写入同一个 LUN,也基本上可以保证文件系统损坏,可能在“共同使用”的第一秒内发生,因为他们只是假设他们可以做他们喜欢的事情 - 这是混乱的。
那么,如果选择集群感知文件系统,您需要做什么呢?它们从一开始就被设计为协作,并且通常具有某种形式的带外机器对机器通信(通常只是 IP)来协调它们的操作。
有一系列选项,有些是免费的,有些不是;对于 100% 的 Linux 系统,我个人使用 OCFS2,但 Lustre/GlusterFS 也很好,对于 100% 的 Windows 系统,您可以配置 Windows Cluster Services/MSDTC,它本质上位于 NTFS 之上并管理写入。VMWare 的 VMFS 本质上是集群感知的,但实际上仅适用于他们自己的虚拟机管理程序 ESXi。
对于组合的 Linux 和 Windows 共享,事情变得更加复杂,我个人非常喜欢 Veritas 的“Storage Foundation”,它允许它们很好地协同工作。
希望这些对您有所帮助,如果您需要澄清任何小问题,请回复评论。无论如何,LVM 都会导致数据丢失。