安装keepalived+nginx
操作系统为CentOS7,两台lvs,两台web服务器
ip服务备注192.168.255.130lvs+keepalivedlb01192.168.255.140lvs+keepalivedlb02192.168.255.111nginxweb01192.168.255.112nginxweb02192.168.255.200
虚拟ip
访问流程图如下:
从上图可以看出,用户访问虚拟ip 192.168.255.200,即使Master节点故障,Slave节点也可以提供转发服务
Master机器负责将用户的请求转发到后端web节点,可以设置算法指定转发方式,通过配置keepalived保证了转发机器的高可用性
组件的安装
两台lb节点都需要安装配置keepalived与ipvsadm
keepavlied保证故障切换
ipvsadm管理负载均衡数据
安装ipvsadm
yum install -y ipvsadm
安装后就可以配置lvs集群,首先在Master节点绑定虚拟ip 192.168.255.200
ifconfig ens33:0 192.168.255.200 netmask 255.255.255.255 broadcast 192.168.255.200 up
此处在ens33设备上绑定了一个虚拟设备ens:33,同时设置了一个虚拟IP是192.168.255.200,也就是上面我们规划的IP地址,然后指定广播地址也为192.168.255.200,需要特别注意的是,这里的子网掩码为255.255.255.255
然后给设备ens:33指定一条路由,执行如下指令:
route add -net 0.0.0.0 gw 192.168.255.2 route del -net 0.0.0.0 gw 192.168.255.200 route del -net 192.168.255.200 netmask 255.255.255.0 gw 192.168.255.200 dev ens33:0 ip -f inet addr add 192.168.255.200/32 dev ens33:0 ip -f inet addr delete 192.168.255.200/32 dev ens33:0
启动系统数据转发功能,将系统当作路由器使用
echo "1" >>/proc/sys/net/ipv4/ip_forward
参数1表示开启转发,0表示禁止转发,NAT模式下,必须开启,DR模式下非必须
载入sysctl配置文件
sysctl -p
配置ipvs
ipvsadm -C ipvsadm -A -t 192.168.255.200:80 -s wrr ipvsadm -a -t 192.168.255.200:80 -r 192.168.255.111:80 -g -w 1 ipvsadm -a -t 192.168.255.200:80 -r 192.168.255.112:80 -g -w 1 ipvsadm
ipvsadm -C 表示清除LB内核虚拟服务器所有记录
ipvsadm -A 表示增加新的虚拟ip记录,虚拟ip为192.168.255.200
ipvsadm -a 表示在虚拟ip的基础上添加真实ip,指定lvs的工作方式为路由模式
重启LVS服务
ipvsadm
状态如下
安装 keepalived
yum install -y keepalived
配置keepalived
vim /etc/keepalived/keepalived.conf
配置解释:
! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc#设置报警邮件地址,可以设置多个,每行一个。 failover@firewall.loc#需开启本机的sendmail服务 sysadmin@firewall.loc } notification_email_from a.c@firewall.loc #设置邮件的发送地址 smtp_server 127.0.0.1 #设置smtp server地址 smtp_connect_timeout 30#设置连接smtp server的超时时间 router_id LVS_DEVEL#表示运行keepalived服务器的一个标识。发邮件时显示在邮件主题的信息 vrrp_skip_check_adv_addr vrrp_strict vrrp_g