准备
四个虚拟机,其中两个做RS,另外两个做keepalived,实现keepalived的高可用。
在RS做httpd服务,用来做测试。RS的ip分别是172.25.49.2 和172.25.49.3
安装keepalived
keepalived的安装,首先从管网下载keepalived的源码包并解压,金融业到解压目录里。然后进行源码安装的三个步骤。
./configure –prefix=/usr/local/keepalived –with-init=SYSV
指定安装位置和初始化方式。
在进行此步骤的时候,可能需要解决一些软件的依赖性,以此解决就可以了。
确保没有报错后,然后make&&make install,
为了方便,可以创建几个软连接。
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
完成后,给启动脚本文件加上可执行权限。
修改配置文件
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@loaclhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict #注释掉,不然会打开防火墙
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER #MASTER表示这个是主备模式里面的主要的那个服务器
interface eth1 #心跳监听接口
virtual_router_id 49 #主机和备机的virtual_router_id必须一样
priority 100 #主机的优先级,一定要大于备机
advert_int 1 #主备机之间心跳的频率,每秒一次
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.49.100 #设置vip,虚拟ip
}
}
virtual_server 172.25.49.100 80 { #定义虚拟服务器
delay_loop 1 #每秒检查一下rs的工作状态,利用这个实现对后端RS的健康检查。
lb_algo rr #LVS的调度算法,一共有很多种,必须要知道
lb_kind DR #LVS的模式,一共有四种,必须要知道
#persistence_timeout 50 #会话保持时间,在50S内同一个客户端发来的请求会在同一个RS上,若50S内没有请求。下一次会去其他的RS。
protocol TCP
real_server 172.25.49.2 80 { #第一个RS
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 172.25.49.3 80 { #第二个RS
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
在keepalievd上的配置完成,采用DR直接转发的话,客户端请求的url是172.25.49.100,所有这个ip在后端的RS也要有,但是在加上100这个ip的时候,同时2和3也会把自己的mac地址广播出来,所有要禁止这个操作,
ip addr add 172.25.7.100/24 dev eth1
yum install -y arptables_jf
arptables -A IN -d 172.25.7.100 -j DROP
arptables -A OUT -s 172.25.7.100 -j mangle --mangle-ip-s 172.25.7.2
/etc/init.d/arptables_jf save
/etc/init.d/httpd status
在RS2和3上,开启arptables的控制策略,加入VIP,开启http服务,就可以使用了。
keepalived的高可用
在keepalived的备机上也装keepalived,所有的步骤都一样,在修改配置文件的时候,把MASTER改为BACKUP,把优先级调低,剩下的所有都一样,然后开启keepalived就可以了,测试时,查看虚拟ip在哪个keepalived上面,然后关闭keepalived,查看是否可以跳转到其他的keepalived上,如果可以,再用浏览器输入虚拟ip,看看是否可以到达RS的主机上,并返回html的页面。