分享

WebSphere Edge Load Balancer 在 IBM AIX 7.1 上的安装、配置和使用

 king9413 2016-04-14

Edge Load Balancer 介绍

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 的请求的负载均衡。

图 1. LB 在一般应用场景的位置
图 1. LB 在一般应用场景的位置

目前,对 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 的安装和配置是不太一样的,这点我们会在后面的快速实践中着重强调。

回页首

IBM AIX7.1 的介绍

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 的配置。

回页首

Edge Load Balancer 在 IBM AIX7.1 上的快速实践

正如我们前面讲到的,LB 的 user space 和 kernel space 版本在 AIX7.1 上的安装和配置是有区别的,其中后者的安装和配置要比前者更简洁。这里我们选择 LB v7.0 的 IPV4 版本,也就是 kernel space 版本,因为它的配置要比 user space 复杂些,其中有一些步骤在 user space 版本中是不需要的,当遇到这样的步骤时,会向读者指出,读者在配置 LB 的 kernel space 版本时可以省略掉这些步骤。还有一点需要向读者说明,以下介绍的方法同样适用于 AIX6.1 等早期 AIX 版本。

Load Balancer 的安装

在安装开始之前,需要注意的一个问题是,如果机器上以前装过 LB,那先要拆掉先前的 LB,然后在进行最新的 LB 安装,否则会出现安装不成功的提示。关于如何卸载 LB,请参考本文后面的测试及卸载章节,里面有明确的说明和卸载步骤。

在安装的时候,我们以 root 用户登录到测试机上,需要先将 LB 的安装文件的压缩包解压到任一目录下,本文默认解压到 /wasbuilds/lb70/ipv4。在本文中,我们使用 smitty 命令来安装 LB,具体步骤如下:

  1. 在命令行中运行"smitty install"来启动安装过程
  2. 选择"Install and Update software",然后回车
  3. 选择"Install software",然后回车
  4. 填写安装文件所在目录,即:/wasbuilds/lb70/ipv4,然后回车
  5. 选择"SOFTWARE to install",然后回车,出现确认安装提示
  6. 在确认安装页面上,按下回车键
  7. 此时,安装过程就会立刻开始,安装过程中的状态等信息都会在命令窗口打印出来
  8. 等待片刻,如果出现安装成功提示,则表明安装过程结束,软件被默认安装在如下目录:/opt/ibm/edge/lb
  9. 按"Esc+0"退出安装过程,并运行"lslpp -h | grep ibmlb"命令来检查安装是否成功,该命令会列出已经安装的 LB 的组件。

Load Balancer 的配置

我们以 LB 的 Dispatcher 组件为例,来展示如何去配置一个最基本的 LB 应用场景。这个实例包含三台主机,一台作为 Dispatcher 组件的宿主(以后简称 LB Server),另外两个作为后台服务器(Backend Server),LB Server 负责将客户端的请求转发到后台的两个服务器上,后台服务器接受到用户请求,然后做出响应。其中,在本例中,Dispatcher 组件的转发方式选择 MAC 地址转发,这也是 Dispatcher 默认的转发方式。下图就是我们即将配置的简单结构图:

图 2. LB 配置的结构图
图 2. LB 配置的结构图

准备阶段

  1. 准备三台主机,正如上面所说,其中一台作为 LB Server,另外两台作为 Backend Server。本实例中三台机器均为 AIX7.1 系统,读者可以根据自己的系统需求,两台 Backend Server 可以是除 AIX 外的其他系统,但要确保三台机器的 IP 在同一个网段内。另外需要说明的是,我们只需在 LB Server 上安装 Load Balancer,两台 Backend Server 需根据自己的业务需求安装 Web 服务器或者邮件服务器等为用户提供服务的工具。具体信息如下表:
表 1. 机器信息
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
  1. 确保三台机器两两之间可以相互 Ping 通。
  2. 我们还需要第四个 IP 地址来作为 Cluster IP,这个 IP 要求和上面三台主机 IP 在同一网段内,并且该 IP 目前还没有被其他主机占用。关于如何确定某一 IP 有没有被占用,可以在 DOS 窗口运行"nslookup+IP"命令来检验,运行完命令后,如果出现以下信息,则表明该 IP 没有被占用,可以用来作为 Cluster IP。
    图 3. 查找空 IP
    图 3. 查找空 IP
  3. 需要对两个 Backend Server 进行配置,让它们可以接收客户端对 9.3.113.119 的请求或者访问。对于 AIX7.1,在两台 Backend Server 上分别运行如下命令即可:

ifconfig lo0 alias Cluster IPnetmask 255.255.255.0

本例中 Cluster IP 是 9.3.113.119

运行完上面的命令后,可以用"ifconfig -a"来检查是否配置成功:

图 4. 配置 Backend Server
图 4. 配置 Backend Server

5. 为方便我们后面的测试,我们事先在两台 Backend Server 上分别都安装 IHS 和开启 FTP 服务,确保通过浏览器和 FTP 登录工具可以成功访问到两台 Backend Server。

做好以上准备工作后,我们就可以开始 LB 的配置工作了,下面分别介绍图形化配置(GUI)和命令行配置两种方法,读者可以根据喜好自由选择其中一个。

使用图形化界面配置

1:启动 dsserver 服务:以 root 用户登录 LB Server,运行 dsserver 命令来启动 dsserver

2:启动图形化配置面板:运行 lbadmin 命令来启动面板,如下图:

图 5. LB 配置面板
图 5. LB 配置面板

3. 右击 Dispatcher,在下拉列表里选择 Connect to Host...

4. 默认是本机,点击 OK。

图 6. 连接主机成功
图 6. 连接主机成功

5. 右击刚刚添加的 Host,在下拉列表里选择 Start Executor

图 7. 启动 Excecutor
图 7. 启动 Excecutor

6.右击 Excutor,在下拉列表里选择 Add Cluster... 出现下图,填写 Cluster 和 Cluster address,并选择 Configure this cluster? 这里我们需要提醒读者,在 user space 的 LB 中,是没有 configure cluster 这个步骤的,所以,在 user space 的 LB 配置中,这个步骤可以省略。

图 8. 添加和配置 cluster
图 8. 添加和配置 cluster

7.点击 OK,对于 Interface name 和 Netmask 选项可以不填。

8.保留默认,点击 OK

9.当进行到这一步骤时,我们可以用 ifconfig -a 来检验 configure cluster 是否成功,如下所示,表示配置成功。

图 9. 配置 cluster 成功
图 9. 配置 cluster 成功

10. 右击 Cluster,在下拉列表里选择 Add Port... 在出现的对话框里填写 80 端口,并选择 MAC 地址转发

图 10. 添加 80 端口
图 10. 添加 80 端口

11.点击 OK

图 11. 添加端口成功
图 11. 添加端口成功

12.右击 Port 在下拉列表里选择 Add Server... 并填写 Bacekend Server 1 的信息

图 12. 添加 Backend Server 1
图 12. 添加 Backend Server 1

13. 点击 OK,重复步骤 12 添加 Bacekend Server 2 的信息。

图 13. 添加 Backend Server 2
图 13. 添加 Backend Server 2

14.右击 Host,在下拉列表里选择 Start Manager

15.右击 Manager, 选择 Start advisor,出现对话框选择 HTTP 作为 Advisor name 点击 OK,到此我们已经将 80 端口的 MAC 地址转发配置完成,读者可以重复步骤 10 到步骤 15,对 21 端口进行配置,Backend Server 的信息同上。

到此,LB 的 GUI 配置完成。

使用命令行格式配置

  1. 启动 dsserver,以 root 用户登录 LB Server,运行 dsserver
  2. 设置日志级别,日志级别取值 0 到 5,5 是打出所有日志信息,默认为 1。

    dscontrol set loglevel 1

  3. 启动启动 Dispatcher 的 executor 功能

    dscontrol executor start

  4. 在 Dispatcher 中加入 Cluster IP 地址

    dscontrol cluster add 9.3.113.119 address 9.3.113.119 primaryhost 9.3.113.25

  5. 对于 kernel space 版本需要配置 cluster,user space 版本可以掉过这一步骤,直接进行步骤 6

    dscontrol e config 9.3.113.119

  6. 在 Dispatcher 的配置中加入 HTTP 协议的 80 端口

    dscontrol port add 9.3.113.119:80 reset no

  7. 将两个 Backend Server 加入到 Dispatcher 的配置中

    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

  8. 对于 FTP 协议的 21 端口,请重复步骤 5 和步骤 6,将命令中的 80 改为 21,其他保持不变。
  9. 启动 Dispatcher 的 manager 功能

    dscontrol manager start

  10. 启动 Dispatcher 的 advisor 功能,配置完成

    80:dscontrol advisor start Http 80

    21:dscontrol advisor start Ftp 21

测试及卸载

测试方法

以测试 80 端口为例,在浏览器里输入 http://9.3.113.119,如果有 IHS 欢迎页面显示出来,说明配置成功,我们还能通过以下命令得到更详细的信息:

清单 1:manager report 输出
 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 | 
 ---------------------------------------------------
清单 2:advisor report 输出
 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。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多