keepalived部署
1.keepalived服务介绍
keepalived起初是专门为LVS设计的,专门用来监控 LVS集群系统中各个服务节点的状态,后来又加入了VRRP的功能,因此除了配合LVS服务外,也可以作为其他服务器(nginx,haproxy)的高可用软件,VRRP是(virtual router redundancy protocol)虚拟路由器冗余协议的缩写,VRRP出现的目的就是为了解决静态路由出现的单点故障问题,它能够保证网络的不间断、稳定的运行。所以,keepalived一方面具有LVS cluster nodes healthchecks功能,另一方面也具有LVS directors failover功能。
2.keepalived两大服务用途
healthcheck:负载均衡定期检查RS的可用性决定是否给其他分发请求,配合LVS做集群节点做健康检查 failover:实现LB master主机和backup主机之间故障转移和自动切换 1. keepalived.conf里配置就可以实现LVS功能 2. keepalived可以对下面的集群节点做健康检查
3.软件版本
软件 版本 nginx nginx-1.6.3 keepalived keepalived-1.2.16
4.keepalived安装
cd /server/tools/ wget http://www.keepalived.org/software/keepalived-1.2.16.tar.gz ln -s /usr/src/kernels/2.6.32-431.el6.x86_64/ /usr/src/linux 提示:有可能会没有/usr/src/kernells/2.6.42-431.e16.x86_64软件包,此时需要提前通过yum install kernel-devel –y 命令来安装 cd /server/toosl/ tar -zxvf keepalived-1.2.16.tar.gz cd keepalived-1.2.16 ./configure --prefix=/usr/local/keepalived-1.2.16 make make install ln -s /usr/local/keepalived-1.2.16/ /usr/local/keepalived # 创建软链接 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ # 生成启动脚本命令 cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ # 配置启动脚本的参数 cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ #环境变量 mkdir /etc/keepalived # 创建keepalived配置文件 cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ # 拷贝模板 /etc/init.d/keepalived start ps -ef|grep keepalived root 2810 1 0 19:31 ? 00:00:00 keepalived -D root 2812 2810 0 19:31 ? 00:00:00 keepalived -D root 2813 2810 0 19:31 ? 00:00:00 keepalived -D root 2816 1401 0 19:31 pts/0 00:00:00 grep keepalived
5.主keepalived.conf主节点配置keepalived文件
[root@LB01 keepalived]# cp /etc/keepalived/keepalived.conf keepalived.conf.bak
[root@LB01 keepalived]# vim /etc/keepalived/keepalived.conf # 编译配置文件
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_01 # vrrp ID
}
vrrp_instance VI_1 {
state MASTER # 节点标识
interface eth0 # 绑定VIP的网卡
virtual_router_id 51
priority 150 # 优先级,主备最好相差50,值越大优先级越高
advert_int 1 # 监测时间为1s
authentication {
auth_type PASS
auth_pass 1111 # 两台keepalived通信的秘钥
}
virtual_ipaddress {
192.168.2.100/24 #绑定VIP的地址
}
}
6.添加VIP地址
[root@LB01 keepalived]# ip addr add 192.168.2.100/24 dev eth0 # 增加vip网卡地址
[root@LB01 keepalived]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:01:ec:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.10/24 brd 192.168.2.255 scope global eth0
inet 192.168.2.100/24 scope global secondary eth0 # 增加的VIP地址
inet6 fe80::20c:29ff:fe01:eca5/64 scope link
valid_lft forever preferred_lft forever
[root@LB01 keepalived]# /etc/init.d/keepalived start
7.备keepalived.conf配置文件。把主keepalived.conf配置文件拷贝到备服务器中
[root@LB01 keepalived]# scp /etc/keepalived/keepalived.conf 192.168.2.12:/etc/keepalived/ # 传到2.12服务器
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_02 # VRRP ID
}
vrrp_instance VI_1 {
state BACKUP # 节点标识
interface eth0
virtual_router_id 51
priority 100 # 优先级
advert_int 1 # 监测时间为1s
authentication {
auth_type PASS
auth_pass 1111 # 两台keepalived通信的秘钥
}
virtual_ipaddress {
192.168.2.100/24
}
}
8.检查keepalived
主/备keepalived防火墙都需要关闭 [root@LB01 keepalived]# /etc/init.d/iptables stop # 关闭防火墙 [root@LB01 keepalived]# ip add|grep 192.168.2.100 inet 192.168.2.100/24 scope global secondary eth0 # vip 地址 [root@LB01 keepalived]# [root@LB02 keepalived-1.2.16]# ip add|grep 192.168.2.100 # 空的 [root@LB02 keepalived-1.2.16]#
9.配置keepalived日志文件
[root@LB01 keepalived]# vim /etc/sysconfig/keepalived 编辑日志配置文件 # Options for keepalived. See `keepalived --help' output and keepalived(8) and # keepalived.conf(5) man pages for a list of all options. Here are the most # common ones : # # --vrrp -P Only run with VRRP subsystem. # --check -C Only run with Health-checker subsystem. # --dont-release-vrrp -V Dont remove VRRP VIPs & VROUTEs on daemon stop. # --dont-release-ipvs -I Dont remove IPVS topology on daemon stop. # --dump-conf -d Dump the configuration data. # --log-detail -D Detailed log messages. # --log-facility -S 0-7 Set local syslog facility (default=LOG_DAEMON) # KEEPALIVED_OPTIONS="-D -d -S 0" 更改日志格式 [root@LB01 keepalived]# vim /etc/rsyslog.conf rsyslog.conf最末尾加上这句 local0 .* /var/log/keepalived.log [root@LB01 keepalived]# /etc/init.d/rsyslog restart 重启日志文件

浙公网安备 33010602011771号