四台虚拟机:两台是调度器,两台是节点
(1): systemctl stop keepalived 停止
(2): systemctl stop httpd 停止
(3) cd /etc/keepalived 切换目录
(4): cp /keepalived.conf.bak keepalived.conf 还原复制
(5): vim keepalived.conf 编辑
修改
! Configuration File for keepalived
global_defs {
notification_email {
to@bdqn.com // 设置根据报警邮件地址,可以设置多个,每行一个,注意,如果开启右键报警,需要开启本机的sendmail 服务
}
notification_email_from from@bdqn.com //设置邮件的发送地址
smtp_server mail.bdqn.com //设置smtp 服务器地址
smtp_connect_timeout 30 //设置连接smtp服务器超时时间
router_id LVS_MASTER //运行Keepalived 服务器的一个标识,发邮件时显示在邮件标题中的信息
}
vrrp_instance VI_1 { //vrrp 实例定义部分
state MASTER //指定Keepalived
interface ens33 //指定HA监听网路的接口
virtual_router_id 51 // 虚拟路由标识,这个标识是一个数字,两个用同一个数字
priority 10 //定义优先级,第一个高,第二个就低
advert_int 1 //设定验证类型和密码
authentication {
auth_type PASS //设置验证类型,主要由pass和AH两种
auth_pass 1111 //设置验证密码,
}
virtual_ipaddress { //设置虚拟服务器,需要指定虚拟IP地址和服务器端口。
192.168.100.254
}
}
virtual_server 192.168.100.254 80 { //设置虚拟服务器,需要指定虚拟IP地址和服务端口,IP与端口之间空格
delay_loop 6 //设置健康检查时间,单位为秒
lb_algo rr //设置调度算法,这里为rr,是轮询算法
lb_kind DR //设置lvs 实现负载均衡的机制,中的DR nat_mask 255.255.255.0
protocol TCP //指定协议类型,有tcp和udp 两种
real_server 192.168.100.20 80 { //配置服务节点1 ,需要指定真实的地址和端口
weight 1 //配置服务节点的权值,权值的大小用数字表示,数字越大,权值越高
TCP_CHECK { //realserver 的状态检测设置部分,单位为
connect_timeout 10 //10秒无响应时
nb_get_retry //重试次数
delay_before_retry 3 //重试间隔
connect_port 80 //测试连接的端口
}
}
real_server 192.168.100.30 80 { //配置服务节点1 ,需要指定真实的地址和端口
weight 1 //配置服务节点的权值,权值的大小用数字表示,数字越大,权值越高
TCP_CHECK { //realserver 的状态检测设置部分,单位为
connect_timeout 10 //10秒无响应时
nb_get_retry 3 //重试次数
delay_before_retry 3 //重试间隔
connect_port 80 //测试连接的端口
}
}
}
(6):scp keepalived.conf 192.168.100.10:/etc/keepalived 发送到另一台从服务网上
(7): 在从服务器上修改
vim keepalived.conf
(8): 在主服务器上重启服务
(9): 重启从服务上的服务
(10): 在web服务1上
echo "11111111" > /var/www/html/index.html
systemctl start httpd
(11): 在web服务器2上
echo "22222" > /var/www/html/index.html
systemctl restart httpd
(12): 在web1 上写入 :vim real.sh 脚本
#! /bin/bash
SNS_VIP=192.168.100.254
ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP dev lo:0
echo"1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo"2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo"1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo"2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
(13): bash real.sh 执行脚本
ip a 查看
访问:
(14):ipvsadm -Ln 查看主服务器的策略
(15): 关闭一个web,及少一个策略
查看从服务的策略
(16):把主服务的地址down了
及在从服务上查看
注:当主服务器上的Keepalived 的服务关闭时,在从服务上会出现100.254.。
当主服务器上的网卡down了时,在从服务上会出现 100.254
当以上服务和网卡停用时,从服务上没有100.254 ,及重启从服务上的Keepalived即可。