logo资料库

2011-4-17+应用交付之BIG-IP+LTM篇-Beta版.pdf

第1页 / 共215页
第2页 / 共215页
第3页 / 共215页
第4页 / 共215页
第5页 / 共215页
第6页 / 共215页
第7页 / 共215页
第8页 / 共215页
资料共215页,剩余部分请下载后查看
2011 杨明非 www.adntecch.com 4/16/2011 应用交付之F5 BIG-IP LTM篇
应用交付之BIG-IP LTM篇-Beta版 www.adntech.com 征求意见版-请登录论坛:www.adntech.com/bbs F5学堂版块提出您宝贵的意见和建议 前 言 这篇文章写了很长的时间了�从2007年就开始了编写工作。原来的打算是写成一本书的形式�所以覆盖了非常广的技术范围。但由于工作的关系�始终都在断断续续的过程中。最初编写本文的目的是对我10年来在应用交付领域的所有技术知识点的一个总结�主要目的是写给新进入这个领域的工程师或者负责运维的工程师作为一本入门教材。但后来发现写出来和平时做售前讲解或分析问题的轻松完全是不一样的�编写一部细致的技术描写文章非常的复杂。还好�我平时也经常在写一些技术分析的文章�把这些文章里面的一些内容加以提炼�把产品介绍部分的内容去掉�基本上就形成了本文的主要章节。 原来的计划中�是涉及到整个应用交付的领域�包括负载均衡、七层协议处理、应用优化、应用安全、多链路以及多数据中心处理等很多内容。但后来发现应用安全部分由于自己本身积累的知识并不是很多�怕写的东西误导读者�因此在最后将这部分内容删除了�以后等自己对应用安全有了更深入的认识再另外编写或者重新更新本文版本。多链路及多数据中心部分也是同样的情况�要把整个的多数据中心运营写清楚�实际上要涉及到很多方面的内容。由于近期自己的时间分配问题�也无法继续在投入很多的时间和精力去编写。就留待热心的读者继续完成工作。 原本的意图中�是不涉及到产品和品牌�而单纯的对技术进行描述。但到编写的后期�随着技术描述的深入�发现很多的内容都和F5的产品和技术有很深的关系�所以最后干脆就把整书的内容都以F5的产品和技术作为核心来进行编写。 做了多年的技术工作�自己一直认为会总结的工程师才是一个好工程师�尤其是将自己的一些经验和知识编写成为文章�并系统而有条理的展现出来�给后来的同学做一个很好的参考。这样�对自己的知识总结有非常大的好处�也可以抛下自己的历史包袱�去学习更多的内容�提高自己的整体水平。 在本文的编写中�对于一些原理性的介绍内容�从互联网上搜索了一些资料�并对这些内容进行了整理�节选了一些有用的内容保留在文中。由于网上的资料来源较广�已经无法确认原创作者�因此首先在这里对原作者表示感谢。本文中的iRules语法介绍的部分�也直接引用了devcentral.f5.com上的部分内容。我觉得这部分内容非常有实用价值�因此也放在的文中作为重要部分。 在编写的后期�我的同事周辛酉和林静也提供了部分内容�周辛酉帮助完成了iRules一章�林静帮助完成了最后的系统运维部分。在这里�也要对他们表示感谢� 对于未竟的内容�读者可以到www.adntech.com上找到更多的文章和帖子�在这个论坛上�我们可以有更多的讨论和共享。 杨明非
应用交付之BIG-IP LTM篇-Beta版 www.adntech.com 征求意见版-请登录论坛:www.adntech.com/bbs F5学堂版块提出您宝贵的意见和建议 目 录 1 综述........................................................................................................................................... 5 2 问题:应用与网络的鸿沟 .......................................................................................................... 6 2.1 服务器端的问题 ........................................................................................................... 6 2.2 客户端的问题 ............................................................................................................... 8 3 应用交付网络的技术原理 ....................................................................................................... 9 3.1 从应用发布流程谈起 ................................................................................................... 9 3.2 应用交付网络在各个环节的作用 ............................................................................. 10 4 应用交付的本地流量负载均衡处理 ..................................................................................... 10 4.1 OSI七层模型 .............................................................................................................. 11 4.2 名称的困惑 ................................................................................................................. 12 4.3 应用负载均衡的挑战 ................................................................................................. 12 4.4 F5 BIG-IP LTM工作原理 ............................................................................................. 14 4.5 应用负载均衡策略 ..................................................................................................... 19 4.6 会话保持 ..................................................................................................................... 25 4.7 健康检查 ..................................................................................................................... 37 4.8 基于HTTP协议的负载均衡策略 .............................................................................. 46 4.9 DNS协议的负载均衡 ................................................................................................. 52 4.10 安全地址翻译�SNAT� ........................................................................................ 58 4.11 本地应用负载均衡的组网模式 ............................................................................. 61 4.12 BIG-IP LTM冗余切换策略 ........................................................................................ 72 5 iRules可编程控制接口 .......................................................................................................... 80 5.1 iRules工作原理和范围 .............................................................................................. 80 5.2 编写您的第一个rules ................................................................................................ 82 5.3 iRules进阶 .................................................................................................................. 84 5.4 iRules的调试 ............................................................................................................ 128 5.5 iRules优化 ................................................................................................................ 136 5.6 常用iRules分析 ....................................................................................................... 141 6 应用优化 ............................................................................................................................... 147 6.1 SSL 卸载 ................................................................................................................... 148 6.2 HTTP 内容缓存 ........................................................................................................ 161 6.3 HTTP压缩 ................................................................................................................. 168 6.4 HTTP连接聚合 ......................................................................................................... 171 7 应用安全 ............................................................................................................................... 174 7.1 现有的安全防护手段 ............................................................................................... 174 7.2 构建更可靠的安全架构 ........................................................................................... 175 7.3 接入网络层安全 ....................................................................................................... 176 7.4 应用安全 ................................................................................................................... 180 8 系统运维 ............................................................................................................................... 180 8.1 硬件体系结构 ........................................................................................................... 180 8.2 文件体系结构 ........................................................................................................... 181
应用交付之BIG-IP LTM篇-Beta版 www.adntech.com 征求意见版-请登录论坛:www.adntech.com/bbs F5学堂版块提出您宝贵的意见和建议 8.3 系统安装与升级 ....................................................................................................... 187 8.4 系统运维模块 ........................................................................................................... 189 8.5 AAA认证配置 ........................................................................................................... 197 8.6 高级命令及系统排错命令 ....................................................................................... 198 8.7 排错思路 ................................................................................................................... 213
应用交付之BIG-IP LTM篇-Beta版 www.adntech.com 征求意见版-请登录论坛:www.adntech.com/bbs F5学堂版块提出您宝贵的意见和建议 1 综述 传统的数据网络主要关注的是网络的互连互通�而各种新兴繁杂的网络应用�关注的则是业务逻辑和功能。如何将二者铆合在一起呢�目前在业界中�最为流行�也是最为关注网络和应用的新兴概念就是应用交付网络�Application Delivery Networking�ADN�的理念。 对于很多企业而言�当千辛万苦完成数据大集中后�另一个两难境地随之而来——应用系统不断增多�分支机构不断增加�需要维护的客户端也呈几何级数攀升�IT架构变得分外复杂。于是�一方面急需快速高效部署各种新的应用系统�以保持业务优势�一方面又要确保IT架构的易管理性�以及降低IT投资的总体拥有成本。这时�就是建立应用交付网络的最佳时机。 首先来看安全�目前业界已经达成共识�网络安全对于网络应用的保障是至关重要的环节。而在应用交付网络中强调的是应用的安全�无论身居何处�应用交付网络可以预先提供全面的防护措施�以避免那些不正当的恶意访问和攻击。 随着业务的拓展和应用的普及�越来越多的企业关键业务如ERP、电子商务、网上银行等均在Internet上进行发布�在得到了应用的方便性和7X24小时的高可用性之外�同时带来的就是安全的隐患也逐步增大。大量的黑客技术手段�正在从一些不安全的对外发布站点上取得关键信息�获取用户的登陆信息等�造成了资金被窃�网站被恶意篡改等恶性事件。 SSL作为目前在业界中最为普遍的传输加密手段�正在大规模的普及过程中�SSL Anywhere�已经成为一些大型金融机构的核心业务设计原则。但SSL自身虽然为一个非常安全的数据传输加密手段�但管理不善的SSL应用�同样会遭受到各式各样的黑客攻击�造成安全事件。 因此�在一个完善的应用交付网络设计中�除对SSL协议本身的完善支持外�还需要通过其他的很多手段�来实现对SSL协议中传输的内容进行安全检查、隔离。 再来看快速及优化�应用交付网络可以优化用户的网络应用�使网络达到更快的速度并能减少资源消耗。无论是在全球的某个角落或者公司总部使用笔记本进行连接�应用交付网络都可以确保应用程序的高速运行。 企业规模的扩大和用户群体的全球化�都导致了关键业务访问远程化、窄带化。和最初的应用发布不同�越来越多的应用访问是通过上千公里的广域网访问而非最初的局域网访问。企业应用的大集中趋势�在带来管理、维护和总拥有成本降低的优势的同时�也造成了远程访问所带来的速度降低。应用内容的丰富性也进一步加剧了在广域网上的带宽消耗和资源占用。 因此�在一个完善的应用交付网络设计中�应当关注的一个重点就是如何提高广域网用户的访问速度�实现就近访问、更小的带宽占用和应用访问速度的提升。
应用交付之BIG-IP LTM篇-Beta版 www.adntech.com 征求意见版-请登录论坛:www.adntech.com/bbs F5学堂版块提出您宝贵的意见和建议 最后来看一下高可用性�应用交付网络所提供的解决方案保证网络应用的持久性与可靠性�在基于安全、正常运行、高可靠基础上允许用户强有力并灵活地来设定各种应用的优先权�从而保证了各种网络应用的高可用性。 全球化经济正在逐步加强�用户的使用习惯和时区所带来的访问差异性�必然加大了应用系统的高可用性需求。大量的企业应用从最初的5X8的服务模式�已经提高到了7X24小时不间断业务模式。仅仅靠人员的增加已经完全不能满足应用的高可用性需求。 因此�在一个完善的应用交付网络设计中�应该充分考虑到应用的高可用性需求�通过自动、完善的切换手段�保证业务的不间断性和持续性。 2 问题:应用与网络的鸿沟 回想在90年代初�大部分的应用还是在单机下运行。在企业中最普遍的应用就是用Dbase、FoxBase等开发的工资条打印系统。能使用AutoCAD等进行制图工作的技术人员就代表了工厂技术人员的骨干力量。再有条件的能使用Sun工作站等的就是属于工厂的顶尖分子了。银行也基本上开始在采用基于计算机的帐务系统�每个储蓄所还是在独立运行。这时�流行的计算机系统还是基于Intel 8086,80286体系的单机运行系统�CPU主频10-25Mhz。 逐步的�企业再不满足于工资条的打印�开始出现了计算机处理的财务系统�也就是当时很流行的会计电算化。CAD 等应用也开始采用网络共享存储�银行也开始在逐步联网中�实现同城的通存通兑。 再进一步�在近年开始流行的企业OA、ERP、MRPII等应用�逐步地将企业中的各个业务运行环节都开始用计算机进行规范化、网络化管理。各大银行也实现了大集中应用�实现全国甚至全球的通存通兑系统。 可以说�我们今天的生活已经完全离不开信息系统�网上银行、电子商务、网上报税、电子邮件、手机炒股。。。。。。各个方面�都离不开信息网络系统的强有力的支撑。 在这个过程中�网络也从最初的10M共享铜缆网络�发展到现在的万兆交换网络。可以说用日新月异来形容。 应用、网络和主机系统都在如此飞速的发展过程中�那在现在的企业应用中都存在哪些问题呢�现在�我们就从服务器端和客户端两个方面来分析� 2.1 服务器端的问题 服务器端的问题主要起源于企业的数据大集中和应用Web化。
应用交付之BIG-IP LTM篇-Beta版 www.adntech.com 征求意见版-请登录论坛:www.adntech.com/bbs F5学堂版块提出您宝贵的意见和建议 2.1.1 应用整合导致速度变慢 从最初的工资条打印到今天的ERP�从电信的简单的电话计费系统到今天BOSS系统�每个企业的应用发展都在经历一个漫长的发展过程中。在这个发展过程中�在一套应用系统中集成了越来越多的功能。而且这种趋势正在加速发展过程中。财务软件开始集成ERP功能�ERP 系统中开始融入SCM(库存管理)、CRM(客户关系管理)系统�应用的整合避免了信息孤岛的出现。提高了企业的信息化应用水平�也极大地促进了企业生产力的提高。 但是�随着应用的整合�服务器的速度问题随之而凸现出来�尽管服务器硬件系统也在飞速的发展过程中�但新技术、更强计算能力的成本也随之上升。越来越复杂的应用导致服务器系统繁重不堪。企业应用中的主流应用服务器和数据库服务器都是在应用整合中的最大性能瓶颈产生者。 2.1.2 应用扩展性限制 随着应用的复杂程度和用户访问量的增大�应用的扩展性在传统上只能通过选择更高端的服务器进行。但更高端的服务器就意味着更高的投入和成本�同时�已有的投资如何保护都是困扰信息主管的难题。当系统压力上升时�很多的企业采用了头疼医头、脚疼医脚的模式来对应用进行扩充�最后发现整个系统基本成为一个无法管理的烂摊子。 2.1.3 应用安全性挑战 网络和应用技术的发展在带来高效、易用的应用系统的同时�也带来了各种各样的安全隐患。从第一个蠕虫病毒的出现开始�网络中已经流行过了病毒、DDOS、漏洞攻击等多种方式�这些攻击对于一些不安全的系统来说�通常会产生灾难性的后果。企业对应用系统的依赖性增大�也意味着这些安全问题的风险性越来越大。 2.1.4 网络高资源消耗 使用信息系统的用户数的增加和应用的Web化�是带来网络高资源消耗的两个主要因素。应用的整合导致更多的用户开始使用信息系统�网络的普及也导致了网站的访问量急剧上升。在最初的C/S结构下�采用100个字节即可完成一笔交易�而在Web化的应用上�完成同样的一笔交易�可能100K字节都不一定能完成一笔交易。但笔交易的带宽消耗成千倍的上升�而与此同时�广域网的带宽却不能以千倍上升。因此�网络高资源消耗�特别是在服务器端�成为困扰信息主管的一个难题。 2.1.5 网络和应用配合性很差 在传统的以路由交换为主流的网络建设中�网络并不知道有什么类型的应用系统在其上运行�但在实际中�应用系统对网络的需求是各式各样的�比如视频会议系统要求是高带宽、低延迟。而HTTP应用要求的是高可靠性、高带宽。关键业务需要保证带宽的使用�而一些
应用交付之BIG-IP LTM篇-Beta版 www.adntech.com 征求意见版-请登录论坛:www.adntech.com/bbs F5学堂版块提出您宝贵的意见和建议 P2P下载的业务则不需要带宽保证。网络无法感知应用�直接导致了一些关键业务在网络上无法正常运行。 2.2 客户端的问题 客户端的问题主要起源于越来越复杂的客户端系统和各种丰富的应用需求。 2.2.1 应用复杂导致使用困难 单个用户所面临的应用种类越来越多�在用户终端所安装的系统也越来越多�各个系统之间既有配合�也有冲突�比如某个专用客户端软件和VPN接入客户端冲突�或者和本机防火墙系统冲突�导致应用无法使用。对于熟悉计算机系统的人员来说�可以较为容易的解决�但对于大量的非计算机专业人员来说�这些系统冲突简直就是一场噩梦。直接导致生产效率下降、关键问题得不到及时的解决。 2.2.2 应用高可用性的需求增强 随着企业全球化的变化�随时随地访问的应用高可用性的需求也在逐步加强。“世界是平的”�这句话正在更多的企业信息化系统中得到体现。比如对于银行的网上银行而言�用户逐渐分布到全球各地�随着时区的切换�24小时之内任何时候都有可能有用户在使用。对于一个国际化大企业而言�一个区域的休息时间正好是其他区域的工作时间。在全球化工作的模式下�企业的生产效率也得到了巨大的提高。同时�对企业的应用系统的高可用性的需求也提高到了非常高的水平。 2.2.3 客户端安全性受到挑战 和服务器端面临的状况一样�客户端的安全性也在受到空前的挑战�各种病毒、木马无时不刻在准备入侵客户端的领域。盗取密码、帐号、信用卡信息、机密文件甚至照片的事件每天都在互联网上发生。 在用户端采用各种各样“安全”手段接入企业内网的时候�这些客户端本身可能就已经是不安全的客户端了�接入后�这些病毒、木马等则存在入侵企业内网的机会。可能给缺乏安全保障的企业内网带来巨大灾害。 很多信息主管很容易忽略内部网络的安全问题�认为内网不对外提供服务�属于非常安全的系统�殊不知大量的安全泄密事件均是在内网发生。 2.2.4 网络拥挤不堪、访问速度受到影响 应用的丰富化带来的直接影响就是带宽占用的增加。大量的应用现在均在Internet或者企业的Intranet上运行。但同时在Internet上有占用大量带宽的P2P下载、视频内容等�在
分享到:
收藏