基本拓扑图:

一:安装rhcs所需的rpm包
安装可有脚本完成,脚本如下:
#!/bin/sh
rpm -ivh cman-kernel-2.6.9-39.5.i686.rpm
rpm -ivh cman-kernel-hugemem-2.6.9-39.5.i686.rpm
rpm -ivh cman-kernheaders-2.6.9-39.5.i686.rpm
rpm -ivh cman-kernel-debuginfo-2.6.9-39.5.i686.rpm
www.ixdba.net
rpm -ivh cman-kernel-smp-2.6.9-39.5.i686.rpm
rpm -ivh magma-1.0.1-4.i686.rpm
rpm -ivh magma-devel-1.0.1-4.i686.rpm
rpm -ivh magma-debuginfo-1.0.1-4.i686.rpm
rpm -ivh dlm-kernel-2.6.9-37.7.i686.rpm
rpm -ivh dlm-kernel-debuginfo-2.6.9-37.7.i686.rpm
rpm -ivh dlm-kernel-smp-2.6.9-37.7.i686.rpm --nodeps
rpm -ivh dlm-kernel-hugemem-2.6.9-37.7.i686.rpm --nodeps
rpm -ivh dlm-kernheaders-2.6.9-37.7.i686.rpm
rpm -ivh dlm-1.0.0-5.i686.rpm --nodeps
rpm -ivh dlm-debuginfo-1.0.0-5.i686.rpm
rpm -ivh dlm-devel-1.0.0-5.i686.rpm
rpm -ivh ccs-*
rpm -ivh gulm-*
rpm -ivh magma-plugins-*
rpm -ivh cman-1.0.4-0.i686.rpm
rpm -ivh cman-debuginfo-1.0.4-0.i686.rpm
rpm -ivh cman-devel-1.0.4-0.i686.rpm
rpm -ivh perl-Net-Telnet-3.03-1.2.el4.rf.noarch.rpm
rpm -ivh fence-*
rpm -ivh iddev-*
rpm -ivh piranha-* --nodeps
rpm -ivh rgmanager-*
rpm -ivh system-config-cluster-1.0.16-1.0.noarch.rpm
rpm -ivh GFS-kernel-2.6.9-42.1.i686.rpm
rpm -ivh GFS-kernheaders-2.6.9-42.1.i686.rpm
rpm -ivh GFS-kernel-debuginfo-2.6.9-42.1.i686.rpm
rpm -ivh GFS-kernel-smp-2.6.9-42.1.i686.rpm --nodeps
rpm -ivh GFS-kernel-hugemem-2.6.9-42.1.i686.rpm --nodeps
rpm -ivh GFS-6.1.2-0.i386.rpm
rpm -ivh GFS-debuginfo-6.1.2-0.i386.rpm
rpm -ivh gnbd-kernheaders-2.6.9-9.12.i686.rpm
rpm -ivh gnbd-kernel-2.6.9-9.12.i686.rpm
rpm -ivh gnbd-kernel-debuginfo-2.6.9-9.12.i686.rpm
rpm -ivh gnbd-kernel-smp-2.6.9-9.12.i686.rpm --nodeps
rpm -ivh gnbd-kernel-hugemem-2.6.9-9.12.i686.rpm --nodeps
rpm -ivh gnbd-1.0.1-1.i686.rpm
rpm -ivh gnbd-debuginfo-1.0.1-1.i686.rpm
rpm -ivh lvm2-cluster-*
rpm -ivh ipvsadm-*
二、修改各个节点上的/etc/hosts文件(每个节点都一样)
如下:
[root@gfs-node01 etc]# cat hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 gfs-node01 localhost.localdomain localhost
192.168.60.133 gfs-node01
192.168.60.135 gfs-node02
192.168.60.133 gnbd-server
[root@gfs-node01 etc]#
备注:我把gnbs-server和node01放在了同一台server上,实际运行如果有条件的话中最好分开
三、在gnbd-server(此例也就是node1)上进行分区
#dmesg |grep scsi察看scsi设备,如下:
[root@gfs-node01 ~]# dmesg|grep scsi
scsi0 : ioc0: LSI53C1030, FwRev=00000000h, Ports=1, MaxQ=128, IRQ=9
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
scsi1 : ioc1: LSI53C1030, FwRev=00000000h, Ports=1, MaxQ=128, IRQ=11
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
说明认出了两个scsi设备,一个是系统盘,一个是共享存储盘,接着用fdisk进行分区,注意,只进行分区,不要格式化,在这里我使用fdisk分了一个大小为2G的分区, /dev/sdb1即是。
[root@gfs-node01 ~]#fdisk -l
Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 140 1020127+ 82 Linux swap
/dev/sda3 141 522 3068415 83 Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 261 2096451 83 Linux
四、运行system-config-cluster进行配置
(注视“因为system-config-cluster需要X-windows运行,所以第一次测试时安装了X-windows,实际配置时候只需要创建一个/etc/cluster目录,然后根据下面的cluster.conf文件进行修改即可)
增加两个节点,节点的权置全部设置为1,即Quorum值设置为1
两个节点的名称为:
gfs-node01
gfs-node02
修改cluster.conf文件,如下:
[root@gfs-node01 ~]# cat /etc/cluster/cluster.conf
<?xml version="1.0"?>
<cluster config_version="1" name="alpha_cluster">
<fence_daemon post_fail_delay="0" post_join_delay="3"/>
<clusternodes>
<clusternode name="gfs-node01" votes="1">
<fence>
<method name="1">
<device name="F-Man" nodename="gfs-node01" ipaddr="192.168.60.133"/>
</method>
</fence>
</clusternode>
<clusternode name="gfs-node02" votes="1">
<fence>
<method name="1">
<device name="F-Man" nodename="gfs-node02" ipaddr="192.168.60.135"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman/>
<fencedevices>
<fencedevice agent="fence_manual" name="F-Man"/>
</fencedevices>
<rm>
<failoverdomains>
<failoverdomain name="web_failover" ordered="1" restricted="0">
<failoverdomainnode name="gfs-node01" priority="1"/>
<failoverdomainnode name="gfs-node02" priority="2"/>
</failoverdomain>
</failoverdomains>
</rm>
</cluster>
[root@gfs-node01 ~]#
使用scp命令把这个配置文件copy到02节点上
五、 在01/02节点上启动dlm,ccsd,fence等服务
5.1、在两个节点上加载dlm模块
[root@gfs-node01 cluster]# modprobe lock_dlm
[root@gfs-node02 cluster]# modprobe lock_dlm
5.2、启动ccsd服务
[root@gfs-node01 cluster]# ccsd
[root@gfs-node02 cluster]# ccsd
5.3、在两个节点上启动集群管理器(cman)
root@one # /sbin/cman_tool join