Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184306
  • 博文数量: 65
  • 博客积分: 2283
  • 博客等级: 大尉
  • 技术积分: 715
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-18 17:00
文章分类

全部博文(65)

文章存档

2011年(5)

2010年(20)

2009年(24)

2008年(16)

分类: LINUX

2009-12-23 18:12:37

非商业性使用
许可人允许他人复制、发行、展览、表演、放映、广播或者通过信息网络向公众传播本作品。但是,除非取得许可人同意,被许可人不得将本作品用于商业目的。

相同方式共享
许可人只允许他人采用与自己的作品所使用的协议相同的许可协议,来发行演绎作品。

Kevinzou(kissingwolf@gmail.com)
分发此文时,请保留上述文字!

1. Redhat Cluster Suite 历史
大概在1996年,红帽公司开发出第一组集群套件,其中主要是管理集群协作服务。这相当于现在的rgmanager。

从1997年至2003年,在美国明尼苏达大学西斯蒂纳软件研制的集群文件系统被从一个项目分拆出来,从而成为全球文件系统,GFS,将其出售给顾客。

在2004年,红帽公司收购了西斯蒂纳,兼并且将GFS纳入其集群套房,并完全开放其原始码。

今天,集群项目开源共享于大众,并通过红帽的cvs库免费提供给公众。开放源代码社区继续完善和发展集群项目,并延伸出新的集群技术和基础设施,如openais 。

2.RedHat Cluster Suite 中包括那些套件

该集群项目在许多不同的领域涉及到发展,包括:

*CCS-集群配置系统,以管理c luster.conf档案
*集群套房部署工具-图形化工具,部署集群中多个机器
* CLVM -集群扩展到LVM2可扩展逻辑盘管理工具
* CMAN -集群管理器
* Conga -图形界面-集群管理器
* DLM-分布式锁管理器
*Fence-输入/输出系统围栏系统
*GFS * -共享磁盘簇文件系统(全球文件系统)
* GFS2 * -共享磁盘簇文件系统(全球文件系统2 )
* GNBD -内核模块,多机网络共享块设备管理器
* GULM -基于服务器的集群冗余锁定管理器(替代CMAN和DLM)
* Openais -开源集群基础设施
*Magma-集群/锁定库用于g ulm和CMAN/DLM 的迁移
* RGmanager -资源组管理器,用来监督、启动和停止应用、服务和资源
*system-config-cluster-图形化工具来管理集群中的多个机器


3. 如何使用"正确的方式"来传播cluster.conf文件到正在运行的集群?

在图形集群配置工具中可以简单的传播改变的cluster.conf到您的集群。system-config-cluster有一个大按钮叫 "Send to" 。如果你手工修改了你的cluster.conf文件,并将它传播到其余节点,按如下步骤处理:

1 。使用的你喜欢的编辑器编辑/etc/cluster/cluster.conf。
2 。告诉ccs的有关变化:
#ccs_tool update /etc/cluster/cluster.conf
3 。查出你cluster.conf文件的版本,现在从CMAN的角度来看:
cman_tool status | grep "Config version"
应该回显的东西是这样的:
Config version: 37
4 。通知你的CMAN更新cluster.conf 到一个较新的版本:
cman_tool version-r 38

注:rhel5类似, cman_tool - r 不再有必要作了。


4. 那些项可以进入cluster.conf文件中,它们的结构是怎么样的?

清单选项可以在如下链接中找到。我无法保证它是完整和全面的,但它的确相当接近



5.是否有什么的cluster.conf例子给我可以看看吗?
看看该文件的man页 cluster.conf ( 5 ) 。 另外还有一个小例子,在usage.txt档案中:





6.那些内核可以运行GFS?

GFS 6.0 集群代码运行于kernel 2.4.xx (RHEL 3 ) 。GFS 6.1代码运行于kernel 2.6.xx 系列 ( RHEL 4) 或其他同级内核的发行版。


7. Cluster Suite的源代码在那里?

Cluster Suite 的最新源代码存放在红帽cvs库中:
你可以通过如下cvs 命令得到整个源代码树:
#cvs -d :ext:sources.redhat.com:/cvs/cluster co cluster


8.如何从cvs中得到Cluster Suite 集群项目用于生产系统的稳定代码?

Cluster Suite 集群项目代码在Redhat 的 cvs 开发代码树中不断更替。如果你需要其稳定的版本,你可以使用如下cvs命令从cvs代码树中检出其最新稳定版本:
# cvs -d :ext:sources.redhat.com:/cvs/cluster co -r STABLE cluster


9.我需要什么样的硬件来运行Cluster Suite ?

这要看你使用的是哪些组件,如果你希望配置的是一个最基本的集群网络来完成检点的高可用性服务,你需要的是两个或两个以上的计算机和一个联网用的网络设备。如果你想使用GFS系统,你需要构建一个共享存储网络或是设备。


10. 目前Cluster Suite在实际应用中最大的集群节点数目是多少?

这是一个不断发展的数目,需要最新的资料才能确认。但是如果没有指名是何种最大的单一集群,在一个石油和天然气公司的生产项目中,包括了152个节点,直接作用于SAN( mcdata switch, qlogic的1 gb HBA ,LSI 储存)。这个客户在没有作大范围的改动下用这个集群近2年。(这个集群使用GULM锁)。

截至截稿时,我们并没有进行在GFS 6.1 DLM锁方式下测试超过的31个节点。


11. 在使用RedHat Cluster Suite时需要在iptables 放火墙中打开那些端口?

如下端口需要被打开:
41966 rgmanager/clurgmgrd tcp
41967 rgmanager/clurgmgrd tcp
41968 rgmanager/clurgmgrd tcp
41969 rgmanager/clurgmgrd tcp
50006 ccsd tcp
50007 ccsd udp
50008 ccsd tcp
50009 ccsd tcp
21064 dlm tcp
6809 (RHEL4 and under) cman (RHEL4 and under) udp
5405 (RHEL5 and above) openais (RHEL5 and above) udp
14567 gnbd tcp



12. Cluster Suite 在rhel4 和 rhel5 中有哪些区别?

Cluster Suite 集群软件并非针对任何linux发行版本而释放,但许多用户主要选择RHEL来运行它 。大部分用户在RHEL4上运行(或RHEL4相当于执行Contos)。所以大家可能想知道现在在RHEL4和RHEL5上运行有那些不同 。

这个清单不一定完全,仅为我知道的区别:

(1) RHEL5 中有一种新的基于网络的集群配置工具称为" Conga " 。 实际上,该计划是也内建释放到了rhel4 u5 中 。
(2)RHEL5 中的cluster.conf添加了新的" nodeid = x ",这个项目是每个节点定义必须的。 ( x是节点数目)
(3) RHEL4 中的CCS、CMAN和Fence 的init脚本在RHEL5 中被合并成一个单一的init脚本 --cman。 ( service cman start ), 不过由于用户不一定需要clvmd ,GFS ,rgmanager ,所以他们是单独init脚本启动。
(4) rhel5更新了 " locking_type = 3 "在/ etc / lvm的/ lvm.conf , 该逻辑卷管理器可以采取一种新的" locking_type = 3 " ,以图为集群和非集群卷选择适当锁。
(5) rhel5不在默认开启lock_gulm锁协议,鼓励用户使用DLM锁。
(6)新gfs2文件系统将提供作为"技术预览" (不准备生产) 出现在rhel5 中。

一些较少注意到内部的变化:

(1) 很多代码已经被从内核区域转移到用户区域,这样保证了系统完整和易于调试。
(2)添加了新的守护进程组: groupd, gfs_controld , dlm_controld 。
(3)新的集群基础设施是建立在openais集群技术之上的。
(4)openais利用组播而不是广播包,以便提高效率。
(5)dlm和gfs2现在包含在基础内核中(被吸纳到2.6.18以上内核 )。
(6)很多小的改进。

13. 我可以搭建一个即有rhel4节点又有rhel5节点的混合集群吗?

这肯定不是一个好主意,尽量避免在单一的集群中混合两种不同版本的系统。Cluster Suite 发展到rhel5 为止,目前有两种截然不同且独立的集群基础结构。老一辈( rhel4或其cvs检出STABLE 版本 )通过使用内核模块传递集群讯息(CMAN 或 gulm ) 。较新的基础结构( rhel5或其cvs检出HEAD版本 )通过使用openais并采用userland守护进程方式传递集群讯息。如果你尝试混合搭配两个,它是行不通的。

当然你也可以在RHEL5中检出CVS树中RHEL4可用的Cluster Suite 的STABLE版本,自行安装一个混合的集群,当然可能你需要重新编译RHEL5的内核让其支持老的集群讯息传递方式,也许会出问题,也许不会!这将是极其困难的,也许是不可能的,那么你要走另一条路了,即获得新的基础机构和openais,将其运行在一个RHEL4系统,以便能够在 rhel5集群中相互交流 。
阅读(944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~