本篇文章2278字,读完约6分钟
负荷分散是一项困难的任务。 在许多情况下,为了共享文件系统,必须使用互联网文件系统( nfs )等机制为数据提供中心地址。 虽然安全机制可以防止web服务器节点发生故障,但是必须通过中央存储节点共享数据。
——作为——linux免费集群文件系统的gfs (全局文件系统,无需依赖其他服务器即可创建真正稳定的集群。 本副本将演示如何正确设置gfs。
从概念上讲,一个群集文件系统可以允许多个操作系统加载同一文件系统,同时将数据写入同一文件系统。 目前有多个群集文件系统,包括sun的lustre、oracle的oracle群集文件系统( ocfs )和linux的gfs。
有多种方法可以让一个块设备在多个服务中使用。 对多个服务器可见的san (存储LAN ) lun进行分区,并设置适当的iscsi )网络小计算机系统接口,或使用drbd (分布式复制块设备对两台 采用drbd时,需要在主/主节点上安装drbd,采用gfs。
gfs的要求
运行gfs意味着正在运行集群。 迄今为止,运行gfs最简单的方法是采用redhatclustersuite(rhcs:redhat集群套件)。 这个工具包在centos上。 此外,还需要以下软件包: cman——集群管理器; 使LVM2-cluster—LVM (逻辑卷管理器)能够支持集群的clvm )软件包; kmod-gfs——gfs内核模块; 最后是gfs-utils。
群集管理器( cman )包含所需的工具,如分布式锁定管理器。 除非您想花点时间看看各种不同的版本是如何使用cman的,否则强烈建议您使用centos或rhel .。 此外,还可以享受RH(redhat )维护的各种最新版本的集群服务。 此外,还可以获得相对稳定的环境。
绝对需要“阻止”机制。 对于稍具指导意义的副本,建议将阻止模式设置为“手动”。 这是因为区块设定可能会变得复杂。 切断是指在集群内进行隔离,或者立即中断某些危险节点的动作。 如果群集无法阻止发生故障的节点,则gfs会出现许多问题。 不要跳过这个步骤。
创建群集设置
/etc/cluster/上的cluster.conf可以完成大部分的集群设置。 不建议使用各种群集管理APP程序来创建此配置文件。 即使是完全支持的rhel APP (如两个月前发布的conga ),也经常会生成稍微无效的cluster.conf文件,而未被所需的服务解析。
以下是cluster.conf文件的示例。 该配置文件使用漂亮的xml样式,其副本非常直接。 首先,给集群命名。 将该集群称为“web.1”。
首先跳过fence daemon选项,下一部分是集群主体的设置副本。 需要在群集节点部分定义两个节点。 配置文件存储在两个节点上,这样两个节点就可以了解彼此的情况。
集群中的每个节点都声明阻塞方法的名称是唯一的。 请注意,在clusternames结束标签下,fencedevice部分定义了各节点如何阻止其他节点。 最好的方法是采用支持智能平板管理接口( IPMI )的服务器,其设置也相当简单。 只要告诉ipmi的位置和登录方法就可以了。 为了不在cluster.conf中保留密码,可以指向根拥有的脚本,然后从该脚本返回密码。
另外,请注意在设置中定义了两个节点。 这是必须的。 一般来说,这是因为除非大多数节点同意自己的状态,否则群集将无法达到“quorate”状态。 如果只有两个节点,则群集只能在两个节点下工作,不能只在一个节点上工作,因此不会肯定许多。 这是设置基本集群所需的方法。
在每个节点上运行“service cman start”后,系统应该开始正常工作。 可以检查“clustat”或“cman nodes”,确认节点是否正常工作。 需要的部分没有启动时,集群不显示“quorate”状态。
gfs的设定
首先,需要对clvm进行设定,以便可以在gfs中采用lvm。 要启用clvm,只需在lvm.conf中设置“锁定类型= 3”即可。
然后,照常创建lvm卷组和卷,但使用共享块设备。 如果使用的是drbd,则可能使用/dev/drbd0。 创建物理卷,创建一个名为vg01的卷组,然后创建一个名为/dev/vg01/web1的逻辑卷。
最后,需要创建文件系统。
GFS _ mkfs-t web1:我的GFS-plock _ dlm-j2/ dev/vg01/web 1
为-t指定的名称必须是群集的名称,后跟为此文件系统指定的名称。 只有web1群集的成员可以加载此文件系统。 下面,设置分布式锁定管理器的锁定类型,并指出需要两个日志(因为这是一个双节点群集)。 如果预计将来会有越来越多的节点,则此时必须设置足够高的日志数。
总结
我们现在可以开始采用这个文件系统了。 在两个节点上启动“clvmd”和“gfs”服务。 现在,您可以通过将“-t gfs”指定为gfs类型来加载文件系统。
启动之前,请务必设置cman、clvmd和gfs服务。 最好熟悉clustat和gfs_tool命令。 因为当系统发生问题时,可以使用这些命令来查找问题。
不要期待gfs会变快。 如果存在正在进行大量写入的节点,则在访问文件系统时通常会出现暂停。 这对于数据读取操作远远多于数据写入操作的web集群来说不是问题。 如果有明显的延迟,首先检查所有组件的状况,判断正在写入的数据。 防止延迟的最常见措施是确保http会话中的数据没有写入到gfs卷中。
标题:“怎么利用Linux和GFS打造集群存储?”
地址:http://www.sdsxywx.com/sdss/4645.html