LVS调度器的两种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS调度器的两种方法相关的知识,希望对你有一定的参考价值。

方法一:
LVS调度器——NAT模式
调度服务器一台:Linux—CentOS7.4
IP地址:192.168.80.100(内网)
192.168.90.100(外网)
Web服务器两台:Linux—CentOS7.4
IP地址:192.168.80.101(SERVER AA)
IP地址:192.168.80.102(SERVER BB)
客户端一台:以win7为例,用于测试验证
IP地址:192.168.90.10(外网)


在80.100的虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
modprobe ip_vs //加载ip_vs模块

cat /proc/net/ip_vs //查看ip_vs版本信息

rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm
或者
yum install ipvsadm -y

ipvsadm -v //查看版本
技术分享图片
ls /mnt/Packages/ | grep ipvsadm //查看有没有这个软件包
技术分享图片

ifconfig //查看一下网卡
技术分享图片
添加一个VMnet2(仅主机模式)的网卡
技术分享图片
ifconfig //查看一下网卡有没有添加进去
技术分享图片
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens32 ifcfg-ens34 //拷贝一份ens32文件,名字改成ens34
vi ifcfg-ens34 //进入ens34文件
技术分享图片
替换成
PROXY_METHOD=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
DEVICE=ens34
ONBOOT=YES
IPADDR=192.168.90.100
PREFIX=24
IPV6_PRIVACY=no
:wq //保存退出
systemctl restart network //重启网卡
ifconfig //查看网卡修改好了没有
技术分享图片
ipvsadm -A -t 192.168.90.100:80 -s rr
注:
"-A"表示添加虚拟服务器
"-t"用来指定VIP地址及TCP端口
"-s"用来指定负载调度算法——rr、wrr、lc、wlc

ipvsadm -a -t 192.168.90.100:80 -r 192.168.80.101:80 -m //添加服务器节点
ipvsadm -a -t 192.168.90.100:80 -r 192.168.80.102:80 -m //添加服务器节点
ipvsadm -Ln //加个"-n"将以数字形式显示地址、端口信息
技术分享图片
cd //回到根目录
ipvsadm -d -r 192.168.80.102:80 -t 192.168.90.100:80 //删除102的服务器节点
ipvsadm -Ln //加个"-n"将以数字形式显示地址、端口信息
技术分享图片
ipvsadm -D -t 192.168.90.100:80
ipvsadm -Ln //加个"-n"将以数字形式显示地址、端口信息
技术分享图片
vi nat.sh //创建并进入nat.sh文件
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward //开启路由地址转换
ipvsadm -C //清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.90.100:80 -s rr //创建虚拟服务器
ipvsadm -a -t 192.168.90.100:80 -r 192.168.80.101:80 -m //添加服务器节点
ipvsadm -a -t 192.168.90.100:80 -r 192.168.80.102:80 -m //查看节点状态
ipvsadm -Ln
:wq //保存退出
chmod +x nat.sh //给nat.sh文件权限
./nat.sh
技术分享图片


在80.101虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y //安装httpd
vi /etc/httpd/conf/httpd.conf
ServerName www.example.com:80 //找到这行把#去掉
技术分享图片
:wq //保存退出
cd /var/www/html/
echo "<h1>SERVER AA</h1>" > index.html
systemctl start httpd //重启httpd
vi /etc/sysconfig/network-scripts/ifcfg-ens32
在最后一行添加GATEWAY=192.168.80.100
技术分享图片
systemctl start httpd //重启一下httpd
systemctl restart network //重启网卡


在80.102虚拟机上
在80.101虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y //安装httpd
vi /etc/httpd/conf/httpd.conf
ServerName www.example.com:80 //找到这行把#去掉
技术分享图片
:wq //保存退出
cd /var/www/html/
echo "<h1>SERVER BB</h1>" > index.html
systemctl start httpd //重启httpd
vi /etc/sysconfig/network-scripts/ifcfg-ens32
在最后一行添加GATEWAY=192.168.80.100
技术分享图片
systemctl start httpd //重启一下httpd
systemctl restart network //重启网卡
网页输入192.168.90.100



方法二:
LVS调度器——DR模式
调度服务器一台:Linux—CentOS7.4
IP地址:192.168.80.100
Web服务器两台:Linux—CentOS7.4
IP地址:192.168.80.101(SERVER AA)
IP地址:192.168.80.102(SERVER BB)
客户端一台:以win7为例,用于测试验证
IP地址:192.168.80.2


81.80.100虚拟机
在方法一的基础上把80.100的虚拟机给快照还原一下
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
modprobe ip_vs
yum install ipvsadm -y
ipvsadm -v
vi dr.sh
#!/bin/bash
#
ifconfig ens32:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up
route add -host 192.168.80.188 dev ens32:0
ipvsadm -C
ipvsadm -A -t 192.168.80.188:80 -s rr
ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.101:80 -g
ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.102:80 -g
ipvsadm -Ln
:wq
chmod +x dr.sh
./dr.sh
ifconfig
技术分享图片


80.102虚拟机
vi web.sh
#!/bin/bash
#haha
ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up
route add -host 192.168.80.188 dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p &>/dev/null
:wq
chmod +x web.sh
./web.sh
ifconfig
技术分享图片
scp web.sh [email protected]:/root //把web.sh文件传送到192.168.80.101虚拟机的/root目录下
yes
自己设置root的密码


在80.101中写
./web.sh
ifconfig

网页输入192.168.80.188

以上是关于LVS调度器的两种方法的主要内容,如果未能解决你的问题,请参考以下文章

LVS+keepalived 的DR模式的两种做法

Linux学习之路-集群及LVS25---20180217

使用html和css实现轮播图的两种方法

Lvs配置方法

进程和创建线程的两种方法(threading.Thread)

Haproxy+Nginx负载均衡群集及调度日志管理