登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

herb

喜欢写博,喜欢安静,喜欢挑战!

 
 
 

日志

 
 

Centos5.4/freebsd UCARP 热备  

2010-12-30 18:55:02|  分类: Linux Cluster |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


1         Ucarp简介 

UCARP允许多个主机共享一个虚拟的ip地址,以提供自动的故障恢复功能,当其中某个主机宕机时,其它的主机会自动接管服务。UCARPCARP协议(通用地址冗余协议,最早在OpenBSD上实现)的linux实现版本,同时也能移植到其它多个unix平台,UCARP的官方网站:http://www.ucarp.org/project/ucarp 

 

CARP协议的特点在于其非常低的开销,主机间使用加密数据传递信息,并且在冗余主机之间不需要任何额外的网络链接。

 

下载ucarp源代码包http://download.pureftpd.org/pub/ucarp/,在README中有ucarp的简单部署实例。

 

2         设置UCARP基本信息

1 多个主机以构成冗余主机组;

2 一个共享的虚拟ip地址,用以对外提供可靠的服务,冗余主机组中的某个主机会对会对这个ip上的服务进行应答;

3 对于每个主机,需要配置一个真实的ip地址;

4 一个1-255之间的共享标识符;

5 一个共享的密码(使得网络间传输的消息都为密文);

6 当冗余组中某个主机成为MASTER时执行的脚本程序;

7 当冗余组中某个主机不再是MASTER是执行的脚本程序

3         Ucap具体参数详解

--interface=<if> (-i <if>: bind interface <if> (网络接口 绑定网络接口)
--srcip=<ip> (-s <ip>: source (real) IP address of that host (
源地址真实ip)
--vhid=<id> (-v <id>: virtual IP identifier (1-255) (
虚拟ip标识 (1-255))
--pass=<pass> (-p <pass>: password (
密码)
--preempt (-P): becomes a master as soon as possible (
以最快的速度成为主服务器的角色)
--neutral (-n): don't run downscript at start if backup (
如果是备份主机,启动的时候不运行downscript.)
--addr=<ip> (-a <ip>: virtual shared IP address(
虚拟共享ip地址)
--help (-h): summary of command-line options (
命令行帮助)
--advbase=<seconds> (-b <seconds>: advertisement frequency (
广播的频率())
--advskew=<skew> (-k <skew>: advertisement skew (0-255) (
不广播)

用来设置公告间隔时间, 公式(以秒计)advskew/256+advbaseadvbase可以减少网络流量或设置更长的主力机"轮循"时间(直至备份机来顶替它);advskew设置哪台热备份计算机在故障转移时优先成为主力机(这是必需的)
--upscript=<file> (-u <file>: run <file> to become a master (
运行一个脚本文件,使本服务器成为主服务器)
--downscript=<file> (-d <file>: run <file> to become a backup (
运行一个脚本文件,使本服务器成为从服务器)
--deadratio=<ratio> (-r <ratio>: ratio to consider a host as dead (
认定主机已经死掉的比率(阀值))
--shutdown (-z): call shutdown script at exit (
在退出的时候,执行关闭的脚本)
--daemonize (-B): run in background (
运行在后台)
--facility=<facility> (-f): set syslog facility (default=daemon) (
设置syslog工具,默认在后台) 

Ucarp参数简述:

-v vip标识 –p密码 –a vip地址 –u 当机器为升为master时运行的脚本 –d 当机器降为slave时运行的脚本 –s心跳ip地址 –P-k结合最小的为master机器 –Bdaemon方式运行

4         配置示例

4.1      centos 5.4

/etc/yum.repos.d/目录下建ucarp.repo文件内容如下

[ucarp]

name=ucarp RPM Repository for Red Hat Enterprise Linux

baseurl=http://mirrors.ircam.fr/pub/dag/redhat/el$releasever/en/$basearch/dag

http://rh-mirror.linux.iastate.edu/pub/dag/redhat/el$releasever/en/$basearch/dag

http://wftp.tu-chemnitz.de/pub/linux/dag/redhat/el$releasever/en/$basearch/dag

http://archive.cs.uu.nl/mirror/dag.wieers/redhat/el$releasever/en/$basearch/dag

http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

http://mirror.cpsc.ucalgary.ca/mirror/dag/redhat/el$releasever/en/$basearch/dag

http://rpmfind.net/linux/dag/redhat/el$releasever/en/$basearch/dag

http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag

http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

enabled=1

gpgcheck=1

gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

然后yum 方式安装即可  yum install ucarp

 

主:192.168.2.24ip为心跳检测ip  

[root@THS-LEVEL2 ~]# cat /etc/master-up.sh

#!/bin/sh

/sbin/ip addr add 211.138.113.105/24 dev eth1

/sbin/route  add default gw 211.138.113.1

[root@THS-LEVEL2 ~]# cat /etc/master-down.sh

#!/bin/sh

/sbin/ip addr del 211.138.113.105/24 dev eth1

/sbin/route  del default gw 211.138.113.1

[root@THS-LEVEL2 ~]# cat /etc/master.sh

#!/bin/sh

/usr/sbin/ucarp -v 40 -p gw105 -a 211.138.113.105 -u /etc/master-up.sh -d /etc/master-down.sh -s 192.168.2.24 -P  -B


备:192.168.2.22ip为心跳检测ip    

[root@localhost ~]# cat /etc/slave-up.sh

#!/bin/sh

/sbin/ip addr add 211.138.113.105/24 dev eth1

/sbin/route  add default gw 211.138.113.1

/bin/sh /root/mobile/mobi.sh

[root@localhost ~]# cat /etc/slave-down.sh

#!/bin/sh

/sbin/ip addr del 211.138.113.105/24 dev eth1

/sbin/route  del default gw 211.138.113.1

/bin/sh /root/mobile/stop.sh

#/bin/ps -ef|grep mobi|awk '{print $2}'|xargs kill -9

[root@localhost ~]# cat /etc/slave.sh

#!/bin/sh

/usr/sbin/ucarp -v 40 -p gw105 -a 211.138.113.105 -u /etc/slave-up.sh -d /etc/slave-down.sh -s 192.168.2.22 -P -k 15 –B

4.2      freebsd

http://download.pureftpd.org/pub/ucarp/上下载ucarp文件

 安装 ./configure && make && make install

192.168.2.254

mobigw2# cat /etc/master.sh

/usr/local/sbin/ucarp -v 96 -p 196bile -a 211.138.113.196 -u /etc/master-up.sh -d /etc/master-down.sh -s 192.168.2.254  -P  -B

mobigw2# cat /etc/master-up.sh

#!/bin/sh

ifconfig em0 add 211.138.113.196 netmask 255.255.255.0

ifconfig em1 192.168.2.1/24 alias

route add default  211.138.113.1

 

mobigw2# cat /etc/master-down.sh

#!/bin/sh

ifconfig em0 -alias 211.138.113.196

ifconfig em1 -alias 192.168.2.1

route del default  211.138.113.1

 

192.168.2.3

zjyd_181# cat /etc/slave.sh

/usr/local/sbin/ucarp -v 96 -p 196bile -a 211.138.113.196 -u /etc/slave-up.sh -d /etc/slave-down.sh -s 192.168.2.3 -P -k 25 -B

zjyd_181# cat /etc/slave-up.sh

#!/bin/sh

ifconfig em1 add 211.138.113.196 netmask 255.255.255.0

ifconfig em0 192.168.2.1/24 alias

#route add default  211.138.113.1

zjyd_181# cat /etc/slave-down.sh

#!/bin/sh

ifconfig em1 -alias 211.138.113.196

ifconfig em0 -alias 192.168.2.1

5         启动服务

主机器上执行/etc/master.sh

备机器上执行/etc/slave.sh

并将主被两台机器服务添加到开机启动项:

cp /etc/master.sh  /etc/rc.d/rc.local

cp /etc/slave.sh   /etc/rc.d/rc.local

6         功能实现

当主机器掉之后,从机器会接管主机器ip及相关服务;之后主机器重新起来后,主机器会把从的机器ip抢过来,并且备机器会从“主”降为从


  评论这张
 
阅读(1238)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018