1.将server1配置好的yum源发送给server4
scp /etc/yum.repos.d/rhel-source.repo server4:/etc/yum.repos.d/
2.获取keepalived-2.0.6.tar.gz并解压
tar zxf keepalived-2.0.6.tar.gz
3.进入解压好的keepalived-2.0.6目录下,进行源码编译
cd keepalived-2.0.6
yum install openssl-devel -y
./configure --prefix=/usr/local/keepalived --with-init=SYSV
这里出现YES说明成功
4.查看状态
5.将编译好的keepalived发送给server4
scp -r keepalived/ server4:/usr/local
du -sh keepalived/
2.2M keepalived/
server4:
du -sh /usr/local/keepalived/
2.2M keepalived/
6.赋予执行权限,添加链接
chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
7.为server4安装ipvsadm
yum install ipvsadm -y
8.将所有ip还原
modprobe -r ipip #清除隧道
9.编辑keepalived配置文件,server1设置为MASTER,server4设置为BACKUP
vim /etc/keepalived/keepalived.conf
3 global_defs { ##全局定义块
4 notification_email { ##邮件通知
5 root@localhost
6 }
7 notification_email_from keepalived@localhost #设置邮件的发送地址
8 smtp_server 127.0.0.1 #设置 smtp server 地址
9 smtp_connect_timeout 30 #设置连接 smtp 服务器超时时间
10 router_id LVS_DEVEL6 #load balancer 的标识 ID,用于 email 警报
11 vrrp_skip_check_adv_addr
12 #vrrp_strict
13 vrrp_garp_interval 0
14 vrrp_gna_interval 0
15 }
16
17 vrrp_instance VI_1 {
18 state MASTER #备机改为 BACKUP,此状态是由 priority 的值来决定的,当前
19 interface eth0 #HA 监测网络接口
20 virtual_router_id 59 #主、备机的 virtual_router_id 必须相同,取值 0-255
21 priority 100 #主机的优先级,备份机改为 50,主机优先级一定要大于备机
22 advert_int 1 #主备之间的通告间隔秒数
23 authentication {
24 auth_type PASS #设置验证类型,主要有 PASS 和 AH 两种
25 auth_pass 1111
26 }
27 virtual_ipaddress { ##指定漂移地址(VIP),即切换到MASTER时,这些IP会被添加,切换到BACKUP时,这些IP会被删除(传给ip addr命令),所以每台服务器可以不用绑定任何的虚拟地址。
28 172.25.8.100
29 }
30 }
31 ## 虚拟服务配置
32 virtual_server 172.25.8.100 80 { #定义虚拟服务器
33 delay_loop 3 #定义虚拟服务器
34 lb_algo rr #lvs 调度算法,这里使用轮叫
35 lb_kind DR #LVS 是用 DR 模式
36 #persistence_timeout 50 #注释掉(像lftp等连接性服务,会有连接时间,此处用httpd做实验)
37 protocol TCP #指定转发协议类型,有 tcp 和 udp 两种
38
39 real_server 172.25.8.2 80 { #配置服务节点
40 TCP_CHECK { ##TCP方式的健康检查,realserve 的状态检测设置部分,单位是秒
41 weight 1 ##默认为1,0为失效
42 connect_timeout 3 #3 秒无响应超时
43 retry 3 #重试次数
44 delay_before_retry 3 #重试间隔
45 }
46 }
47
48 real_server 172.25.8.3 80 {
49 TCP_CHECK {
50 weight 1
51 connect_timeout 3
52 retry 3
53 delay_before_retry 3
54 }
55 }
56 }
server1和server4安装邮件服务
yum install mailx -y
10.将ldirectord服务停止,关闭开机自启
/etc/init.d/ldirectord stop
chkconfig ldirectord off
ipvsadm -C
ipvsadm -l
11.启动keepalived服务
server1和server4都要打开
/etc/init.d/keepalived start
12.为服务器server2和server3添加内网ip
ip addr add 172.25.80.100/32 dev eth0
测试
server1上查询ip
可以看到自动分配的内网ip,并开启调度器
在客户端测试,出现轮询
模拟问题1
关掉sever1,MASTER的keepalived服务
此时BACKUP开始工作
模拟问题2
将后端apache关闭,模拟故障
在客户端访问
可以看到邮件