频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

9.2.6 用Heartbeat使用Stonith Meatware设备

作者: 黄永兵译 出处:51CTO.com  2008-07-20 15:17    砖    好    评论   进入论坛
阅读提示:《Linux企业集群》一书讲解如何在一个计算机网络中用有限的资源部署计算机,以及安装自由软件让计算机象一台服务器那样一起运行。其中第九章描述Stonith和Ipfail,本文说的是用Heartbeat使用Stonith Meatware设备。

9.2.6 用Heartbeat使用Stonith Meatware设备

我们已经手动地使用Stonith软件命令和meatware设备,让我们配置Heartbeat在故障转移时自动为我们做同样的事情,在你两台Heartbeat服务器上的/etc/ha.d/ha.cf文件中添加下面的条目:

stonith_host * meatware

正常情况下,单词stonith_host后的第一个参数是物理连接到Stonith设备的Heartbeat服务器名,如果两台(或所有)Heartbeat服务器都能连接到相同的Stonith设备,你可以使用通配符(*)指出任何Heartbeat服务器都可以使用这个设备执行电源复位。(正常情况下,这需要使用一个通过以太网连接到Heartbeat服务器的智能的或远程电力设备)

因为meatware是将操作警告消息发送到/var/log/messages文件的,它并不是一个真实的设备,我们不需要任何附加的电缆,可以假设主服务器和备用服务器都可以访问到这个Stonith设备,它们需要的仅仅是可以向它们的日志文件发送消息。

注意:在按照这个方法做时,确定你的ha.cf文件中auto_failback选项是开启的,如果是Heartbeat 1.1.2版本,auto_failback选项可以设置为on也可以设置为off,ipfail都能够正常工作,如果是Heartbeat 1.1.2之前的版本(这时使用的是nice_failback选项),nice_failback选项就必须设置为on,否则ipfail将不能正常工作。

1、 使用一个简单的haresources条目,如:

#vi /etc/ha.d/haresources
primary.mydomain.com sendmail

第二行表明正常情况下sendmail资源属于主服务器所有(它应该运行sendmail守护进程)。

2、 在主服务器和备用服务器上使用下面的命令启动Heartbeat:

primaryserver> service heartbeat start
backupserver> service heartbeat start

primaryserver> /etc/init.d/heartbeat start
backupserver> /etc/init.d/heartbeat start

注意:前面的例子和下面的例子都将使用一个>字符来标识是在主服务器上运行还是备用服务器上运行。

3、 在主服务器上使用下面的命令杀掉Heartbeat守护进程:

primaryserver> killall -9 heartbeat

注意:在主服务器上使用Heartbeat开关(init)脚本(service heartbeat stop)停止Heartbeat将引起Heartbeat释放它的资源,因此备用服务器就不需要复位主服务器的电源。要测试Stonith设备,你需要杀掉主服务器上的Heartbeat,让它不释放它的资源。你还可以通过将服务器间的物理路径断开来测试你的Stonith配置。

4、 使用下面的命令在备用服务器上观察/var/log/messages文件:

backupserver> tail -f /var/log/messages

你应该看到Heartbeat在接管资源(本例中是sendmail)前在日志中发出Meatware Stonith警告然后等待:

backupserver heartbeat[835]: info: **************************
backupserver heartbeat[835]: info: Configuration validated. Starting
heartbeat <version>
backupserver heartbeat[836]: info: heartbeat: version <version>
backupserver heartbeat[836]: info: Heartbeat generation: 3
backupserver heartbeat[836]: info: UDP Broadcast heartbeat started on port
694 (694) interface eth0
backupserver heartbeat[841]: info: Status update for server backupserver:
status up
backupserver heartbeat: info: Running /etc/ha.d/rc.d/status status
backupserver heartbeat[841]: info: Link backupserver:eth0 up.
backupserver heartbeat[841]: WARN: server primaryserver: is dead
backupserver heartbeat[841]: info: Status update for server backupserver:
status active
backupserver heartbeat[847]: info: Resetting server primaryserver with
[Meatware Stonith device]
backupserver heartbeat[847]: OPERATOR INTERVENTION REQUIRED to reset
primaryserver.
backupserver heartbeat[847]: Run "meatclient -c primaryserver" AFTER
power-cycling the machine.
backupserver heartbeat: info: Running /usr/local/etc/ha.d/rc.d/status
status
backupserver heartbeat[852]: info: No local resources [/usr/local/lib/
heartbeat/ResourceManager listkeys backupserver]
backupserver heartbeat[852]: info: Resource acquisition completed

注意到Heartbeat没有启动sendmail资源,它在等待你清除Stonith Meatware事件。

5、 输入下面的命令清除事件:

backupserver> meatclient -c primaryserver

现在/var/log/messages文件应该指出Heartbeat已经在备用服务器上启动了sendmail资源了:

backupserver heartbeat[847]: server primaryserver Meatware-reset.
backupserver heartbeat[847]: info: server primaryserver now reset.
backupserver heartbeat[841]: info: Resources being acquired from
primaryserver.
backupserver heartbeat: info: Running /usr/local/etc/ha.d/rc.d/stonith
STONITH
backupserver heartbeat: info: Running /usr/local/etc/ha.d/rc.d/status
status
backupserver heartbeat: stonith complete
backupserver heartbeat: info: Taking over resource group sendmail
backupserver heartbeat: info: Acquiring resource group: primaryserver
sendmail
backupserver heartbeat: info: Running /etc/init.d/sendmail start

现在在备用服务器上的Heartbeat应该感到满意了:它拥有了主服务器的资源,并监听心跳查找主服务器是否复活了。

要完成这个模拟,你可以真实地复位主服务器的电源,或重启Heartbeat守护进程,观察两台服务器上的/var/log/messages文件,主服务器应该请求备用服务器放弃它的资源,然后再次在主服务器上启动它们。(在这个例子中sendmail守护进程应该在主服务器上运行,在备用服务器上停止运行)

注意:在这个例子中,当你将所有资源都放在主服务器上,让备用服务器处于空闲状态时,你将有更多的时间执行系统维护,然而,你可能想将活动服务同时放在主服务器和备用服务器上,当需要在其中一台服务器上执行维护时使用hb_standby命令进行资源转移。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
专题
Windows Home Server 家用服务器专题
Linux——从菜鸟到高手
服务器维护与应用基础
服务器基础知识入门
二手仿冒设备与思科再营销谁更火
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
CCNA认证考试Pass必备
CCNA认证考试Pass必备
华为七千人主动辞职规避新劳动法
华为七千人主动辞职规避新劳..
微软出价446亿美元收购雅虎
微软出价446亿美元收购雅虎
· 微软出价446亿美元收购..
· 虚拟化的“赤壁之战”
· Windows Server 2008专..
· 无线重中之重:安全问题
· 802.11n:下一代的无线..
· 脉冲无线电uwb专题
· AIX操作系统管理应用
· 云计算时代来临
· 求职必杀技 决战面试官
· 龙芯要做中国的“奔腾”
· 2008年上半年IT技术图..
· 服务器节能与绿色IT
· IT工程师该不该考CCIE..
· 浏览器的战国时代
· 2008年上半年全国软考..
· 无线网络环境
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· 无线网状网(MESH)
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 文档格式标准开战 OOXM..
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 解析35岁技术人的价值..