1.环境准备:
proxy调度器做路由器、client客户端、web1、web2、做web服务端并配置网页,网关指定调度器proxy2.部署LVS-NAT模式调度器:
echo 1 > /proc/sys/net/ipv4/ip_forward 临时开启路由转发配置 echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf 永久开启路由转发配置 sysctl -p: 刷新路由转发配置,查看路由转发配置文件3.安装ipvsadm 进行管理调度器
yum -y install ipvsadm ipvsadm -A -t 192.168.4.5:80 -s wrr ipvsadm -Ln4.创建集群服务器
ipvsadm -A(创建添加虚拟服务集群) -t 外网ip:端口 -s 调度算法 -A(add)是创建添加虚拟服务器集群 -t(tcp)后面指定集群VIP的地址和端口,协议是tcp协议 -s后面指定负载调度算法,如rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)等等5.添加真实服务器
ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.100 -w 1 -m ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.200 -w 1 -m -a(add)往虚拟服务器集群中添加后端真实服务器IP,指定往-t 192.168.4.5:80这个集群中添加 -d 删除真实服务器 -r(real)后面跟后端真实服务器的IP和端口,这里不写端口默认是80端口 -w(weight)指定服务器的权重,权重越大被访问的次数越多,英语词汇:weight(重量,分量) -m指定集群工作模式为NAT模式,如果是-g则代表使用DR模式,-i代表TUN模式查看规则列表,配置: ipvsadm -Ln
保存配置: ipvsadm-save -n /etc/sysconfig/ipvsadm
1、环境准备
proxy DIP:4.5 VIP:4.15 Client 4.10 Web1:ip 4.100 lo:隐藏ip:4.15 Web2:ip 4.200 lo:隐藏ip:4.152、集群搭建:使用-g定义DR集群
3、client访问4.15测试
Lo网卡为虚拟网卡:伪装的IP地址,这个IP地址因为是用来做地址欺骗用的,假的就是假的,不能暴露(必须配置在lo本地回环网卡上面)。 lo网卡上面默认配置的IP是127.0.0.1。4、防止地址冲突的问题
这里因为web1也配置与调度器一样的VIP地址,默认肯定会出现地址冲突; sysctl.conf文件写入这下面四行的主要目的就是访问192.168.4.15的数据包,只有调度器会响应,其他主机都不做任何响应,这样防止地址冲突的问题。 net.ipv4.conf.all.arp_ignore = 1 对应的为/proc/sys/net/ipv4/conf/all/目录 net.ipv4.conf.lo.arp_ignore = 1 有arp广播问谁是192.168.4.15时,本机忽略该ARP广播,不做任何回应(防止进站冲突) net.ipv4.conf.lo.arp_announce = 2 net.ipv4.conf.all.arp_announce = 2本机不要向外宣告自己的lo回环地址是192.168.4.15(防止出站冲突) /所有值默认为0 sysctl -p 立即生效5、配置vip、DIP
6、配置LVS规则
ipvsadm -A -t 192.168.4.15:80 -s rr ipvsadm -a -t 192.168.4.15:80 -r 192.168.2.100:80 -g ipvsadm -a -t 192.168.4.15:80 -r 192.168.2.200:80 -g ipvsadm -Ln三大功能:
1.VRRP热备 :[配置vip] 2.配置lvs规则(ipvsadm)---开启lvs调度器作用 3.健康检查 --- 自动检查集群工作 keepalived运行时,会启动3个进程,分别为:core(核心进程),check和vrrp \- core:负责主进程的启动,维护和全局配置文件的加载; \- check:负责健康检查 \- vrrp:用来实现vrrp协议1、安装软件
yum -y install keepalived
2、修改配置文件
vim /etc/keepalived/keepalived.conf global_defs { router_id web1 #12行,设置路由ID号(实验需要修改) vrrp_iptables #13行,清除防火墙的拦截规则(实验需要修改,手动添加该 vrrp_instance VI_1 { state MASTER #21行,主服务器为MASTER(备服务器需要修改为BACKUP) interface eth0 #22行,VIP配在哪个网卡(实验需要修改,不能照抄网卡名) virtual_router_id 51 #23行,主备服务器VRID号必须一致 priority 100 #24行,服务器优先级,优先级高优先获取VIP advert_int 1 authentication { auth_type pass auth_pass 1111 } virtual_ipaddress { #30~32行,谁是主服务器谁获得该VIP(实验需要修改) 192.168.4.80 virtual_server 192.168.4.15 80 { #设置ipvsadm的VIP规则(实验需要修改) delay_loop 6 #默认健康检查延迟6秒 lb_algo rr #设置LVS调度算法为RR lb_kind DR #设置LVS的模式为DR(实验需要修改) #persistence_timeout 50 #(实验需要删除) #注意persistence_timeout的作用是保持连接 #开启后,客户端在一定时间内(50秒)始终访问相同服务器 protocol TCP #TCP协议 real_server 192.168.4.100 80 { #设置后端web服务器真实IP(实验需要修改) weight 1 #设置权重为1 TCP_CHECK { #对后台real_server做健康检查(实验需要修改) connect_timeout 3 #健康检查的超时时间3秒 nb_get_retry 3 #健康检查的重试次数3次 delay_before_retry 3 #健康检查的间隔时间3秒 } } real_server 192.168.4.200 80 { #设置后端web服务器真实IP(实验需要修改) weight 2 #设置权重为2 TCP_CHECK { #对后台real_server做健康检查(实验需要修改) connect_timeout 3 #健康检查的超时时间3秒 nb_get_retry 3 #健康检查的重试次数3次 delay_before_retry 3 #健康检查的间隔时间3秒、