lvs及nfs

1、DR模式下vip不在同一网段上实现过程(夸网段)?
在这里插入图片描述

环境:
所有主机禁用iptables和SELinux

五台主机:
一台:客户端 eth0:仅主机 192.168.10.6/24 GW:192.168.10.200

一台:ROUTER
eth0: NAT  10.0.0.200/24
eth0: NAT 172.16.0.1/24
eth1: 仅主机 192.168.10.200/24
启用 IP_FORWARD

一台:LVS
lo:1 172.16.0.100/32
eth0:NAT: DIP: 10.0.0.8/24    GW:10.0.0.200

两台RS:
RS1:
lo:1 172.16.0.100/32
eth0:NAT: 10.0.0.7/24   GW:10.0.0.200

RS2:
lo:1 172.16.0.100/32
eth0:NAT: 10.0.0.17/24  GW:10.0.0.200


intenet-client 配置

[root@intetnet-client ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO="static"
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.6
PREFIX=24
GATEWAY=192.168.10.200

[root@intetnet-client ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.200  0.0.0.0         UG    100    0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0


router 配置

[root@router ~]#echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
[root@router ~]#sysctl -p

[root@router network-scripts]#cat ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24

[root@router network-scripts]#cat ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.10.200
PREFIX=24


[root@router ~]#ip addr add 172.16.0.200/24 dev eth0 label eth0:1
[root@router ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:2a:a2:cb brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 172.16.0.200/24 scope global eth0:1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe2a:a2cb/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:2a:a2:d5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.200/24 brd 192.168.10.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe2a:a2d5/64 scope link 
       valid_lft forever preferred_lft forever


RS1配置

[root@RS1-server ~]#yum -y install httpd ;systemctl enable --now httpd
[root@RS1-server ~]#echo "RS1  10.0.0.7" > /var/www/html/index.html
[root@RS1-server network-scripts]#cat ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.7
PREFIX=24
GATEWAY=10.0.0.200

[root@RS2-server ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.200      0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0


[root@RS1-server ~]#ping 192.168.10.6 -c1
PING 192.168.10.7 (192.168.10.6) 56(84) bytes of data.
64 bytes from 192.168.10.6: icmp_seq=1 ttl=63 time=0.654 ms

--- 192.168.10.6 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.654/0.654/0.654/0.000 ms


[root@router ~]#hostname -I
10.0.0.200 172.16.0.200 192.168.10.200

RS2配置

[root@RS1-server ~]#yum -y install httpd ;systemctl enable --now httpd
[root@RS1-server ~]#echo "RS2  10.0.0.17" > /var/www/html/index.html

[root@RS2-server network-scripts]#cat ifcfg-eth0 
TYPE="Ethernet"
BOOTPROTO="static"
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.17
PREFIX=24
GATEWAY=10.0.0.200

[root@RS2-server ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.200      0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0

[root@RS2-server ~]#ping 192.168.10.6 -c1
PING 192.168.10.7 (192.168.10.6) 56(84) bytes of data.
64 bytes from 192.168.10.6: icmp_seq=1 ttl=63 time=1.00 ms

--- 192.168.10.6 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.007/1.007/1.007/0.000 ms


LVS 配置

[root@lvs-server network-scripts]#cat ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.8
PREFIX=24
GATEWAY=10.0.0.200

[root@lvs-server ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.200      0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0


在LVS主机运行的脚本

[root@lvs-server ~]#vim lvs_dr_vs.sh
#!/bin/bash

vip='172.16.0.100'
iface='lo:1'
mask='255.255.255.255'
port='80'
rs1='10.0.0.7'
rs2='10.0.0.17'
scheduler='wrr'
type='-g'


rpm -q ipvsadm &> /dev/null || yum -y install ipvsadm &> /dev/null

case $1 in
    start)
        ifconfig $iface $vip netmask $mask 
        iptables -F
        ipvsadm -C
        ipvsadm -A -t ${vip}:${port} -s $scheduler
        ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1
        ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1
        echo "The LVS Server is Ready!"
        ;;
    stop)
        ipvsadm -C
        ifconfig $iface down
        echo "The LVS Server is Canceled!"
        ;;
    *)
        echo "Usage: $(basename $0) start | stop"
        ;;
esac

[root@lvs-server ~]#bash lvs_dr_vs.sh 
Usage: lvs_dr_vs.sh start|stop

[root@lvs-server ~]#bash lvs_dr_vs.sh start
The LVS Server is Ready!

[root@lvs-server ~]#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.0.100:80 wrr
  -> 10.0.0.7:80                  Route   1      0          0         
  -> 10.0.0.17:80                 Route   1      0          0     

在后端服务器RS运行的脚本实现IPVS配置

[root@RS1-server ~]#vim lvs_dr_rs.sh
#!/bin/bash

vip='172.16.0.100 '
mask='255.255.255.255'
dev='lo'
label='lo:1'

case $1 in
    start)
         echo 1 >   /proc/sys/net/ipv4/conf/all/arp_ignore
         echo 1 >   /proc/sys/net/ipv4/conf/lo/arp_ignore
         echo 2 >   /proc/sys/net/ipv4/conf/all/arp_announce
         echo 2 >   /proc/sys/net/ipv4/conf/lo/arp_announce
         ip a a $vip dev $dev  label $label  
         echo "The RS Server is Ready!"
         ;;
    stop)
        ip a d $vip dev $dev label $label
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
        echo "The RS Server is Canceled!"
        ;;
    *)
        echo "Usage: $(basename $0) start|stop"
        exit 1
        ;;
esac

[root@RS1-server ~]#bash lvs_dr_rs.sh start
The RS Server is Ready!


[root@RS2-server ~]#bash lvs_dr_rs.sh start
The RS Server is Ready!

测试访问

[root@intetnet-client ~]#while :;do curl 172.16.0.100;sleep 0.5;done
RS2  10.0.0.17
RS1  10.0.0.7
RS2  10.0.0.17
RS1  10.0.0.7
RS2  10.0.0.17
RS1  10.0.0.7
RS2  10.0.0.17
RS1  10.0.0.7
......


2、CentOS7.6 中 nfs 客户端使用 /etc/fatab 实现开机自动挂载?
安装相关软件包

[root@nfs-server ~]#hostname -I
10.0.0.118 

[root@nfs-server ~]#yum -y install nfs-utils  rpcbind
[root@nfs-server ~]#systemctl  enable --now  nfs-server.service 

创建相应目录并实现共享

[root@nfs-server ~]#mkdir -pv /data/test

[root@nfs-server ~]#vim /etc/exports.d/test.exports
/data/test *(rw,no_root_squash)  


[root@nfs-server ~]#exportfs -r
[root@nfs-server ~]#exportfs -v
/data/test    	<world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)

客户端实现挂载:

创建挂载点:
[root@client-1 ~]#mkdir -p /mnt/nfs

编辑/etc/fstab配置文件:
[root@client-1 ~]#vim /etc/fstab
10.0.0.118:/data/test           /mnt/nfs            nfs     defaults,_netdev 0 0

[root@client-1 yum.repos.d]#mount -a
[root@client-1 yum.repos.d]#df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 487100       0    487100   0% /dev
tmpfs                    497852       0    497852   0% /dev/shm
tmpfs                    497852    7796    490056   2% /run
tmpfs                    497852       0    497852   0% /sys/fs/cgroup
/dev/sda2             104806400 1632216 103174184   2% /
/dev/sda5              52403200   32992  52370208   1% /data
/dev/sda1               1038336  134060    904276  13% /boot
tmpfs                     99572       0     99572   0% /run/user/0
10.0.0.118:/data/test  52403200  398336  52004864   1% /mnt/nfs


3、CentOS7.6 中 nfs 客户端使用 autofs 实现使用 nfs 时实时挂载?
安装软件包


安装autofs包并设置开机自启:
[root@client-2 ~]#yum -y install autofs
[root@client-2 ~]#systemctl enable --now autofs

编辑配置文件实现nfs服务器的/data/test挂载到本机/mnt/nfs:

创建挂载点:
[root@client-2 ~]#mkdir -p /mnt/nfs

相对路径法实现挂载:


[root@client-2 ~]#vim /etc/auto.master
/mnt   /etc/auto.nfs    # /mnt 为挂载点/mnt/test的dirname
						# /etc/auto.nfs 为挂载配置文件路径
						
[root@client-2 ~]#vim /etc/auto.nfs
nfs  -fstype=nfs  10.0.0.118:/data/test  #nfs 为挂载点的basename

[root@client-2 data]#systemctl restart autofs

[root@client-2 data]#df /mnt/nfs
Filesystem            1K-blocks   Used Available Use% Mounted on
10.0.0.118:/data/test  52403200 398336  52004864   1% /mnt/nfs


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值