本文详细描述了 IBM® Global Delivery 团队最近完成的一种私有云部署模型的一个真实的试验性实施项目。该项目利用一个 IBM 硬件与软件堆栈(本例中的软件为 Tivoli®)实现,以此作为战略路线图的一部分。本文的目标(专为 IT 专家、架构师与技术团队领导人而制定)是为所有与云相关的工作提供一份参考指南。我认为您在本文中找到的信息适用于所有层次的人员:从初学者到高级专家。
本文假定您了解基本的云计算概念与操作;您还应该熟悉 AIX®、Power®VM 与虚拟化的概念。您不需要非常了解 WebSphere®、DB2® 或 Tivoli 产品,但本文中提及了这些产品的使用。
本文中提到了以下主题:
- Tivoli System Automation Manager 与 Tivoli Directory Server 用户角色。
- 云配给过程的一个例子。
- 在项目中学到的技巧,包括 DB2 堆解决方案, 各种简化安装测试的 URL,验证测试,启动 Tivoli System Automation Manager 的其他途径,发送邮件问题的解决方案,以及浏览器使用建议。
- 用户可用于测试实施的一个示例练习清单。
使用 Tivoli System Automation Manager 私有云
让我们从注意 Tivoli System Automation Manager 的用户身份管理开始。
在 Tivoli System Automation Manager 安装期间,它还自动安装了一个 Tivoli Directory Server (TSAM-TDS) 实例。Tivoli System Automation Manager 的 Web 2.0 自助服务用户界面允许云管理员添加和删除云用户。Tivoli System Automation Manager 基于 Tivoli Process Automation Engine (TPAE) 而构建;当云管理员使用 Web 2.0 用户界面添加一个用户时,该用户的 ID 将被添加到 TSAM-TDS 中。另外,用户信息也会被存储在几个 Tivoli Process Automation Engine 数据库表中,包括 MAXIMO.maxuser、MAXIMO.person 与 MAXIMO.email。
换句话说,添加一个用户涉及到同时修改 TSAM-TDS 与 Tivoli Process Automation Engine 中的数据。当一个用户登录时,将借助 TSAM-TDS 对其进行身份验证。
Tivoli System Automation Manager 提供四种类型的用户角色,所有用户都必须映射到其中一类角色:
- Cloud admin:可以查看所有内容,做所有操作。创建、修改、删除一个组;创建、修改、删除一个用户。
- Cloud manager:拥有 cloud admin 角色的只读能力,可以查看所有内容,但不能进行任何操作。
- Team admin:可以查看他所属组范围内的所有内容,可以执行他所属组范围内的所有管理任务。
- Team user:可以查看他所属组范围内的所有内容,但不能执行他所属组范围内的任意管理任务。
记住,一个用户只能属于以上角色之一,同时既可以不属于任何组,也可以属于多个组。
Tivoli System Automation Manager Web 2.0 GUI 的目标是提供一个无需任何培训即可使用的易用界面。图 1 显示了简单的配给过程。
图 1. 云配给过程
在配给之前,您应该完成一个注册过程才能访问云自助门户。这意味着,只有授权用户才能访问门户与发出配给请求。
当云用户请求一项服务时,会触发一个工作流,发送电子邮件通知给云管理员来确认请求。如果审批通过,配给就会自动进行。
关于配给您将收到两封电子邮件通知。第一封指出 您的服务请求已经被接受。第二封包含您的虚拟主机名与 连接信息(如下例所示)。
配给请求详细信息的示例通知
Dear Joydipto Banerjee
You have started a new Project WAS_L2SOA with the following topology:
The server vioclient26ftp has been added with the following parameters:
Hostname of Server: vioclient26ftp
Number of CPU(s): 2
Number of tenths of physical CPUs: 2
Amount of Memory: 4096 MB
Swap Size: 0 MB
Disk Space Size: 20
Admin Password:XXXXXX
Link to the Server: http://vioclient26ftp:80
The user of group GBS USER has been notifed.
Regards,
Your Service Automation Team
|
使用这些详细信息,通过 SSH 连接到新的服务器。
Tivoli System Automation Manager 用户指南中讲述了关于如何在自助服务门户中使用各种服务的进一步细节。
下面给出了一些在此项目过程中学到的一些技巧与解决方案,可以给您提供一定的帮助。
解决 DB2 堆问题
似乎存在这样一个问题:DB2 无法获得足够的堆空间。您可能看到这样的错误:
9/7/09 3:13:01:956 EDT 0000002c SystemOut O 2009.09.07 03:13:01.955 com.tivoli.dms.common.DBOperation executeUpdate Tivoli Web Gateway Device_Manager_Server tsam72mgmt com.ibm.db2.jcc.b.SqlException: DB2 SQL Error: SQLCODE=-956, SQLSTATE=57011, SQLERRMC=null, DRIVER=3.53.70
或
SQL0956C Not enough storage is available in the database heap to process the statement。
您可以使用以下过程来解决这个问题:
- 停止 Tivoli Provisioning Manager (
./tio.sh stop)。 - 运行以下命令:
db2 connect to maxdb71
db2 update db cfg using dbheap 6144
db2 connect reset
db2stop force
db2start
帮助您测试安装设置的 URL
建议在安装期间定期测试设置。根据您目前所在的安装过程阶段,以下链接中有些可能无法激活。然而,在整个安装完成之后,所有这些链接都应该是有效的。
- Cloud.ear: https://*hostname*:9443/cloud/rest/templates/
- TSAM REST: https://*hostname*:9443/maxrest/rest/mbo/PO
- IL REST: https://*hostname*:9443/ilrest/rest/os/TPV01IMGLIBENTRYMSTR
- MEAWeb UI: http://*hostname*:80/meaweb/verify
- Web2.0 UI: https://*hostname*:9443/SimpleSRM
注意:这里的 *hostname* 是指管理(Management)服务器的主机名/IP 地址。
检查安装完整性的 12 个有用验证测试
您可以在安装期间的每个阶段结束时执行这些测试,从而验证中间件与 Tivoli Provisioning Manager 、WebSphere Application Server Console 与 Agent Manager URL 等的状态。
验证中间件状态
位置:管理服务器
脚本:
/images/install_images/TSAMBASE7200/install/tools/tsam_middleware.sh status
User Name / Password Details: tioadmin/<your password>
WAS: wasadmin/<your password>
Database (MAXDB71): maximo/<your password>
|
验证 Tivoli Provisioning Manager 状态
位置:管理服务器
脚本:
/opt/IBM/tivoli/tpm/tools/tioStatus.sh |
启动/停止 TPM 所用的脚本 -
位置:管理服务器
脚本:
/opt/IBM/tivoli/tpm/tools/tio.sh <start/stop> /opt/IBM/tivoli/tpm/tools/tio.sh <start/stop> -t - TPM /opt/IBM/tivoli/tpm/tools/tio.sh <start/stop> -w - WAS |
验证 WebSphere Application Server Console URL
https://*hostname*:9043/ibm/console/logon.jsp Username: wasadmin Password: <your password> |
验证 Agent Manager URL
http://*hostname*:9513/AgentMgr/Info |
验证 HMC Console
https://<your HMC server hostname>/hmc/connect Username: hscroot Password: <your password> |
验证 Maximo URL
https:// *hostname*:9443/maximo/ui/login Username: maxadmin Password: <your password> |
验证 Maximo Help URL
https:// *hostname*:9443/maximohelp/en/ |
验证 Device Manager Trace Servlet
http:// *hostname*:9080/dmserver/TraceServlet?trace=set |
验证 Dynamic Content delivery URL
http:// *hostname*:9080/admin/ Username: maxadmin Password: <your password> |
在启动 Tivoli Provisioning Manager 之后登录,以验证管理服务器。
/usr/ibm/tivoli/common/COP/logs/tio_start.log /usr/ibm/tivoli/common/COP/logs/tio_start_service.log /opt/IBM/tivoli/tpm/lwi/logs /usr/IBM/WebSphere/AppServer/profiles/ctgDmgr01/logs/dmgr /usr/IBM/WebSphere/AppServer/profiles/ctgAppSrv01/logs/nodeagent /usr/IBM/WebSphere/AppServer/profiles/ctgAppSrv01/logs/MXServer /usr/IBM/WebSphere/AppServer/profiles/casprofile/logs/server1 |
登录以验证管理服务器
/opt/IBM/SMP/logs |
如何检查您的 Service Request Manager (SRM) 安装版本
如果您能在 Maximo GUI 中通过 Help > System Information 看到已安装的版本,说明您的 SRM 安装没有问题(图 2)。
图 2. 检查 SRM 安装版本
一种启动 Tivoli System Automation Manager 中间件的更好途径
与使用提供的中间件启动脚本 tsm_middleware.sh 相比,使用以下过程启动中间件(启动它的手动方式)与 Tivoli Provisioning Manager 的效果更好:
将 DB 启动为 ctginst1、db2inst1 与 idsccmdb: su - ctginst1 -c "db2start";su - db2inst1 -c "db2start";su - idsccmdb -c "db2start";
将 LDAP 启动为 idsccmdb: /opt/IBM/ldap/V6.2/bin/idsdirctl -D cn=root -w <your password> start
将 WebSphere Application Server 与 Tivoli Provisioning Manager 启动为 tioadmin:
su - tioadmin cd $TIO_HOME/tools ./tio.sh start |
建议最低使用 Firefox 3.0.7.0 版本
老版本的 Firefox 无法运行 Tivoli System Automation Manager Install 启动版。使用 3.0.7.0 版本能获得最佳效果。
sendmail 的一个问题
如果您发现管理服务器上的邮件功能不工作,一定要检查 sendmail 守护进程是否在运行;如果没有运行,手动启动它。
最后,我提供一个示例用例的检查清单,一旦私有云设置完成之后便可通过自助服务 GUI 执行它。该清单涵盖了您要测试功能所在的大多数领域。再次提醒,Tivoli System Automation Manager 用户指南中提供了关于如何执行这些任务的说明。
- 管理用户
- 创建新组
- 修改组信息
- 删除组
- 修改用户信息
- 删除用户
- 创建一个项目并添加虚拟服务器
- 请求审批过程
- 给现有项目添加虚拟服务器
- 修改保留日期
- 取消项目
- 修改服务器
- 重置服务器密码
- 重启服务器
- 删除虚拟服务器
- 启动服务器
- 停止服务器
- 备份与恢复服务器映像
- 创建服务器映像
- 删除虚拟服务器映像
- 从映像恢复服务器
- 管理映像库
- 在映像库中注册映像
- 在映像库中取消映像的注册
在这最后一篇文章中,我为构建内部 IaaS/PaaS 云的实际项目实施提供的背景规划概念包括:
- 什么是用户角色及分配给它们的权限。
- 云配给过程如何工作的基础知识。
- 团队从构建云系统的真实经验收集到的知识(技巧)。
- 运行之后可以执行的练习检查清单,以便彻底地测试您的私有云。
在第 2 部分中,我讲述了:
- 安装与配置过程中的所有步骤(在您选定的软件组件的安装/配置指南中可以找到相关的详细情况)。这包括准备管理 (management) 与管理系统 (administration) 服务器,配置云软件,以及完成一些安装后的操作。
- 将 Tivoli System Automation Manager 与其他 Tivoli 产品集成以提高生产力(比如 Tivoli Usage and Accounting Manager,可以提供监控/记账服务)。
在第 1 部分中,我讲述了:
- 五个开发阶段:需求确认,基础架构搭建,架构/部署模型,基础架构构建与部署。
- 关于为此项目设计的独特解决方案的一些详细情况:一个用于分离消费者与提供者的服务视图,如何评估与构造服务定义,以及如何选择组件。
- 典型的云结构与组件的交互方式。
- 项目的软件/硬件需求列表。
以此系列文章为指导,您可以在规划与实施您自己的内部 IaaS/PaaS 云方面有一个良好的开端。
我要向参与这次工作并对本文做出直接或间接贡献的以下团队成员表示感谢: Biswajit Mohapatra,Debasis R. Choudhuri,Santhosh Vandyil,Birla P. Raj。
我还要感谢 India Cloud Lab 团队与波兰与德国的 IBM Software Group,他们在这次工作期间提供了有价值的指导。
学习
-
关于 Tivoli Service Automation Manager,可在 IBM Tivoli Service Automation Manager 文档中心 内找到产品手册、安装指南与其他文档。
-
在 developerWorks 云开发人员资源中,发现和共享应用程序和服务开发人员有关构建云部署项目的知识和经验。
-
后续步骤:了解如何 访问 IBM SmartCloud Enterprise。
-
关于技术开发人员在云计算方面的内容与资源,参见 云计算:基础。
- 加入云计算讨论组,了解和讨论云计算的最新技术、解决方案、趋势等内容。
获得产品和技术
-
查看在 IBM SmartCloud Enterprise 上可用的 产品镜像。
讨论
-
阅读 developerWorks 上所有优秀的云博客。
- 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。
