GFS(RedHat Global File System)的安装

| 暂无评论 | 暂无引用通告

一、主机列表

主机:

10.167.33.11            host1

10.167.33.12            host2

host1 host2GFS节点

host1同时担当gnbd服务器导出/dev/sda3分区(如果有san存储的,gfs节点较少的话就不用gnbd服务器了)

 

二、安装所需的软件包

在两台主机上安装以下软件包:

安装新内核(因为没有旧内核RPM)

rpm -ivh kernel-smp-2.6.9-78.0.1.EL.x86_64.rpm

 

重启服务器使用新的内核.

 

安装gnbd内核模块

 rpm -ivh gnbd-kernel-smp-2.6.9-10.50.el4.centos.1.x86_64.rpm

 

安装gnbd工具包

一、主机列表

主机:

10.167.33.11            host1

10.167.33.12            host2

host1 host2GFS节点

host1同时担当gnbd服务器导出/dev/sda3分区(如果有san存储的,gfs节点较少的话就不用gnbd服务器了)

 

二、安装所需的软件包

在两台主机上安装以下软件包:

安装新内核(因为没有旧内核RPM)

rpm -ivh kernel-smp-2.6.9-78.0.1.EL.x86_64.rpm

 

重启服务器使用新的内核.

 

安装gnbd内核模块

 rpm -ivh gnbd-kernel-smp-2.6.9-10.50.el4.centos.1.x86_64.rpm

 

安装gnbd工具包

rpm -ivh magma-1.0.8-1.x86_64.rpm

rpm -ivh gnbd-1.0.9-1.x86_64.rpm

安装rhcs(redhat集群套件)软件包

rpm -ivh ccs-1.0.12-1.x86_64.rpm

rpm -ivh gulm-1.0.10-0.x86_64.rpm

rpm -ivh magma-plugins-1.0.14-1.x86_64.rpm

rpm -ivh rgmanager-1.9.80-1.x86_64.rpm

rpm -ivh cman-kernel-smp-2.6.9-55.13.el4.centos.1.x86_64.rpm

rpm -ivh cman-1.0.24-1.x86_64.rpm

rpm -ivh dlm-kernel-smp-2.6.9-54.11.el4.centos.1.x86_64.rpm

rpm -ivh dlm-1.0.7-1.x86_64.rpm

rpm -ivh iddev-2.0.0-4.x86_64.rpm

rpm -ivh GFS-6.1.18-1.x86_64.rpm

rpm -ivh GFS-kernel-smp-2.6.9-80.9.el4.centos.1.x86_64.rpm

 

 

rpm -ivh pexpect-2.3-1.el4.noarch.rpm

rpm -ivh seamonkey-nspr-1.0.3-0.el4.1.x86_64.rpm

rpm -ivh seamonkey-nss-1.0.3-0.el4.1.x86_64.rpm

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-1.02.25-2.el4.i386.rpm --force

rpm -Uvh lvm2-2.02.37-3.el4.x86_64.rpm

rpm -ivh lvm2-cluster-2.02.37-3.el4.x86_64.rpm

 

 

三、配置并启动集群

编辑集群配置文件,集群名为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    1   M   host1

   2    1    1   M   host2

 

四、启用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-1.0.54-2.0.noarch.rpm,可以通过图形程序

system-config-cluster配置生成

2、软件包的下载地址

rhcsgfsrpm包可以从以下地址下载:

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文件系统中dfls -l这么慢?

    这依赖于有多少正在发生的访问请求。对 df 完成所有的节点,它需要更新缓存里保存的任何信息。在任何诸如 ls -l 等状态操作时也是这样。集群中所有的节点必须向磁盘写入数据以便得到的信息是正确的。

BGFS通过卷管理器池支持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-0.7.25-1.el4.centos.i386.rpm

rpm -ivh kmod-drbd-smp-0.7.25-2.2.6.9_78.0.1.EL.i686.rpm

 


暂无引用通告

发送引用通告网址: http://supersun.biz/mt/mt-tb.cgi/891
如果您想引用这篇日记到您的Blog,请复制上面的链接,放置到您发表文章时的相应界面中。

发表评论

关于此日记

此日记由 supersun 发表于 2008年11月10日 17:39

此Blog上的上一篇日记限制根用户可以登陆的终端

此Blog上的下一篇日记编译内核的步骤

首页归档页可以看到最新的日记和所有日记。