目录
前言:
lvs 负载均衡( linux virtual server),linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统。
负载均衡的
四种模式
:
DR> Tun > NAT> fullNAT,前三种没有抗攻击能力,且对后端没有健康检测
fullNAT有抗攻击能力和对后端健康检测的功能,但性能相对较差,使用硬件弥补
DR模式
: 主要修改mac,mac地址位于数据链路层,需要主机都在一个vlan(虚拟局域网)里面,DR和RS在一个vlan里面,所以要做arp避免vip冲突
工作过程:
C(Client) ----> DR —> RS ----> C(Client)
ipvsadm: LVS的管理工具
LVS的结构主要分为两部分:
工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。
工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。内核中的ipvs、iptables < kernel netfilter,
实验环境:
此处是使用一个封装好的虚拟机small.qcow2作为母盘
,创建server1,2,3,
导入已有硬盘方式创建server1,2,3虚拟机
编写server1,2,3的网卡配置文件
重启网络
真实主机需要在ifcfg-br0
文件中添加另一ip:172.25.28.250
,使得宿主机与虚拟主机server1,2,3处于同一网段
server1.2.3需要更改网络模式
真实主机需要将iso镜像挂载在/var/www/html/rhel7.6目录下
server1安装lftp,vim,net-tools,bash-*
server1.2.3中需要与其他主机
彼此解析
一. lvs
server作为lvs调度器
1.安装ipvsadm
2.添加vip
vip:虚拟服务的ip地址
3.书写策略
-s调度策略,-A添服务地址-t tcp服务,-g直连,-r后端,-ln不用解析,-s rr调度算法:轮叫
4.server2,3安装httpd,修改默认测试发布页内容,重启httpd
5.测试,curl 172.25.28.100出现问题
6.解决:检查防火墙和服务端口
7.再次测试未解决,server2和3添加vip
原因:需要给server2和3添加vip
mac地址在改变,
server3的mac地址
server1的mac地址
解决:server2,3需要
数据包必须在DR出修改mac,丢弃RS的vip
测试:
mac地址不改变,轮叫
二. keepalived
1.某台REALServer down 了,怎么办
demo:关闭server2的httpd
server1无法检测到server2已经down
server2的httpd关闭后无法检测出来
解决:
安装keepalived,编写主配置文件
删除vip: ip addr del 172.25.28.100/24 dev eth0
ipvsadm -C
重启keepalived服务
看log日志
测试:
此时server2关闭httpd服务后,server1可以检测出来server2已经down
详细内容可以查看邮件
2. lvs down,怎么办
实验环境:创建server4,修改网卡配置文件,彼此解析
server4安装keepalived,编写主配置文件
安装ipvsadm
server4此时为主调度器
修改server4为备调度器,修改优先级
此时观察到server4为主调度器
测试:
server1作为lvs down掉后
此时mac地址为server4主机的
恢复server1
此时mac地址为server1的