9    ボリューム・シャドウイングの性能

Volume Shadowing for OpenVMS は,データ可用性の向上を目的とした製品であり, 性能の向上を目的とした製品ではありません。 性能とデータ可用性の話題は完全に分離できるものではないという認識のもとで, この章では Volume Shadowing for OpenVMS を使ったシステムの, 性能への影響を説明します。

9.1    シャドウ・セットの性能に影響を与える要因

シャドウ・セットの性能に影響を与える要因には以下のものがあります。

以下の節では,シャドウ・セットの状態と構成がリソース利用率と性能に与える影響について説明します。 システム・リソースの利用を制御するためのガイドラインについて,9.4 節 で説明します。 シャドウ化されていないディスクと 1 メンバ・シャドウ・セットの性能には大きな違いがないので,ここでは複数メンバのシャドウ・セットを対象としています。

9.2    安定状態での性能

シャドウ・セットは,すべてのメンバに整合性があり,コピー操作やマージ操作が実行中でない場合,安定状態にあるといいます。 安定状態にあるシャドウ・セットの全体的性能は,シャドウ化されていないディスクと同等かそれ以上です。 シャドウ・セットで処理される読み込みと書き込みの入出力要求は, シャドウ化されていないディスクに比べて,ほんの僅かに多くの CPU 処理時間を必要とするだけです。 シャドウ・セットでは,シャドウ化されていないディスクより効率よく読み込み要求を処理できる場合があります。 これは,複数の読み込み要求に同時に応答するために,余分のディスクを使用できるためです。

安定状態のシャドウ・セットでは,シャドウイング・ソフトウェアは読み込みと書き込みの操作を以下のように処理します。

安定状態のシャドウ・セットの読み込み性能で,性能が向上する可能性がありますが, ボリューム・シャドウイングの主要な目的は,データの高可用性を実現することです。 ボリューム・シャドウイングを,アプリケーションの読み込み入出力のスループットを改善する目的で使うことは, お勧めできません (入出力の負荷は明らかに増加します)。 これは,新しいメンバを追加したりデータの整合性を維持するためにコピー操作やマージ操作を行う必要があるとき,またはメンバをシャドウ・セットから削除するときに,同じレベルの性能が得られないためです。 9.3 節 では, シャドウ・セットが遷移状態にあるときの性能上の考慮点を説明します。

9.3    コピー操作とマージ操作の際の性能

シャドウ・セットは,メンバに対してコピー操作やマージ操作が実行されている間は, 遷移状態にあるといいます。マージ操作の際,Volume Shadowing for OpenVMS は, データを 1 つのメンバから読み込み,シャドウ・セットの他のメンバの同じ LBN に格納されているデータと同じであることを確認して,整合性を確保します。 データが違っていると,シャドウイング・ソフトウェアは,入出力要求を完了させる前に,すべてのメンバの LBN をアップデートします。 コピー操作の場合は, シャドウイング・ソフトウェアはソース・メンバからデータを読み込み, そのデータをターゲット・メンバの同じ LBN に書き込みます。

シャドウイング・ソフトウェアは,マージ操作やコピー操作を実行すると同時に, アプリケーションとユーザの入出力要求を処理します。 コピー操作に要する入出力処理によって,同じシャドウ・セットが安定状態にあるときより,性能が低下します。 ただし,シャドウ・セット・メンバが,シャドウイングの補助付きコピー操作と補助付きマージ操作をサポートしているコントローラ上に構成されている場合,シャドウ・セットがコピー操作やマージ操作を行う速度は著しく改善されます。 Volume Shadowing for OpenVMS は, 補助付きと補助なしの両方のマージ操作とコピー操作をサポートします。

以下のリストでは,補助なしのマージ操作やコピー操作の実行中に, シャドウ・セットがどのように性能に影響を受けるかを説明します。 補助付きのコピー操作とマージ操作についての説明は,第 6 章を参照してください。

9.3.1    補助なしマージ操作の性能の改善

シャドウ・セットの補助なしマージ操作の実行中には,アプリケーションの読み込み I/O の性能が,次の 2 つの要因で低下します。

シャドウ・セット・マージ操作では,アプリケーションへのマージ I/O の影響を少なくするために,絞り込みメカニズムを採用しています。 マージ処理は,システムの負荷が検出されたときにマージ I/O 操作間に遅延を入れることにより,絞り込まれます。 この遅延を算出するロジックは,OpenVMS Alpha バージョン 7.3-2 で再設計されました。

アプリケーションの負荷の要件によっては,マージ操作の完了に時間がかかっても,アプリケーションへのマージ I/O の影響を最低限にする方が好ましい場合があります。 逆に,アプリケーションへの影響があっても,マージが早く完了する方が好ましい場合もあります。 次の 2 つのパラメータ (論理名で指定されます) を使用すると,システム上のすべてのシャドウ・セットに対するこのトレードオフを指定できます。

マージ I/O 操作間の遅延は,次のように計算されます。

遅延時間 = (現在の I/O 時間 - 理想の I/O 時間 * MERGE_DELAY_THRESHOLD/200) * 200/MERGE_DELAY_FACTOR

どちらのパラメータの値を大きくしても,マージ操作の実行速度が速くなり,システム上の負荷が高くなります。 逆に,パラメータの値を小さくすると,マージ操作の速度は遅くなります。 パラメータに 200 以下の値を設定すると,以前のバージョンの OpenVMS よりもゆるやかに,マージ操作が遅くなります。

システム上のすべてのシャドウ・セットに対するパラメータである上記の 2 つの論理名の他に,次の論理名形式で,特定のシャドウ・セット ("_DSAnnnn" で指定) に対してパラメータを指定できます。

これらのパラメータには,SHAD$MERGE_DELAY_THRESHOLD と SHAD$MERGE_DELAY_FACTOR で使用するのと同じ範囲の値を使用することができます。

適用する論理名の値は,1000 I/O ごとにシャドウ・コピー・サーバによってサンプリングされます。 このため,進行中のコピーやマージは,多少遅れてパラメータの変更に反応します。

9.3.2    マージ操作とコピー操作の性能の改善

2 種類の性能補助機能があります。マージ補助とコピー補助です。 マージ補助は,コントローラ内に記録されている書き込みログの情報を使って,シャドウ・セット全体で整合が取れていないデータだけをマージすることで性能を改善します。 マージ操作が書き込みログで補助される場合,ミニマージ と呼ばれます。 コピー補助は, ホスト・ノードのメモリを経由することなく,データを直接ディスク間で転送することによって,システム・リソースの使用量とコピー時間を減らします。

補助付きマージ操作は,通常,気付かないくらい短時間に終わります。 補助付きコピー操作でも,CPU とインターコネクトのリソース使用量が減るため,性能が改善されます。 性能補助機能の主な目的は, コピー操作やマージ操作に必要なシステム・リソースを減らすことですが,状況によっては,読み込みや書き込みの入出力性能も改善されます。

Volume Shadowing for OpenVMS は,同じ OpenVMS Cluster 構成で, 補助付きと補助なしのシャドウ・セットを両方ともサポートします。 シャドウ・セットの作成,既存シャドウ・セットへのメンバの追加, またはシステムのブートのときは,いつでもシャドウイング・ソフトウェアは,変更された構成の中の各々のデバイスを再評価して,コピー補助やミニマージがサポートされているかどうかを調べます。 性能の改善は,性能補助機能をサポートしているコントローラ上にすべてのシャドウ・セット・メンバが構成されているときのみ達成できます。 いずれかのシャドウ・セット・メンバが,この機能をサポートしていないコントローラに接続されている場合, シャドウイング・ソフトウェアはこのシャドウ・セットでの性能補助を無効にします。

正しいリビジョン・レベルのソフトウェアがインストールされている場合,コピー補助とミニコピーがデフォルトで有効になり, シャドウイング・ソフトウェアで管理されます。

9.3.3    性能上の効果

コピー補助とミニマージは,コピー操作とマージ操作に要する時間を削減するように設計されています。 実際,補助付きのコピー操作やマージ操作を実行しているときに,ユーザ入出力が少ないか,全く無いシステムでは,著しく時間が短縮されることがわかります。 コピー操作によって,シャドウ・セット全体にわたって迅速にデータの整合を取ることができるので,データ可用性も改善されます。

ミニマージによる性能改善

ミニマージ機能は,マージ操作に要する時間を著しく短縮します。 コントローラ・ベースの書き込みログを使うことで, 初期のマージ・アルゴリズムで必要だったボリューム全体のスキャンが不要になり, ノードが障害を起こしたときに,書き込み動作が進行中であったシャドウ・セットの領域だけをマージすればよくなりました。

補助なしマージ操作は,ユーザ入出力の頻度によっては, 数時間かかることがあります。ミニマージ操作は,通常,数分で完了し, ユーザが気付くことはありません。

ミニマージ操作に要する正確な時間は,マージ操作が開始されたときに貯まっている, シャドウ・セットへの書き込み動作の数と, 同時にミニマージを行うシャドウ・セット・メンバの数に依存します。 重い書き込み動作を行っていても,ミニマージは数分で完了します。 また,ミニマージ操作では,CPU と入出力の処理能力を少ししか消費しません。

コピー補助の性能改善

コピー時間は構成によって変化し,通常,ユーザ入出力をサポートしているシステムでは時間がかかります。 ソース・ディスクとターゲット・ディスクが異なる HSJ 内部バスに接続されていると,性能が向上します。

9.4    シャドウ・セットの性能を管理するためのガイドライン

9.2 節 節と 9.3 節 節では,安定状態の場合とコピー操作やマージ操作が進行中の場合の,シャドウ・セットによる性能上の影響を説明しました。 一般に,安定状態のときの性能は, シャドウ化していないディスクの性能に匹敵します。 性能は,シャドウ・セットのコピー操作やマージ操作が進行しているときに影響を受けます。 コピー操作の場合,操作を行うタイミングは制御可能です。

しかし,マージ操作はユーザやプログラムの動作では開始されません。 マージ操作は,システム障害が発生したり,アプリケーションの書き込み入出力が貯まっているシステムのシャドウ・セットがマウント検査状態になり,タイムアウトになった場合に,自動的に開始されます。 この場合,シャドウイング・ソフトウェアは,動的な絞り込みを行うことによって,システム・リソースの使用量とユーザの動作への影響を減少させます。 ミニマージ操作はリソースをほとんど使わないので, ユーザ動作に,少しの影響しか与えないか,全く影響を与えずすぐに完了します。

コピー操作やマージ操作で使われる実際のリソースは,シャドウ・セットのメンバ・ユニットへのアクセス・パスに依存し,さらに,これはシャドウ・セットがどのように構成されているかに依存します。 両方の操作で使われるリソースは,ほとんどがアダプタとインターコネクトの入出力処理能力です。

リソースの使用量は,システムやアダプタのタイプに基づいて,適切な値を SHADOW_MAX_COPY システム・パラメータに設定することで,制御できます。 SHADOW_MAX_COPY は動的なシステム・パラメータで,1 つのシステムで並列に実行できるコピーやマージのスレッドの数を制御します。 特定のシステムで開始するコピー・スレッドの数がそのシステムの SHADOW_MAX_COPY パラメータをこえると,SHADOW_MAX_COPY で指定されたスレッドの数だけが,実行を許可されます。 それ以外のコピー・スレッドは,現在アクティブなコピー・スレッドのいずれかが完了するまで待たされます。

たとえば,SHADOW_MAX_COPY パラメータに 3 が設定されているとします。 4 つのシャドウ・セットをマウントするときに,すべてのシャドウ・セットでコピー操作が必要であっても,3 つのコピー操作が開始されるだけです。 4 番目のコピー操作は,最初の 3 つのコピー操作のいずれかが完了するまで待たなければなりません。 コピー操作は入出力処理能力を消費するため,このパラメータは並列コピー操作の数を制限する手段として使用でき,システムのインターコネクトやアダプタが飽和状態になるのを防ぎます。 SHADOW_MAX_COPY の値の範囲は,0〜200 です。デフォルト値は OpenVMS のバージョンによって異なります。

第 3 章では,SHADOW_MAX_COPY パラメータの設定方法を説明しています。 ノードで最適の値を見つけたら,MODPARAMS.DAT ファイルを編集してこの値を反映し,AUTOGEN が起動されたときに, この値が有効になるようにしてください。

SHADOW_MAX_COPY パラメータの設定の他に,以下のリストでは, リソース使用量を制御するための一般的なガイドラインと, シャドウ・セットが遷移状態のときのシステム性能への影響について説明します。

9.5    ストライピング (RAID) の実装

弊社の RAID Software for OpenVMS を使用することにより,高い入出力性能が達成されるようにディスク・ドライブを構成して使うことができます。 RAID (redundant arrays of independent disks) は,ストライピング・テクノロジを使ってデータを分割し,複数のドライブに分散させます。RAID ソフトウェアは種々のレベルで使えますが,そのうちの 1 つがボリューム・シャドウイングです。 表 9-1 に RAID レベルを示します。

表 9-1:  RAID レベル

RAID レベル 説明

レベル 0

冗長性のないストライピング

レベル 1

シャドウイング

レベル 0 + 1

ストライピングとシャドウイング

レベル 3

専用パリティ・ドライブによるデータのストライピング。ドライブはサイクリックに同期化される。

レベル 5

データのストライピングとパリティ

レベル 6

2 つのパリティ・ドライブによるデータのストライピングとパリティ

ストライプ化されたドライブのシャドウイングでは,性能と可用性がともに向上します。 これは,ストライピングで高速な応答時間が得られ,シャドウイングでデータ冗長性が得られるためです。 ストライプ化されたドライブのシャドウイングの他に,シャドウ・セットをストライプ化することもできます。 各々の方式には,異なる利点があり,可用性,性能,コストに関し,トレードオフがあります。

弊社の RAID Software for OpenVMS の最新情報は,次の Web ページを参照してください。

http://www.hp.com/go/openvms/