![虚拟主机集群文件系统混乱](https://linux22.com/image/709133/%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E9%9B%86%E7%BE%A4%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%B7%B7%E4%B9%B1.png)
我的标题可能没有涵盖我所需要的全部范围,因此我将阐述我想要完成的任务。
我有两台 Linux 服务器,它们都配有大型驱动器阵列、多个 CPU 和大量 RAM。我将主文件存储阵列放在与每台服务器中的操作系统不同的 RAID 卡上。这些服务器还配有 40Gbps Infiniband 卡用于相互连接,以及 4 端口 1Gbps LAN 卡用于将虚拟机连接到网络。
我的目标是:
我想通过虚拟化功能(使用 Qemu-KVM)来淘汰一些较旧的物理服务器。我希望两台大型服务器能够处理虚拟机,但我希望能够对它们进行故障转移。不必是自动的。如果 ServerA 出现硬件故障,我希望能够进入 ServerB 并启动该机器上的虚拟服务器。
我想要虚拟化的几台物理服务器都是文件服务器。我希望大型服务器上的存储阵列可以充当虚拟机的 SAN,这样我就不必创建虚拟驱动器映像来存储文件。当然,我希望将 ServerA 上的存储阵列镜像到 ServerB,再次提供故障转移功能。
我的想法是使用类似 Ceph 的 Gluster 来处理文件存储以及从 ServerA 到 ServerB 的虚拟映像镜像。我的困惑来自信息过载。虚拟机如何访问它们运行的同一台主机上的分布式文件系统?会不会有瓶颈?虚拟主机是否必须通过 1Gbps NIC 然后环回,或者它们能否以某种方式进行内部通信?我是不是搞反了?
我不指望得到一步一步的答案,但如果能提供一个带有链接的一般性建议来指引我正确的方向,我将非常感激。
答案1
对于仅有一对节点的情况,Ceph 和 ClusterFS 都没有任何意义。坚持使用 DRBD 就好了。
https://www.linbit.com/en/products-and-services/drbd/
Ceph 在节点较多时才有意义,因为您需要多个 OSD 来将数据宽条带化到多个较慢的“构建块”之间。从这个角度来看,GlusterFS 略“好”一些,但并不明显。