更换 GFS 集群的建议?

Mat*_*nco 5 nfs cluster distributed-filesystem

我有几个 CentOS GFS 集群(全局文件系统中的 GFS),使用光纤通道 SAN 中的共享磁盘。他们现在已经成熟了,是时候开始计划更换他们了。

它们是奇数个节点(3 或 5),并使用 APC (PDU) 电源开关设置故障节点的隔离。节点全部处于活动状态,并且在同一共享文件系统上同时读写。文件系统很小,目前还不到 1 TB,并且永远不会增长到超过商用硬盘驱动器的大小。

我有两个专有的 IP 地址资源,当节点关闭时它们会重新定位。(3 节点集群上为 1)。一切都运行良好,但当活动较多时,性能不是很好。

那么,我可以在下一代集群中做哪些不同的事情呢?

我需要的是服务正常运行时间和数据可用性。也可能具有可扩展性,但可能不会。我预计负载不会增加太多。我还需要能够像常规文件系统上的常规文件一样读写文件。不需要配额或 ACL。只是常规的 unix 权限、所有权、mtime、字节大小,以及以在除 1 个节点之外的所有节点上失败的方式创建锁定文件的能力ln(如果他们同时尝试的话)。

我不想增加物理服务器的数量(这意味着我想使用实际服务器本身的存储)。

这不是强制性的,但我认为如果我不依赖共享磁盘,那就太好了。在过去的 5 年里,我经历了两起企业级 SAN 存储不可用的事件,因此无论这种情况多么不可能,我都希望能领先一步。

由于正常运行时间非常重要,因此 1 台物理服务器和 1 个正在运行的内核太少了。虚拟机依赖于我们环境中的 SAN。

到目前为止我的想法:

  • 所有节点都可以是普通的 NFSv3 客户端(会ln按照我期望的方式工作吗?那么 NFS 服务器是什么?)
  • Ceph与 CephFS(FS 何时可以投入生产?)
  • XtreemFS(与 Ceph 相比,为什么有关它的文章如此之少?)

如您所见,我对分布式存储感兴趣,但需要经验丰富的专家的建议。特别欢迎有关 Ceph 或 XtreemFS 的建议或建议。这不是具有疯狂带宽需求的 HPC。只需要旧解决方案的可用性和可靠性,并希望具有灵活性,最好是比当前解决方案“更好”的配置。

编辑(参见 Nils 评论) 我考虑更换此解决方案的主要原因是我想看看是否可以消除 SAN 存储柜的单点故障。或者我应该使用 LVM 镜像将数据保存在同一 SAN 结构中的两个不同存储系统上?我认为两个 FC-HBA 和双交换机应该足够了。

小智 3

Ceph和GlusterFS是集群FS技术目前的发展方向。由于我对 GlusterFS 不熟悉,所以我将谈谈 Ceph 的功能。

Ceph 水平扩展;添加的低端节点越多,性能就越好。与 GlusterFS 不同,这是 Ceph 的主要优势,因为它对数据进行分片。

然而,Ceph 正在积极开发中(除了 Ceph FS 之外,它已经做好了生产准备),并且需要一个现代内核(在我写这篇文章时,甚至 CentOS 6.5 默认内核也无法利用 RBD/CephFS 功能)。为了解决这个问题,我安装了 ELRepo kernel-lt

为您分解一下:

  • Cephs RBD 是集群 SAN 的替代品;您可以创建集群中并可以安装在服务器上的“虚拟”设备。注意:一次只能在一台服务器上安装 RBD 映像(您不希望多个操作系统安装 SATA 驱动器,是吗?)。mount然后,您将像平常一样格式化 RBD 磁盘,然后让 NFS/CIFS 使其可用。如果提供 NFS/CIFS 的服务器出现故障,则不会丢失数据。
  • Ceph FS 是集群 NAS 的替代品(尽管尚未准备好投入生产);它提供了在服务器(例如 Web 服务器)之间共享的集群 FS 所需的文件锁定功能。

RBD运行在内核空间;所以不存在保险丝性能受到影响的情况。Ceph FS 也运行在内核空间中,但可以与 FUSE 一起运行。

Ceph 也非常容易部署:

  1. pip install ceph-deploy在管理节点(您的桌面/工作站)上。
  2. 添加 Inktank RPM 存储库并ceph-deploy install node1 node2 ... nodeN在所有节点上安装 ceph。