• <tr id='su5mq'><strong id='su5mq'></strong><small id='su5mq'></small><button id='su5mq'></button><li id='su5mq'><noscript id='su5mq'><big id='su5mq'></big><dt id='su5mq'></dt></noscript></li></tr><ol id='su5mq'><table id='su5mq'><blockquote id='su5mq'><tbody id='su5mq'></tbody></blockquote></table></ol><u id='su5mq'></u><kbd id='su5mq'><kbd id='su5mq'></kbd></kbd>
  • <dl id='su5mq'></dl>

    1. <i id='su5mq'><div id='su5mq'><ins id='su5mq'></ins></div></i>

      <code id='su5mq'><strong id='su5mq'></strong></code>
      <fieldset id='su5mq'></fieldset>
      <span id='su5mq'></span>
      <acronym id='su5mq'><em id='su5mq'></em><td id='su5mq'><div id='su5mq'></div></td></acronym><address id='su5mq'><big id='su5mq'><big id='su5mq'></big><legend id='su5mq'></legend></big></address>

        <ins id='su5mq'></ins>

          1. <i id='su5mq'></i>

            LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)

            • 时间:
            • 浏览:4
            • 来源:124软件资讯网
              一  ,简介 LVS(Linux Virtual Server) 是Unix-like系统中的一个虚拟服务器  ,是海内孝敬给开源组织的一个最优异的项目之一  。LVS在Unix-like系统中 是作为一个前端(Director)存在的,又称为调理器 ,它自己不提供任何的服务  ,只是将通过互联网进来的请求接受后再转发给后台运行的真正的 服务器(RealServer)举行处置惩罚  ,然后响应给客户端  。 LVS有两个主要的组件:一个是IPVS  ,一个是IPVSADM 。ipvs是LVS的焦点组件  ,它自己只是一个框架 ,类似于iptables  ,事情于内核空间中  。 ipvsadm 是用来界说LVS的转发规则的  ,事情于用户空间中 。 LVS有三种转发类型: 1.LVS-NAT模子  ,称为网络地址转换 ,实现起来比力简朴  。 2.LVS-DR模子  ,称为直接路由模子  ,应用比力普遍  。 3.LVS-TUN模子  ,称为隧道模子  。
              二、LVS的三种模子的事情属性:
              1.LVS-NAT模子的事情属性或特: (1).所有的RealServer集群节点和前端调理器Director都要在统一个子网中 (2).通常情形下RealServer的IP地址(以下简成RIP)为私有地址  ,便于RealServer集群节点之间举行通讯 (3).通常情形下前端的Director有两个IP地址 ,一个为VIP  ,是虚拟的IP地址  ,客户端向此IP地址提倡请求  。 一个是DIP  ,是真正的Director的IP地址 ,RIP的网关要指向Director的DIP  。 (4).这种模子可以实现端口映射 (5).RealServer的操作系统可以是恣意操作系统 (6).前端的Director既要处置惩罚客户端提倡的请求  ,又要处置惩罚后台RealServer的响应信息  ,将RealServer响应的信息再转发给客户端 (7).前端Director很容易成为整个集群系统性能的瓶颈 。 2.LVS-DR模子的事情属性或特征:此种模子通过MAC地址转发事情 ,怎样转发后面将会先容 。 (1).所有的RealServer集群节点和前端调理器Director都要在统一个物理网络中 (2).RIP可以使用公网的IP (3).RIP的网关不能指向DIP (4).前端的Director只处置惩罚客户端的请求 ,然后将请求转发给RealServer  ,由后台的RealServer直接响应客户端  ,不再经由Director (5).此种模子不支持端口映射 (6).RealServer可以使用大多数的操作系统 (7).此种模子的性能要优于LVS-NAT 3.LVS-TUN模子的基本事情属性或特征 (1).RealServer服务器与前端的Director可以在差别的网络中 (2).RIP一定不能是私有IP (3).前端的Director只处置惩罚客户端的请求  ,然后将请求转发给RealServer ,由后台的RealServer直接响应客户端  ,不再经由Director (4).此种模子也不支持端口映射 (5).RealServer只能使用哪些支持IP隧道的操作系统
              三  。LVS Scheduling Method LVS的调理要领:
              1.Fixed Scheduling Method 静态调服要领 (1).RR 轮询 (2).WRR 加权轮询 (3).DH 目的地址hash (4).SH 源地址hash 2.Dynamic Scheduling Method 动态调服要领 (1).LC 最少毗连 (2).WLC 加权最少毗连 (3).SED 最少期望延迟 (4).NQ 从不排队调理要领 (5).LBLC 基于当地的最少毗连 (6).LBLCR 带复制的基于当地的最少毗连 四、ipvsadm组件界说规则的花样:
              1.界说集群服务花样: (1).添加集群服务: ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] -A: 表现添加一个新的集群服务 -E: 编辑一个集群服务 -t: 表现tcp协议 -u: 表现udp协议 -f: 表现firewall-Mark,防火墙标志 service-address: 集群服务的IP地址  ,即VIP -s 指定调理算法 -p 持久毗连时长 ,如#ipvsadm -Lcn  ,检察持久毗连状态 -M 界说掩码 ipvsadm -D -t|u|f service-address 删除一个集群服务 ipvsadm -C 清空所有的规则 ipvsadm -R 重新载入规则 ipvsadm -S [-n] 生存规则 2.向集群服务添加RealServer规则: (1).添加RealServer规则 ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] -a 添加一个新的realserver规则 -e 编辑realserver规则 -t tcp协议 -u udp协议 -f firewall-Mark ,防火墙标志 service-address realserver的IP地址 -g 表现界说为LVS-DR模子 -i 表现界说为LVS-TUN模子 -m 表现界说为LVS-NAT模子 -w 界说权重  ,后面跟详细的权值 ipvsadm -d -t|u|f service-address -r server-address --删除一个realserver ipvsadm -L|l [options] --检察界说的规则 如:#ipvsadm -L -n ipvsadm -Z [-t|u|f service-address] --清空计数器 五、LVS-NAT模子实例

              1 。先设置好网络情况  ,要三个虚拟机(本次实验在虚拟机上完成)  ,一台用作Director  ,其他两台划分为RealServer1 和RealServer2 其中Director要两个网卡 ,Eth0网卡为桥接(Birdged),Eth1网卡为仅主机(Host-only),RealServer1 和RealServer2的网卡也都是仅主机 类型的  。 2.为了演示效果  ,将Director的两块网卡设置成不在统一个网段的IP地址  ,RealServer1 和RealServer2的IP地址为统一网段  ,计划如下图:

              要注重的是:要将当地物理机的Vmnet1的IP地址设置成和Director的Eth1网卡的IP地址在统一个网段中,同时将RealServer1和RealServer2的网关指向Director主机的Eth1网卡的地址  ,如下图所示:

              3.设置好网络情况之后就最先设置ipvsadm  ,确保在物理机上能ping通Eth0的IP地址  ,如下图所示:

              能Ping通  ,说明物理主机已经可以和Director虚拟主机通讯了  。 4.在Director虚拟主机上设置: #echo 1 > /proc/sys/net/ipv4/ip_forward --开启IP转发功效 #rpm -qa ipvsadm --检察ipvsadm是否安装  ,若是没有安装则安装之 ,直接使用yum安装即可 #yum install ipvsadm -y 界说LVS-NAT模子规则 此处使用的是web服务器举行的演示  ,在192.168.24.44和192.168.24.45上都提供了nginx服务  ,其中 192.168.24.44提供的网页信息为“welcome realserver 1”,192.168.24.45提供的网页信息为“welcome realserver 2” #ipvsadm -A -t 172.16.100.24:80 -s rr #ipvsadm -a -t 172.16.100.24:80 -r 192.168.24.44 -m #ipvsadm -a -t 172.16.100.24:80 -r 192.168.24.45 -m #ipvsadm -L -n --检察界说的规则 这些规则都是暂时规则 ,不会永世生效的  ,要想永世生效可以生存规则 ,下令如下: #service ipvsadm save 5.在Internet Explorer浏览器中会见172.16.100.24  ,会显示如下图所示信息:

              而在google浏览器中会见172.16.100.24  ,会显示如下图所示信息:

              若是刷新页面或者使用差别的浏览器 ,会轮流显示页面  ,这就是最简朴的服务器负载平衡啦 ! 六、LVS-DR模子的实现历程: 1.首先计划集群和网路情况  ,需要三台虚拟机  ,如下图所示: 此时Director可以只有一个网卡Eth0  ,毗连类型为桥接(Birdged),RealServer1和RealServer2 的网卡毗连类型也都为桥接(Birdged):

              2.设置集群服务 (1).在Director服务器上设置: #ifconfig eth0:1 172.16.100.100 broadcast 172.16.100.100 netmask 255.255.255.255 up #route add -host 172.16.100.100 dev eth0:1 #echo 1 > /proc/sys/net/ipv4/ip_forward --开启IP转发功效 (2).在realserve1服务器上举行设置: # echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore # echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore # echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce # echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #ifconfig lo:0 172.16.100.100 broadcast 172.16.100.100 netmask 255.255.255.255 up #route add -host 172.16.100.100 dev lo:0 (3).在realserver2 服务器上举行设置 # echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore # echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore # echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce # echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #ifconfig lo:0 172.16.100.100 broadcast 172.16.100.100 netmask 255.255.255.255 up #route add -host 172.16.100.100 dev lo:0 (4).再在Director上设置ipvsadm规则: #ipvsadm -A -t 172.16.100.100:80 -s rr -g #ipvsadm -a -t 172.16.100.100:80 -r 172.16.24.34 #ipvsadm -a -t 172.16.100.100:80 -r 172.16.24.44 (5).在浏览器中举行验证: 举行第一次会见  ,如下图所示:

              举行第二次会见 ,如下图所示:

              3.基于ssl的会见 [root@mail ~]# ipvsadm -A -t 172.16.100.100:443 -s rr [root@mail ~]# ipvsadm -a -t 172.16.100.100:443 -r 172.16.24.2 -g [root@mail ~]# ipvsadm -a -t 172.16.100.100:443 -r 172.16.24.3 -g 二、LVS Persistence ,lvs的持久毗连性 持久毗连类型: (1).Persistent Client Connections(PCC),持久客户端毗连:就是不管客户端提倡什么样的服 务(如80端口的web服务  ,3306端口的mysql服务)请求 ,都将经由Director被定位到统一个特定的real server上  , 只要此real server 提供了这种服务  ,而且会连续毗连 ,若是客户端毗连超时 ,real server允许一定规模内的 持久毗连时长 ,默认持久毗连时长为300m #ipvsadm -A -t 172.16.100.100:0 -p 1200 #ipvsadm -a -t 172.16.100.100:0 -r 172.16.100.34 -g -w 10 #ipvsadm -a -t 172.16.100.100:0 -r 172.16.100.44 -g -w 5 验证效果如下图:

              (2).Persistent Port Connections(PPC),连续端口毗连:就是不管客户端提倡什么样的端口请求(如80端口 ,是提供web服务的  ,23端口  ,是提供telnet服务的....)  , 都市经由Director将请求转发到统一个real server上,并连续毗连 。如果一个客户端请求的是web服务 ,响应的是realserver1  ,当此用户退出后再次提倡请求web服务的时间 依然是realserver1 提供的web服务 。 iptables: [root@mail ~]# iptables -t mangle -A PREROUTING -i eth0 -p tcp -d 172.16.100.100 --dport 80 -j MARK --set-mark 20 [root@mail ~]# iptables -t mangle -A PREROUTING -i eth0 -p tcp -d 172.16.100.100 --dport 443 -j MARK --set-mark 20 [root@mail ~]# iptables -t mangle -L -n Chain PREROUTING (policy ACCEPT) target prot opt source destination MARK tcp -- 0.0.0.0/0 172.16.100.100 tcp dpt:80 MARK set 0x14 MARK tcp -- 0.0.0.0/0 172.16.100.100 tcp dpt:443 MARK set 0x14 把80端口和443 端口做成一个持久防火墙标志  ,同时定向到统一个realserver上  ,即在会见80服务的时间是realserver1  , 然后改为会见443服务的时间依然定向到realserver1上 基于防火墙标志来界说集群服务  ,也称为端口的姻亲关系  。 ipvsadm: [root@mail ~]# ipvsadm -A -f 20 -s wlc -p 1200 [root@mail ~]# ipvsadm -a -f 20 -r 172.16.24.2 -g -w 3 [root@mail ~]# ipvsadm -a -f 20 -r 172.16.24.3 -g -w 2 [root@mail ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn FWM 20 wlc persistent 1200 -> 172.16.24.3:0 Route 2 0 0 -> 172.16.24.2:0 Route 3 0

              本文出自 “知识系统” 博客