Hitachi

JP1 Version 12 JP1/Network Node Manager i セットアップガイド


18.8.1 アプリケーションフェイルオーバーとNNMiデータベース

アプリケーションフェイルオーバーにデータベースを使用するようにNNMiを設定すると,NNMiは次のように動作します。

  1. アクティブサーバーがデータベースのバックアップを実行し,1つのZIPファイルにデータを保存する。

  2. ネットワークを通して,動作1.のZIPファイルをスタンバイサーバーに送信する。

  3. スタンバイサーバーはZIPファイルを展開し,データベースを設定して最初の起動でトランザクションログをインポートする。

  4. アクティブサーバーのデータベースは,データベースアクティビティによって,トランザクションログを生成する。

  5. アプリケーションフェイルオーバーでは,トランザクションログがネットワークを通してスタンバイサーバーに送信され,ディスクに蓄積される。

  6. スタンバイサーバーがアクティブになると,NNMiが起動されて,データベースがネットワークを通してすべてのトランザクションログをインポートする。

    これに掛かる時間は,ファイル数,およびそのファイルに保存されている情報の複雑さによって決まります。

  7. スタンバイサーバーにすべてのトランザクションログがインポートされると,データベースが使用可能になり,スタンバイサーバーは残りのNNMiプロセスを開始する。

  8. 元のスタンバイサーバーがアクティブになり,動作1.がやり直しされる。

〈この項の構成〉

(1) アプリケーションフェイルオーバー環境でのネットワークトラフィック

アプリケーションフェイルオーバー環境では,NNMiはアクティブサーバーからスタンバイサーバーにネットワークを介して次の項目を転送します。

データベースアクティビティとトランザクションログで,アプリケーションフェイルオーバーで使用されるネットワークトラフィックのほとんどが生成されます。ここでは,この2つの項目について説明します。

データベースアクティビティ

NNMiはすべてのデータベースアクティビティのトランザクションログを生成します。

データベースアクティビティには,NNMiのすべてが含まれます。アクティビティには,次のデータベースアクティビティが含まれますが,そのほかにも含まれるものがあります。

  • 新しいノードの検出

  • ノード,インタフェース,VLAN,そのほかの管理対象オブジェクトに関する属性の検出

  • 状態ポーリングとステータス変更

  • インシデント,イベント,根本原因分析

  • NNMiコンソールでのオペレータのアクション

データベースアクティビティを制御することはできません。例えば,ネットワークが停止すると,NNMiは多くのインシデントとイベントを生成します。このインシデントとイベントで,ネットワーク上のデバイスの状態ポーリングが開始され,NNMiでデバイスのステータスが更新されます。停止が復旧されると,ノード開始インシデントによってステータスがさらに変化します。このすべてのアクティビティによって,NNMiデータベースのエントリが更新されます。

NNMiデータベース自体はデータベースアクティビティによって拡大しますが,時間の経過とともに拡大は穏やかになり,環境でのサイズは安定します。

データベーストランザクションログ

NNMiデータベースは,空の16MBのファイルを作成してからデータベーストランザクション情報をそのファイルに書き込むことで動作します。NNMiは,15分が経過した時点か,16MBのデータがファイルに書き込まれた時点のどれかの早い時点でこのファイルを閉じて,アプリケーションフェイルオーバーで使用できるようにします。つまり,完全にアイドル状態のデータベースで,15分ごとに1つのトランザクションログファイルが生成されますが,このファイルは本質的に空です。アプリケーションフェイルオーバーでは,すべてのトランザクションログが圧縮され,空の16MBのファイルは1MB未満に圧縮されます。満杯の16MBのファイルは約8MBに圧縮されます。データベースアクティビティが多い期間は,それぞれのファイルがすぐに満杯になるため,アプリケーションフェイルオーバーによって短時間により多くのトランザクションログが生成されます。

(2) アプリケーションフェイルオーバーのトラフィックテスト

次のテストモードでは,1分ごとにおよそ2個のトランザクションログファイルが生成され,1つのファイルの平均ファイルサイズは7MBになります。これは,それぞれのフェイルオーバーイベントで追加される5,000個のノードの検出に関連するデータベースアクティビティによるものです。このテストケースのデータベースは,最終的に約1.1GBで安定し(バックアップのZIPファイルのサイズで測定),ノードは31,000個,インタフェースは960,000個になります。

テストモード

最初の4時間でテスト担当者が5,000個のノードをNNMiにシードして,検出が安定するまで待機しました。4時間後,テスト担当者がフェイルオーバーを誘発し,スタンバイサーバーがアクティブになり,以前のアクティブサーバーがスタンバイになりました。テスト担当者はフェイルオーバー直後に約5,000個のノードをさらに追加し,また4時間待機してNNMiの検出プロセスを安定させてから,別のフェイルオーバーを誘発し,以前のアクティブサーバーに戻りました。

テスト担当者は,フェイルオーバー間の時間を,4時間,6時間,2時間というよう変更して,このサイクルを数回繰り返しました。テスト担当者は,それぞれのフェイルオーバーイベント後に,次の項目を測定します。

  • ノードが初めてアクティブになったときに作成されるデータベース

  • バックアップのZIPファイルのサイズ

  • トランザクションログ

  • ファイル総数,およびディスク容量の使用量

  • フェイルオーバーを誘発する直前のNNMiデータベースのノードとインタフェースの数

  • フェイルオーバーが完了するまでの時間

    アクティブサーバーでovstopコマンドを最初に実行してから,スタンバイサーバーが完全にアクティブになってNNMiが動作するまでの時間。

結果

結果は次の表のとおりです。

表18‒2 アプリケーションフェイルオーバーのテスト結果

時間

DB.zipサイズ(単位:MB)

トランザクションのログの数

トランザクションログのサイズ(単位:GB)

ノード数

インタフェース数

フェイルオーバーの時間(単位:分)

4

6.5

50

0.3

5,000

15,000

5

8

34

500

2.5

12,000

222,000

10

12

243

500

2.5

17,000

370,000

25

16

400

500

3.5

21,500

477,000

23

20

498

500

3.5

25,500

588,000

32

26

618

1,100

7.5

30,600

776,000

30

28

840

400

2.2

30,600

791,000

31

30

887

500

2.5

30,700

800,000

16

所見

NNMiがアクティブサーバーからスタンバイサーバーにファイルを転送する場合,転送は4時間ごとに平均で約5GB,連続スループットは約350KB/秒,または2.8MB/秒になっています。

メモ
  • このデータには,ハートビート,ファイル整合性チェック,そのほかのアプリケーションフェイルオーバー通信など,アプリケーションフェイルオーバートラフィックは含まれていません。また,パケットヘッダーなどのネットワークI/Oのオーバーヘッドも除外されています。このデータには,ネットワークで移動する各ファイルの内容の実ネットワークペイロードだけが含まれます。

  • NNMiのアプリケーションフェイルオーバー環境で生成されるトラフィックは非常に膨大です。アプリケーションフェイルオーバーでは,5分ごとにアクティブサーバーで新しいトランザクションログが識別され,スタンバイサーバーに送信されます。ネットワークの速度によって,スタンバイサーバーではすべての新しいファイルが短時間で受信され,この5分間隔の残りの間,ネットワークはアイドル状態となることが多くなります。

アクティブサーバーとスタンバイサーバーがロールを切り替えるたびに,すなわち,スタンバイサーバーがアクティブになり,アクティブサーバーがスタンバイになるたびに,新しいアクティブサーバーは完全なデータベースバックアップを生成し,ネットワークを介して新しいスタンバイサーバーに送信します。このデータベースバックアップも定期的に発生し,デフォルトで24時間ごとにバックアップされます。NNMiは,新しいバックアップを生成するたびに,このバックアップをスタンバイサーバーに送信します。この新しいバックアップがスタンバイサーバーで使用可能になると,その24時間にNNMiが生成したすべてのトランザクションログがデータベースに反映されて,フェイルオーバー時にインポートする必要がなくなるため,フェイルオーバー時間が短縮されます。

このことによって,NNMiデータベースを使用してアプリケーションフェイルオーバーでNNMiを使用するとき,フェイルオーバー後にネットワークがどのようなパフォーマンスになるかを理解できます。