部署LVS-NAT模式
先搭建好RS测试页面
yum -y install ipvsadm //由于LVS已加入至Linux内核 所需下载ipvsadm用于调用LVS,在DS上
echo 1 >/proc/sys/net/ipv4/ip_forward
在DS上开启网络转发功能 可以使外网接口转发至内网
yum -y install iptables iptables-services && systemctl start iptables //由于centos7默认使用firewalld 所以下载iptables防火墙管理工具 用于配置NAT策略
iptables -I FORWARD -s 192.168.9.0/24 -j ACCEPT //允许转发
iptables -I FORWARD -s 135.55.55.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.9.0/24 -o ens33 -j SNAT --to-source 135.55.55.55
此处网卡填写外网口网卡 可将192.168.9.0网段做NAT模式
配置LVS条目先关闭ipvsadm(systemctl stop ipvsadm):
ipvsadm -A -t 135.55.55.55:80 -s wrr //添加一台DR,使用算法为加权性轮询
ipvsadm -a -t 135.55.55.55:80 -r 192.168.9.67:80 -m -w 1 //添加RS,IP为:192.168.9.67 使用nat模式 权重为1
ipvsadm -a -t 135.55.55.55:80 -r 192.168.9.68:80 -m -w 1 //添加RS,IP为:192.168.9.68 使用nat模式 权重为1
ipvsadm --save > /etc/sysconfig/ipvsadm
ipvsadm --save
启动ipvsadm
service ipvsadm start
将条目保存至/etc/sysconfig/iPvsadm
再设置所有 RS的网关路由指向ds
route add -net 0.0.0.0 gw 135.55.55.55
打开DS的80端口
systemctl start httpd
测试:
成功
LVS-DR模式
总体:
Client端访问飘移IP到DS(调度)服务器(RS服务器拒绝响应apr请求,只响应DS服务器的请求),DS通过自身LVS设置算法将请求转移至RS 然后由RS(后端真实服务器)直接使用主网卡eth0|ens33...回复给client端实现负载均衡
配置LVS-DR模式
LVS DR简单原理
客户端向目标vip发出请求,调度服务器接收 ,调度服务器根据负载均衡算法选择一台活跃的的节点,将此节点的ip所在网卡的mac地址作为目标mac地址,发送到局域网里
节点在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文.随后重新封装报文,发送到局域网.此时IP包的目标ip是客户端,源ip是自己的vip地址。
首先 在所有服务器上配置漂移IP(VIP) 必须为32位掩码数 代表唯一IP
DR:
ifconfig ens33:0 192.168.9.88 broadcast 255.255.255.255
RS1:
DEVICE=lo:0
IPADDR=192.168.9.88
NETMASK=255.255.255.255
ONBOOT=yes
NAME=lo:0
RS2:
与RS1同样操作
在DS上定义RS(1|2)服务器的IP:
service ipvsadm stop
ipvsadm -A -t 192.168.9.88:80 -s rr
ipvsadm -a -t 192.168.9.88:80 -r 192.168.9.67 -g -w 1
ipvsadm -a -t 192.168.9.88:80 -r 192.168.9.68 -g -w 1
service ipvsadm --save > /etc/sysconfig/ipvsadm
service ipvsadm --save
-A:添加虚拟服务器
-t :指定vip及tcp端口
-s:指定算法
-a :添加节点
-t :指定vip和端口
-r :指定节点ip及端口
-g:表示使用DR模式
-w:设置权重
与nat不同的是每个节点上都要有192.168.9.88这个Vip地址
LVS-DR添加条目语法:
ipvsadm -A -t VIP:port -s rr
ipvsadm -a -t VIP:port -r RS的IP[RIP] -g -w 1
ipvsadm -a -t VIP:port -r RS的IP[RIP] -g -w 1
-------------RS1配置------------------------
vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
修改sysctl.conf的意义:
arp_ignore = 1 :只响应目的IP地址为接收网卡上的本地地址的arp请求 --通俗来说,就是只响应与本地地址一样的 目标IP的apr请求
arp_announce = 2 : 只向该网卡回应与该网段匹配的ARP报文。 例如192.168.9.88 则只向他回应与 该网段匹配的报文
sysctl -p //刷新修改的配置
-------------------RS2配置----------------
vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
修改sysctl.conf的意义:
arp_ignore = 1 :只响应目的IP地址为接收网卡上的本地地址的arp请求 --通俗来说,就是只响应与本地地址一样的 目标IP的apr请求
arp_announce = 2 : 只向该网卡回应与该网段匹配的ARP报文。 例如192.168.9.88 则只向他回应与 该网段匹配的报文
sysctl -p //刷新修改的配置
测试:
访问VIP即可
成功
配置NFS:
/opt/nfsfile 192.168.9.0/24(rw,no_root_squash,async)
共享目录 共享给192.168.9.0网段 (开启读写权限,不压缩root权限,异步同步)
systemctl start nfs rpcbind
创建目录
在RS1 和RS2上挂载该nfs服务器
showmount -e IP
可查看该IP哪个地方可以挂载
查询到只要是192.168.9.0/24网段的都可以挂载/opt/nfsfile目录
挂载:
未报错则成功
检测放置文件
成功
网页访问: