工作负载分区(WPAR)是 AIX 6.1 引入的一种新的虚拟化机制,与 LPAR 有所不同,AIX WPAR 是一些软件分区,这些分区由 AIX 操作系统的单个实例进行创建,并共享该实例的资源。WPAR 是一个独立的运行环境,对于最终用户来说,WPAR 就好像是一台独立的 AIX 计算机,因为它拥有自己的一组进程,这一点与标准的 AIX 计算机非常类似。WPAR 包括以下两种类型:
- 系统 WPAR (System WPAR)
- 应用 WPAR (Application WPAR)
系统 WPAR 是标准 AIX 计算机(我将称之为“全局系统”)中拥有自己的执行环境的一个进程。它为最终用户提供了所有标准的(/、/usr、/opt、/var、/etc、 /tmp 和 /home)文件系统。系统 WPAR 可以采用只读模式共享全局环境中的 /usr 或者 /opt( 即:shared-system WPAR)、或者可以使用自己的 /usr 或者 /opt 文件系统(即:non-shared system WAPR)。 可以采用三种不同的方式来配置系统 WPAR 中的文件系统:使用共享的 /usr 和 /opt(即 namefs 类型 ) ,使用私有的 /usr 和 /opt ,以及使用所谓的“远程”根文件系统(它们配置为 NFS 类型,可能是 nfsv3 和 nfsv4,并从 NFS 服务器挂载)。我们今天采用第一种,也就是 AIX shared-system WPAR 来搭建我们的 WAS cluster 环境。
清单 1:用于创建 shared-system WPARs 的脚本
#!/bin/sh
usage()
{
echo ""
echo "usage: `basename $0` wpar_hostname "
echo ""
}
if [ "$#" != 1 ] ; then
usage
exit
fi
# if /usr/WebSphere doesn't exist, create it. This will be an overwritable directory.
if [ -d "/usr/WebSphere" ]
then echo "/usr/WebSphere directory exists"
else mkdir -p "/usr/WebSphere"
fi
mkwpar -M directory=/usr/WebSphere vfs=jfs2 size=8G -M directory=/var vfs=jfs2 size=2G \
-M directory=/home vfs=jfs2 size=10G -M directory=/tmp vfs=jfs2 size=2G -r -n $1
RETVAL=$?
[ $RETVAL -eq 0 ] && echo "mkwpar was a Success"
[ $RETVAL -eq 0 ] && echo "mkwpar was a Failure"
|
上面的脚本用来创建本文所需要的 WPARs:(1)关于 mkdir -p "/usr/WebSphere",在使用 mkwpar -M 命令来创建 WPAR 时,-M 后加的 directory 参数必须是在全局 AIX 系统中实际存在的目录结构,否则创建 WPAR 会不成功。-M 的作用主要是在 WPAR 中挂载一块硬盘空间,WPAR 的用户对这个空间具有可写权限;(2)关于 mkwpar -M ...,这条命令是创建 WPAR 的核心命令,里面包含了多个 -M 参数,每个参数后都挂载了一块空间,空间的大小可以根据自己硬盘的实际情况进行划分,但是空间最小大小必需满足创建 WAS 概要文件的需求。本文给的例子脚本是一个比较完整的实例,您并不需要完全创建 -M 参数后的所有目录空间,只保留第一个也可以完成搭建 WAS cluster 的目的。如果您不了解 WPAR 的创建可以参考 developerworks 的文章《探索 AIX 6:WPAR 基本管理》。
请自行将上面的脚本拷贝到一个空白的文本文件中,并将此文件保存为 xx.sh 格式,例如保存为 crtwapr.sh。要运行此脚本,只需在全局 AIX 系统中运行如下命令:
# ./<xxx.sh> <shared-system WPAR name>
比如,在本文中我们可以输入:
# ./crtwpar.sh my_wpar1
按回车键,运行创建命令,您将在控制台看到如下输出:
清单 2:创建 shared-system WPARs 的输出
# ./crtwpar.sh my_wpar1
/usr/WebSphere directory exists
mkwpar: Creating file systems...
/
/home
/opt
/proc
/tmp
/usr
/usr/WebSphere
... ...
... ...
syncroot: Error synchronizing installp software.
syncroot: Returns Status = FAILURE
Copying network name resolution configuration...
/etc/resolv.conf
/etc/hosts
/etc/netsvc.conf
Workload partition my_wpar1 created successfully.
mkwpar: 0960-390 To start the workload partition,
execute the following as root: startwpar [-v] my_wpar1
mkwpar was a Success
mkwpar was a Failure
|
此时,我们已经完成了创建 shared-system WPAR 的工作,但是要想使用它,还需要做如下配置:
1. 为新创建 WPAR 配置 IP,在 AIX 全局系统中运行如下命令:
chwpar -N address=<WPAR_IP_ADDRESS> <WPAR_NAME> |
2. 启动新创建的 WPAR:
startwpar wpar_name (例如 startwpar my_wpar1) |
3. 列出 AIX 全局系统中所有的 WPAR,检查上面的操作是否成功:
# lswpar Name State Type Hostname Directory RootVG WPAR -------------------------------------------------------------- my_wpar1 A S my_wpar1 /wpars/my_wpar1 no 状态 A 表示 WPAR 已启动激活,处于正常运行的状态 |
4. 为新创建的 WPAR 创建 root 用户的访问密码,在 AIX 全局系统中运行 :
# clogin my_wpar1 -- 登录 AIX shared-system WPAR ******************************************************************************* * * * * * Welcome to AIX Version 6.1! * * * * * * Please see the README file in /usr/lpp/bos for information pertinent to * * this release of the AIX Operating System. * * * * * ******************************************************************************* # passwd -- 为 root 用户设定访问密码 Changing password for "root" root's New password: xxxxxx Enter the new password again:xxxxxx # exit -- 退出 shared-system WPAR 系统,回到全局 AIX 系统 |
此时,我们就可以像使用全局 AIX 系统一样使用我们刚刚创建的 AIX shared-system WPAR,包括使用诸如 SSH 的远程连接工具以 root 用户登录到我们刚刚创建的 shared-system WPAR。您可以重复上面的步骤创建第二个 shared-system WPAR,在本文中我们需要一个 AIX 全局系统和两个 shared-system WPARs 来搭建我们的 cluster 环境。
在开始安装 WAS 之前,先来确定我们要搭建的 WAS 环境的拓扑结构,如下图所示,我们有一个全局 AIX 系统和两个 shared-system WPARs。首先,WAS 被安装在全局 AIX 系统中,需要注意的是,在安装 WAS 过程中,暂不创建概要文件;然后,我们在第一个 shared-system WPAR 中利用上一步骤安装的 WAS 创建一个 Deployment Manager(Dmgr)和一个 Application Server,并将 Application Server 绑定到 Dmgr 中,在第二个 shared-system WPAR 中也利用上一步骤安装的 WAS 创建第二个 Application Server,同样将其绑定到我们之前创建的 Dmgr 中,这样我们就可以创建一个简单的 cluster 环境了。通过这种方式,减少了 WAS 的安装次数,也减少了对硬件资源的过度依赖。下面我们来详细介绍配置步骤:
图 1. WAS 拓扑结构
安装 WAS 到全局 AIX 系统和以往正常的安装操作没有任何区别,唯一的不同就是,在安装中和安装后暂不进行创建概要文件的工作,这个步骤要等到下一节,在 AIX shared-system WPAR 中完成。
安装 WAS 到全局 AIX 系统:
- 登录到全局 AIX 系统
- 下载 WAS 到本地
- 启动 WAS 安装程序,完成 WAS 安装
在 AIX shared-system WPAR 中创建概要文件
接下来在 WPARs 中创建概要文件,搭建我们需要的 WAS cluster 环境:
-
手工在 shared-system WPARs 中创建概要文件的目录结构,这个目录就是我们接下来所要创建的概要文件的实际位置
- 以 root 用户登录到相应的 syared-system WPAR 中
- 运行命令:mkdir /<WRITEABLE_DIR>/wasprofiles
- 运行命令:mkdir /<WRITEABLE_DIR>/wasprofiles/logs
- 运行命令:mkdir /<WRITEABLE_DIR>/wasprofiles/properties
- 运行命令:mkdir /<WRITEABLE_DIR>/wasprofiles/profiles
- 运行命令:mkdir /<WRITEABLE_DIR>/wasprofiles/configuration
注意:<WRITEABLE_DIR>要求是 WPAR 中的一个具有可写权限的目录。在本文中,就是之前我们创建的 /usr/WebSphere 目录。
-
在全局 AIX 系统中编辑 <WAS_HOME>/properties/wasprofile.properties 属性文件
将如下条目里包含的"${was.install.root}"改变为 "/<WRITEABLE_DIR>/wasprofiles"
- WS_CMT_LOG_HOME (1)
- WS_PROFILE_REGISTRY (2)
- WS_WSPROFILE_DEFAULT_PROFILE_HOME (3)
- 将概要文件日志目录定位到步骤 1 新建 WPAR 的相应目录
- 将概要文件的注册信息目录目录定位到步骤 1 新建 WPAR 的相应目录
- 将概要文件的默认目录定位到步骤 1 新建 WPAR 的相应目录
-
在全局 AIX 系统中编辑 <WAS_HOME>/bin/setupCmdLine.sh 文件
-
改变
OSGI_CFG=”-Dosgi.configuration.area=$WAS_HOME/configuration”
为
OSGI_CFG=”-Dosgi.configuration.area=/<WRITEABLE_DIR>/wasprofiles/configuration”
-
改变
FSDB_PATH="$WAS_HOME/properties/fsdb"
为
FSDB_PATH="/<WRITEABLE_DIR>/wasprofiles/properties/fsdb"
-
改变
DEFAULT_PROFILE_REGISTRY_LOC="$WAS_HOME/properties/profileRegistry.xml"
为
DEFAULT_PROFILE_REGISTRY_LOC="/<WRITEABLE_DIR>/wasprofiles/properties/
profileRegistry.xml"
以上操作的目的是将 WAS 概要文件的相关配置信息定位到步骤 1 新建 WPAR 的相应目录
-
改变
-
在全局 AIX 系统中编辑 <WAS_HOME>/bin/manageprofiles.sh 文件
-
在"-DWAS_HOME"参数前加一行:"$OSGI_INSTALL" "$OSGI_CFG"
注意:如果用户使用的是 WAS6.1 版本,则可以跳过此步。
-
在"-DWAS_HOME"参数前加一行:"$OSGI_INSTALL" "$OSGI_CFG"
-
在 shared-system WPARs 中创建概要文件
- 以 root 用户登录到 WPAR 中
- 运行 cd <WAS_HOME>/bin
- 运行 ./pmt.sh 命令以 GUI 的方式创建概要文件或者运行 ./manageprofiles.sh 命令以命令行的方式创建概要文件
关于如何创建概要文件和如何搭建 cluster 环境,请您阅读下面的参考资源获得更详细的信息。
以上就是使用共享的 WAS 安装文件在 AIX shared-system WPARs 中创建概要文件的步骤,请您分别在不同的 WPAR 中重复上面的步骤,创建所需的概要文件,从而最终搭建自己想要的 cluster 环境。
在本文中,我们概要地介绍了 WPAR 的相关概念,并在此基础上,阐述了如何在 AIX shared-system WPARs 之间共享全局 AIX 系统的 WAS 安装文件。以此来搭建所需要的 WAS cluster 环境,使用这种方法,即可以简化管理员安装和配置 WAS 的工作,也可以节省很多硬件资源,轻松地获得 cluster 所带来的好处。通过阅读本文,您可以在一台 AIX 系统中搭建出属于自己的 cluster 环境。
学习
-
WebSphere Application Server 信息中心 :了解更多 WebSphere 产品的信息。
-
AIX 6.1 信息中心 :了解更多关于工作负载分区的容。
-
IBM developerWorks 中国 WebSphere 专区:为使用 WebSphere 产品的开发人员准备的技术信息和资料。这里提供产品下载、how-to 信息、支持资源以及免费技术库,包含 2000 多份技术文章、教程、最佳实践、IBM Redbook 和在线产品手册。
- “AIX 6 工作负载分区(WPAR)常见问题解答”(developerWorks,2007 年 11 月):发布的 IBM AIX 6 操作系统为 AIX 操作系统引入了一项强大的功能,即工作负载分区。此技术提高了用户的管理效率和灵活性。本文解答围绕这一强大功能的常见问题 (FAQ)。
- “AIX 6 系统工作负载分区(System WPAR)管理指南”(developerWorks,2008 年 1 月):工作负载分区 (WPAR) 是 AIX 6 提供了一种全新的虚拟化技术。WPAR 技术为企业构建虚拟 IT 基础设施提供了强有力的支持。本文着重介绍了系统 WPAR 的管理和使用方法。
- “AIX 6.1 中的工作负载分区 (WPAR)”(developerWorks,2008 年 6 月):IBM AIX Version 6.1 最受欢迎的创新肯定是工作负载分区(Workload Partitioning,WPAR)。经过了市场的推广期后,您将需要确定 WPAR 能够在您的环境中提供哪些价值。WPAR 能够完成逻辑分区(Logical Partition,LPAR)所不能完成的哪些任务?您应该在何种情况下以何种方式使用 WPAR?同样重要的是,何种情况下不应该使用工作负载分区。最后,如何创建、配置和管理工作负载分区?本文将对所有这些问题进行讨论。
- “探索 AIX 6:WPAR 基本管理”(developerWorks,2008 年 5 月):工作负载分区(Workload Partition,以下简称为 WPAR)是 IBM AIX 6 在虚拟化方面的一项重要增强。在本系列的第二篇文章《探索 AIX 6:新特性概览(中)》一文中,我们已经对 WPAR 做了一个概要的介绍,读者应该对其有个大概的印象。在本文中,我们一起来了解使用 AIX 6 系统自带的工具(系统命令和 SMIT 菜单)对 WPAR 进行基本的管理操作,包括创建,删除,启动,停止,登录,挂起,备份和恢复等,并了解 WPAR 对系统环境的要求和安装前期应该进行的计划准备工作。
- AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
- AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
- AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。
-
AIX and UNIX 下载中心:在这里您可以下载到可以运行在 AIX 或者是 UNIX 系统上的 IBM 服务器软件以及工具,让您可以提前免费试用他们的强大功能。
- IBM Systems Magazine for AIX 中文版:本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。IBM Systems Magazine 的内容都是由十分资深的业内人士撰写的,包括 IBM 的合作伙伴、IBM 的主机工程师以及高级管理人员。所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用 IBM 系统时有一个更好的认识。
讨论
- 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。