centos搭建LVS服务

<<LVS.NAT.md>>

<<LVS.txt>>

<<样例:LVS-DR配置概述.txt>>

1、

-------NFS服务器安装-----

yum install nfs-utils        //nfs在装的时候会有“rpcbind”这个依赖包的

service rpcbind start        //在启动nfs服务之前先要启动这个"rpcbind"服务

service nfs restart        //nfs是"111"的端口

---编辑配置文件----

vi /etc/exports                //NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)。

/usr/share *(ro,sync)

/opt/test 192.168.80.22(rw,sync)        //将文件夹/opt/test共享给192.168.80.22网段使用,允许读写操作。“sync”表示同步写入。

注:rw表示允许读写(ro表示为只读),sync表示同步写入,no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)

--发布共享---

exportfs -rv

---客户端查看、挂载----

showmount -e 192.168.80.88        //用showmount命令来查看NFS服务器端共享了哪些目录

mount.nfs 192.168.80.33:/usr/share /media/        //挂载

NFS协议的目标是提供一种网络文件系统,因此对NFS共享的访问也使用mount命令来进行挂载,对应的文件系统类型为nfs。

若要正常访问NFS共享资源,客户机中也需要安装rpcbind软件包,并启动rpcbind系统服务;另外,为了使用showmount查询工具,建议将nfs-utils软件包也一并装上。

------------搭建LVS下面都是在调度器上执行的---------------

------加载LVS内核模块---

LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。以下操作可以手动加载ip_vs模块,并查看当前系统中ip_vs模块的版本信息

modprobe ip_vs                //加载ip_vs模块,

cat /proc/net/ip_vs        //查看ip_vs版本信息

---安装管理软件----不需要启动--

rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm

以上这些操作在调度服务器上做一下就好了,节点服务器不用安装这些的

———————————————————————————————————

-----常用命令的解释如下:------

LVS的负载调度算法有四种最常用的:轮询算法(rr)、加权轮询(wrr)、最少轮询(lc)、加权最少轮询(wlc)

1)创建虚拟服务器(注意:NAT模式要两块网卡,调度器的地址是外网口地址)

群集的VIP地址为192.168.80.33,针对TCP 80端口提供负载分流服务,使用的轮询调度算法。对于负载均衡调度器来说,VIP必须是本机实际已启用的IP地址

ipvsadm -A -t 192.168.20.11:80 -s rr

//选项 "-A"表示添加虚拟服务器,"-t"用来指定VIP地址及TCP端口,"-s"用来指定负载调度算法——rr、wrr、lc、wlc

2)添加服务器节点

ipvsadm -a -t 192.168.20.11:80 -r 192.168.80.33:80 -m

ipvsadm -a -t 192.168.20.11:80 -r 192.168.80.44:80 -m

//选项 "-a"表示添加真实服务器,"-t"用来指定VIP地址及TCP端口,"-r"用来指定RIP地址及TCP端口,"-m"表示使用NAT群集模式("-g"是DR模式,"-i"是TUN模式)

{ -m参数后面还可以跟-w的参数,这里没有做的"-w"用来设置权重(权重为0时表示暂停节点)}

4)删除服务器节点

ipvsadm -d -r 192.168.90.22:80 -t 192.168.80.88:80

//需要从服务器池中删除某一个节点时,使用选项"-d"。执行删除操作必须指定目标对象,包括节点地址、虚拟IP地址。如上所示的操作将会删除LVS群集192.168.80.88中的节点192.168.90.22

若需要删除整个虚拟服务器时,使用选项-D并指定虚拟IP地址即可,无需要指定节点。例如:“ipvsadm -D -t 192.168.80.11:80",则删除此虚拟服务器。

ipvsadm -L        //查看节点状态,加个"-n"将以数字形式显示地址、端口信息

ipvsadm-save  > /etc/sysconfig/ipvsadm        //保存策略

使用导出/导入工具ipvsadm-save/ipvsadm-restore可以保存、恢复LVS策略,方法类似于iptables的规则的导出、导入

-----------以下是永久开启路由转发功能------

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

———————————————————————————————————

------------ 注意:如果不配置课本上的iptables规则会导致内网主机无法主动上网,其它不受影响--------

--------注意:真实服务器需要指网关----------

------NAT、只要在调度器上配置,业务服务器不需要特殊配置--------

vi nat.sh

#!/bin/bash

echo "1" > /proc/sys/net/ipv4/ip_forward

ipvsadm -C

ipvsadm -A -t 192.168.90.188:80 -s rr //外网口地址

ipvsadm -a -t 192.168.90.188:80 -r 192.168.80.183:80 -m

ipvsadm -a -t 192.168.90.188:80 -r 192.168.80.184:80 -m

ipvsadm -Ln

------DR模式调度器配置------(调度器与各服务器在同个网段内)

---注意:80.188是调度器和各真实服务器要共同虚拟出的一个地址--

vi dr.sh

#!/bin/bash

#

ifconfig ens33:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up

route add -host 192.168.80.188 dev ens33:0

ipvsadm -C

ipvsadm -A -t 192.168.80.188:80 -s rr

ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.183:80 -g

ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.181:80 -g

ipvsadm -Ln

sh dr.sh

ifconfig

------DR模式,各真实服务器配置---虚拟地址是相同的---

vi web.sh

#!/bin/bash

#haha

ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up

route add -host 192.168.80.188 dev lo:0

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p &>/dev/null

sh web.sh

ifconfig

-----------------直接输入调度器的IP(虚拟IP)测试效果-----

-------隧道模式调度器配置------

vi tu.sh

ifconfig tunl0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up

route add -host 192.168.80.188 dev tunl0

ipvsadm -C

ipvsadm -A -t 192.168.80.188:80 -s rr

ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.11:80 -g

ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.22:80 -g

ipvsadm

------隧道模式各服务器配置------

vi tweb.sh

ifconfig tunl0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up

route add -host 192.168.80.188 dev tunl0

echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p &>/dev/null

或用下面的脚本来管理启动脚本服务,这个方面点,直接用脚本来完成,就是内容多了些,用到case语句循环

------DR模式调度器配置------

vi dr.sh

#!/bin/bash

GW=192.168.5.2

VIP=192.168.5.88        //虚拟的网关

RIP1=192.168.5.4

RIP2=192.168.5.5

case "$1" in

start)

        /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up

        /sbin/route add -host $VIP dev eth0:0

        /sbin/ipvsadm -A -t $VIP:80 -s rr

        /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g

        /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g

        echo "ipvsadm starting --------------------[ok]"

        ;;

        stop)

        /sbin/ipvsadm -C

        ifconfig eth0:0 down

        route del $VIP

        echo "ipvsamd stoped----------------------[ok]"

         ;;

        status)

        if [ ! -e /var/lock/subsys/ipvsadm ];then

        echo "ipvsadm stoped---------------"

        exit 1

                else

                echo "ipvsamd Runing ---------[ok]"

        fi

        ;;

        *)

        echo "Usage: $0 {start|stop|status}"

        exit 1

        esac

        exit 0

------各服务器的配置脚本--------

vi web.sh

#!/bin/bash

VIP=192.168.5.88

        case "$1" in

        start)

                ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP

                /sbin/route add -host $VIP dev lo:0

                echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

                echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

                echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

                echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

                sysctl -p >/dev/null 2>&1

                echo "RealServer Start OK "

                ;;

        stop)

                ifconfig lo:0 down

                route del $VIP /dev/null 2>&1

                echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

                echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

                echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

                echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

                echo "RealServer Stopd"

                ;;

        *)

                echo "Usage: $0 {start|stop}"

                exit 1

        esac

        exit 0

sh dr.sh start

sh web.sh start

sh web.sh start

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值