首页
登录 | 注册

Linux集群认证介绍 -2

 
ChinaITLab收集整理


 

常规 Heartbeat 准备

  有几个较好的基本 Heartbeat 配置示例可供使用(请参阅本文的结尾部分)。以下是我们的配置中相关的内容。我们的配置非常简单,所以没有多少内容。缺省情况下,所有的配置文件都保存在 /etc/ha.d/中。

  ha.cf包含群集的全局定义。我们对所有的超时都采用缺省值。



# Timeout intervals

keepalive 2

# keepalive could be set to 1 second here

deadtime 10

initdead 120

# define our communications

# serial serialportname ...

serial /dev/ttyS0

baud 19200

# Ethernet information

udpport 694

udp eth1

# and finally, our node id's

# node nodename ... -- must match uname -n

node slave5

node slave6


haresources该文件是配置故障转移的地方。在文件的底部有些有趣的东西。

slave6 192.168.10.51 slapd

我们在这里指明了三件事。资源的主要所有者是节点‘slave6’(该名称必须与您打算设为主节点机器的‘uname -n’输出相匹配)。我们的服务地址(虚拟 IP)是‘192.168.10.51’(本示例是在专用实验室网络完成的,所以使用 192.168 地址)。服务脚本的名称是‘slapd’。Hearbeat 将在 /etc/ha.d/resource.d 和 /etc/init.d 中寻找脚本。

服务脚本

对于简单“冷备用”情况,我们可以不加修改地使用标准 /etc/init.d/slapd 脚本。我们希望做一些特别的事,因此我们创建了自己的 slapd 脚本,该脚本存储/etc/ha.d/resource.d/中。 Heartbeat 将该目录放置在其搜索路径中的第一位,因此我们不必担心会运行 /etc/init.d/slapd 脚本。但是,您应该检查以确保引导时不再启动 slapd(从 /etc/rc.d 树结构除去所有 S*slapd 文件)。首先,我们在第 17 行和第 18 行指明 slapd 服务器的启动配置文件。

该脚本遵循标准 init.d 语法,因此启动信息包含在从第 21 行开始的 test_start() 函数中。首先,我们停止当前运行的所有 slapd 实例。在第 39 行,我们使用主服务器配置文件启动主服务器。我们的设计将遵循这样的规则:如果主节点和辅助节点都已启动,则在主节点上将 slapd 作为主服务脚本启动,在辅助节点上将 slapd 作为从服务脚本启动,并启动复制守护程序。如果只有一个节点启动,则将 slapd 作为主服务脚本启动。将虚拟 IP 绑定到 slapd 主服务脚本。要完成这一点,我们必须知道哪个节点正在执行该脚本,如果是主节点,那么我们需要知道辅助节点的状态。重要的内容在脚本的‘start’分支中。因为我们已经在 Heartbeat 配置中指明了主节点,所以我们知道当 test_start() 函数运行时,它运行在 Heartbeat 主节点上(因为 Heartbeat 使用 /etc/init.d/ 脚本,因此所有的脚本都用参数“start|stop|restart”调用)。当调用脚本时,Heartbeat 会设置许多环境变量。下面是我们感兴趣的一个:

HA_CURHOST=slave6

可以使用‘HA_CURHOST’值来了解何时正在主节点(slave6)上执行以及何时处于故障转移中(HA_CURHOST 应是‘slave5’)。现在我们需要知道另一个节点的状态。要了解这一点,可以“询问” Heartbeat。我们将使用随 Heartbeat 一同提供的 api_test.c文件,并创建一个简单的客户机来“询问”节点状态(api_test.c 文件有许多内容都与客户机有关,我们只需除去不需要的内容,然后添加一条输出语句)。请注意程序中执行查询的第 31 行。

Heartbeat 查询源代码清单

编译后,我们将文件安装在 /etc/ha.d/resource.d/中。程序的名称为‘other_state’。以下是访问完整的故障转移脚本的链接,我们还是从与 Heartbeat 一同提供的示例脚本开始,并增加少许修改:

启动脚本

测试

我们现在可以在两个服务器上都启动 Heartbeat。Heartbeat 文档包含一些有关测试基本设置的信息,所以我们将不在这里重复。在连接了两种 heartbeat 媒介的情况下,您应该看到六个 heartbeat 进程正在运行。为了验证故障转移,我们做了几种测试。为了提供测试用的客户机,我们创建了一个简单的 KDE 应用程序,该应用程序查询服务器并显示连接的状态。真正的客户机在这种情况下只查询虚拟 IP,但我们查询所有的三个 IP,以作为演示之用。为进行该测试,我们每小时发送一万条查询。

S6 是主 LDAP 服务器,S5 是活动的备用服务器。下面的框代表虚拟 IP。在正常状态下,S5 和 S6 都为绿色,表明成功的查询。

首先,我们停止主节点上的 heartbeat 进程。在此情况下,从机器在 10 秒钟的节点超时出现后获得资源,如日志摘录中所示:接管过程包括启动脚本中额外的 2 秒延迟。



Sep 7 10:28:21 slave5 heartbeat: info: Running

/etc/ha.d/rc.d/shutdone shutdone

Sep 7 10:28:32 slave5 heartbeat[3381]: WARN: node slave6: is dead

Sep 7 10:28:32 slave5 heartbeat[3381]: info: Link slave6:/dev/ttyS0 dead.

Sep 7 10:28:32 slave5 heartbeat[3381]: info: Link slave6:eth1

dead.

Sep 7 10:28:32 slave5 heartbeat: info: Running /etc/ha.d/rc.d/status status

Sep 7 10:28:32 slave5 heartbeat: info: Running /etc/ha.d/rc.d/ifstat ifstat

Sep 7 10:28:32 slave5 heartbeat: info: Running /etc/ha.d/rc.d/ifstat ifstat

Sep 7 10:28:32 slave5 heartbeat: info: Taking over resource group 192.168.10.51

Sep 7 10:28:32 slave5 heartbeat: info: Acquiring resource group: slave6 192.168.10.51 slapd

Sep 7 10:28:32 slave5 heartbeat: info: Running /etc/ha.d/resource.d/IPaddr 192.168.10.51 start

Sep 7 10:28:32 slave5 heartbeat: info: ifconfig eth0:0 192.168.10.51 netmask 255.255.255.0 \

broadcast 192.168.10.255

Sep 7 10:28:32 slave5 heartbeat: info: Sending Gratuitous Arp for 192.168.10.51 on eth0:0 [eth0]

Sep 7 10:28:32 slave5 heartbeat: info: Running /etc/ha.d/resource.d/slapd start

Sep 7 10:28:32 slave5 heartbeat: info: /etc/ha.d/resource.d/slapd: Starting


 


相关文章

  •     同事有个需求,需要监控mongodb数据库中某一个collection的数据增长情况,原因是由于有定时任务不断往数据库里填充数据,如果定时任务挂掉了可以及时重启任务,保证数据的准确性.其实也可以监控定时任务的执行情况,之后再研究. ...
  • Tomcat全攻略
    http://blog.csdn.net/gztoby/article/details/92279 分类: -> TOMCAT 2004-09-02 13:14 54461人阅读 评论(6) 收藏 举报 tomcatservletap ...
  • 设置环境如下,两节点操作共享文件: l 192.168.30.206 hdnode4 l 192.168.30.207 hdnode5 l OS:CentOS6.3 + FC-SAN盘柜 以下操作如非特别注明,则需要在所有的节点上执行. 配 ...
  • Hadoop集群完全分布式模式环境部署
    Hadoop简介         Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google Ma ...
  • 由国内著名技术社区Chinaunix鼎力推荐.人民邮电出版社出品,南非蚂蚁(高俊峰)最新技术力作<循序渐进Linux>第二版已经上架发行,此书以Redhat Linux.Centos两个Linux发行版为主进行介绍,采用的具体版 ...
  • 再谈如何学习Linux,一线Linux专家学习经验谈
    记得最早接触linux是在2000年,那个时候,还在上大学,一个同学从荷兰回来,带回来了一个Linux的拷贝版,记得版本还是Redhat6.2.曾经为安装一个系统让我们忘记疲劳,挑灯夜战,不亦乐乎.那时Linux的学习资料还很少,能够学习的 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.012 s.
京ICP备10005923号