Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116371
  • 博文数量: 29
  • 博客积分: 2151
  • 博客等级: 大尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-20 11:11
文章分类

全部博文(29)

文章存档

2011年(5)

2010年(24)

我的朋友

分类: LINUX

2010-04-22 18:26:50

HA文档

 

1、  基础拓扑图

2、  安装测试环境平台

3、  软件使用版本

4、  配置过程

5、  Ldirectord

6、  Ldirectord工作原理

7、  Ldirectord配置说明

 

 

 

基础拓扑图

 

 

 

补充说明:

1、  心跳线是用于两台服务器进行互连的一个线路,证明对方是否存活的一个机制。

2、  仲裁:当两台服务器不通了,他不会立刻切换服务,这时候他会尝试ping仲裁,用于测试网络的联通性。

3、  这里在DIRECTORD端标明了主辅,当主的当机后,辅的会自动切换服务,当主的恢复工作的时候,主的会要求将服务重新切回到自己,辅的会释放绑定的IP,服务等。

4、  仲裁可以是一台后端的服务器或者任何一个可以ping通的网络设备。

5、  一般集群HA端的重要的三个要素:

服务切换、IP切换、文件系统的切换

 

 

 

 

 

安装测试环境平台

硬件:

1、  服务器两台

2、  cpu单核

3、  内存256

4、  网卡各一块百兆

 

 

软件:

1、  readhat5.2

2、  内核版本:2.6.18-92.el5-i686

 

 

 

 

软件使用版本

1libnet版本:1.1.2

2heartbeat版本:heartbeat-2.1.3

 

 

 

配置过程

一、ipvsadm安装过程

准备:

1、  下载libnet,目前我在64位的服务器上安装存在问题,正在测试中。

2、  下载heartbeat-2.1.3

3、  准备相应的perl模块

LWP::UserAgent

MailTools

TimeDate

目前发现这些必装,其它的情况尚未发现,如果这些模块缺少,ldirecotd将无法启动

        

安装:

1、  libnet1.1.2安装

./configure

make

make install

 

2、  heartbeat-2.1.3安装

./ConfigureMe configure --prefix=/usr/local/hearbeat

make

make install

cd /usr/local/hearbeat/

cp /usr/local/hearbeat/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d

cp /usr/local/hearbeat/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d

cp /usr/local/hearbeat/share/doc/heartbeat-2.1.3/haresources /etc/ha.d

 

二、heartbeat的配置:

配置:

         1cd /etc/ha.d

         2vi ha.cf

         根据自己的需求修改如下参数

         debugfile /var/log/ha-debug

        logfile /var/log/ha-log(日志选项,根据自己的需求制定安装路径)

keepalive 2(心跳联系时间间隔,这里的单位是秒,每2秒产生一次证明对方状态的数据包)

        deadtime 8(死亡时间,失去联系8秒后,认定对方当机)

  warntime 5(警告时间,在日志中产生最后心跳”late heartbeat”字样前的警告时间设定)

        udpport 694(udp端口,ucastbcast的通讯端口)

ucast eth1 192.168.1.74(这里采用ucast的广播方式来证明对方的状态,从设备eth1发出广播,对端的IP地址)

        auto_failback on (打开后当主DIRECTORD恢复工作后,会发生自动切换的动作)   

watchdog /dev/watchdog (软件看门狗,监控DIRECTORD状态,若对方被判定当机,此软件狗可以控制重新启动服务器,不过不好用)

        node test.ha.com(server的域名 要放在上面,这里的域名在hosts文件中作了映射)

        node test2.ha.com(辅server的域名)

        ping 192.168.1.4(仲裁IP,用于判断DIRECTORD的网络状态)

respawn root /usr/local/hearbeat/lib/heartbeat/ipfail (这是一个发生PING的脚本,没有细读过)

        apiauth client-name gid=root uid=root                               (权限设置)        

        apiauth ipfail gid=root uid=root                                            (权限设置)

3、保存退出

        

4vi authkeys(主辅两边一样)

       auth 1        #选择哪种认证

1 crc         #crc方式

#2 sha1 HI!   #sha1加密后面的”HI!”是密码

#3 md5 Hello! #md5方式(采用Hello!这个字符串的MD5机密串作为认证串)

            (注:文件说明,这个文件是服务器在互相通信时,采用加密方式的设置;

5chmod 600 authkeys

    6、保存退出

 

7vi haresources(主辅两边一样)

加上下面这行

             test.ha.com IPaddr2::192.168.198.77/24/eth0:1 ipvsadm ldirectord

                   说明:(以空格为分隔符)

                   $1  域名,将主域名填写在这里

$2  IPaddr2这是用于添加IP的一个脚本,如果这里没有用虚拟网卡,用的是真实的,这里就用IPaddr这个脚本;

             Ip/网络掩码/设备号

$3   是在/etc/init.d目录下的一个服务名,如果有自己的服务需要自动切换的,也可以写,这里是自动查找/etc/init.d目录下的

             $4   同上

         8、保存退出

 

 

  

 

Ldirectord

 

图形参数说明:

     VIP: 对外提供APACHE访问的外网地址

     DIP 用于与后端真实的APACHE服务器联系的IP

     RIP:真实APACHE的服务器的IP地址

 

 

ldirectord工作原理

DIRECTORD会定时向后端的REAL SERVER发送HTTP请求,类似于GET ,然后分析看页面中是否存在符合自己定义的某些特殊关键字,如果有,则该服务器工作正常,如果没有,则该服务出现异常,会自动将IPVSADM里的关于到这个服务器的权重改为“0”,则就不会出现类似网页第一次打不开,刷新之后就能打开的问题了。

 

 

 

ldirectord配置说明

1cd /etc/ha.d

2vi ldirectord.cf

checktimeout=3(健康检查执行完毕的等待时间)

checkinterval=1

#autoreload=no

#callback=

logfile="/var/log/ldirectord.log" (日志选项)

#logfile="local0"

#execute="configuration"

quiescent=yes

# A sample virual with a fallback that will override the gobal setting

以下格式必须这样

virtual=192.168.198.77:80

        real=192.168.1.2:80 gategate是申明此LVS采用DR方式,和-g参数一样)

        checktype=negotiate

        service=http

        request="test"(浏览的文件)

        receive="lihui"(被获取的内容)

        scheduler=wlc(算法,和ipvsadm的算法保持一致)

        persistent=10(定向分配值和-p这个参数是同义)

        protocol=tcp

阅读(1493) | 评论(0) | 转发(1) |
0

上一篇:show status整理版

下一篇:集群-LVS-DR

给主人留下些什么吧!~~