本章内容:
以下为数据包流向分析步骤:
下面是 LVS-DR 模式的特点:
下面是配置负载调度器的具体步骤
服务器如下
[root@LVS network-scripts]# cd
[root@LVS ~]# cd /etc/sysconfig/network-scripts/
[root@LVS network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@LVS network-scripts]# cat ifcfg-ens33:0
NAME="ens33:0"
DEVICE="ens33:0"
ONBOOT="yes"
IPADDR="192.168.182.11"
NETMASK=255.255.255.255
[root@LVS network-scripts]# ifup ens33:0
[root@LVS network-scripts]# ifconfig ens33:0
ens33:0: flags=4163 mtu 1500
inet 192.168.182.11 netmask 255.255.255.255 broadcast 192.168.182.11
ether 00:0c:29:e8:c0:2b txqueuelen 1000 (Ethernet)
[root@LVS network-scripts]#
[root@LVS network-scripts]# vim /etc/sysctl.conf
[root@LVS network-scripts]# sysctl -p
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@LVS network-scripts]# cat /etc/sysctl.conf | grep net
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@LVS network-scripts]#
[root@LVS ~]# yum -y install ipvsadm
[root@LVS ~]# ipvsadm -C //清除原有策略
[root@LVS ~]# ipvsadm -A -t 192.168.182.11:80 -s rr
[root@LVS ~]# ipvsadm -a -t 192.168.182.11:80 -r 192.168.182.101 -g -w 1
[root@LVS ~]# ipvsadm -a -t 192.168.182.11:80 -r 192.168.182.102 -g -w 1
[root@LVS ~]# ipvsadm-save > /etc/sysconfig/ipvsadm //保存策略
[root@LVS ~]# systemctl enable ipvsadm.service
[root@node01 ~]# cd /etc/sysconfig/network-scripts/
[root@node01 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@node01 network-scripts]# vim ifcfg-lo:0
[root@node01 network-scripts]# cat ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.182.11
NETMASK=255.255.255.255 //注意:子网掩码必须全为1
ONBOOT=yes
[root@node01 network-scripts]# ifup lo:0
[root@node01 network-scripts]# ifconfig lo:0
lo:0: flags=73 mtu 65536
inet 192.168.182.11 netmask 255.255.255.255
loop txqueuelen 1000 (Local Loopback)
[root@node01 network-scripts]# vim /etc/rc.local //添加本地 VIP 访问路由
/sbin/route add -host 192.168.182.11 dev lo:0
[root@node01 network-scripts]# route add -host 192.168.182.11 dev lo:0
调整 proc 响应参数命令如下:
[root@node01 ~]# vim /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
[root@node01 ~]# sysctl -p
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
提供 RPC 支持的服务为 rpcbind,提供 NFS 共享的服务为 nfs,完成安装以后建议调整这两个服务的自启动状态,以便每次开机后自动启用。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
[root@NFS ~]# yum -y install nfs-utils rpcbind
[root@NFS ~]# systemctl enable nfs
[root@NFS ~]# systemctl enable rpcbind
NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“目录位置客户机地址(权限选项)”。例如,若要将文件夹/opt/wwwroot 共享给 192.168.182.0/24 网段使用,允许读写操作,具体配置如下所示
[root@NFS ~]# mkdir /aaa
[root@NFS ~]# vim /etc/exports
[root@NFS ~]# cat /etc/exports
/aaa 192.168.182.0/24(rw,sync,no_root_squash)
[root@NFS ~]#
[root@NFS ~]# systemctl start rpcbind
[root@NFS ~]# systemctl start nfs
[root@NFS ~]# netstat -anpt | grep rpc
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 64110/rpcbind
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 64297/rpc.mountd
tcp 0 0 0.0.0.0:51284 0.0.0.0:* LISTEN 64293/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 64110/rpcbind
tcp6 0 0 :::20048 :::* LISTEN 64297/rpc.mountd
tcp6 0 0 :::54240 :::* LISTEN 64293/rpc.statd
[root@NFS ~]#
[root@NFS ~]# showmount -e
Export list for NFS:
/aaa 192.168.182.0/24
[root@NFS ~]#
NFS 协议的目标是提供一种网络文件系统,因此对 NFS 共享的访问也使用 mount 命令来进行挂载,对应的文件系统类型为 nfs。既可以手动挂载,也可以加入/etc/fstab 配置文件来实现开机自动挂载。考虑到群集系统中的网络稳定性,NFS 服务器与客户机之间最好使用专有网络进行连接。
若要正常访问 NFS 共享资源,客户机中也需要安装 rpcbind 软件包,并启动 rpcbind 系统服务。另外,为了使用 showmount 查询工具,建议将 nfs-utils 软件包也一并装上
[root@node01 ~]# yum -y install rpcbind nfs-utils
[root@node01 ~]# systemctl enable rpcbind
[root@node01 ~]# systemctl start rpcbind
[root@node02 ~]# yum -y install rpcbind nfs-utils
[root@node02 ~]# systemctl enable rpcbind
[root@node02 ~]# systemctl start rpcbind
如果已经安装了 nfs-utils 软件包,则客户机也可以使用 showmount 查看 NFS 服务器端共享了哪些目录,查询格式为“showmount -e 服务器地址”
[root@node01 ~]# showmount -e 192.168.182.105
Export list for 192.168.182.105:
/aaa 192.168.182.0/24
[root@node01 ~]#
[root@node01 ~]# yum -y install httpd
[root@node01 ~]# mount 192.168.182.105:/aaa /var/www/html/
[root@node01 ~]# vim /var/www/html/index.html
[root@node01 ~]# cat /var/www/html/index.html
Hello Word
[root@node01 ~]#
[root@node02 ~]# mount 192.168.182.105:/aaa /var/www/html
[root@node01 ~]# systemctl start httpd
[root@node01 ~]# systemctl enable httpd
[root@node02 ~]# systemctl start httpd
[root@node02 ~]# systemctl enable httpd
[root@LVS ~]# ipvsadm -lnc
IPVS connection entries
pro expire state source virtual destination
TCP 01:20 FIN_WAIT 192.168.182.1:63834 192.168.182.11:80 192.168.182.102:80
TCP 01:56 FIN_WAIT 192.168.182.1:63835 192.168.182.11:80 192.168.182.101:80
[root@LVS ~]#