TOPサーバ構築・運用> はじめに
Hinemos
運用管理ツール「Hinemos」完全利用ガイド

第2回:Hinemosを利用した運用管理はこうなる!

著者:NTTデータ  大上 貴充   2006/12/11
1   2  3  次のページ
はじめに

   第1回では、Hinemosの概要とリポジトリ管理機能によるHinemosのグループ化と階層化管理について解説しました。第2回目の今回は、従来のOSSの運用管理ツールでは用意されていなかったジョブ管理機能について、具体的なジョブの設定例を通してHinemosを利用した運用管理について解説します。

   なお、本連載では、「ノード」「スコープ」「ジョブ」「ジョブネット」「ジョブユニット」を以下のように定義します。
ノード
Hinemosの管理対象コンピュータを指す。


スコープ
複数ノードをグループ化したもの。リポジトリ管理機能で定義する。


ジョブ
処理や動作など最小の実行単位。ノード上で実行されるコマンドを設定する。


ジョブネット
ジョブをひとまとめに扱うことのできる要素。複数のジョブとジョブネットを登録することができる。


ジョブユニット
ジョブ階層の最上位要素。ジョブネットとジョブはジョブユニットの要素として登録する。



表1:用語定義


ジョブをどう定義、配備するか

   ではHinemosのジョブ管理機能では、ジョブをどのように定義し、配備するのでしょうか。まず、Hinemosが提供するジョブ管理に含まれる機能を表2に整理します。

複数ノードで同じジョブを実行
  • ジョブ実行対象ノードをスコープとしてグルーピングすることで、同じジョブを複数ノードで実行することができます。
ジョブの実行ユーザを指定
  • ジョブの実体であるコマンドやスクリプトの実行ユーザを指定できます。
ジョブの待ち条件を設定(※注1)
  • 先行ジョブ(またはジョブネット)の終了状態を待ち条件とする場合は、先行ジョブとそのジョブの終了状態を指定します。指定したジョブの終了状態になると、次のジョブを起動することができます。
  • 時刻を待ち条件とする場合は、ジョブの起動時刻を指定します。指定した時刻になるとジョブを起動することができます。
ジョブの実行結果を確認
  • GUI画面上からジョブの実行状況を確認できます。さらにジョブの起動・終了時や異常発生時にメールで通知することも可能です。
実行中のジョブの制御
  • GUI画面上から中断や停止など、きめ細かなジョブ制御が可能です。
スケジューラにより指定した時刻にジョブを実行
  • 毎時実行、日次処理、曜日指定などスケジューラを利用して定期的にジョブを実行するように設定することができます。
カレンダ機能とのスケジュール連携
  • 稼動日(分単位の稼動時間帯)/非稼動日(分単位の非稼動時間帯)を設定することができます。
ファイル転送ジョブ
  • 管理対象ノード間でファイルの転送を行うジョブを定義することができます。

表2:ジョブ管理機能の主な機能

※注1: ジョブの待ち条件の設定では、ジョブの終了状態と時刻を設定することができます。

   このように機能は盛りだくさんですが、今回は実際にHinemosのジョブ管理機能を使った運用がイメージできるように、簡単なデータベースバックアップ用ジョブネットを設定する方法を紹介します。バックアップ処理の要件は以下のように定義します。

  • 3台のアプリケーションサーバ(APSERVER1、APSERVER2、APSERVER3)が停止した後にデータベース(DBSERVER1)のバックアップを行う必要がある
  • データベースのバックアップが終了した後、再度アプリケーションサーバを起動する
  • 各ジョブ実行に失敗した場合はそこでジョブネットを停止し、運用管理者にメール通知する

表3:バックアップジョブの要件

   これらの要件を満たすジョブネットの一例として、図1に示すようなジョブネットを定義します。

サンプルジョブネット
図1:サンプルジョブネット
(画像をクリックすると別ウィンドウに拡大図を表示します)

   Hinemosでは、ジョブ実行対象ノードのグルーピングとジョブ設定をすることで、このようなバックアップ処理を簡単に実行することができます(図2)。

Hinemosで作成した場合のサンプルジョブネット
図2:Hinemosで作成した場合のサンプルジョブネット

   各ノードで実行されるジョブの実体は、コマンドまたはシェルスクリプトです。ジョブの制御は、このシェルスクリプト(もしくはコマンド)の戻り値を基に行います。例えば、戻り値が0であれば正常、戻り値が1〜99の範囲であれば警告、それ以外であれば異常というように設定します。よってジョブから起動されるスクリプトでは、意図した制御が可能となるように戻り値を返すようにします。

1   2  3  次のページ


株式会社NTTデータ  大上 貴充
著者プロフィール
株式会社NTTデータ  大上 貴充
基盤システム事業本部 オープンソース開発センタ
2004年よりOSSを用いたシステム構築、運用管理ツールの研究開発に従事。現在はHinemosの開発メンバとして、より一層の機能充実、品質向上とコミュニティの創造を目指して活動中。


INDEX
第2回:Hinemosを利用した運用管理はこうなる!
はじめに
  複数ノードに一気にジョブ投入
  計画的なジョブ実行