LVS负载均衡
一、概览
1、关于LVS虚拟服务器
Linux Virtual Server
- 针对Linux内核的负载均衡解决方案
- 1998年5月,由我国的章文嵩博士创建
- 官方网站: http://www.linuxvirtualserver.org/
2、LVS的负载调度算法
1、轮询(Round Robin)
- 将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器)均等地对待每一台服务器, 而不管服务器实际的连接数和系统负载
2、加权轮询(Weighted Round Robin)
- 根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多
- 保证性能强的服务器承担更多的访问流量
3、最少连接(Least Connections)
- 根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点
4、加权最少连接(Weighted Least Connections)
- 在服务器节点的性能差异较大时,可以为真实服务器自动调整权重
- 性能较高的节点将承担更大比例的活动连接负载
3、LVS群集创建与管理
4、负载均衡的结构
5、使用NFS发布共享资源
- 安装ns-utils、rpcbind软件包
- 设置共享目录
- 启动NFS服务程序
- 查看本机发布的NFS共享目录
6、在客户机中访问NFS共享资源
- 安装rpcbind软件包,并启动rpcbind服务
- 手动挂载NFS共享目录
- fstab自动挂载设置
二、实验
1、实验准备
五台主机采用仅主机模式
1、主机1、双网卡
网卡1:12.0.0.1
网卡2:192.168.100.1
2、主机2、服务器池
网卡1:192.168.100.129
3、主机3、服务器池
网卡1:192.168.100.130
4、主机4、nfs,存储空间存放服务器池
网卡1:192.168.100.131
5、win10、客户端
2、关闭四台机器的防火墙
iptables -F
setenforce 0
3、各主机采用NAT模式安装软件
主机1:yum install ipvsadm -y
主机2:yum install httpd -y
主机3:yum install httpd -y
主机4:yum install nfs-utils -y
4、主机1两个网卡修改为仅主机模式
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
cp -p ifcfg-ens33 ifcfg-ens36 ##复制网卡
vim ifcfg-ens36
systemctl restart network ##重启网卡
5、主机2配置网卡信息
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
systemctl restart network ##重启网卡
6、主机3配置网卡信息
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
systemctl restart network ##重启网卡
7、主机4配置网卡信息
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
systemctl restart network ##重启网卡
8、win10主机配置网卡
9、安装NFS服务并启动(主机4)
systemctl start rpcbind
systemctl restart nfs
10、编辑配置文件(主机4)
vim /etc/exports ##文件内容如下所示
/usr/share *(ro,sync)
/opt/test 192.168.100.0/24(rw,sync)
/opt/demo 192.168.100.0/24(rw,sync)
cd /opt
mkdir test demo ##创建两个目录
chmod 777 test/ demo/
systemctl restart rpcbind ##重启服务
systemctl restart nfs ##重启服务
exportfs -rv ##发布共享
11、客户端挂载(主机2和主机3)
showmount -e 192.168.100.131
mount.nfs 192.168.100.131:/opt/test /var/www/html
vim /etc/fstab ##主机2中文件内容添加一行如下所示
192.168.100.131:/opt/test /var/www/html nfs defaults 0 0
vim /etc/fstab ##主机3中文件内容添加一行如下所示
192.168.100.131:/opt/demo /var/www/html nfs defaults 0 0
mount -a ##使挂载生效
12、创建主页面(主机2和主机3)
cd /var/www/html/
vim index.html
13、重启apach服务(主机2和主机3)
systemctl restart httpd
14、测试(主机4)
访问地址:192.168.100.129
访问地址:192.168.100.130
15、编辑nat文件(主机1)
cd ~
vim nat.sh
#!/bin/bash
echo “1” > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.129:80 -m ##表示nat模式
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.130:80 -m
ipvsadm ##启用lvs功能
chmod +x nat.sh ##加权限
./nat.sh ##运行
16、测试(win10)
访问地址:12.0.0.1