目录
#1.1LVS群集应用基础
1.1.1群集技术概述
1.1.2负载均衡的分层结构
1.1.3负载均衡的工作模式
#2.1LVS的负载调度算法
2.1.1使用ipvsadm管理工具
#3.1NFS共享存储服务
3.1.1使用NFS发布共享资源
3.1.2在客户机中访问NFS共享资源
#4.1LVS负载均衡的实验案例
4.1.1配置负载调度器
4.1.2配置节点服务器
4.1.3测试LVS群集
[root@localhost test]# ipvsadm -v
ipvsadm v1.31 2019/12/24 (compiled with popt and IPVS v1.2.1)
[root@localhost ~]# ipvsadm -A -t 172.16.16.172:80 -s wrr
[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m -w 4
[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -m -w 2
[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.23:80 -m -w 3
[root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.24:80 -m -w 1
[root@localhost test]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.16.16.172:80 rr
-> 192.168.7.21:80 Masq 1 0 0
-> 192.168.7.22:80 Masq 1 0 0
-> 192.168.7.23:80 Masq 1 0 0
-> 192.168.7.24:80 Masq 1 0 0
[root@localhost ~]# ipvsadm -d -r 192.168.7.24:80 -t 172.16.16.172:80
[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost ~]# cat /etc/sysconfig/ipvsadm
-A -t 172.16.16.172:http -s rr
-a -t 172.16.16.172:http -r 192.168.7.21:http -m -w 1
-a -t 172.16.16.172:http -r 192.168.7.22:http -m -w 1
-a -t 172.16.16.172:http -r 192.168.7.23:http -m -w 1
[root@localhost ~]# systemctl stop ipvsadm
[root@localhost ~]# systemctl start ipvsadm
[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs-server
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# mkdir -p /opt/wwwroot
[root@localhost ~]# vi /etc/exports
/opt/wwwroot 192.168.10.0/24(rw,sync,no_root_squash)
[root@localhost ~]# vi /etc/exports
/var/ftp/public 192.168.10.101(ro) 192.168.10.102(rw)
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs-server
[root@localhost ~]# netstat -anpt | grep rpc
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3357/rpcbind
tcp 0 0 0.0.0.0:47639 0.0.0.0:* LISTEN 3280/rpc.statd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 3367/rpc.mountd
tcp6 0 0 :::111 :::* LISTEN 3357/rpcbind
tcp6 0 0 :::59437 :::* LISTEN 3280/rpc.statd
tcp6 0 0 :::20048 :::* LISTEN
[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
/opt/wwwroot 192.168.10.0/24
/var/ftp/public 192.168.10.101,192.168.10.102
[root@localhost ~]# yum -y install rpcbind nfs-utils
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# showmount -e 192.168.10.104
Export list for 192.168.10.104:
/opt/wwwroot 192.168.10.0/24
/var/ftp/public 192.168.10.101,192.168.10.102
[root@localhost ~]# mount 192.168.10.104:/opt/wwwroot /var/www/html
[root@localhost ~]# tail -1 /etc/mtab //确认挂载结果
192.168.10.104:/opt/wwwroot /var/www/html nfs4
rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.10.101,loca
l_lock=none,addr=192.168.10.104 0 0
[root@localhost ~]# vi /var/www/html/index.html //在客户机创建测试文件
Real Web Server Document
[root@localhost ~]# vi /etc/fstab
…… //省略部分信息
192.168.10.104:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
[root@localhost ~]# vi /etc/sysctl.conf
……
//省略部分信息
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@localhost ~]# ipvsadm -C //清除原有策略
[root@localhost ~]# ipvsadm -A -t 192.168.74.129:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.102:80-m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.103:80 -m -w 1
[root@localhost ~]# ipvsadm --save //保存策略
-A -t localhost:http -s rr
-a -t localhost:http -r 192.168.10.102:http -m -w 1
-a -t localhost:http -r 192.168.10.103:http -m -w 1
[root@localhost ~]# systemctl enable ipvsadm
Created symlink from /etc/systemd/system/multi-user.target.wants/ipvsadm.service to /usr/lib/systemd/system/ipvsadm.service.
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.254 0.0.0.0 UG 100 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# route del default gw 192.168.10.254 //删除原来的默认网关
[root@localhost ~]# route add default gw 192.168.10.101 //新增默认网关
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# mount 192.168.10.104:/opt/wwwroot /var/www/html
[root@localhost ~]# vi /var/www/html/index.html
LVS 负载均衡群集——测试网页
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# 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.74.129:80 rr
-> 192.168.10.102:80 Masq 1 0 0
-> 192.168.10.103:80 Masq 1 0 0
[root@localhost ~]# ipvsadm -lnc //可以查看客户端访问详细信息及状态,便于排查问题
IPVS connection entries
pro expire state source virtual
destination
TCP 01:56 TIME_WAIT 192.168.74.1:56993 192.168.74.129:80
192.168.10.102:80
TCP 01:55 TIME_WAIT 192.168.74.1:56990 192.168.74.129:80
192.168.10.103:80
TCP 01:56 TIME_WAIT 192.168.74.1:56996 192.168.74.129:80
192.168.10.103:80
TCP 01:55 TIME_WAIT 192.168.74.1:56991 192.168.74.129:80
192.168.10.102:80
TCP 01:57 TIME_WAIT 192.168.74.1:56997 192.168.74.129:80
192.168.10.102:80
TCP 01:56 TIME_WAIT 192.168.74.1:56992 192.168.74.129:80
192.168.10.103:80