虚拟机virtualBox 搭建 Keepalived+lvs dr+httpd 负载均衡
master :192.168.1.103backup:192.168.1.104web1:192.168.1.105web2:192.168.1.1061.192.168.1.105、192.168.1.106 搭建http服务器关闭防火墙 -》启动http服务器->进入/var/www/html新建index.html添加标识,注明服务的是那个web服务
master :192.168.1.103
backup:192.168.1.104
web1:192.168.1.105
web2:192.168.1.106
1.192.168.1.105、192.168.1.106 搭建http服务器
关闭防火墙
service iptables stop
chkconfig iptables off
chkconfig iptables --list
进入/var/www/html新建index.html,注明服务的是那个web服务
cd /var/www/html
touch index.html //新建index.html文件
启动http服务
service httpd start
浏览器访问 http://192.168.1.106
192.168.1.105重做以上操作
2.在192.168.1.105、192.168.1.106 上配置VIP 并配置屏蔽其vip广播
cd /etc/init.d/
touch realserver(名字可以随便取)
vim realserver
#!/bin/bash
#chkconfig: 2345 79 20
#description:realserver
SNS_VIP=192.168.1.180
. /etc/rc.d/init.d/functions
case "$1" in
start)
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
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $SNS_VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
赋予权限chomd u+x realserver(赋予权限后文件会变色)
启动 service realserver start
3.安装keepalived: yum -y install keepalived
查看keepalived安装情况:rpm -ql keepalived
> /etc/keepalived/keepalived.conf覆盖keepalived.conf文件相当于清空原来的内容
编辑192.168.1.103主机的keepalived配置文件
vim /etc/keepalived/keepalived.conf
global_defs { ##全局配置部分
# notification_email { ##下面几行均为全局通知配置,可以实现出现问题后报警,但功能有限,因此注释掉,并采用Nagios监视lvs运行情况
# admin@qq.com
# }
# notification_email_from master@toxingwang.com
# smtp_server smtp.exmail.qq.com
# smtp_connect_timeout 30
router_id LVS_DEVEL ##设置lvs的id,在一个网络内应该是唯一的
}
vrrp_instance VI_1 { ##设置vrrp组,唯一且同一LVS服务器组要相同
state MASTER ##备份LVS服务器设置为BACKUP
interface eth1 # #设置对外服务的接口
virtual_router_id 51 ##设置虚拟路由标识
priority 100 #设置优先级,数值越大,优先级越高,backup设置为99,这样就能实现当master宕机后自动将backup变为master,而当原master恢复正常时,则现在的master再次变为backup。
advert_int 1 ##设置同步时间间隔
authentication { ##设置验证类型和密码,master和buckup一定要设置一样
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { ##设置VIP,可以多个,每个占一行
192.168.1.180
}
}
virtual_server 192.168.1.180 80 {
delay_loop 6 ##健康检查时间间隔,单位s
lb_algo wrr ##负载均衡调度算法设置为加权轮叫
lb_kind DR ##负载均衡转发规则
nat_mask 255.255.255.0 ##网络掩码,DR模式要保障真实服务器和lvs在同一网段
persistence_timeout 50 ##会话保持时间,单位s
protocol TCP ##协议
real_server 192.168.1.105 80 { ##真实服务器配置,80表示端口
weight 3 ##权重
TCP_CHECK { ##服务器检测方式设置 keepalived的健康检查方式 有:HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK
connect_timeout 10 ##连接超时时间
nb_get_retry 3 ##失败重试次数
delay_before_retry 3 ##失败重试的间隔时间
connect_port 80 ##连接的后端端口
}
}
real_server 192.168.1.106 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
192.168.1.104 备机只需修改
state BACKUP
<pre name="code" class="html">priority 99
service keepalived start
查看启动情况tail -f /var/log/messages
安装 yum -y install ipvsadm 查看
ipvsadm -L -n //用LVS工具查看keepalived运行
ip addr show //查看VIP
验证失败可能原因:
persistence_timeout 50 ##会话保持时间,单位s 距离第一次访问的保持时间
改为0
<pre name="code" class="html">interface eth1 # #设置对外服务的接口
ifconfig 可以查看
克隆虚拟机 mac地址一样
更多推荐
所有评论(0)