1.集群分类
*
负载均衡集群 :如 nginx (解决高并发)
*
高可用集群: 如 MHA,MMM
*
高性能集群,使用运算偏多的服务
2.负载均衡集群
* LVS:linux virtual service (linux虚拟服务)
3.nginx和LVS区别
*
nginx:
*
做7层负载,通过模块也可以做四层负载
*
只能对web,mail做负载均衡
*
LVS:
*
做4层负载,转发流量实现负载均衡
*
可以对任意服务做负载均衡,比如mysql负载均衡不可以用nginx,可以用lvs
4.LVS工作模式
*
NAT:地址转换
*
DR:直接路由
*
TUN:IP隧道
*
FULL-NAT
*
ENT
ps:
*
SNAT:源IP
*
DNAT:目标IP
5.LVS调度算法
*
rr:轮询
*
wrr:加权轮询
*
lc:最小连接(谁连接数少就分配给谁)
*
wlc:加权最小链接 (按比例分配连接)
*
blc,blcr,dh,sh,sed,nq
6.LVS-NAT就是使用DNAT模式
*
优点:安全,所有请求都经过LVS服务器
*
缺点:LVS压力大
7.modprobe 加载内核模块
*
modprobe ip_vs
*
lsmod | grep ip_vs 查看
*
cat /proc/modules | grep ip_vs 查看
8.ipvsadm选项
*
-A:指定虚拟服务器地址(vip)
*
-a:添加真实服务器
*
-E:编辑虚拟服务器
*
-D:删除虚拟服务器
*
-s:指定调度算法 (rr,wrr,lc,wlc,blc,blcr,dh,sh,sed,nq)
*
-w:指定权重
*
-g:指定模式 DR
*
-i:指定模式TUN
*
-m:指定模式NAT
*
-r:指定真实服务器地址
*
-t:tcp协议
*
-u:udp协议
*
-c:连接情况显示
9.LVS-NAT实现重点:
*
LVS服务器有双网卡,内网和外网
*
真实服务器网关地址指向LVS内网网卡地址
10.LVS-NAT具体实现
- 需要三台服务器,一台LVS主机,两台apache
- 首先两台apache主机进行网卡配置
改成仅主机模式,然后开机修改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
需要注意的是网关地址需要设置成LVS内网网卡IP,第二个apache主机也进行铜套操作。 - 修改LVS服务器网卡
网卡一块为仅主机(内网IP),一块为桥接模式(外网)。
- 两台apache机子安装httpd服务
[root@apache1 ~]# yum -y install httpd
[root@apache1 ~]# systemctl start httpd
[root@apache1 ~]# echo “apache111111” > /var/www/html/index.html
[root@apache2 ~]# echo “apache22222222” > /var/www/html/index.html
访问测试
- LVS主机安装ipvsadm
[root@lvs ~]# yum -y install ipvsadm
[root@lvs ~]# ipvsadm -A -t 192.168.10.74:80 -s rr //设置虚拟服务
[root@lvs ~]# ipvsadm -a -t 192.168.10.74:80 -r 192.168.8.20:80 -m -w 1 //添加地址转换
[root@lvs ~]# ipvsadm -a -t 192.168.10.74:80 -r 192.168.8.21:80 -m -w 1 //添加地址转换
注:CentOS7 中重启动ipvsadm服务会报错,规则创建后重启服务会造成丢失,
解决以上问题的方法:
ipvsadm -s > /etc/sysconfig/ipvsadm
servicectl restart ipvsadm 成功。
[root@lvs ~]# ipvsadm -l -n //查看设置的规则
6. 开启路由转发功能
[root@lvs ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p 查看
- 访问测试
[root@lvs ~]# ipvsadm -L -c -n //查看连接状态