一、主机列表
主机:
10.167.33.11 host1
10.167.33.12 host2
host1 host2为GFS节点
host1同时担当gnbd服务器导出/dev/sda3分区(如果有san存储的,且gfs节点较少的话就不用gnbd服务器了)
二、安装所需的软件包
在两台主机上安装以下软件包:
安装新内核(因为没有旧内核RPM包)
rpm -ivh kernel-smp-
重启服务器使用新的内核.
安装gnbd内核模块
rpm -ivh
gnbd-kernel-smp-
安装gnbd工具包
一、主机列表
主机:
10.167.33.11 host1
10.167.33.12 host2
host1 host2为GFS节点
host1同时担当gnbd服务器导出/dev/sda3分区(如果有san存储的,且gfs节点较少的话就不用gnbd服务器了)
二、安装所需的软件包
在两台主机上安装以下软件包:
安装新内核(因为没有旧内核RPM包)
rpm -ivh kernel-smp-
重启服务器使用新的内核.
安装gnbd内核模块
rpm -ivh
gnbd-kernel-smp-
安装gnbd工具包
rpm -ivh magma-
rpm -ivh gnbd-
安装rhcs(redhat集群套件)软件包
rpm -ivh ccs-
rpm -ivh gulm-
rpm -ivh magma-plugins-
rpm -ivh rgmanager-1.9.80-1.x86_64.rpm
rpm -ivh cman-kernel-smp-
rpm -ivh cman-
rpm -ivh dlm-kernel-smp-
rpm -ivh dlm-
rpm -ivh iddev-
rpm -ivh GFS-
rpm -ivh GFS-kernel-smp-
rpm -ivh
pexpect-2.3-1.el4.noarch.rpm
rpm -ivh
seamonkey-nspr-
rpm -ivh
seamonkey-nss-
rpm -ihv
perl-Net-Telnet-3.03-3.noarch.rpm
rpm -ivh fence-1.32.63-1.el4_6.1.x86_64.rpm
rpm -Uvh device-mapper-
rpm -Uvh lvm2-
rpm -ivh lvm2-cluster-
三、配置并启动集群
编辑集群配置文件,集群名为cluster1,定义两个节点,一个fence设备(因为没有隔离设备,此处为手动隔离.)
vi /etc/cluster/cluster.conf
<?xml
version="1.0"?>
<cluster
name="cluster1"
config_version="1">
<cman
two_node="1" expected_votes="1">
</cman>
<clusternodes>
<clusternode
name="host1"
votes="1">
<fence>
<method
name="single">
<device
name="human"
ipaddr="10.167.33.11"/>
</method>
</fence>
</clusternode>
<clusternode
name="host2"
votes="1">
<fence>
<method
name="single">
<device
name="human"
ipaddr="10.167.33.12"/>
</method>
</fence>
</clusternode>
</clusternodes>
<fence_devices>
<fence_device
name="human"
agent="fence_manual"/>
</fence_devices>
</cluster>
将上面的配置文件copy到集群的节点中去.
启动ccsd
[root@host2
~]#service
ccsd start
测试
[root@host2 ~]#
ccs_test connect
Connect successful.
Connection descriptor = 30
加载dlm模块
[root@host1 cluster]#modprobe lock_dlm
[root@host1
cluster]# cman_tool join
查看集群中的节点:
[root@host2 ~]# cat /proc/cluster/nodes
Node Votes Exp Sts
Name
1
1
2
1
四、启用GNBD服务器,导出分区
在host1上启用gnbd服务
[root@host1
cluster]# gnbd_serv -v -n
gnbd_serv: startup
succeeded
在hosts1上导出分区/dev/sda3,设备名为gfs
[root@host1 cluster]# gnbd_export -v -e gfs -d /dev/sda3 -c
gnbd_export: created
GNBD gfs serving file /dev/sda3
五、加载分区、创群加载GFS文件系统
在集群的节点上加载gnbd内核模块:
[root@host1
cluster]# modprobe gnbd
在集群节点host1上从gnbd服务器host1导入分区(此处host1担当两个角色,一个是集群节点,一个是gnbd服务器)
[root@host1 cluster]#
gnbd_import -v -i host1
gnbd_import: created
directory /dev/gnbd
gnbd_import: created
gnbd device gfs
gnbd_recvd:
gnbd_recvd started
查看已导入的分区:
[root@host1
cluster]# gnbd_import -v -l
Device name : gfs
----------------------
Minor # : 0
sysfs name : /block/gnbd0
Server : host1
Port : 14567
State : Close Connected Clear
Readonly : No
Sectors : 469965510
加载gfs内核模块,并在/dev/gnbd/gfs上创建gfs文件系统.
[root@host1
cluster]# modprobe gfs
[root@host1
cluster]# gfs_mkfs -p lock_dlm -t cluster1:gfs -j 2 /dev/gnbd/gfs
This will destroy
any data on /dev/gnbd/gfs.
It appears to contain a EXT2/3 filesystem.
Are you sure you
want to proceed? [y/n] y
Device: /dev/gnbd/gfs
Blocksize: 4096
Filesystem
Size: 58673864
Journals: 2
Resource
Groups: 896
Locking
Protocol: lock_dlm
Lock Table: cluster1:gfs
Syncing...
All Done
启动fenced服务(用于隔离失效的集群节点)
[root@host2 ~]#
service fenced start
Starting fence
domain: [ 确定
]
加载gfs文件系统
[root@host2 ~]#
mount -t gfs /dev/gnbd/gfs /mnt/
[root@host2 ~]# df
Filesystem 1K-块 已用
可用 已用% 挂载点
/dev/sda1 5036284 2551828
2228624 54% /
none 1669860 0
1669860 0% /dev/shm
/dev/gnbd/gfs 234695456 108 234695348 1% /mnt
六、相关资料
1、安装system-config-cluster-
system-config-cluster配置生成
2、软件包的下载地址:
rhcs和gfs的rpm包可以从以下地址下载:
http://mirror.centos.org/centos/4/csgfs/x86_64/RPMS/
rhcs项目主页(提供源码下载):
http://sources.redhat.com/cluster/wiki/
3、涉及到的服务:
ccs 集群配置系统,用于创建,将配署信息传递给集软件。
fence 用于隔离失效的节点
rgmanager 资源组管理系统,查看,管理集群资源
clvmd 集群逻缉卷管理
4、小贴示:
A、为什么在GFS文件系统中df和ls -l这么慢?
这依赖于有多少正在发生的访问请求。对
df 完成所有的节点,它需要更新缓存里保存的任何信息。在任何诸如 ls -l 等状态操作时也是这样。集群中所有的节点必须向磁盘写入数据以便得到的信息是正确的。
B、GFS通过卷管理器池支持Raid0
C、我应该如何对GFS性能调优?
在较少的大文件和较少的争用的环境下GFS性能最好,读写操作越多,集群中的节点之间越独立,性能就越好。这不是说偏离此模型,将会发生性能恶化。然而,如果你有成千上万的小文件不断在集群中的不同节点之间改变,你可以确信性能将会收到影响,因为文件系统不得不在节点之间"乒乓"锁定。
GFS文件系统性能调优就像在对称多处理器上对应用程序进行性能调优。有时,配额限制和锁定能降低整个应用的吞吐量。通过仔细的计划,花在配额限制和锁定上的时间可以最小化,应用的性能可以远远超过单处理器达到的性能。如果可能的话,调谐GFS文件系统使节点在文件系统中分开的部分工作。从不同的节点往同一个目录创建很多文件会损害GFS的性能,因为目录锁需要反复传递。可以尝试把这个单个目录分解到多个目录。还有很多方法改善GFS性能,一些可以在不工作时执行,而其他必须在事前就计划好。如果你对怎么做感到疑惑而且希望达到最大可用性能,可以考虑使用红帽专业服务指导你。
5、通过gfs_grow可以扩展文件系统大小
6、配置和管理redhat集群(rhcs)
http://www.redhat.com/docs/manuals/csgfs/browse/4.6/Cluster_Administration/index.html
7、可以充当fence设备的有:IPMI lan(服务器的一个管理口) HP ILO 手动fence等
配置redhat集群的过程
system-config-cluster
创建一个集群
创建一个fence
创建两个节点
创建域
drbd 实现网络raid1
gfs 实现raid0
clvmd 实现集群逻辑卷管理
gnbd 可以将块设备导出
虚拟机安装drbd
rpm -ivh drbd-
rpm -ivh kmod-drbd-smp-

发表评论