redhat yum源配置的RHCS必须配置Fence设备吗

RHCS基于RHEL6.0 x86_64(实验教程)
实验说明:所用的RHEL版本均为6.0 x86_64,宿主机支持虚拟化,内存不小于4G。
实验拓扑如下:
在本实验中,为了节省资源将ISCSI-Target也放到manager一个机器上了。
vmware创建一个虚拟机,内存3G,按下图设置使得虚拟机也支持虚拟化,vmware workstation版本不低于7:
在这个虚拟机中装好rhel6,ip192.168.0.200,作为RHCS的管理端,继续在其上安装kvm,kvm的安装请查看我之前写的关于kvm文档,kvm安装好后,创建两个vm(virtual machine),桥接到192.168.0.200的物理网卡上,vm上安装好rhel6,ip分别为192.168.0.201和192.168.0.202,作为RHCS的节点,这样的拓扑设计的原因是我们可以在RHCS中使用fence-virsh来fence掉kvm管理的RHCS故障节点。
使用hostname指令设置主机名,想重启之后生效别忘了/etc/sysconfig/network,因为本环境中没有使用DNS,所以在manager上设置/etc/hosts添加如下三行,再scp到web1和web2。
[root@manager ~]# vim /etc/hosts
127.0.0.1&&&&&& localhost.localdomain&& localhost
::1&&&&&&&&&&&& localhost6.localdomain6 localhost6
192.168.0.200&&
192.168.0.201&&
192.168.0.202&&
manager、web1、web2均关闭selinux、iptables。
在manager上建1个target,2个lun,用作导出iscsi存储给节点使用。 主要步骤及指令如下:
fdisk分出来两个分区sda5、6,大小为1G、10M,fdisk之后使用partx -a /dev/sda重读分区,可以不用重启系统。
[root@manager ~]# yum install scsi-target-utils -y 安装iscsi-target端
[root@manager ~]# /etc/init.d/tgtd start 随机启动;启动服务
[root@manager ~]# tgtadm -L iscsi -m target -o new -t 1 -T iqn..sswans:disk1 创建target
[root@manager ~]# tgtadm -L iscsi -m logicalunit -o new -t 1 -l 1 -b /dev/sda5 创建lun1,对应sda5分区
[root@manager ~]# tgtadm -L iscsi -m logicalunit -o new -t 1 -l 2 -b /dev/sda6 创建lun2,对应sda6分区
[root@manager ~]# tgtadm -L iscsi -m target -o bind -t 1 -I ALL 设置ACL访问控制,ALL为任意访问
[root@manager ~]# tgt-admin --dump & /etc/tgt/targets.conf dump保存配置,以后每次重启都会生效
安装luci工具,RHCS管理端,请配置好yum仓库,RHCS相关的包在iso镜像中的HighAvailability和ResilientStroage中
[root@manager ~]# yum install luci -y
[root@manager ~]# /etc/init.d/luci start
Point your web browser to :8084 to access luci 等节点安装好ricci后,可以使用这个url对节点进行管理和配置
节点web1、web2上都执行如下动作,以web1为例:
[root@web1 ~]# yum install rgmanager -y 会自动安装ricci、cman等包
[root@web1 ~]# /etc/init.d/ricci start
[root@web1 ~]# chkconfig NetworkM /etc/init.d/NetworkManager stop
[root@web1 ~]# chk chkconfig modclusterd on
[root@web1 ~]# /etc/init.d/ /etc/init.d/rgmanager start;/etc/init.d/modclusterd start
使用浏览器打开luci的url,新建一个集群,名为sSWans,添加两个节点,一个名为web1,另一个名为web2,因为之前在两个节点上都安装了ricci、cman等包,所以单选use locally installed packages,enable shared storage support选项其实就是指的gfs,我们在后面手动装包来实施,这里不勾选。
检查节点的服务状态,确定cman、rgmanager、ricci、modcluster服务处于running状态。如有问题,请注意查看节点的/var/log/message日志进行排错。
点击菜单中的Failover Domains,添加一个热备切换域,名为web_FD,勾选no Failback,勾选web1,web2两个节点。
点击菜单中的Resources,添加一个ip address资源,ip为192.168.0.252,这个ip就是提供服务的虚拟ip,再添加一个script,名为http,脚本路径/etc/init.d/httpd。
点击菜单中的Services,添加一个服务,名为apache,选择刚创建的热备切换域web_FD,添加资源,把刚创建的ip资源和脚本资源添加进来,如果服务需要使用的资源具有先后关系,那么需要将前提资源以子资源(add a child resource)的形式添加。
在两个节点上针对httpd写一个index.html的页面,web1上
[root@web1 ~]# echo web1 & /var/www/html/index.html
,web2的index.html内容为web2,这样待会服务启动后,我们去访问这个apache服务,可以通过访问到的内容来检测集群提供的服务是由哪个节点完成的。
在两个节点上都监控日志tail -f /var/log/message,启动这个apache服务,查看服务启动时节点的信息,有助于更好的理解rhcs和增加排错经验。如无意外,此时应该可以看到apache服务会在其中一个节点上启动,我的启动在web1上,在Services菜单可以看到,在任意节点上用指令clustat查看更快更方便。
做到这里,我们完成了一个rhcs的最小部署,也是一个特殊情况,也就是two_node两节点模式,此时的集群可以提供设定的web服务,在节点web1使用init指令关机或重启,apache服务都能正常迁移到节点web2,但是,如果提供服务的web1节点网卡故障,我们可以使用指令模拟网卡故障
[root@web1 ~]# ifdown eth0
,那么集群无法将web服务迁移到web2节点上,从日志可以看到web2要fence掉web1,但是没有fence method,此时,我们在正常节点web2上使用指令
[root@web2 ~]# fence_ack_manual web1
About to override fencing for web1.
Improper use of this command can cause severe file system damage.
Continue [NO/absolutely]? absolutely
意思是告诉正常节点web2,已经成功fence掉故障节点web1,web2可以抢夺原本运行在web1上的apache服务了,注意看日志,这原本就是fence设计的原理。如果你没有使用fence_ack_manual而将web1的网卡重新开启或者重启web1,那么web2的cman服务会被停止掉,留意web2的日志,这种情况下,web2的cman服务重启不了啦,你只能选择重启系统。
因此,我们的集群是需要fence设备的,下面开始添加fence设备,在节点web1和web2上做如下动作:
[root@web1 ~]# mv /usr/sbin/fence_apc{,.bak}
[root@web1 ~]# ln -s /usr/sbin/fence_virsh /usr/sbin/fence_apc
因为在luci的Fence Devices菜单中,添加fence设备,下拉菜单中并没有fence_virsh项,所以上面的动作就是用fence_virsh替换fence_apc。
“偷龙转凤”之后,我们选择下拉菜单中的fence_apc,其实这时候调用的是fence_virsh,name填virsh_fence,ip填192.168.0.200,login填root,password填上对应的密码,这样子,我们就成功添加了一个可以fence
kvm节点的fence设备,接下来,将这个fence设备应用到节点上,web1为例,luci中点击web1节点,添加fence_method,名为web_fence,再添加fence instance,选择刚创建的virsh_fence,port填web1,此处的web1不是web1的hostname,而是kvm上的vm名;节点web2上port换成web2,其他跟web1设置一样。
很有必要解释一下fence工作原理,当web1网卡故障的时候,web1是与外部网络断开连接的,但web1会认为web2挂掉了,web1使用fence设备去fence&
web2,因为web1的网卡故障,所以web1& fence& web2是不会成功的,同时web2也会发现web1挂掉了,web2使用fence设备去fence& web1,web2的网卡是正常的,所以web2的fence指令能正常发送到fence设备上,fence掉web1,并且会把原来由web1提供的apache服务及资源抢夺过来,由web2对外提供apache服务。
以上fence设置的默认action为reboot,如果要换成off关机,需修改/etc/cluster/cluster.conf文件,添加红字部分,&device name=&virsh_fence& port=&web1& action=&off&/&,如果web1、web2及manager相互之间ssh是以密钥进行认证的,那么我们需要在cluster.conf中对fence设备添加私钥的位置及指明用加密的模式,红字部分,&fencedevice
agent=&fence_apc& identity_file=&/root/.ssh/id_rsa&
ipaddr=&192.168.0.200& login=&root& name=&virsh_fence& passwd=&redhat&/&,如果是使用用户名和密码进行ssh认证,则上面的红字部分不需要添加。在kvm虚拟化环境,并且有高安全需求的情况下,显然这是很不错的选择。请注意,在任意节点上修改cluster.conf之后,需要增加config_version的值,再使用指令scp或者ccs_sync将cluster.conf传播到其他节点。
配置好fence之后,回到services菜单,看到web服务是运行在web1上的,我们再次将web1的网卡故障掉,你会发现web1会自动重启,并且web2抢夺到原本运行在web1上的apache服务,作为集群提供服务的节点。这个过程依然不要忘记多看日志。
接下来,我们再体验GFS,之前不是在manager上导出了iscsi的存储吗,现在有用武之地了,在两个节点上使用如下动作挂载iscsi存储:
[root@web1 ~]# yum install iscsi-initiator-utils -y 挂载iscsi存储需要安装的包
[root@web1 ~]# chkconfig iscsi on
[root@web1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.0.200
[root@web1 ~]# /etc/init.d/iscsi start 启动iscsi服务,发现/dev下多了两个盘,sdb,sdc
[root@web1 ~]# udevadm info -q all -n /dev/sdb 查看sdb设备在被内核识别时候的信息,用作写udev规则,用来固定iscsi设备在本机的设备名称。
从上条指令结果中提取这条用作书写udev规则的条件,ID_SCSI_SERIAL=beaf11
[root@web1 ~]# vim /etc/udev/rules.d/99-iscsi.rules
KERNEL==&sd[b-z]&,ENV{ID_SCSI_SERIAL}==&beaf11&,NAME=&disk_gfs&
KERNEL==&sd[b-z]&,ENV{ID_SCSI_SERIAL}==&beaf12&,NAME=&qdisk
[root@web1 ~]# udevadm trigger 触发刚写的udev规则,查看/dev下,sdb,sdc已经不见了,出现了disk_gfs和qdisk两个块设备
[root@web1 ~]# yum install lvm2-cluster gfs2-utils -y 安装gfs需要的包
[root@web1 ~]# chkconfig clvmd on
clvm信息是自动在集群节点上同步的,所以以下动作只需在任意节点上做一次,在此之前,修改lvm2支持集群,使用指令
[root@web1 ~]# lvmconf --enable-cluster
确保各个上的clvmd服务是启动的。
[root@web1 ~]# pvcreate /dev/disk_gfs&&&&&
创建物理卷
[root@web1 ~]# vgcreate gfs /dev/disk_gfs 创建卷组
[root@web1 ~]# vgdisplay gfs | grep Cluster 可以看到 Clustered&&&
yes表示是clvm,在其他节点也可以看到相同信息
[root@web1 ~]# lvcreate -l 100%free -n gfslv gfs 创建名为gfslv的逻辑卷,使用gfs卷组100%的剩余空间
[root@web1 ~]# mkfs.gfs2 -j 2 -t sSWans:gfslv -p lock_dlm /dev/gfs/gfslv
格式化为gfs2,设定锁机制及2份journal,-t分两部分,集群名:设备名,格式化的时间有点长,耐心等待。
[root@web1 ~]# mount -t gfs2 /dev/gfs/gfslv /var/www/html
[root@web1 ~]# echo web-service & /var/www/html/index.html 设置index.html页面的内容
[root@web1 ~]# echo &/dev/gfs/gfslv /var/www/html gfs2 defaults 0 0& && /etc/fstab 设置启动自动挂载,两个&&,别写成&
在luci的Resources菜单添加一个gfs2资源,name为web_data,mount point为/var/www/html,filesystem type为gfs2。打开Services菜单,点击apache服务,添加一个资源,选择刚创建的web_data。
这时候已经是个完整的两节点RHCS应用了。附上cluster.conf
&?xml version=&1.0&?&
&cluster config_version=&33& name=&sSWans&&
&&&&&&& &fence_daemon&clean_start=&0& post_fail_delay=&0& post_join_delay=&3&/&
&&&&&&& &clusternodes&
&&&&&&&&&&&&&&& &clusternode&name=&web1& nodeid=&1& votes=&1&&
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&method&name=&web_fence&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&device&action=&reboot& name=&virsh_fence& port=&web1&/&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& &/clusternode&
&&&&&&&&&&&&&&& &clusternode&name=&web2& nodeid=&2& votes=&1&&
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&method&name=&web_fence&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&device&action=&reboot& name=&virsh_fence& port=&web2&/&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& &/clusternode&
&&&&&&& &/clusternodes&
&&&&&&& &cman&expected_votes=&1& two_node=&1&/&
&&&&&&& &fencedevices&
&&&&&&&&&&&&&&& &fencedevice&agent=&fence_apc& identity_file=&/root/.ssh/id_rsa& ipaddr=&192.168.0.200& login=&root& name=&virsh_fence& passw
d=&redhat&/&
&&&&&&& &/fencedevices&
&&&&&&& &rm&
&&&&&&&&&&&&&&& &failoverdomains&
&&&&&&&&&&&&&&&&&&&&&&&
&failoverdomain&name=&web_FD& nofailback=&1& ordered=&0& restricted=&0&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&failoverdomainnode&name=&web1& priority=&1&/&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&failoverdomainnode&name=&web2& priority=&1&/&
&&&&&&&&&&&&&&&&&&&&&&&
&/failoverdomain&
&&&&&&&&&&&&&&& &/failoverdomains&
&&&&&&&&&&&&&&& &resources&
&&&&&&&&&&&&&&&&&&&&&&&
&ip&address=&192.168.0.252/24& monitor_link=&on& sleeptime=&10&/&
&&&&&&&&&&&&&&&&&&&&&&&
&script&file=&/etc/init.d/httpd& name=&http&/&
&&&&&&&&&&&&&&&&&&&&&&&
&clusterfs&device=&/dev/gfs/gfslv& fsid=&65174& fstype=&gfs2& mountpoint=&/var/www/html& name=&web_data&/&
&&&&&&&&&&&&&&& &/resources&
&&&&&&&&&&&&&&& &service&autostart=&0& domain=&web_FD& exclusive=&0& name=&apache& recovery=&relocate&&
&&&&&&&&&&&&&&&&&&&&&&&
&ip&ref=&192.168.0.252/24&/&
&&&&&&&&&&&&&&&&&&&&&&&
&script&ref=&http&/&
&&&&&&&&&&&&&&&&&&&&&&&
&clusterfs&ref=&web_data&/&
&&&&&&&&&&&&&&& &/service&
&&&&&&& &/rm&
&/cluster&
接下来,我们继续讨论一个问题,当节点超过两个的时候,比如说四节点,如果1、2节点通信正常,3、4节点通信正常,但是1、2和3、4之间通信不正常,那么1、2形成一个组,3、4形成一个组,互不相让,争夺服务和资源,形成split-brain,这是我们不希望出现的状况,我们怎么去解决这个问题呢?答案就是使用quorum disk仲裁磁盘。这种机制是这样的,集群的每个节点都分配一个投票数,一般情况下票数为1,票数如果不一样通常是因为节点性能不同、电源或者网络或者存储是否有冗余等因素,qdisk是一个共享存储,一般10M大小就够了,所有节点周期性地在qdisk上进行“签到”(目前RHCS最多支持16个节点“签到”)。qdisk也设置成具有一定的票数,签到成功的节点可以赢得qdisk的投票,当票数超过票数总和的一半时,集群才能启动。那之前的两节点没有使用qdisk,节点之间通信故障,为什么没有形成split-brain呢,那是因为two-node是一个特殊情况,所以在前面的cluster.conf中&cman
expected_votes=&1& two_node=&1&/&已经声明了两节点模式,所以RHCS避免了split-brain。
还记得之前在manager上导出了一个1G和一个10M的iscsi存储吗?并且都在节点上挂载了的,挂载成/dev/disk_gfs的做了gfs存储,另一个挂载成什么?对了,          /dev/qdisk,我们就利用它来做quorum disk。在任意节点上对共享存储分区进行qdisk格式化,标签为qdiskWeb,完成后可以在其他节点使用mkqdisk -L来查看qdisk信息。嗯,在做qdisk之前,我们先把之前two_node模式的集群状态用指令显示出来,等下和非two_node模式做比较用。
[root@web2 ~]# cman_tool status & status 将集群信息重定向到主目录下的status文件,稍后做比较
[root@web2 ~]# mkqdisk -c /dev/qdisk -l qdiskWeb 格式化qdisk
然后在luci的Configure菜单里选择Qdisk Configuration,设置Interval、Votes、Minimum Score都为1,TKO(原本为拳击术语,技术性击倒,在这可以理解为失败次数上限)为10,单选By device label,值为qdiskWeb,设置Heuristics,Path to Program为ping -c1 192.168.0.200,Interval为2,Score为1,TKO为3,Heuristics是qdisk的一个增强机制,试想一下,如果web1和web2之间的网络连接断开了,但是都和qdisk有连接,那么qdisk还能起到原本该有的作用吗?显然是不能的,所以我们可以使用heuristics,增加一些其他的检测手段,来确定到底是哪个节点有问题应该被fence掉。在默认情况下,expected_votes是等于total_votes的,集群启动的条件为获得的票数&expected_votes/2,也就是说quorum值
= expected/2 + 1。
细心的同学应该已经发现cluster.conf中&cman expected_votes=&1& two_node=&1&/&已经变成&cman expected_votes=&3&/&,two_node不显式写出来的话,默认值为0,可以得出一个结论,two_node模式是不需要qdisk的,而开启qdisk之后,two_node模式会自动关闭,并且期待票数由1票变为3票了。
配置好后,在各节点上/etc/init.d/cman start启动qdisk,很可能会失败,查看messages日志,发现需要将token timeout调到不低于某个值,在Configure菜单里有个Network Configuration,点击show advanced properties,修改token timeout值,并修改consensus timeout为token timeout+2000,再启动cman就可以了。
在任意节点使用clustat可以看到qdisk开始工作了,再使用cman_tool status查看信息,与之前的status文件进行比较,相信你应该可以自己得出结论了。
那么到这,RHCS就跟大家讲完了,超过两节点的RHCS大家自己做做吧。
本文已收录于以下专栏:
相关文章推荐
下面将会认识RHCS, 并进行RHCS的 cman + rgmanager 高可用集群基本配置:包括RHCS工作实现、RHCS历史、下载安装;使用system-config-cluster配置集群包括...
在linux-ha项目中,开始越来越关注io fence设备。
并且在rhes4中ha也支持更多的io fence设备。
1.为什么要用io fence设备:因为纯粹用软件的方式并不能够提供完全意...
1.为了方便起见,先切换到root用户
2.先删除rhel6自带的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
3.下载CentOS6...
一、安装Zabbix
1、检查当前系统安装环境
检查结果:
没有安装php
已安装Mysql数据库
没有安装zabbix
已安装http
2、安装mysql
yum install -y mysq...
进入Oracle DBA行业也有好几年了,但是说到安装Oracle的经验,我还真不是特别多,印象中刚开始每次安装都有点磕磕碰碰,随着接触Oracle的时间越来越长,各方面的原理、机制也都有一定的了解后...
前情提要:
        由于长时间压抑于某数据库性能一直龟速,某一天客户对11g的新特性突然大发骚兴,认为如果将oracle的memory_target设置大点,是不是非常有益,但可惜用户只是做了...
在rhel6.3 x86-64系统上安装lsscsi包
1, 下载 php-5.2.17.tar.gz到~/download,
tar -zxvf php-5.2.17.tar.gz
cd php-5.2.17
2, confi...
一、       系统环境
系统平台:Red Hat Enterprise Linux Server release 6.3(Santiago)
Apache版本:httpd-2.2.5.tar.gz...
Requirements for Installing Oracle 10gR2 RDBMS on RHEL 4 on AMD64/EM64T [ID ]
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
小富即安, 积分 3547, 距离下一级还需 1453 积分
论坛徽章:7
10可用积分
如题,小弟在做ORACLE的HA,用的系统是REDHAT5.6, 本人想先把RHCS搞清楚,然后再针对oracle做HA。请各位大神帮帮忙!3q
fence是RHCS的HA集群中预防集群出现脑裂之后节点争抢文件系统的一种手段。
红帽的HA集群中没有可用的fence设备(例如hp ilo,ibm ipmi,rsa以及dell drac5/6),那么当集群心跳线断开或者物理机宕机,则服务无法自动切换。使用手动fence的,当节点关机的时候服务是可切换的,但是当节点宕机或者断网,切换就不行了。必须要用fence_ack_manual去人工干预,而且这相当于用欺骗另外一个节点已经被fence掉,而不管对方是否真正被fenc ...
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
大富大贵, 积分 12763, 距离下一级还需 7237 积分
论坛徽章:0
fence是RHCS的HA集群中预防集群出现脑裂之后节点争抢文件系统的一种手段。
红帽的HA集群中没有可用的fence设备(例如hp ilo,ibm ipmi,rsa以及dell drac5/6),那么当集群心跳线断开或者物理机宕机,则服务无法自动切换。使用手动fence的,当节点关机的时候服务是可切换的,但是当节点宕机或者断网,切换就不行了。必须要用fence_ack_manual去人工干预,而且这相当于用欺骗另外一个节点已经被fence掉,而不管对方是否真正被fence。所以从这个角度讲,没有fence,无法构建一个完整的RHCS HA集群。
而且如果使用没有fence设备的服务器或者环境去搭建RHCS HA集群的时候,红帽官方也不会对这种架构提供支持。
因此从上述角度说,fence设备是必须的。
现在常用的fence设备,除了上述提到的不同品牌服务器自带的之外,还有一些电源管理交换机,如WTI或者APC什么的。针对虚拟化场景,如果你的host使用的是RHEL,那么可以使用fence_xen或者fence_virsh(分别针对xen和kvm/xen架构),针对HOST是vmware esx的,可以使用fence_vmware_soap,不过操作系统必须是RHEL 5.8以及RHEL 6.1以上,另外某些环境新安可以使用存储fence,即通过阻塞光纤交换机的接口来起到禁止被fence的机器访问存储的效果,不过不能够做到自动化,阻塞的端口必须得手动打开。
小富即安, 积分 3547, 距离下一级还需 1453 积分
论坛徽章:7
自己做个沙发,请高手尽快来!
稍有积蓄, 积分 387, 距离下一级还需 113 积分
论坛徽章:0
这个问题有人发过
白手起家, 积分 14, 距离下一级还需 186 积分
论坛徽章:0
我这两天也正测redhat5.X&&+10g r2 X64的ha ,也是用的rhcs做的。没有设备,只能用vm workstation虚拟机做。配置cluster这块关于fence的时候,选&manual fence&,在切换测试 时,用命令 fence_ack_manual -n &nodename&给信号来模拟。存储我是用openfiler来做的,iscsi。仅测试的话,没有问题,切换ip和共享存储正常,目前还在调试有关oracle ha的起停和监控脚本。
关于fence ,看到过高人用xen来做的,但是感觉太麻烦了,如果只是简单测试,手工fence可以看到效果了。
小富即安, 积分 3547, 距离下一级还需 1453 积分
论坛徽章:7
最近几天我也在忙着RHCS与oracle的HA呢!我想首先搞定用RHCS做VSFTPD的ha,慢慢一步一步的来。现在已经配好了,但是不能切换,用的也是手动fence,把主节点关机后现在ftp服务没有切到备用节点上。你遇到了吗?
白手起家, 积分 13, 距离下一级还需 187 积分
论坛徽章:0
这几天也在研究RHCS。我的操作系统是RHEL5.8的。可是我的ISO里没有集群套件,比如luci、cluster-clm等,这是为什么啊?是我下载的版本有问题吗?
富足长乐, 积分 7407, 距离下一级还需 593 积分
论坛徽章:14
& & 请问,你指的硬件fence设备说的是iSCSI存储还是服务器呢,我用VMware Workstation做的,配置fence的时候“Virtual machine UUID”就不知道该怎么配置了,难道你说的fence设备拥有这个UUID吗,它是一个硬件ID之类的东西吗?用户名:hrs219
文章数:33
评论数:58
访问量:143554
注册日期:
阅读量:1297
阅读量:3317
阅读量:580994
阅读量:465042
51CTO推荐博文
第一章配置RHCS
准备工作:
首先要设置 /etc/hosts中的IP与域名的对应关系,保证你在设置两台机子的主机名的时候能够互相ping通。注意如果只启用一张网卡的话,要把启用网卡的IP地址放在前面,暂时不用的网卡IP放在后面,以免ping的时候不通。
[root@web1~] ping web2&& 能出来正确的IP地址
[root@web2~] ping web1&& 能出来正确的IP地址
1.1.启动cluster管理图形界面
在shell下输入system-config-cluster,启动群集配置工具。
650) this.width=650;" alt="" src="/attachment/840146.jpg" border="0" />&
点击创建新集群,并输入集群名称hacluster。
650) this.width=650;" alt="" src="/attachment/940644.jpg" border="0" />&
650) this.width=650;" alt="" src="/attachment/002627.jpg" border="0" />
(下图点击左边cluster,再按右边的“Edit Cluster Properties”按钮)
650) this.width=650;" alt="" src="/attachment/036426.jpg" border="0" />
1.2.添加群集成员节点
点击 Cluster-&Cluster Nodes-&Add a Cluster Node
650) this.width=650;" alt="" src="/attachment/342144.jpg" border="0" />
在 Cluster Node Name 中输入第一个机器的主机名, ,
Quorum Votes: 不填,然后点击确定.
650) this.width=650;" alt="" src="/attachment/449668.jpg" border="0" />
同样方法添加第二节点
650) this.width=650;" alt="" src="/attachment/515774.jpg" border="0" />
1.3.添加fence设备
点击cluster-&Fence Devices-&Add a fence Devices
650) this.width=650;" alt="" src="/attachment/548646.jpg" border="0" />
这里的fence类型选择IBM Blade Center,因为我们是在两台ibm刀片上安装的,rhcs还支持很多fence设备,可以根据实际情况选择。
1.4.建立fence设备和每个节点的对应关系
为了使每个节点可以通过Fence设备对节点的开机、关机和重启进行管理或者对节点的状态进行查询,需要建立fence设备和每个节点的对应关系。
选中节点,点击「Manager Fanceing For This Node」,之后点击「Add a New Fence Level」,
在Fence Configuration对话框中选中Fence-Level-1,点击 Add a New Fence to this Level
650) this.width=650;" alt="" src="/attachment/658790.jpg" border="0" />
添加是刀片的第几台设备,比如我的是第9和10台
650) this.width=650;" alt="" src="/attachment/720378.jpg" border="0" />
1.5.创建一个失效域
按照默认设置,失效转移域是无限制和无序的。
选择 Cluster-&Managed Resources-&Failover Domains-&Create a Failover Domain. 在name for new Failover Domain 中输入:redhatfd
650) this.width=650;" alt="" src="/attachment/820346.jpg" border="0" />
点击 Available Cluster Nodes,分别选中 和 ,然后点击关闭按钮
650) this.width=650;" alt="" src="/attachment/845952.jpg" border="0" />
1.6.创建群集资源
添加一个服务 IP 地址资源
Cluster-&Managed Resources-&Resources-&Create a Resource
在 select a Resource Type: IP Address 输入:192.168.100.65(注意不能与前面两个主机的IP相同,这个IP是外网访问过来的虚拟IP,当其中一个实际的IP地址出问题的时候可以自动飘移到另),选中Monitor Link,在Subnet中输入子网掩码位数,点击确定按钮。
650) this.width=650;" alt="" src="/attachment/002258.jpg" border="0" />
添加一个服务控制脚本资源
Cluster-&Managed Resources-&Resources-&Creat a Resource
select a Resource Type:栏中选择script
650) this.width=650;" alt="" src="/attachment/024398.jpg" border="0" />
name栏中输入脚本名字httpserver,可随意填写。
File 栏中输入脚本路径(with path): /etc/rc.d/init.d/httpd (或者是tomcat)
点击确定按钮。
(注意:apache服务必须在两台服务器之间都有安装,而且配置必须完全一样,才能实现主从双备份,当其中一台httpd服务出现问题的时候,通过RHCS机制可立即切换到另一台httpd服务)
1.7.创建一个群集服务
Cluster-&Managed Resources-&Services-&Create a Service
650) this.width=650;" alt="" src="/attachment/119579.jpg" border="0" />
Name栏中输入服务名称webservice,然后点击确定按钮 。
在接下来的对话 框 Failover Domain 中,选择redhat_fd
为新创建的群集服务加入建立的资源
Add a Shared Resource to this service 按钮, 选择192.168.100.65,然后点击确定
Add a Shared Resource to this service 按钮, 选择httpserver,然后点击确定
650) this.width=650;" alt="" src="/attachment/140976.jpg" border="0" />
1.8.保存配置
文件-&保存,使用默认的文件名和路径,然后点击文件-&退出
650) this.width=650;" alt="" src="/attachment/238851.jpg" border="0" />
1.9.同步节点配置信息
# scp /etc/cluster/cluster.conf &&192.168.100.64:/etc/cluster/
注意复制的时候会要求你输入192.168.100.64的root密码,才能复制成功。
1.10.集群启动和关闭
(1)如果想启动群集服务,在所有群集成员节点上分别依次启动下面的服务。
#service cman start (只有所有集群成员都启动cman服务以后,fencing才能启动成功)
#service rgmanager start
(2)如果想停止群集服务,在所有群集成员节点上分别依次停止下面的服务。
#service rgmanager stop (rgmage的进程是clurgmgrd 如果停止不了可用kill -9 命令杀掉进程)
#service cman stop&&&(cman的进程是ccsd 如果停止不了可用kill -9 命令杀掉进程)
通过 #service rgmanager status 命令可以查看出进程名称和进程pid号,然后用kill -9杀掉
(3)设置集群开启启动:
# chkconfig cman on
# chkconfig rgmanager on
1.11.显示群集和服务状态
[root@app63 ~]# clustat
Cluster Status for hacluster @ Wed Jul 28 16:49:57 2010
Member Status: Quorate
&Member Name&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&ID& &&&&&&&&&&&Status
&------ ---- -----------&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&---- ---
&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&1 Online, Local, rgmanager
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 2 Online, rgmanager
&Service Name&&&&&&& &&&&&&&&&&&&&&&&Owner (Last)&& &&&&&&&&&&&&&&&State
---- --- ---- ---&&&&&&&&&&&&&&&&&&&&&&&&& ---- --- ---- ---&&&&&&&&&&&&&&&& ---- --- ---- ---&&&
service:webservice &&&&&&&&&&&&&&&&&& &&&&&&&&&&&started
当配置了群集服务,并相关的群集进程启动后,在 shell 提示符中,运行 system-config-cluster,点击 Cluster Management 标签,就会显示当前群集的服务状态
650) this.width=650;" alt="" src="/attachment/309663.jpg" border="0" />&
第二章RHCS应用实例
1、有两台服务器,主机IP是192.168.0.101&& 从机IP是192.168.0.102
2、这两台服务器在安装系统时候都选择同样的配置,安装有群集套件、web服务器套件。
3、主机101软件安装:apache发布服务80端口,tomcat1和tomcat2发布服务。
&&&&&& 从机101软件安装:apache发布服务80端口,tomcat3和tomcat4发布服务。
4、在主机101配置apache负载均衡发布器httpd服务,同时指向tomcat1到tomcat4四个web发布服务;在从机102上面同样配置与主机101完全相同的apache负载均衡发布器httpd服务
5、在主从两台服务器上面配置RHCS机制,统一对外的虚拟IP为192.168.0.100。
6、RHCS的作用主要是保护对外的Apache的http服务而不是tomcat发布服务,即使主机的http服务出问题,会通过RHCS的方式立即切换到从机的http服务上面,实现不间断的对外发布服务。
7、RHCS的手工切换:
(1)查看RHCS主服务目前运行在哪台服务器节点上面:
[root@app63 conf]# clustat& (可以看出目前运行在app63节点上面)
Cluster Status for hacluster @ Mon Aug& 8 09:25:01 2011
Member Status: Quorate
Member Name&&&&&&&&&&&&&&&&&&&&&&&&&&&& ID&& Status
&------ ----&&&&&&&&&&&&&&&&&&&&&&&&&&&& ---- ------
&&&&&&&&&&&&&&&&&&&&&&&& 1 Online, Local, rgmanager
&&&&&&&&&&&&&&&&&&&&&&&& 2 Online, rgmanager
Service Name&&&&&&&&&&&&&&&&&& Owner (Last)&&&&&&&&&&&&&&&&&& State
&------- ----&&&&&&&&&&&&&&&&&& ----- ------&&&&&&&&&&&&&&&&&& -----
&service:webservice&&&&&&&&&&&& app63.&&&&&&&&&& started
(2)切换某个服务到另一个节点上面:
[root@app63 conf]# &clusvcadm &-r& webservice &-m& app64.
注意:服务名要采用clustat命令显示出来的服务名称(webservice),不是系统启动的脚本名称(httpd)。切换成功以后,会自动启动app64上面的httpd服务,原有的app63上的httpd服务自动停止。
2012年度IT博客大赛,我的参赛博客:欢迎大家捧场,每天投一票。同时欢迎给我留言评论,大家一起学习交流。 本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)

我要回帖

更多关于 redhat yum源配置 的文章

 

随机推荐