作者superdebug2012-12-10 14:08信息技术经理, 可以
Redhat Linux安装keepalived实现双机热备
字数 7228阅读 282评论 0赞 0
keepalived简介
keepalived是一个类似于layer3, 4 &
5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
keepalived下载:
下载地址:http://www.keepalived.org/download.html 可以选择需要的版本。
wget
http://www.keepalived.org/software/keepalived-1.1.17.tar.gz
实验环境
两台Redhat
Linux RHEL 5.5:
* a:192.168.0.231
*
b:192.168.0.232
虚拟IP:192.168.0.230
准备工作:
同步两台服务器的系统时间
[root@a ~]# ntpdate time.nist.gov
5 Nov 10:58:21 ntpdate[4931]: step
time server 192.43.244.18 offset -7.230439 sec
下载keepalived
[root@a ~]# wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz
--11:01:08-- http://www.keepalived.org/software/keepalived-1.1.17.tar.gz
正在解析主机 www.keepalived.org... 188.165.36.82
Connecting to www.keepalived.org|188.165.36.82|:80... 已连接。
已发出 HTTP
请求,正在等待回应... 200 OK
长度:238195 (233K) [application/x-gzip]
Saving
to: `keepalived-1.1.17.tar.gz'
100%[================================================>] 238,195 5.93K/s
in 26s
11:01:36 (8.93 KB/s) - `keepalived-1.1.17.tar.gz' saved
[238195/238195]
安装kernel-devel
# yum install
kernel-devel
创建软连接,否则无法支持IPVS
[root@a ~]# ln -sv
/usr/src/kernels/2.6.18-194.el5-i686/ /usr/src/linux
创建指向“/usr/src/kernels/2.6.18-194.el5-i686/”的符号链接“/usr/src/linux
安装openssl-devel
# yum install openssl-devel
如果没有安装openssl-devel会出现如下报错
#
./configure
configure: error:
!!! OpenSSL is not properly
installed on your system. !!!
!!! Can not include OpenSSL headers
files.
!!!
安装keepalived
编译安装keepalived
#./configure
注意:在检查配置的时候,需要看到:
Keepalived configuration
------------------------
Keepalived
version : 1.1.17
Compiler : gcc
Compiler
flags : -g -O2
Extra Lib : -lpopt -lssl
-lcrypto
Use IPVS Framework : Yes
IPVS sync daemon support :
Yes
Use VRRP Framework : Yes
Use LinkWatch :
No
Use Debug flags : No
#make && make
install
创建keepalived目录
#mkdir
/etc/keepalived
复制keepalived相关文件
# cp
/usr/local/etc/sysconfig/keepalived /etc/sysconfig/keepalived
# cp
/usr/local/sbin/keepalived /usr/sbin/keepalived
# cp
/usr/local/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
# cp
/usr/local/etc/keepalived/samples/keepalived.conf.virtualhost
/etc/keepalived/keepalived.conf
配置keepalived
#vim
keepalived.conf
! Configuration File for keepalived
global_defs {
//全局定义块
notification_email { //Email通知
blog@liusuping.com
}
notification_email_from blog@liusuping.com
smtp_server 127.0.0.1
#
smtp_connect_timeout 30
router_id LVS_DEVEL
//LVS负载均衡标识,在一个网络内,它是唯一标识
}
# VIP1
vrrp_instance VI_1
{ //定义vrrp块
state MASTER //实例状态state
,只有MASTER,BACKUP两种必需大写单词,MASTER为工作状态,BACKUP为备用状态,当MASTER失效时,BACKUP会自动把状态
BACKUP变成MASTER;当MASTER系统恢复时,BACKUP从MASTER恢复到BACKUP状态。
interface
eth0 //通信接口,对外提供服务的网络接口
virtual_router_id 51
//虚拟路由标识,vrrp实例唯一的,virtual_router_id 是一致的,在vrrp是唯一的
priority
100 //优先级,数字越大,优先级越高
advert_int 1
//master,backup同步通知间隔,单位为1秒
authentication {
auth_type PASS //验证类型主要有PASS、AH 两种,通常使用的类型为PASS,据说AH 使用时有问题。
auth_pass 1111 //验证密码为明文,同一vrrp 实例MASTER 与BACKUP 使用相同的密码才能正常通信。
}
virtual_ipaddress { \定义虚拟IP,可以有多个,分行写入
192.168.0.230
}
}
virtual_server 192.168.0.230
80 { \虚拟服务器IP
delay_loop 6 \健康检查时间间隔,单位为秒
lb_algo rr \负载调度算法,互联网应用常使用wlc、rr
lb_kind DR
\负载均衡转发规则,一般有DR,NAT,TUN
persistence_timeout 60
\会话保持时间,单位为秒,当用户从远程帐号过行登陆网站时,有了这个会话保持功能,就能把用户的请求转发到同一个应用服务器。
protocol TCP \转发协议,tcp,udp
real_server 192.168.0.231
80 {
weight 3 \权重,数字越大,权重越高。
TCP_CHECK
{
connect_timeout 10 \连接超时的时间
nb_get_retry 3
\重试次数
delay_before_retry 3 \重试间隔
connect_port 80 \健康检查端口
}
}
real_server 192.168.0.232 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
启动keepalived服务
# service keepalived
start
启动 keepalived:[确定]
测试一下虚拟IP是否可以正常访问,将其中一台服务器关闭适合还能正常访问。
著作权归作者所有
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!赞0
分享
添加新评论0 条评论
Ctrl+Enter 发表
匿名评论