应用解析:利用Linux和GFS打造集群存储

  负载均衡是一项困难的任务。我们经常需要通过nfs(网络文件系统)或其他机制来为数据提供中心地址,从而共享文件系统。虽然你的安全机制可能可以让你免于web服务器节点的故障,但是你仍然需要通过中央存储节点来共享数据。

  通过gfs(全局文件系统)linux的一个免费集群文件系统你可以创建一个不需要依赖其他服务器的真正稳定的集群。在这篇文章中,我们将展示如何正确地设置gfs.

  从概念上来说,一个集群文件系统可以允许多个操作系统载入同一个文件系统并可以在同一时间内向同一文件系统写入数据。现在有许多集群文件系统,包括sun的lustre,Oracle的ocfs(oracle集群文件系统),以及linux的gfs.

  有许多方法可以让一个块设备同时被多个服务器所使用。你可以分区出一个对多个服务器都可视的san(存储局域网)lun(逻辑单元号),设置好相应的iscsi(互联网小型计算机系统接口),或使用drbd(分布式复制块设备)在两台服务器之间复制一个分区。在使用drbd的时候,你将需要在主/主节点中设置好drbd以使用gfs.

  gfs要求

  运行gfs意味着你在运行一个集群。目前为止,运行gfs的最简单的手段就是使用Red Hat cluster suite(rhcs:red hat集群套件)。这个套件在CentOS中就有。此外,还需要下面这些包:cman集群管理器;lvm2-cluster使lvm(逻辑卷管理器)可以支持集群的clvm(集群逻辑卷管理器)包;kmod-gfsgfs内核模块;最后是gfs-utils.

  集群管理器(cman)包含必要的工具,比如分布式锁管理器。除非你希望花时间来确认各种不同的分发版本是如何采用cman的,否则我们强烈推荐使用centos或rhel.同时,你还将获得rh(red hat)所维护的各种最新版本的集群服务,此外你还可以获得一个比较稳定的环境。

  fencing(阻绝)机制是绝对必要的。一些指导性文章建议将阻绝模式设定成手动,因为阻绝设置有可能比较复杂。阻绝意味在集群中进行隔离,或马上中断某些危险节点的运作。如果集群无法阻绝某个发生故障的节点,那么你的gfs将会出现很多问题,因此不要跳过这个步骤。

  创建集群设置

  你可以通过/etc/cluster/里面的cluster.conf完成大部分的集群设置。我不建议使用各种集群管理应用程序来创建这个设置文件。即使是完全支持的rhel应用程序,比如两个月前发布的conga,也经常会创建一些无效的cluster.conf文件,并且无法被必要的服务所解析。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/de68267eedcb95b12e2b8c60f1e60197.html