この記事では、プライベート・クラウドのデプロイメント・モデルをパイロット実装する実際のプロジェクトの詳細について説明します。このプロジェクトは IBM Global Delivery チームによって行われ、最近完了したプロジェクトです。このプロジェクトは IBM Global Delivery チームによって行われ、最近完了したプロジェクトです。この取り組みは戦略的ロードマップの一部として IBM のハードウェアおよびソフトウェア・スタックを活用することで実現されており、この場合のソフトウェアには Tivoli が使われています。この記事は IT スペシャリスト、アーキテクト、技術チームのリーダーを対象としていますが、クラウドに関係するすべての作業に役立つリファレンス・ガイドとなることを目標としています。この記事で説明する内容は、初心者から上級のスペシャリストまで、どのような経験レベルの人にも役立つはずです。
この記事では読者がクラウド・コンピューティングの基本的な概念や運用方法について理解していることを前提とします。また読者は、AIX と PowerVM、そして仮想化の概念も理解している必要があります。WebSphere、DB2、Tivoli 製品について詳細に理解している必要はありませんが、この記事ではこれらの製品を使用して説明を進めます。
この記事では以下の項目について説明します。
- Tivoli System Automation Manager と Tivoli Directory Server のユーザー・ロール
- クラウドのプロビジョニング・プロセスの例
- このプロジェクトの中で学んだ一般的な秘訣とヒント (DB2 のヒープ問題の回避策、インストール済みシステムのテストを容易にする URL、検証テスト、Tivoli System Automation Manager を起動する別の方法、sendmail の問題の回避策、ブラウザーを使用する場合の推奨事項など)
- 実装をテストするためにユーザーが行えるサンプル操作のリスト
Tivoli System Automation Manager によるプライベート・クラウドを使用する
まず、Tivoli System Automation Manager のユーザー ID 管理に関する注意点から始めましょう。
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 に追加されます。また、ユーザーの情報は (MAXIMO.maxuser、MAXIMO.person、MAXIMO.email を含めて) Tivoli Process Automation Engine のデータベース・テーブルにも保存されます。
つまりユーザーを追加すると、TSAM-TDS と Tivoli Process Automation Engine の両方のデータが変更されます。ユーザーがログオンすると、そのユーザーは TSAM-TDS によって認証されます。
Tivoli System Automation Manager にはユーザー・ロールとして以下の 4 つのタイプが用意されており、すべてのユーザーをこのなかのいずれか 1 つを割り当てる必要があります。
- クラウド管理者: すべてを見ることができ、すべてを実行することができます。チームを作成、変更、削除することができ、ユーザーを作成、変更、削除することができます。
- クラウド・マネージャー: クラウド管理者の読み取り機能のみを持ちます。すべてを見ることができますが、何も実行することはできません。
- チーム管理者: そのチームに関係するすべてを見ることができ、そのチームに関係するすべての管理タスクを実行することができます。
- チーム・ユーザー: そのチームに関係するすべてを見ることができますが、そのチームに関係する管理タスクを実行することはできません。
ユーザーには、この 4 つのロールのうちの 1 つしか割り当てられないことを覚えておいてください。また、ユーザーはがどのチームにも属さない場合もあれば、1 つ以上のチームに属す場合もあります。
Tivoli System Automation Manager の Web 2.0 GUI の使い方は自明です。このユーザー・インターフェースの目標は、何もトレーニングを必要とせずに使いやすいインターフェースを提供することです。図 1 は単純なプロビジョニング・プロセスを示しています。
図 1. クラウドのプロビジョニング・プロセス
プロビジョニングを行う前に、クラウドのセルフサービス・ポータルにアクセスするための登録プロセスを完了しておく必要があります。これはつまり、許可されたユーザーのみがポータルにアクセスしてプロビジョニングの要求を行えるということです。
クラウドのユーザーがサービスを要求すると、その要求を検証できるクラウド管理者に E メール通知を送信するワークフローが起動されます。その要求が承認されると、プロビジョニング・タスクが自動的に実行されます。
ユーザーはプロビジョニングに関して 2 つの E メール通知を受信します。最初の E メールはサービス・リクエストが受け付けられたことを示します。2 番目の E メール通知には仮想ホスト名と接続情報が含まれています (以下のサンプルを見てください)。
プロビジョニングの要求に関する通知の詳細なサンプル
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* は管理サーバーのホスト名または IP アドレスのことです。
インストールの正常性をチェックするために役立つ 12 の検証テスト
インストール・フェーズでは各セグメントの最後に以下のテストを実行すると、ミドルウェアと Tivoli Provisioning Manager のステータス、WebSphere Application Server のコンソールおよびエージェント・マネージャーの 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 のコンソールの URL を検証する
https://*hostname*:9043/ibm/console/logon.jsp Username: wasadmin Password: <your password> |
Agent Manager の URL を検証する
http://*hostname*:9513/AgentMgr/Info |
HMC のコンソールを検証する
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 のヘルプの URL を検証する
https:// *hostname*:9443/maximohelp/en/ |
Device Manager のトレース用サーブレットを検証する
http:// *hostname*:9080/dmserver/TraceServlet?trace=set |
動的コンテンツを提供する 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 を起動した方が望ましいです (これは手動で起動する方法です)。
データベースを 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 のインストール・ランチパッドを起動することができません。最善の結果を得るには、Firefox のバージョン 3.0.7.0 を使用してください。
sendmail の問題
管理サーバーでメール機能が動作していないことに気付いた場合には、sendmail デーモンが実行されているかどうかを確認します。実行されていない場合には手動で sendmail を起動してください。
最後に、サンプル・ケースのチェックリストを示します。プライベート・クラウドのセットアップが完了すると、以下のチェックリストに挙げた項目をセルフサービス GUI を使用して実行することができます。このチェックリストは、機能をテストしたい範囲をほとんどカバーしています。これらのタスクを実行する方法についても、Tivoli System Automation Manager のユーザー・ガイドの中に説明されています。
- ユーザーを管理する
- 新しいチームを作成する
- チーム情報を変更する
- チームを削除する
- ユーザー情報を変更する
- ユーザーを削除する
- プロジェクトを作成し、仮想サーバーを追加する
- 承認プロセスを要求する
- 既存プロジェクトに仮想サーバーを追加する
- 予約日を変更する
- プロジェクトをキャンセルする
- サーバーを変更する
- サーバー・パスワードをリセットする
- サーバーを再起動する
- 仮想サーバーを削除する
- サーバーを起動する
- サーバーを停止する
- サーバー・イメージをバックアップし、リストアする
- サーバー・イメージを作成する
- 仮想サーバーのイメージを削除する
- イメージからサーバーをリストアする
- イメージ・ライブラリーを管理する
- イメージ・ライブラリーにイメージを登録する
- イメージ・ライブラリーのイメージを登録解除する
連載最後の今回の記事でも引き続き、実際にプロジェクトを実装してオンプレミスの IaaS/PaaS クラウドを構築する上で必要となる基本概念を説明しました。取り上げた主な内容は次のとおりです。
- ユーザー・ロールと、各ロールに割り当てられる権限
- クラウドのプロビジョニング・プロセスの動作の基本事項
- クラウド・システムを実際に構築する実際の経験からチームが習得した知識 (ヒントと秘訣)
- プライベート・クラウドが起動して実行状態になった後、プライベート・クラウドを完全にテストするために実行すべき操作のリスト
プライベート・クラウドを完全にテストする準備が整ったら実行可能な操作のチェックリスト
第 2 回では以下の内容を説明しました。
- インストールと構成プロセスの全体的なステップ (個々の詳細は皆さんが選択したソフトウェア・コンポーネントのインストール・ガイドと構成ガイドに説明されています)。その中で、管理サーバーと運営サーバーの準備、クラウド・ソフトウェアの構成、インストール後の作業について説明しました。
- Tivoli System Automation Manager を他の Tivoli 製品と統合し、生産性を高める方法 (Tivoli Usage and Accounting Manager を使用して監視サービスや課金サービスを提供する方法など)。
第 1 回では以下の内容を説明しました。
- 開発における 5 つのフェーズ: 要件の特定、インフラストラクチャーのセットアップ、アーキテクチャーおよびデプロイメント・モデルの作成、環境の構築、デプロイメント
- このプロジェクト独自に設計したソリューションの詳細: コンシューマーとプロバイダーとを分離するためのサービスの全体像、サービスを検討して決定する方法、そしてコンポーネントの選定方法
- クラウドの典型的な構造、そしてコンポーネント同士のやり取りの方法
- このプロジェクトに必要なソフトウェアとハードウェアの一覧
この連載記事を参考にすることで、オンプレミスの IaaS/PaaS クラウドを独自に計画、実装する準備が整います。
この記事の作業に関わり、直接的にあるいは間接的にこの記事に対する助言をくださったチーム・メンバー、Biswajit Mohapatra、Debasis R. Choudhuri、Santhosh Vandyil、Birla P. Raj の各氏に深く感謝いたします。
また、この作業の中で貴重な助言をくださった IBM India の Cloud Lab チーム、そしてポーランドとドイツの IBM Software Group にも感謝いたします。
学ぶために
- Tivoli Service Automation Manager
の製品マニュアル、インストール・ガイド、その他のドキュメントは IBM Tivoli Service Automation Manager のインフォメーション・センターに用意されています。
- developerWorks
でクラウド開発者のためのリソースを調べてください。クラウドにデプロイするためにプロジェクトを構築しているアプリケーション開発者やサービス開発者の知識や経験を発見し、共有することができます。
- 次のステップとして、「IBM SmartCloud
Enterprise」にアクセスする方法を学んでください。
- クラウド・コンピューティングに関する開発者用の技術コンテンツやリソースを利用するために、「Cloud
computing: Fundamentals」を見てください。
- Twitter で developerWorks をフォローしてください。
製品や技術を入手するために
- IBM SmartCloud Enterprise
で利用可能な製品イメージを調べてみてください。
議論するために
- developerWorks
のクラウド・コンピューティング・グループに参加してください。
- developerWorks でクラウドに関する優れたブログを読んでください。
- developerWorks コミュニティーに加わってください。developerWorks コミュニティーは専門家のネットワークであり、接続、共有、および協力のための一連のコミュニティー・ツールを豊富に提供しています。
