案例:直接路由模式(LVS-DR)
准备案例环境
在DR模式的集群中,LVS负载调度器作为群集的访问入口,但不作为网关使用:服务器池中的所有节点都各自接入Internet,发送给客户机的Web响应数据包不需要经过LVS负载调度器。
LVS负载调度器:
RIP 192.168.79.100
VIP:192.168.79.10
第二章内网卡:192.168.119.100
WEB1服务器:
RIP192.168.79.20
VIP192.168.79.10
第二张内网卡:192.168.119.101
WEB2服务器:
RIP192.168.214.21
VIP192.168.79.10
第二:192.168.119.102
NFS共享资源服务器:
内网:192.168.119.103
内网地址不同
网关和DNS都是调度机的内网ip地址
操作调度器:
添加虚拟地址
RIP:192.168.79.100
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vim ifcfg-ens33:0
NAME=ens33:0 #
UUID=00c54993-0bdc-41ca-94c7-4714aea8142b
DEVICE=ens33:0 #
ONBOOT=yes
IPADDR=192.168.79.10
NETMASK=255.255.255.0
[root@localhost ~]# ipvsadm -A -t 192.168.79.10:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.79.10:80 -r 192.168.79.20:80 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.79.10:80 -r 192.168.79.21:80 -g -w 1
-A:添加虚拟服务器 -t:指定VIP地址及TCP端口
-s:指定负载调度算法 轮询rr) 加权轮询wrr) 最少链接lc) 加权最少连接wlc)
-a:表示添加真实服务器 -t:指定VIP地址及TCP端口
-m:表示使用NAT集群方法 -g:DR模式 -i:TUN模式
-w:设置权重(权重为0 表示暂停节点)
#ipvsadm -d -r 192.168.7.24:80 -t 172.16.16.172:80
#删除指定目标对象
[root@localhost network-scripts]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.79.10:80 rr
-> 192.168.214.100:80 Route 1 0 0
-> 192.168.214.101:80 Route 1 0 0
[root@localhost network-scripts]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost network-scripts]# systemctl enable ipvsadm
[root@localhost network-scripts]# systemctl start ipvsadm
配置节点服务器
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.79.10
NETMASK=255.255.255.255
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=192.168.79.10
ONBOOT=yes
NAME=lo:0
inet 192.168.79.10/24 brd 192.168.79.10 scope global lo:0
[root@localhost network-scripts]# route add -host 192.168.79.10 dev lo:0
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.214.128 0.0.0.0 UG 100 0 0 ens33
192.168.79.10 0.0.0.0 255.255.255.255 UH 0 0 0 lo
192.168.214.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost network-scripts]# vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@localhost network-scripts]# sysctl -p
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
systemctl start httpd
WEB2
vim ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=ens33
UUID=00c54993-0bdc-41ca-94c7-4714aea8142b
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.79.21
NETMASK=255.255.255.0
GATEWAY=192.168.79.2
DNS1=8.8.8.8
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.79.10
NETMASK=255.255.255.255
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=192.168.79.10
ONBOOT=yes
NAME=loopback
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.79.10
NETMASK=255.255.255.255
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=192.168.79.10
ONBOOT=yes
NAME=lo:0
inet 192.168.79.10/24 brd 192.168.79.10 scope global lo:0
[root@localhost network-scripts]# route add -host 192.168.79.10 dev lo:0
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.214.128 0.0.0.0 UG 100 0 0 ens33
192.168.79.10 0.0.0.0 255.255.255.255 UH 0 0 0 lo
192.168.214.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost network-scripts]# vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@localhost network-scripts]# sysctl -p
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
systemctl start httpd
NFS搭建共享资源 实现nfs内网传
NFS换成内网卡 (仅主机 仅能够与内网通信)
vim /etc/exports
/var/www/html 192.168.119.0/24(rw,sync,no_root_squash)
systemctl start rpcbind/nfs
调度机上添加 内网卡*(仅主机)
cp ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# nmcli con show
NAME UUID TYPE DEVICE
ens33 00c54993-0bdc-41ca-94c7-4714aea8142b ethernet ens33
ens37 11102ef2-6f36-3948-8f3f-e3ef803cb2a4 ethernet ens37
#uuid添加到 ens37里面 重启37网卡
ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group defau
lt qlen 1000 link/ether 00:0c:29:dd:fa:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.119.101/24 brd 192.168.119.255 scope global noprefixroute ens37
WEB两台服务器基于 调度机添加内网卡的操作
新增了
systemctl start rpcbind/nfs
[root@localhost html]# showmount -e 192.168.119.103
Export list for 192.168.119.103:
/var/www/html 192.168.119.0/24
[root@localhost network-scripts]# mount 192.168.119.103:/var/www/html /var/www/html
[root@localhost network-scripts]# cd /var/www/html
[root@localhost html]# ls
about.html foodnews2.html images lianxi.html 新建文本文档.txt
contact.html foodnews.html index.html services.html
css foodshow.html js touming.html
systemctl start httpd
在谷歌搜索调度器的VIP地址 192.168.79.10