LVS KeepaLived集群
LVS Keepalived 方案是和LVS Heartbeat 一样的高可用加负载均衡方案, Keepalived 于Heartbeat 相比在部署和管理方面都大大简化了。
http://blog.运维网.com/e/u/themes/default/images/spacer.gif
1.0 集群环境列表
IP 地址主机名说明
---------------loader Balance 负载层----------------
192.168.140.140 VIP
192.168.140.141 Web-Director LVS Director
192.168.140.143 Web-Backup Keepalived Backup
---------------Sserver custer 服务器集群层----------------
192.168.140.137 Web-node1 Web 节点
192.168.140.139 Web-node2 Web 节点
---------------Storage 存储层-----------------------
1.1 其它注意事项
1> LVS Keepalived 方案ipvsadm 的管理有keepalived 负责。
2> LVS 后端节点的监控检查也是keepalived 进行。
3> 注意内核版本和ipvsadm 版本的对应。
4> 注意ip_vs 模块是否载入内核。
1.2 部署LVS Keepalived
检查内核版本和模块
# uname -r
2.6.18-164.el5
# modprobe ip_vs
# lsmod | grep ip_vs
ip_vs 121473 0
1.3 下载软件包
# ln -s /usr/src/kernels/2.6.18-164.el5-x86_64/ /usr/src/linux
# cd /usr/local/src
# wget
http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
# wget
http://www.keepalived.org/software/keepalived-1.1.20.tar.gz
1.4 安装ipvsadm
注意:Web-Director 和Web-Backup 安装相同
# tar zxvf ipvsadm-1.24.tar.gz
# cd ipvsadm-1.24
有关安装的相关信息,可以查看该目录下的README 文件。
# make && make install
安装完毕后会产生以下文件:
/sbin/ipvsadm
/sbin/ipvsadm-save
/sbin/ipvsadm-restore
/usr/man/man8/ipvsadm.8
/usr/man/man8/ipvsadm-save.8
/usr/man/man8/ipvsadm-restore.8
/etc/rc.d/init.d/ipvsadm
1.5 安装Keepalived
注意:Web-Director 和Web-Backup 安装相同
# tar zxvf keepalived-1.1.20.tar.gz
# cd keepalived-1.1.20
# ./configure --prefix=/usr/local/keepalived
Keepalived configuration
------------------------
Keepalived version : 1.1.20
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 Debug flags : No
如果出现以上输出,说明可以正常编译安装。
# make && make install
# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived
/etc/rc.d/init.d/
# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# /usr/local/keepalived/sbin/keepalived --help
如果你执行了keepalived 命令,你会发现它默认去/etc/keepalived/keepalived.conf 找配置文件,
所以我们要把配置文件创建到此处方便启动,当然,你也可以自己制定配置文件位置。
# mkdir /etc/keepalived
# cp /usr/local/keepalived/etc/keepalived/keepalived.conf
/etc/keepalived/
# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
1.6 LVS 配置
LVS 配置是由keepalived 依靠/etc/keepalived/keepalived.conf 来进行配置的,也就是说我
们不需要手动配置ipvsadm 程序,但是我们做为LVS DR 模式运行,不能忘了对真实机的配。
RealServer 配置 -------这里直接用脚本执行
# /sbin/realserver.sh start
RealServer Start OK
# /sbin/realserver.sh start
RealServer Start OK
在RealServer 执行完realserver.sh 后,一定要检查:
# ifconfig lo:0
lo:0 Link encap:Local Loopback
inet addr:192.168.140.140 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1
# ifconfig lo:0
lo:0 Link encap:Local Loopback
inet addr:192.168.140.140 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1
这样才表示与VIP地址绑定好了。
1.7 Keepalived 配置
这是LVS Keepalived 集群方案的核心,主要集中在/etc/keepalived/keepalived 文件上。
Keepalived 有两种状态,MASTER 和BACKUP,配置大致相似。
Web-Director 配置
下面是一个配置好的keepalived.conf 文件,对于每行用注释说明。
# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs { #全局定义块
notification_email {
admin@unixhot.com #邮件通知模块,定义通知邮件地址。
}
notification_email_from localhost #
smtp_server 127.0.0.1 #定义SMTP Server
smtp_connect_timeout 30 #SMTP 链接超时时间
router_id LVS_MASTER #运行keepalived 机器的一个标识,注意:Web-Backup 应该不
同,修改为LVS_BACKUP
}
vrrp_instance VI_1 {
state MASTER #实例状态,注意:Web-Backup 应该修改为BACKUP
interface eth0 #指定对外服务的网卡。
virtual_router_id 51
priority 101 #优先级,注意:Web-Backup 应该修改比这个值小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.140.140
}
}
virtual_server 192.168.140.140 80 {
delay_loop 6 #健康检查的时间间隔
lb_algo wrr #负载均衡的调度算法
lb_kind DR #负载均衡转发模式
nat_mask
255.255.255.0
persistence_timeout 50 #会话保持时间,针对动态网站
protocol TCP #转发的协议
real_server 192.168.140.137 80 { #真实机的设置
weight 1 #真实机的权重,在带有加权调度的调度算法中有用
TCP_CHECK { #TCP 健康检查
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.140.139 80 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
BACKUP 端配置
BACKUP 端配置和MASTER 几乎一样,可以直接用scp 从MASTER 端复制一份过来,做以下修改即
可:
router_id LVS_MASTER
state MASTER
priority 101
1.8LVS Keepalived 方案测试
启动keepalived 服务
# /etc/init.d/keepalived start
# /etc/init.d/keepalived start
VIP 切换测试
# ip ad li eth0
2: eth0:mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:57:04:db brd ff:ff:ff:ff:ff:ff
inet 192.168.140.141/24 brd 192.168.140.255 scope global eth0
inet 192.168.140.140/32 scope global eth0
inet6 fe80::20c:29ff:fe57:4db/64 scope link
valid_lft forever preferred_lft forever
可以发现,默认的VIP 是绑定在优先级比较高的这台MASTER 上,也就是Web-Director 服务器。
# ip ad li eth0
2: eth0:mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:45:5e:0e brd ff:ff:ff:ff:ff:ff
inet 192.168.140.143/24 brd 192.168.140.255 scope global eth0
inet6 fe80::20c:29ff:fe45:5e0e/64 scope link
valid_lft forever preferred_lft forever
你可以手动来停掉Web-Director 上的keepalived 服务,VIP 就会自动切刀Web-Backup 上。
页:
[1]