IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  AIX and UNIX  >

IBM p5 服务器逻辑分区进阶指南

深入研究 p5 环境中的分区

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

Doug McKinzie (doug_mckinzie@americancentury.com), 系统编程专家, American Century Investments

2007 年 2 月 12 日

了解如何对 p5 服务器进行配置,以便在生产环境中提供冗余和可恢复性。在上一篇文章中,您了解了如何在 p5 服务器上设置逻辑分区的基础知识。这包括创建一个虚拟 I/O 服务器(VIO 服务器)和一个逻辑分区 (LPAR),后者将 VIO 服务器用于 rootvg 和 Ethernet 连接。

使用两个虚拟 I/O 服务器提供冗余

通过使用虚拟 I/O 服务器(VIO 服务器)为多个逻辑分区 (LPAR) 提供存储和 Ethernet 连接,您可以使得硬件资源的效率实现最大化。因为使用了 VIO 服务器,您可以减少承载多个 AIX® 服务器所需的磁盘驱动器和以太网卡的数量。然而,如果仅使用一个 VIO 服务器,当该 VIO 服务器崩溃或者其中的某个设备出现硬件故障时,可能会导致多个 LPAR 出现故障。因此,建议至少使用两个 VIO 服务器来为 LPAR 提供存储和网络资源。

注意:您应该已经了解了如何创建和配置 VIO 服务器和 LPAR。本文仅讨论与使用两个 VIO 服务器提供冗余相关的设置工作。





回页首


使用两个 VIO 服务器为 rootvg 提供镜像

在出现磁盘故障的情况下,通常可以为服务器的 rootvg 提供镜像,以防止其崩溃。对于独立的服务器,这至少需要两个物理磁盘。在 LPAR 环境中,这需要两个 VIO 服务器,其中每个 VIO 服务器应该至少承载一个 AIX LPAR 磁盘划分。

为 LPAR 的 rootvg 提供镜像,无需更改 VIO 服务器的创建和配置。当然,您需要创建并配置两个单独的 VIO 服务器。其中每一个必须拥有自己的物理设备,事实上,这是 Hardware Management Console (HMC) 或 Integrated Virtualization Manager (IVM) 强制要求的。单独的硬件槽为分区(VIO 服务器、AIX 或 Linux® LPAR)分配了相应的物理设备。在创建 VIO 服务器的过程中,通过为服务器分配存储控制器,就为该服务器分配了磁盘。存储控制器一次只能分配给一个分区。如果存储控制器连接了多个磁盘,您不能将这些磁盘驱动器分配给多个分区。因此,要为 LPAR rootvg 提供镜像,您的系统中必须至少安装了两个存储控制器。

要使用 VIO 服务器为 rootvg 提供镜像,在 LPAR 的配置上有些不同。不再是仅将其配置为使用一个虚拟的小型计算机系统接口(Small Computer System Interface,SCSI)设备,您需要将其配置为使用两个这样的设备。每个虚拟设备指向一个不同的 VIO 服务器。

请确保在每个 VIO 服务器上 LPAR 虚拟磁盘设备的容量是相等的。使用两个运行 Fix Pack 7 发布版的 VIO 服务器,可以通过这两个 VIO 服务器提供网络冗余,从而实现共享以太网适配器(Shared Ethernet Adapter,SEA)故障转移。两个 VIO 服务器都必须运行 Fix Pack 7。可以在 VIO 服务器上运行 ioslevel 命令,以对此进行检查(请参见清单 1)。


清单 1. ioslevel 命令

> ioslevel
1.2.1.4-FP-7.4

在 HMC 中配置 VIO 服务器的概要时,在每个服务器上创建两个虚拟以太网适配器。将每个服务器上的第一个适配器创建为干线适配器(应该选中 Access external network 复选框)。这两个干线适配器必须具有相同的 Virtual LAN ID 值,但是它们的 Trunk priority 值不同。具有最低的 Trunk priority 值的 VIO 服务器为主适配器。图 1 中 VIO 服务器 1 的 Trunk priority 设置为 1,这样它就成了主适配器。


图 1. VIO 服务器 1——虚拟以太网适配器配置
VIO 服务器 1——虚拟以太网适配器配置

将 VIO 服务器 2 的 Trunk priority 设置为 2(如图 2 所示)。


图 2. VIO 服务器 2——虚拟以太网适配器配置
VIO 服务器 2——虚拟以太网适配器配置

必须将每个 VIO 服务器上的第二个虚拟以太网适配器配置为非干线适配器。与第一个虚拟适配器一样,这两个适配器必须具有相同的 Virtual LAN ID,但是两个适配器的这一字段所指定的值应该是唯一的(请参见图 3)。p5 服务器中其他的适配器不应该使用这个 ID 值。VIO 服务器的第二个虚拟以太网适配器的屏幕截图看上去完全相同。这些虚拟适配器用作控制通道。


图 3. VIO 服务器 1 和 2——控制通道适配器配置
VIO 服务器 1 和 2——控制通道适配器配置

您还应该在每个 VIO 服务器上设置第三个虚拟以太网适配器,使用干线适配器的 Virtual LAN ID。这样一来,VIO 服务器就可以访问网络了(请参见图 4)。


图 4. VIO 服务器 1 和 2——第三个虚拟以太网适配器用于网络访问
VIO 服务器 1 和 2——第三个虚拟以太网适配器用于网络访问

在安装了 VIO 服务器操作系统之后,在两个 VIO 服务器上运行下面的命令(请参见清单 2)。


清单 2. mkvdev 命令

mkvdev -sea physical_adapter
       -vadapter virtual_adapter
      -default virtual_adapter
      -defaultid PVID_of_virtual_adapter
      -attr ha_mode=auto ctl_chan=control_channel_adapter

$ lsdev | grep ent
ent0            Available  Gigabit Ethernet-SX PCI-X Adapter (14106802)
ent1            Available  Virtual I/O Ethernet Adapter (l-lan)
ent2            Available  Virtual I/O Ethernet Adapter (l-lan)
ent3            Available  Virtual I/O Ethernet Adapter (l-lan)

$ mkvdev -sea ent0 -vadapter ent1 -default ent1 -defaultid 1 -attr ha_mode=auto ct
l_chan=ent2
ent4 Available
en4
et4

现在,您可以使用 ent3 适配器来配置 VIO 服务器的网络访问。

AIX 或 Linux LPAR 的配置基本上与前面相同。只需要确保 Virtual LAN ID 字段与 VIO 服务器配置中的干线适配器具有相同的值(请参见图 5)。


图 5. LPAR 虚拟以太网适配器配置
LPAR 虚拟以太网适配器配置




回页首


使用两个 VIO 服务器实现应用程序数据存储冗余

许多 IT 机构使用存储区域网络(Storage Area Networks,SAN)来存储他们的应用程序数据。连接到 SAN 的一种解决方案是为每个 LPAR 配置一个 I/O 卡,以连接到 SAN 设备。为了提供高可用性,您需要在每个 LPAR 中提供两块卡,以防止因为 I/O 卡或其他 SAN 硬件的故障而出现中断。对于具有大量 LPAR 的 p5 系统,为每个 LPAR 提供专门的 I/O 卡可能非常昂贵,并且将用尽宝贵的 PCI 插槽。

一种更有效的解决方案是创建两个 VIO 服务器,每个服务器中放置一个连接到 SAN 的 I/O 卡,然后在需要访问 SAN 的 LPAR 中配置多路径 I/O (MPIO)。由于可访问的 SAN 的种类很多并且各具特点,所以我不打算详细解释这项配置工作。然而,下面为完成这项配置工作提供了一些基本指导。

  • 为 p5 服务器上配置的两个 VIO 服务器分配 SAN 磁盘。
  • 使用 HMC,为每个 VIO 服务器上的每个 LPAR 创建一个虚拟 SCSI 服务器适配器。
  • 使用 HMC,在每个使用 VIO 访问 SAN 的 LPAR 上创建两个虚拟 SCSI 适配器。确保 LPAR 上的每个客户端适配器指向不同的 VIO 服务器。
  • 在 VIO 服务器中,使用 mkvdev 命令将 SAN 磁盘分配给 LPAR。因为 SAN 设备不允许每个 VIO 服务器使用相同的硬盘名称,请确保根据 SAN 的定义(而不是 VIO 服务器上的硬盘名称)将 VIO 磁盘分配给 LPAR。

有关使用 VIO 服务器配置 MPIO 的更详细信息,请参见参考资料部分的 Configuring MPIO for the Virtual AIX Client 指南。





回页首


使用 LPAR 提供服务器备份和可恢复性

对于独立的服务器,我们的机构使用 mksysb 命令将 OS 备份到磁带上。这种方法很容易实现,并且只需要服务器上安装磁带驱动器即可。在具有多个 LPAR 的 p5 系统中,如果您采用磁带驱动器,那么这个处理过程将变得比较复杂。在创建 mksysb 镜像之前,您需要为希望备份的 LPAR 分配磁带驱动器。在完成 mksysb 后,您应该从该 LPAR 处释放磁带驱动器,从该设备中取出磁带驱动器,插入新的磁带驱动器,将该驱动器分配到另一个 LPAR,并且重复这个过程。在我们的环境中,现在已开始使用安装在 LPAR 上的网络安装管理(Network Installation Management,NIM)来管理 AIX LPAR 的 OS 备份和可恢复性。

网络安装管理概述

NIM 是 AIX 操作系统中的一个组件。它提供了通过网络管理 AIX 的安装和维护功能。NIM 由至少一个 NIM 服务器和多个客户端组成。服务器为客户端计算机 OS 的安装和维护提供了所需的资源。您可以创建安装镜像中央存储库以便安装新的服务器,使用存储在存储库中的 mksysb 镜像创建现有服务器的克隆、或者对那些 rootvg 遭到损坏并且需要重新构建的服务器进行恢复。在下面的几个部分中,我将介绍后面这种场景。有关 NIM 更详细的信息,请参见参考资料部分中的 Installing with Network Installation Management and NIM:From A to Z in AIX 4.3 IBM 红皮书。

在 NIM 服务器 LPAR 中存储 mksysb 镜像

在我们的机构中,有 100 多个 AIX 服务器,包括独立的服务器和 LPAR 服务器。对于所有的服务器,我们在 NFS 装入的文件系统中创建 mksysb 镜像,该文件系统位于我们的主 NIM 服务器。我们使用一个自动化的脚本来装入 NFS 驱动器,创建 mksysb,然后卸载该 NFS 驱动器。我们将备份工作分散到几天的时间内,以避免网络和 I/O 争用。我们还将备份工作安排在晚上进行,以避免在业务繁忙的时候影响网络的性能。

清单 3 是一个运行于 LPAR 或独立服务器的脚本,它用于装入远程驱动器,创建 mksysb,然后卸载远程驱动器。


清单 3. 运行于 LPAR 或独立服务器的脚本

#!/usr/bin/ksh
mount nimsrv1:/export/mksysb /mksysb
/usr/bin/mksysb   '-i'  /mksysb/`uname -n`.mksysb
umount /mksysb

使用 rdist 对 mksysb 镜像的灾难恢复存储库进行维护

我们使用两个服务器作为 NIM 服务器,每个服务器位于不同的数据中心。将位于生产数据中心的 NIM 服务器作为主服务器。最初由该服务器保存 mksysb 镜像。我们使用 rdistmksysb 镜像从该服务器发送到位于测试数据中心的次服务器。将这些镜像保存在两个不同位置的原因很简单,即用于灾难恢复。如果生产数据中心的主 NIM 服务器出现了故障,我们仍然可以使用存储于次 NIM 服务器中的 mksys 镜像来恢复系统中的任何服务器,反之亦然。

要使 rdist 生效,您必须在每个计算机上配置 .rhosts 文件。有关如何设计 .rhosts 文件的信息,请参考用于 TCP/IP 的 .rhosts 文件格式。

我们将 rdist 脚本设置为每小时运行,确保以定时的方式将 mksysb 镜像复制到次 NIM 服务器。这个脚本非常简单(请参见清单 4)。


清单 4. rdist 脚本

#!/usr/bin/ksh
rdist -f /scripts/distfile -i -y

下面是 /scripts/distfile 的内容: /export/mksysb ->nimsrv2

有关 rdistdistfile 的更详细的信息,请参见 IBM 网站上 AIX 命令参考资料中的 rdist 命令页面(请参见参考资料部分)。

备份 VIO 服务器

IBM 提供了 backupios 命令,以便对 VIO 服务器进行备份。它创建了 rootvg 的镜像,可以用于恢复 VIO 服务器,这与 mksysb 非常类似。您可以将 VIO 服务器备份到文件、磁带设备、CD 或 DVD 驱动器。在我们的环境中,我们将 VIO 服务器备份到本地文件,然后在主 NIM 服务器上运行一个脚本,获得所创建的 .tar 文件并将其保存到中央存储库中。

作为 padmin 用户,在运行下面的脚本之前,您必须首先创建 /home/padmin/backup 目录。当然,第一次运行该脚本的时候,rm 语句将会失败,因为该文件并不存在。使用 padmin 的 cron,将该脚本安排为每个星期执行一次(请参见清单 5)。


清单 5. 用于备份 VIO 服务器的脚本

#!/usr/bin/ksh
# To be run on the VIO server by padmin.
rm -f /home/padmin/backup/*.tar
/usr/ios/cli/ioscli backupios -file /home/padmin/backup

在运行了该脚本之后,您可以在 NIM 服务器中运行下面的脚本,以获取备份镜像。在执行这个脚本之前,只需要确保有足够的时间来运行 backupios 命令。/viobackups/clients 文件包含正在备份的 VIO 服务器的名称(请参见清单 6)。


清单 6. 用于获取备份镜像的脚本

     #!/usr/bin/ksh
     # This program pulls VIO server backups for access during recovery.
     userid="padmin"
     password="whatever" # Not the real password! :-)
      viofilename="/home/padmin/backup/nim_resources.tar"
      # Gather nim_resources.tar files from servers.
      while read server
      do
        cd /viobackups/$server
        echo "Pulling backup for $server . . ."
        ftp -n $server << EOF
        user $userid $password
        bin
        get $viofilename
            bye
        EOF
       done < /viobackups/clients





回页首


恢复 VIO 服务器

要使用 NIM 服务器中存储的备份镜像来恢复您的 VIO 服务器,您需要在 HMC 中执行下列命令(请参见清单 7)。


清单 7. 使用备份镜像的命令

     installios -p vio_partition_name 
               -d nimsrv1:/viobackups/vio_server_name/nim_resources.tar
               -n





回页首


HMC 的备份和可恢复性

IBM 提供了 bkconsdata 命令,以便备份 HMC。备份镜像的位置可以有三种选择:DVD、NFS 装入的目录、或 FTP。下面是使用 DVD 方法和 FTP 方法进行备份的脚本。在主 NIM 服务器中运行该脚本,它使用安全 Shell (SSH) 连接到 HMC,并执行 bkconsdata 命令。要使该脚本生效,必须完成下列的操作步骤。

  1. 您必须对 SSH 进行设置,以允许 NIM 服务器登录到 HMC,而无需提供密码。有关 SSH 更详细的信息,请参见参考资料部分中的 Openssh 软件工具指南。
  2. 您必须在主 NIM 服务器上创建 hscroot 用户,并赋予其写入 /hmcbackups/hmc_name 目录的权限。
  3. /hmcbackups/hmc_clients 文件是要进行备份的 HMC 计算机的列表(请参见清单 8)。


    清单 8. /hmcbackups/hmc_clients 文件
     
            #!/usr/bin/ksh
             while read hmc
             do
               # Backup critical console data to dvd-ram
               echo "Backing up critical console data for $hmc to DVD."
               ssh -l hscroot $hmc bkconsdata -r dvd
               # Backup critical console data to nimsrv1
               echo "Backing up critical console data for $hmc to nimsrv1."
               cd /hmcbackups/$hmc
                 ssh -l hscroot $hmc bkconsdata -r ftp -h nimsrv1 -u hscroot --passwd password
    |--10--------20--------30--------40--------50--------60--------70--------80--------9|
    |-------- XML error:  The previous line is longer than the max of 90 characters ---------|
                 done < /hmcbackups/hmc_clients
    

要使用上面的脚本所建立的备份来恢复 HMC,您必须首先重新安装 HMC 机器代码,然后从 DVD 或远程服务器恢复相应的数据。有关更详细的信息,请参阅 Restoring Critical HMC Data(参见参考资料部分)。





回页首


总结

在本文中,您了解了如何配置虚拟服务器,以便通过 rootvg 镜像、网络连接冗余和 SAN 连接冗余来提高可用性。您还了解了如何在 LPAR 上使用 NIM 为您的 LPAR、VIO 服务器和 HMC 保存恢复镜像,从而提高可恢复性。通过实现这些策略,可以简化在服务器出现灾难的情况下所需进行的工作。

共享本文...

digg 请 Digg 该故事
del.icio.us发布到 del.icio.us
Slashdot Slashdot 一下!



参考资料

学习

获得产品和技术
  • IBM 试用软件:使用 IBM 试用软件开发您的下一个项目,可直接从 developerWorks 下载这些试用软件。


讨论


关于作者

Doug McKinzie 是 American Century Investments 的系统编程专家。他从 1995 年以来开始管理 AIX 服务器,并从 2004 年 12 月以来开始管理 System p5 服务器。您可以通过 doug_mckinzie@americancentury.com 与他联系。




对本文的评价










回页首


IBM、AIX、AIX 5L、eServer 和 System p 是 International Business Machines Corporation 在美国和/或其他国家/地区的商标。 Java 和所有基于 Java 的商标都是 Sun Microsystems, Inc. 在美国和/或其他国家/地区的商标。 Linux 是 Linus Torvalds 在美国和/或其他国家/地区的注册商标。 UNIX 是 The Open Group 在美国和/或其他国家/地区的注册商标。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。

IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款