Load Balancer 是 WebSphere Edge Server 中一个重要的组成部分,主要负责负载均衡。它是一种软件的解决方案,用来将客户端的请求转发到不同的后台服务器(Backend Server ),以此来提升后台服务器的性能和服务质量,这种转发和负载均衡对用户和应用来说是透明的。在一般的企业应用中,LB 主要位于请求客户端和后台服务器之间,通常将 LB 放在 Web Server 之前,当 LB 与 Web Server 一起使用时,可以最大限度的提高站点的吞吐率,当服务器突然收到大量的请求时,LB 可以自动的寻找最佳的后台服务器来处理用户的请求;同时,LB 更重要的功能是提供对 HTTP,FTP,SSL,SMTP,NNTP,IMAP,POP3,Telnet,和所有其它基于 TCP 或 UDP 的请求的负载均衡。
目前,对 IBM AIX7.1 提供支持的 LB 版本有 LB v6.0 、v6.1 以及 v7.0,其中对于前面提到的每一个版本,分别包含两个不同的 LB 子版本,它们是支持 IPV4 的传统版本和支持 IPV4/IPV6 的新版本。为了更好的实现可移植性,在 Edge Load Balancer 的 v7.0 版本中提供的 IPV4/IPV6 子版本采用了 user space 的实现方式,在 AIX 系统上实现了内核无关。除了这个以外的其他版本(限于 AIX 系统),依旧采用的是 kernel space 的代码实现,其产品本身和内核相关。User space 的 LB 和 kernel space 的 LB 的安装和配置是不太一样的,这点我们会在后面的快速实践中着重强调。
AIX7.1 与先前版本的操作系统二进制兼容,AIX7.1 有三种版本可供选用:易捷版包含有 AIX 标准版的功能,但有一些垂直可扩展性限制;标准版包含 AIX,无垂直可扩展性限制;AIX 企业版包含 AIX 7、Workload Partitions Manager? for AIX 以及带多个 Tivoli? 产品的 IBM Systems Director 企业版。这些不同版本带来了更强的功能和更高的灵活性
AIX7.1 继承了 IBM AIX 系统的一贯优点,并在以往的基础上有了进一步的扩展。比如对 AIX 工作负载分区的支持(WPAR)。通过 WPAR 可以在单个 AIX7.1 实例中创建多个虚拟的 AIX7.1 环境;另外在安全上,AIX 7 .1 设计符合 Common Access Protection Profile/Evaluation Assurance Level 4+ 的 通用标准,在提高安全性的同时减少了提供安全基础架构所需的工作。AIX7.1 的特性还包括:实时应用程序迁移、基于角色的访问控制、AIX Security Expert 和 AIX 并发更新等,可以明显提高 AIX 操作系统的管理效率。
AIX 7.1 可以在基于 POWER4?、PPC970、POWER5?、POWER6 和 POWER7 处理器的系统上运行。AIX 7.1 的大多数特性都可在所有受支持的硬件上使用。AIX 7 .1 仅支持 64 位内核。在 AIX 5L 上运行的 32 位和 64 位应用程序可保持不变地继续在 AIX 7.1 上运行,但是 32 位内核扩展和设备驱动程序在 AIX 7 .1 上则不受支持。
除了上面介绍的 AIX7.1 的特性外,AIX7.1 还包含有专门用于提高 AIX 操作系统易管理性的特性,AIX Profile Manager 可以通过 XML 配置文件管理 AIX 的配置。
正如我们前面讲到的,LB 的 user space 和 kernel space 版本在 AIX7.1 上的安装和配置是有区别的,其中后者的安装和配置要比前者更简洁。这里我们选择 LB v7.0 的 IPV4 版本,也就是 kernel space 版本,因为它的配置要比 user space 复杂些,其中有一些步骤在 user space 版本中是不需要的,当遇到这样的步骤时,会向读者指出,读者在配置 LB 的 kernel space 版本时可以省略掉这些步骤。还有一点需要向读者说明,以下介绍的方法同样适用于 AIX6.1 等早期 AIX 版本。
在安装开始之前,需要注意的一个问题是,如果机器上以前装过 LB,那先要拆掉先前的 LB,然后在进行最新的 LB 安装,否则会出现安装不成功的提示。关于如何卸载 LB,请参考本文后面的测试及卸载章节,里面有明确的说明和卸载步骤。
在安装的时候,我们以 root 用户登录到测试机上,需要先将 LB 的安装文件的压缩包解压到任一目录下,本文默认解压到 /wasbuilds/lb70/ipv4。在本文中,我们使用 smitty 命令来安装 LB,具体步骤如下:
我们以 LB 的 Dispatcher 组件为例,来展示如何去配置一个最基本的 LB 应用场景。这个实例包含三台主机,一台作为 Dispatcher 组件的宿主(以后简称 LB Server),另外两个作为后台服务器(Backend Server),LB Server 负责将客户端的请求转发到后台的两个服务器上,后台服务器接受到用户请求,然后做出响应。其中,在本例中,Dispatcher 组件的转发方式选择 MAC 地址转发,这也是 Dispatcher 默认的转发方式。下图就是我们即将配置的简单结构图:
准备阶段
Test Machine | Host Name | IP |
---|---|---|
LB Server | rajalp13.upt.austin.ibm.com | 9.3.113.25 |
Backend Server 1 | rajalp12.upt.austin.ibm.com | 9.3.113.24 |
Backend Server 2 | rajalp14.upt.austin.ibm.com | 9.3.113.73 |
Netmask = 255.255.255.0 |
ifconfig lo0 alias Cluster IPnetmask 255.255.255.0
本例中 Cluster IP 是 9.3.113.119
运行完上面的命令后,可以用"ifconfig -a"来检查是否配置成功:
5. 为方便我们后面的测试,我们事先在两台 Backend Server 上分别都安装 IHS 和开启 FTP 服务,确保通过浏览器和 FTP 登录工具可以成功访问到两台 Backend Server。
做好以上准备工作后,我们就可以开始 LB 的配置工作了,下面分别介绍图形化配置(GUI)和命令行配置两种方法,读者可以根据喜好自由选择其中一个。
使用图形化界面配置
1:启动 dsserver 服务:以 root 用户登录 LB Server,运行 dsserver 命令来启动 dsserver
2:启动图形化配置面板:运行 lbadmin 命令来启动面板,如下图:
3. 右击 Dispatcher,在下拉列表里选择 Connect to Host...
4. 默认是本机,点击 OK。
5. 右击刚刚添加的 Host,在下拉列表里选择 Start Executor
6.右击 Excutor,在下拉列表里选择 Add Cluster... 出现下图,填写 Cluster 和 Cluster address,并选择 Configure this cluster? 这里我们需要提醒读者,在 user space 的 LB 中,是没有 configure cluster 这个步骤的,所以,在 user space 的 LB 配置中,这个步骤可以省略。
7.点击 OK,对于 Interface name 和 Netmask 选项可以不填。
8.保留默认,点击 OK
9.当进行到这一步骤时,我们可以用 ifconfig -a 来检验 configure cluster 是否成功,如下所示,表示配置成功。
10. 右击 Cluster,在下拉列表里选择 Add Port... 在出现的对话框里填写 80 端口,并选择 MAC 地址转发
11.点击 OK
12.右击 Port 在下拉列表里选择 Add Server... 并填写 Bacekend Server 1 的信息
13. 点击 OK,重复步骤 12 添加 Bacekend Server 2 的信息。
14.右击 Host,在下拉列表里选择 Start Manager
15.右击 Manager, 选择 Start advisor,出现对话框选择 HTTP 作为 Advisor name 点击 OK,到此我们已经将 80 端口的 MAC 地址转发配置完成,读者可以重复步骤 10 到步骤 15,对 21 端口进行配置,Backend Server 的信息同上。
到此,LB 的 GUI 配置完成。
使用命令行格式配置
dscontrol set loglevel 1
dscontrol executor start
dscontrol cluster add 9.3.113.119 address 9.3.113.119 primaryhost 9.3.113.25
dscontrol e config 9.3.113.119
dscontrol port add 9.3.113.119:80 reset no
dscontrol server add 9.3.113.119:80:9.3.113.73 address 9.3.113.73
dscontrol server add 9.3.113.119:80:9.3.113.24 address 9.3.113.24
dscontrol manager start
80:dscontrol advisor start Http 80
21:dscontrol advisor start Ftp 21
测试方法
以测试 80 端口为例,在浏览器里输入 http://9.3.113.119,如果有 IHS 欢迎页面显示出来,说明配置成功,我们还能通过以下命令得到更详细的信息:
bash-3.2# dscontrol manager rep -------------------------------------------------------------------- | SERVER | IP ADDRESS | STATUS | -------------------------------------------------------------------- | 9.3.113.73 | 9.3.113.73 | ACTIVE | | 9.3.113.24 | 9.3.113.24 | ACTIVE | -------------------------------------------------------------------- ----------------------------- | MANAGER REPORT LEGEND | ----------------------------- | ACTV | Active Connections | | NEWC | New Connections | | SYS | System Metric | | NOW | Current Weight | | NEW | New Weight | | CONN | Connections | ----------------------------- ------------------------------------------------------------------- | 9.3.113.119 | WEIGHT | ACTV | NEWC | PORT | SYS | | PORT: 21 |NOW NEW| 49% | 50% | 1% | 0% | ------------------------------------------------------------------- | 9.3.113.73 | 9 9 | 0 | 0 | 29 | 0 | | 9.3.113.24 | 10 10 | 0 | 0 | 10 | 0 | ------------------------------------------------------------------- ------------------------------------------------------------------- | 9.3.113.119 | WEIGHT | ACTV | NEWC | PORT | SYS | | PORT: 80 |NOW NEW| 49% | 50% | 1% | 0% | ------------------------------------------------------------------- | 9.3.113.73 | 10 10 | 0 | 0 | 28 | 0 | | 9.3.113.24 | 9 9 | 0 | 0 | 261 | 0 | ------------------------------------------------------------------- --------------------------------------------------- | ADVISOR | CLUSTER:PORT | TIMEOUT | --------------------------------------------------- | ftp | 21 | unlimited | | http | 80 | unlimited | ---------------------------------------------------
bash-3.2# dscontrol advisor report http 80 Advisor Report: --------------- Advisor name ............ Http Port number ............. 80 Cluster address ......... 9.3.113.119 Server .................. 9.3.113.24 Load .................... 75 Cluster address ......... 9.3.113.119 Server .................. 9.3.113.73 Load .................... 19 bash-3.2# dscontrol advisor report ftp 21 Advisor Report: --------------- Advisor name ............ Ftp Port number ............. 21 Cluster address ......... 9.3.113.119 Server .................. 9.3.113.24 Load .................... 20 Cluster address ......... 9.3.113.119 Server .................. 9.3.113.73 Load .................... 30
卸载 Load Balancer
关于如何卸载 Load Balancer,同样可以选择 GUI 的方式或者命令行的方式,GUI 的方式比较简单,以下以命令行方式为例来讲解如何卸载 LB:
1. 运行 dscontrol e unconfig 9.3.113.119 ,取消 Cluster 的配置。
2. 运行 dscontrol e stop 来停止 executor。
3. 运行 dsserver stop 来停止 dsserver 服务。
4. 当 LB 被停止以后,运行 installp – u ibmlb.* 来进行对 LB 的卸载工作,当该命令运行完毕
后,会给出卸载已成功的提示,表示卸载结束。
在本文中,通过实例向读者展示了如何在 IBM AIX7.1 的系统上安装、配置、使用以及卸载 Edge Load Balancer。同时也对了 LB 不同版本之间的区别,以及在安装使用时应该注意的问题。通过阅读本文,读者可以基本掌握 LB 的基本功能和学会在 IBM AIX7.1 上安装及使用 LB。
联系客服