LVS四种工作模式原理
LVS 是 Linux Virtual Server :Linux 虚拟服务器;是一个虚拟的服务器集群多台机器 LB IP。
负载调度器(load balancer) :它是整个LVS 集群对外的前端机器,负责将client请求发送到一组服务器[多台LB IP]上执行,而client端认为是返回来一个同一个IP通常把这个IP 称为虚拟IP/VIP
服务器池(server pool) :一组真正执行client 请求的服务器,一般是我们的web服务器;除了web,还有FTP,MAIL,DNS
共享存储(shared stored) :它为 server pool 提供了一个共享的存储区,很容易让服务器池拥有相同的内容,提供相同的服务
常用术语
VS:Virtual Server #虚拟服务,一个抽象的服务,用于最开始接收 web 请求的服务
Director, Balancer #负载均衡器、分发器
RS:Real Server # 真正提供服务的服务器
CIP: Client IP #用户端IP,发起请求的客户端 IP,一般是公网 IP
VIP:Director Virtual IP #负载均衡器虚拟IP
DIP:Director IP #负载均衡器IP
RIP:Real Server IP #真正提供 web 服务的服务器的 IP
互联网使用比较多的一种模式
DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。
DR模式特点
优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。
缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。
(2)NAT模式(LVS-NAT)
NAT模式是通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP),这样真实服务器(RS)就能够接收到客户的请求数据包了。真实服务器响应完请求后,查看默认路由(NAT模式下我们需要把RS的默认路由设置为LB服务器。)把响应后的数据包发送给LB,LB再接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。
NAT模式特点:
1、NAT技术将请求的报文和响应的报文都需要通过LB进行地址改写,因此网站访问量比较大的时候LB负载均衡调度器有比较大的瓶颈,一般要求最多之能10-20台节点
2、只需要在LB上配置一个公网IP地址就可以了。
3、每台内部的节点服务器的网关地址必须是调度器LB的内网地址。
4、NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。
(3)Full NAT模式(LVS-FullNAT)
客户端对VIP发起请求,Director接过请求发现是请求后端服务。Direcrot对请求报文做full-nat,把源ip改为Dip,把目标ip转换为任意后端RS的rip,然后发往后端,rs接到请求后,进行响应,响应源ip为Rip,目标ip还是DIP,又内部路由路由到Director,Director接到响应报文,进行full-nat。将源地址为VIP,目标地址改为CIP
请求使用DNAT,响应使用SNAT
Full NAT模式特点:
FULL NAT 模式也不需要 LBIP 和realserver ip 在同一个网段;
full nat 跟nat 相比的优点是:保证RS回包一定能够回到LVS;因为源地址就是LVS==> 不确定
full nat 因为要更新sorce ip 所以性能正常比nat 模式下降 10%
(4)IP隧道模式(LVS-Tunnel)
采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写,当客户请求越来越多时,调度器处理能力将成为瓶颈。为了解决这个问题,调度器把请求的报文通过IP隧道转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文,由于一般网络服务应答数据比请求报文大很多,采用VS/TUN模式后,集群系统的最大吞吐量可以提高10倍。
它和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址。而是把客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过LB服务器。
ip隧道模式特点:
负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。
隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。
四种模式性能比较:
因为DR模式 IP TUNELL 模式都是在package in 时经过LVS ,在package out是直接返回给client,所以二者的性能比NAT 模式高,但IP TUNNEL 因为是TUNNEL 模式比较复杂,其性能不如DR模式;
FULL NAT 模式因为不仅要更换 DST IP 还更换 SOURCE IP 所以性能比NAT 下降10%
4种模式的性能如下:DR ==> IP TUNNEL ==>NAT ==>FULL NAT
三层交换机配置:
switch (config)#interface vlan1 (配置VLAN1)
switch (config-if)#ip helper-address 192168114(指定DHCP服务器的地址,即路由器的地址)
switch (config)#interface vlan2(配置VLAN2)
switch (config-if)#ip helper-address 192168114
路由器配置:
Router(config)# ip dhcp pool test1(配置一个根地址池,test1是地址池的名称)
Router(config)#network 19216810 2552552550(动态分配的地址段)
Router(config)#dns-server 19216815(为客户机配置DNS服务器,即VLAN 1的IP地址)
Router(config)# ip dhcp pool test2(配置一个根地址池,test2是地址池的名称)
Router(config)#network 19216820 2552552550(动态分配的地址段)
Router(config)#dns-server 19216825(为客户机配置DNS服务器,即VLAN 2的IP地址)
Access-enable 允许路由器在动态访问列表中创建临时访问列表入口
Access-group 把访问控制列表(ACL)应用到接口上
Access-list 定义一个标准的IP ACL
Access-template 在连接的路由器上手动替换临时访问列表入口
Appn 向APPN子系统发送命令
Atmsig 执行ATM信令命令
B 手动引导操作系统
Bandwidth 设置接口的带宽
Banner motd 指定日期信息标语
Bfe 设置突发事件手册模式
Boot system 指定路由器启动时加载的系统映像
Calendar 设置硬件日历
Cd 更改路径
Cdp enable 允许接口运行CDP协议
Clear 复位功能
Clear counters 清除接口计数器
Clear interface 重新启动接口上的硬件逻辑
Clockrate 设置串口硬件连接的时钟速率,如网络接口模块和接口处理器能接受的速率
Cmt 开启/关闭FDDI连接管理功能
Config-register 修改配置寄存器设置
Configure 允许进入存在的配置模式,在中心站点上维护并保存配置信息
Configure memory 从NVRAM加载配置信息
Configure terminal 从终端进行手动配置
Connect 打开一个终端连接
Copy 复制配置或映像数据
Copy flash tftp 备份系统映像文件到TFTP服务器
Copy running-config startup-config 将RAM中的当前配置存储到NVRAM
Copy running-config tftp 将RAM中的当前配置存储到网络TFTP服务器上
Copy tftp flash 从TFTP服务器上下载新映像到Flash
Copy tftp running-config 从TFTP服务器上下载配置文件
Debug 使用调试功能
Debug dialer 显示接口在拨什么号及诸如此类的信息
Debug ip rip 显示RIP路由选择更新数据
Debug ipx routing activity 显示关于路由选择协议(RIP)更新数据包的信息
Debug ipx sap 显示关于SAP(业务通告协议)更新数据包信息
Debug isdn q921 显示在路由器D通道ISDN接口上发生的数据链路层(第2层)的访问过程
Debug ppp 显示在实施PPP中发生的业务和交换信息
Delete 删除文件
Deny 为一个已命名的IP ACL设置条件
Dialer idle-timeout
规定线路断开前的空闲时间的长度
Dialer map 设置一个串行接口来呼叫一个或多个地点
Dialer wait-for-carrier-time 规定花多长时间等待一个载体
Dialer-group 通过对属于一个特定拨号组的接口进行配置来访问控制
Dialer-list protocol 定义一个数字数据接受器(DDR)拨号表以通过协议或ACL与协议的组合来控制控制拨号
Dir 显示给定设备上的文件
Disable 关闭特许模式
Disconnect 断开已建立的连接
Enable 打开特许模式
Enable password 确定一个密码以防止对路由器非授权的访问
Enable password 设置本地口令控制不同特权级别的访问
Enable secret 为enable password命令定义额外一层安全性
Encapsulation frame-relay 启动帧中继封装
Encapsulation novell-ether 规定在网络段上使用的Novell独一无二的格式
Encapsulation PPP 把PPP设置为由串口或ISDN接口使用的封装方法
Encapsulation sap 规定在网络段上使用的以太网8022格式Cisco的密码是sap
End 退出配置模式
Erase 删除闪存或配置缓存
Erase startup-config 删除NVRAM中的内容
Exec-timeout 配置EXEC命令解释器在检测到用户输入前所等待的时间
Exit 退出所有配置模式或者关闭一个激活的终端会话和终止一个EXEC
Exit 终止任何配置模式或关闭一个活动的对话和结束EXEC
format 格式化设备
Frame-relay local-dlci 为使用帧中继封装的串行线路启动本地管理接口(LMI)
Help 获得交互式帮助系统
History 查看历史记录
Hostname 使用一个主机名来配置路由器,该主机名以提示符或者缺省文件名的方式使用
Interface 设置接口类型并且输入接口配置模式
Interface 配置接口类型和进入接口配置模式
Interface serial 选择接口并且输入接口配置模式
Ip access-group 控制对一个接口的访问
Ip address 设定接口的网络逻辑地址
Ip address 设置一个接口地址和子网掩码并开始IP处理
Ip default-network 建立一条缺省路由
Ip domain-lookup 允许路由器缺省使用DNS
Ip host 定义静态主机名到IP地址映射
Ip name-server 指定至多6个进行名字-地址解析的服务器地址
Ip route 建立一条静态路由
Ip unnumbered 在为给一个接口分配一个明确的IP地址情况下,在串口上启动互联网协议(IP)的处理过程
Ipx delay 设置点计数
Ipx ipxwan 在串口上启动IPXWAN协议
Ipx maximum-paths 当转发数据包时设置Cisco IOS软件使用的等价路径数量
Ipx network 在一个特定接口上启动互联网数据包交换(IPX)的路由选择并且选择封装的类型(用帧封装)
Ipx router 规定使用的路由选择协议
Ipx routing 启动IPX路由选择
Ipx sap-interval 在较慢的链路上设置较不频繁的SAP(业务广告协议)更新
Ipx type-20-input-checks 限制对IPX20类数据包广播的传播的接受
Isdn spid1 在路由器上规定已经由ISDN业务供应商为B1信道分配的业务简介号(SPID)
Isdn spid2 在路由器上规定已经由ISDN业务供应商为B2信道分配的业务简介号(SPID)
Isdn switch-type 规定了在ISDN接口上的中央办公区的交换机的类型
Keeplive 为使用帧中继封装的串行线路LMI(本地管理接口)机制
Lat 打开LAT连接
Line 确定一个特定的线路和开始线路配置
Line concole 设置控制台端口线路
Line vty 为远程控制台访问规定了一个虚拟终端
Lock 锁住终端控制台
Login 在终端会话登录过程中启动了密码检查
Login 以某用户身份登录,登录时允许口令验证
Logout 退出EXEC模式
Mbranch 向下跟踪组播地址路由至终端
Media-type 定义介质类型
Metric holddown 把新的IGRP路由选择信息与正在使用的IGRP路由选择信息隔离一段时间
Mrbranch 向上解析组播地址路由至枝端
Mrinfo 从组播路由器上获取邻居和版本信息
Mstat 对组播地址多次路由跟踪后显示统计数字
Mtrace 由源向目标跟踪解析组播地址路径
Name-connection 命名已存在的网络连接
Ncia 开启/关闭NCIA服务器
Network 把一个基于NIC的地址分配给一个与它直接相连的路由器把网络与一个IGRP的路由选择的过程联系起来在IPX路由器配置模式下,在网络上启动加强的IGRP
Network 指定一个和路由器直接相连的网络地址段
Network-number 对一个直接连接的网络进行规定
No shutdown 打开一个关闭的接口
Pad 开启一个X29 PAD连接
Permit 为一个已命名的IP ACL设置条件
Ping 把ICMP响应请求的数据包发送网络上的另一个节点检查主机的可达性和网络的连通性对网络的基本连通性进行诊断
Ping 发送回声请求,诊断基本的网络连通性
Ppp 开始IETF点到点协议
Ppp authentication 启动Challenge握手鉴权协议(CHAP)或者密码验证协议(PAP)或者将两者都启动,并且对在接口上选择的CHAP和PAP验证的顺序进行规定
Ppp chap hostname 当用CHAP进行身份验证时,创建一批好像是同一台主机的拨号路由器
Ppp chap password 设置一个密码,该密码被发送到对路由器进行身份验证的主机命令对进入路由器的用户名/密码的数量进行了限制
Ppp pap sent-username 对一个接口启动远程PAP支持,并且在PAP对同等层请求数据包验证过程中使用sent-username和password
Protocol 对一个IP路由选择协议进行定义,该协议可以是RIP,内部网关路由选择协议(IGRP),开放最短路径优先(OSPF),还可以是加强的IGRP
Pwd 显示当前设备名
Reload 关闭并执行冷启动;重启操作系统
Rlogin 打开一个活动的网络连接
Router 由第一项定义的IP路由协议作为路由进程,例如:router rip 选择RIP作为路由协议
Router igrp 启动一个IGRP的路由选择过程
Router rip 选择RIP作为路由选择协议
Rsh 执行一个远程命令
Sdlc 发送SDLC测试帧
Send 在tty线路上发送消息
Service password-encryption 对口令进行加密
Setup 运行Setup命令
Show 显示运行系统信息
Show access-lists 显示当前所有ACL的内容
Show buffers 显示缓存器统计信息
Show cdp entry 显示CDP表中所列相邻设备的信息
Show cdp interface 显示打开的CDP接口信息
Show cdp neighbors 显示CDP查找进程的结果
Show dialer 显示为DDR(数字数据接受器)设置的串行接口的一般诊断信息
Show flash 显示闪存的布局和内容信息
Show frame-relay lmi 显示关于本地管理接口(LMI)的统计信息
Show frame-relay map 显示关于连接的当前映射入口和信息
Show frame-relay pvc 显示关于帧中继接口的永久虚电路(pvc)的统计信息
Show hosts 显示主机名和地址的缓存列表
Show interfaces 显示设置在路由器和访问服务器上所有接口的统计信息
Show interfaces 显示路由器上配置的所有接口的状态
Show interfaces serial 显示关于一个串口的信息
Show ip interface 列出一个接口的IP信息和状态的小结
Show ip interface 列出接口的状态和全局参数
Show ip protocols 显示活动路由协议进程的参数和当前状态
Show ip route 显示路由选择表的当前状态
Show ip router 显示IP路由表信息
Show ipx interface 显示Cisco IOS软件设置的IPX接口的状态以及每个接口中的参数
Show ipx route 显示IPX路由选择表的内容
Show ipx servers 显示IPX服务器列表
Show ipx traffic 显示数据包的数量和类型
Show isdn active 显示当前呼叫的信息,包括被叫号码、建立连接前所花费的时间、在呼叫期间使用的自动化操作控制(AOC)收费单元以及是否在呼叫期间和呼叫结束时提供AOC信息
Show isdn ststus 显示所有isdn接口的状态、或者一个特定的数字信号链路(DSL)的状态或者一个特定isdn接口的状态
Show memory 显示路由器内存的大小,包括空闲内存的大小
Show processes 显示路由器的进程
Show protocols 显示设置的协议
Show protocols 显示配置的协议。这条命令显示任何配置了的第3层协议的状态
Show running-config 显示RAM中的当前配置信息
Show spantree 显示关于虚拟局域网(VLAN)的生成树信息
Show stacks 监控和中断程序对堆栈的使用,并显示系统上一次重启的原因
Show startup-config 显示NVRAM中的启动配置文件
Show ststus 显示ISDN线路和两个B信道的当前状态
Show version 显示系统硬件的配置,软件的版本,配置文件的名称和来源及引导映像
Shutdown 关闭一个接口
Telnet 开启一个telect连接
Term ip 指定当前会话的网络掩码的格式
Term ip netmask-format 规定了在show命令输出中网络掩码显示的格式
Timers basic 控制着IGRP以多少时间间隔发送更新信息
Trace 跟踪IP路由
Username password 规定了在CHAP和PAP呼叫者身份验证过程中使用的密码
Verify 检验flash文件
Where 显示活动连接
Which-route OSI路由表查找和显示结果
Write 运行的配置信息写入内存,网络或终端
Write erase 现在由copy startup-config命令替换
X3 在PAD上设置X3参数
Xremote 进入XRemote模式
0条评论