Linux集群文件系统

我目前有两个CentOS盒子为多个Web服务器提供NFS服务。

有人可以推荐一个文件系统,可以轻松高效地在这两个服务器上镜像所有文件吗?

过去我曾经使用过DRBD,但是这种方法的缺点是一次只能安装在一个系统上。

我不知道使用免费软件有一对两个活动NFS服务器导出整个单一的群集文件系统。 如果您尝试实现冗余,则可以按照Red Hat的configuration示例-GFS over NFS (也请参阅集群pipe理 )设置一个集群文件系统和一对主动/被动NFS服务器。 这给你故障转移,但它不容易或高效。 如果您将集群视为提高性能的一种方式,则会退步,因为您已经从两台活动NFS服务器迁移到另一台活动NFS服务器,并且您拥有集群文件系统的开销。

EG / gfs是安装在server1和server2上的集群文件系统。 server1被挂载/ gfs的所有NFS客户端使用。 如果失败,他们将被透明地切换到server2。

另一种方法是有一个单一的集群文件系统,但每个服务器只能导出它的一部分。 您不必使用单个主动/被动对,而是拥有两个NFS资源,并且每个服务器都处于活动状态。 这不会增加你的性能,但是它会减less你当前设置的性能,因为它可以让两个NFS服务器保持活动状态。

EG / gfs是安装在server1和server2上的集群文件系统。 它分为两个目录,al和mz。 server1被挂载/ gfs / al的所有NFS客户机使用。 如果失败,他们将被透明地切换到server2。 server2被挂载/ gfs / mz的所有NFS客户端使用。 如果失败,他们将被透明地切换到server1。

上面的调整将使用两个DRBD资源,而不是一个集群文件系统。 这可能更容易设置,特别是如果你已经熟悉DRBD。

我真的推荐Gluster 。 这是OpenSource,有据可查,最近RedHat购买了它。 它具有相对较好的性能,而且由于现在是RedHat项目,在CentOS上得到了很好的支持。 还有一个名为HekaFS的项目,其目标是通过添加SSL和其他好处来扩展glusters身份validation和安全function。 这是非常简单,非常好的devise。 它配备了相当不错的pipe理工具。

结帐OCFS2: http : //oss.oracle.com/projects/ocfs2/

干杯

许多人编写了完整的选项列表,包括商业和免费的共享和非共享磁盘。 有维基百科条目涵盖了高层集群文件系统的概念,在这里是一个详尽的文件系统列表 。

这听起来像你正在使用非共享存储使用本地磁盘到每个系统。 您可能需要两台主机之间的专用networking连接,以便同步stream量不会干扰您的正常Web应用程序。

现在我真正的问题是,现在你有两个独立的文件系统,你可能想把它们合并成一个可靠,性能更好的文件系统,而不会导致你的网站停机。 困难的问题是,你将把你的存储空间减less一半,你将不得不经过这些步骤的一些变化:

  • select您select的文件系统
  • build立一个testing平台,让你可以练习; 尽可能复制networking
  • 首先testing您在练习系统中看到的所有内容,以减less停机时间和错误
  • 将所有数据迁移到一个NFS服务器
  • 一个NFS服务器现在提供这两个地址
  • 第二台机器成为新的集群文件系统的第一个节点
  • 所有来自NFS的数据都被复制到新的文件系统中
  • 客户端迁移到新群集开始
  • 数据从NFS连续迁移到集群文件系统,直到所有客户端都在线
  • 删除NFS文件系统
  • 重build现在未使用的服务器并将其join群集
  • 确保复制和/或负载平衡按计划运行
  • 通过断开群集的原始节点来testing系统,并确保客户端保持运行

如果你唯一的客户是几台networking服务器,那么它可能并不是真的坏。 您还可以通过各种协议(如FTP,Samba,SSH / SCP,NFS)继续访问群集文件系统。

一个重要的技巧 – 集群文件系统为活动数据库的数据库文件提供了一个糟糕的存储位置。 如果这适用于您,请使用特定于您的数据库引擎的群集技术。

迁移到新的文件系统绝非易事。 祝你好运,select你的底层文件系统,并把它放进去。

我已经看到GFS2( http://en.wikipedia.org/wiki/Global_File_System )正在运行。 你可以很容易地得到10台机器访问它,只要你不扔在它的使用量的淫秽的数量超过了。