负载均衡器F5的安装、配置、维护及巡检

7460阅读 0评论2013-04-08 sometimeixpub
分类:架构设计与优化

不同基础负载均衡技术的总结笔记

在介绍负载均衡技术的时候,我们可以从多角度,多方面来总结归纳相关的知识?不同的归纳方式可以帮我们理解和记忆这些内容?那么,现在我们来以不同的基准方式来对负载均衡技术进行一个总结性介绍?希望能帮助大家了解这些知识?
 
1.基于特定服务器软件的负载均衡技术
这种技术是利用网络协议的重定向功能来实现负载均衡的,例如在Http协议中支持定位指令,接收到这个指令的浏览器将自动重定向到该指令指明的另一 个 URL上?由于和执行服务请求相比,发送定位指令对Web服务器的负载要小得多,因此可以根据这个功能来设计一种负载均衡的服务器?一旦Web服务器认为自己的负载较大,它就不再直接发送回浏览器请求的网页,而是送回一个定位指令,让浏览器去服务器集群中的其他服务器上获得所需要的网页?在这种方式下,服务器本身必须支持这种功能,然而具体实现起来却有很多困难,例如一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送定位指令?
定位指令和浏览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环?因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少?
 
2.基于DNS的负载均衡技术
DNS负载均衡技术是最早的负载均衡解决方案,它是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址?因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的 Web 服务器,从而达到负载均衡的目的?
这种技术的优点是,实现简单?实施容易?成本低?适用于大多数TCP/IP应用;但是,其缺点也非常明显,首先这种方案不是真正意义上的负载均衡,DNS 服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况;如果后台的Web服务器的配置和处理能力不同,最慢的Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用;其次未考虑容错,如果后台的某台Web服务器出现故障,DNS服务器仍然会把DNS请求分配到这台故障服务器上,导致不能响应客户端?最后一点是致命的,有可能造成相当一部分客户不能享受Web服务,并且由于DNS缓存的原因,所造成的后果要持续相当长一段时间(一般DNS的刷新周期约为24小时)?所以在国外最新的建设中心Web站点方案中,已经很少采用这种方案了?
 
3.基于四层交换技术的负载均衡技术
这种技术是在第四层交换机上设置Web服务的虚拟IP地址,这个虚拟IP地址是DNS服务器中解析到的Web服务器的IP地址,对客户端是可见的? 当客户访问此Web应用时,客户端的Http请求会先被第四层交换机接收到,它将基于第四层交换技术实时检测后台Web服务器的负载,根据设定的算法进行快速交换?常见的算法有轮询?加权?最少连接?随机和响应时间等?
 
4.基于七层交换技术的负载均衡技术
基于第七层交换的负载均衡技术主要用于实现Web应用的负载平衡和服务质量保证?它与第四层交换机比较起来有许多优势:第七层交换机不仅能检查 TCP/IP数据包的TCP和UDP端口号,从而转发给后台的某台服务器来处理,而且能从会话层以上来分析Http请求的URL,根据URL的不同将不同的Http请求交给不同的服务器来处理(可以具体到某一类文件,直至某一个文件),甚至同一个URL请求可以让多个服务器来响应以分担负载(当客户访问某一个URL,发起Http请求时,它实际上要与服务器建立多个会话连接,得到多个对象,例如.txt/.gif/.jpg文档,当这些对象都下载到本地后,才组成一个完整的页面)?
 
5.站点镜像技术
以上几种负载均衡技术主要应用于一个站点内的服务器群,但是由于一个站点接入Internet的带宽是有限的,因此可以把负载均衡技术开始应用于不同的网络站点之间,这就是站点镜像技术,站点镜像技术实际上利用了DNS负载均衡技术?


F5负载均衡之基础安装篇

负载均衡器的应用,是体现负载均衡技术的一大产品?那么常见的就是网络的第四层和第七层的交换机平衡问题?在这些硬件产品中,大家肯定知道F5负载 均衡器,这是一个常用的品牌?那么现在针对F5负载均衡器的配置问题,我们来做一个全方面的步骤总结?希望能帮助大家完成配置?
负载均衡器通常称为四层交换机或七层交换机?四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡?七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息?
F5负载均衡配置步骤:
1?F5负载均衡组网规划
(1)组网拓朴图(具体到网络设备物理端口的分配和连接,服务器网卡的分配与连接)
(2)IP地址的分配(具体到网络设备和服务器网卡的IP地址的分配)
(3)F5负载均衡上业务的VIP?成员池?节点?负载均衡算法?策略保持方法的确定
 
2?F5负载均衡配置前的准备工作
(1)版本检查
 f5-portal-1:~# b version
Kernel:
BIG-IP Kernel 4.5PTF-07 Build18 
(2)时间检查--如不正确,请到单用户模式下进行修改
 f5-portal-1:~# date
Thu May 20 15:05:10 CST 2004 
(3)申请license--现场用的F5负载均衡都需要自己到F5网站上申请license
 
3?F5负载均衡的通用配置
(1)在安全要求允许的情况下,在setup菜单中可以打开telnet及ftp功能,便于以后方便维护
(2)配置vlan unique_mac选项,此选项是保证F5负载均衡上不同的vlan 的MAC地址不一样?在缺省情况下,F5负载均衡的各个vlan的MAC地址是一样的,建议在配置时,把此项统一选择上?可用命令ifconfig –a来较验,具体是system/Advanced Properties/vlan unique_mac
 (3)配置snat any_ip选项选项,此选项为了保证内网的机器做了snat后,可以对ping的数据流作转换?Ping是第三层的数据包,缺省情况下F5负载均衡是不 对ping的数据包作转换,也就是internal vlan的主机无法ping external vlan的机器?(注意:还可以采用telnet来验证?) 具体是system/Advanced Properties/snat any_ip
 
4?F5负载均衡的初始化配置
建议在对F5负载均衡进行初始时都用命令行方式来进行初始化(用Web页面初始化的方式有时会有问题)?登录到命令行上,运行config或setup命令可以进行初始化配置?初次运行时会提示一些license的信息?default:~# config


简说(地址和服务器池)F5负载均衡的部分配置

前面我们对F5负载均衡器的准备和安装过程做了归纳,以及对它的初始化和通用设置进行了完整的步骤分析?现在,就来对后边的设置过程进行讲述?想要做好均衡工作,地址的分配是重点,这之中我们的IP分配设置,以及服务器的分配是我们需要着重关注的?好了,具体的过程,还是从下文中了解吧?
 
F5负载均衡双机切换监控配置(有F5双机时需要):
(1)在web页面中选择相应的vlan,在arm failsafe选择则可?Timeout为从F5负载均衡器收不到包的时间起,经过多长时间就发生切换?此配置不能同步,需要在F5负载均衡的主备机上同时配置?每个vlan都可以配置vlan arm failsafe?具体在Network下?
(2)在web页面中选择system,在redundant properties中把gateway failsafe选择则可?Router是需要监控的地址?此配置不能同步,需要在F5负载均衡的主备机上同时配置?一套F5负载均衡上只能配置一个gateway failsafe?具体在system/redundant properties/gateway failsafe
 
F5负载均衡器MAC masquerade配置:
Mac Masquerading是F5负载均衡器的Shared IP Address (Floating)的MAC地址,F5负载均衡如果不配置此项,则shared IP Address的MAC地址与每台F5的vlan self IP Address的MAC地址是一样的?
一般服务器是以shared IP Address为网关,在两台F5负载均衡上都配置了Mac Masquerade(相同的MAC地址),这样当F5负载均衡发生切换后,服务器上shared IP address的MAC不变,保证了业务的不中断?具体在Network下
 
F5负载均衡的pool配置:
(1)在置工具Web页面的导航面板中选择“Pools"中的“Pools"标签,点击“ADD"按钮添加服务器池(Pool)?
(2)在池属性(Pool Properties)中的“Load Balancing Method"表格中选择负载均衡策略,通常采用默认策略:“Round Robin"
(3)在“Resouces"表格中的“Member Address"文本框输入成员IP地址,在“Service"文本框中输入服务端口,点击“>>"添加到“Current Members"当前成员列表中?
(4)添加所有组成员,点击“Done"完成配置?
(5)在“Pools"中的“Pool Name"列选中特定池,然后池属性页面中选择“Persistence"标签?
(6)在“Persistence Type"表格中选定会话保持类型?点击“Apply"应用配置?


虚拟主机和监控的F5负载均衡设置:

在对服务器池的负载均衡配置之后,虚拟主机也是需要进行负载设置?其中,还包括F5的监视器设置和地址资源的分配工作都需要进行均衡处理?最后就收同步作用?这些都是需要注意的问题?所以我们在此为大家强调一下?希望能为大家遗漏补缺?

F5负载均衡的virtual server配置:
(1)在配置工具Web页面的导航面板中选择“Virtual Servers"中的“Virtual Servers"标签,点击“ADD"按钮添加虚拟服务器?
(2)在“Add Virtual Server"窗口的“Address"文本框中输入虚拟服务器IP地址,并在“Service"文本框中输入服务端口号或在下拉框中选择现有的服务名称,点击“Next"执行下一步?
(3)在“Add Virtual Server"窗口的“Configure Basic Properties"页面中点击“Next"执行下一步? 在“Add Virtual Server"窗口的“Select Physical Resources"页面中点击单选按钮“Pool",并在下拉框中选择虚拟服务器对应的负载均衡池?
(4)按“Done"完成创建虚拟服务器?
 
F5负载均衡的monitor的配置:
(1)在配置工具Web页面的导航面板中选择“Monitor"中的“Monitors"标签,点击“ADD"按钮添加监控?
(2)根据需要选择相关关联类型:“Node Associations"标签?Node Address Associations"标签?Service Associations"标签?
(3)被选关联标签中,在“Choose Monitor"表格中选择监控名称,点击“>>"按钮添加到“Monitor Rule"监控规格文本框中?监控规则可以为一条或多条?
(4)选择监控规则后,在对应节点的“Associate Current Monitor Rule"复选框中选中?如果欲删除监控关联,则选中对应节点的“Delete Existing Assocation"复选框?
(5)点击“Apply"关联监控
 
F5负载均衡的SNAT配置:
(1)在配置工具Web页面的导航面板中选择“NATs"中的“SNATs"标签,点击“ADD"按钮添加SNAT地址?
(2)在“Add SNAT"窗口中“Translation Address"的“IP"文本框中输入SNAT IP地址,并在“Origin List"的“Origin Address"文本框中输入节点IP地址或在“Origin VLAN"下拉框中选择VLAN名称,点击“>>"加入“Current List"列表?
(3)按“Done"完成添加SNAT IP地址?
 
F5负载均衡主备机同步及切换校验:
具体在system/Redundant Properties/synchonize Config...


F5负载均衡之检查命令的说明

在对F5负载均衡器安装和设置之后,就是对它的检查和维护工作进行配置了?这是保证我们的软件和硬件联通以及硬件正常工作的必要途径?当设备出现问题时,我们也能从中看出哪里出现问题?通过这些设置,可以帮我们排查故障,减少工作量,节约时间?

F5负载均衡器的维护
 
F5负载均衡节点及应用的检查:
通过“System -> Network Map"页面查看节点及应用状态
绿色:节点或虚拟服务器为“UP"
红色:节点或虚拟服务器状态为“Down"
灰色:节点或虚拟服务器被禁用
 
日志的检查:
(1)当天日志:从web上查看logs中的system log?bigip log?monitor log,看日志中是否有异常?
(2)7天内的日志
系统日志文件 - /var/log/messages消息, 系统消息
 BIG-IP 日志文件 - /var/log/bigip
“External" BIG-IP events
Monitor 日志文件 - /var/log/bigd
“Internal" BIG-IP Events
3DNS 日志文件 - /var/log/3dns
3DNS Information
用gzcat?more?vi命令打开

F5负载均衡流量的检查:
(1)业务上的基本维护主要是在F5负载均衡上查看F5分发到各节点的connect是否负载均衡,一般不应有数量级的差别
(2)通过WEB->pool-> pool statistics中查看connection项中的total和current项,不应有明显的数量级的差别
(3)F5 qkview命令
执行qkview,执行完成后将输出信息保存在文件“/var/tmp/-tech.out"中,供高级技术支持用
(4)F5负载均衡 tcpdump命令
TCPDUMP是Unix系统常用的报文分析工具,TCPDUMP经常用于故障定位,如会话保持失效?SNAT通信问题等
tcpdump [ -adeflnNOpqRStvxX ] [ -c count ] [ -F file ]   
[ -i interface ] [ -m module ] [ -r file ]   
[ -s snaplen ] [ -T type ] [ -w file ]   
[ -E algo:secret ] [ expression ] 


F5负载均衡器的使用命令

对于F5负载均衡器的安装设置我们已经介绍过不少了,现在为大家介绍一些它相关的巡检命令?通过这些命令,我们可以方便的进行一些数据和状态的查看?从中,我们能直观地掌握系统设备的一些运转情况?这些命令,也可以算是我们一个小技巧吧?希望能让大家得到帮助?
 
F5负载均衡器巡检命令1:b conn [[:]] [dump [mirror]]
如果只键入b conn,则显示所有的当前联接
 
F5负载均衡器巡检命令2:b conn dump mirror
显示从Active设备同步过来的所有connection信息
 
F5负载均衡器巡检命令3:b conn [:] delete
删除指定IP和端口的连接信息
 
F5负载均衡器巡检命令4:b conn [all] delete
删除所有的当前连接
 
F5负载均衡器巡检命令5:b failover standby
强制当前设备切换为备份设备
 
F5负载均衡器巡检命令6:b failover [show]
显示当前设备的主备状态
 
F5负载均衡器巡检命令7:b interface show
显示所有的端口信息
 
F5负载均衡器巡检命令8:b maint
将BIGIP设置为maintanence状态,此时BIGIP将维护现有的用户连接,而拒绝所有的新用户连接?主要用于系统停机维护?
 
F5负载均衡器巡检命令9:b monitor show
显示所有的monitor检查信息?
 
F5负载均衡器巡检命令10:b node show
显示所有的Node节点信息
 
F5负载均衡器巡检命令11:b pool show
显示所有的pool信息
 
F5负载均衡器巡检命令12:b self show
显示所有的SelfIP信息
 
F5负载均衡器巡检命令13:b version
显示版本信息
 
F5负载均衡器巡检命令14:b virtual show
显示所有的Virtual Server信息
 
F5负载均衡器巡检命令15:b vlan show
显示所有的Vlan信息
 
F5负载均衡器巡检命令16:bigtop
显示所有Virtual Server和Node的连接和流量统计信息
 
F5负载均衡器巡检命令17:date
显示时间
 
F5负载均衡器巡检命令18:top
显示系统当前的CPU?内存和进程运行信息
 
F5负载均衡器巡检命令19:ifconfig –a
显示系统所有的ip配置信息

 

 

 

 

 

 

上一篇:linux下安装tuxedo
下一篇:关于多进程epoll与“惊群”问题