在负载均衡硬件中存在一个高成本问题。那么我们有时候会选择对软件配置的负载均衡实现进行研究,这样的话方便我们学习和了解负载均衡知识,也不会有高额的成本负担。那么现在我们就来简述两个情况下的负载均衡实现问题。
DNS的负载均衡实现
负载均衡的要求:
要求DNS服务器的支持,一般支持bind8.2以上的类unix系统,安装一个循环复用DNS软件。
负载均衡的设计与配置过程:在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。配置过程在不同的DNS系统中有不同的配置方法,本文不再多述。
优、缺点:服务器可以分布在不同的地域,有利于故障转移。负载均衡算法运行在DNS服务器上,不占用服务器资源。
但是域名服务器无法知道服务结点是否有效,如果服务结点失效,域名系统依然会将域名解析到该节点上,造成用户访问失效。另外,它不能区分服务器性能的差异,也不能反映服务器的当前运行状态。因此,在动态平衡特性上,动态DNS轮询的效果并不理想。
利用操作系统中的群集功能负载均衡实现
负载均衡的要求:
要求使用支持群集功能的操作系统如:windows 2000 server以上的服务器版本,Unix或Linux。本文以windows 2003 server为例介绍群集功能的配置。
负载均衡的设计与配置过程:群集的实现需要群集内部的通讯以及管理和内容复制的数据传输。这部分通讯占用了网络的可用带宽。为了克服单网卡的局限性,一般使用双网卡,一个用于负载客户端的通讯,另一个用于传输内部通讯,管理和内容的数据。
群集操作模式的选择是设计的重要一步。单播模式是指各节点的网络适配器被重新指定了一个虚拟MAC(由02-bf和群集IP地址组成确保此MAC的***性)。多播模式下,网络适配器在保留原有的MAC地址不变的同时,还分配了一个各节点共享的多播MAC地址。一般选用多播模式。
端口规则是windows2003的新特性。NLB提供3种筛选模式,可以针对端口规则采取禁止、多主机负载均衡和单主机的特殊处理。其中,多主机筛选模式提供了真正意义上的负载均衡,并且可以根据节点的实际处理能力进行负载量的分配。
Windows2003引入了网络负载均衡管理器(控制面板->管理工具),使负载均衡实现的步骤更加简单,下面我们就将介绍相关的安装和配置。管理器可以容易的实现群集的建立、删除,节点的添加、 删除、修改以及故障的检测。
运行网络负载均衡管理器,选择 群集 -> 新建 ,弹出“群集参数”对话框,然后根据向导按需要配置。
首先配置好参数后点击下一步,系统会提示添加附加群集IP,如果不需要可直接按“下一步”进行端口配置。以web群集配置为例:如果会话状态不保存在该群集上,则相似性选择无,否则选择单一或者类C。
之后,指定一台主机连接,并选择一个可用的网络接口,进行主机参数的设置:点击“完成”,管理器会自动连接到主机上进行相关配置来创建一个新的群集。
优、缺点:选择多主机筛选模式时提供了真正意义上的负载均衡,并且可以根据节点的实际处理能力进行负载量的分配。比较适用于大型网站负载均衡实现。但使用Unix, Windows 2003 server系统的负载均衡实现时,网络架构成本较高。