Jump to content 日本-日本語
≫ お問い合わせ

HP OpenVMS: Volume Shadowing for OpenVMS 説明書

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

≫ 

OpenVMSドキュメント・ライブラリ

タイトルページ/目次
まえがき
第1章:Volume Shadowingの紹介
第2章:システムに高度な可用性を構成する
第3章:ボリューム・シャドウイングを使うための準備
第4章:DCLコマンドによるシャドウセットの作成と管理
第5章:システムサービスによるシャドウセットの作成と管理
第6章:シャドウセットの整合性の保証
第7章:ミニコピーによるデータのバックアップ
第8章:ホストベース・ミニマージ
第9章:シャドウ化されたシステムでのシステム管理作業
第10章:ボリュームシャドウイングの性能
付録A:メッセージ
用語集
索引
PDF
OpenVMS ホーム
ここから本文が始まります

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

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

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

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

10.2 安定状態での性能

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

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

  • 書き込み入出力要求は,シャドウセットのすべてのメンバに同時に発行されます。 入出力要求が完了したとみなすためには,すべてのメンバでアップデートが完了しなければならないので,書き込み操作の完了時間は,書き込み要求を発行したノードから最大のアクセス時間がかかるメンバ・ユニットによって決まります。 シャドウセットの構成と個々のメンバ・ユニットのアクセス・パスによっては, 書き込み入出力要求が完了するまでの時間が少し増加することがあります。 安定状態の性能は,ローカルに接続されているメンバの方が,おおむね高性能です。 これは,アクセス・パスが,他のノードによってサービスされているメンバのアクセス・パスより短く直接的だからです。 たとえば,個々のメンバが別々のノードにローカルに接続され, ネットワーク・リンクにまたがった MSCP サーバを経由してメンバがアクセスされるシャドウセットでは,書き込み性能が落ちることがわかります。

  • 読み取り入出力要求は,1 つのメンバ・ユニットだけに発行されます。 Volume Shadowing for OpenVMS は,最短の完了時間が期待できるメンバ・ユニットにアクセスします。 入出力スループットの見地からは,2 メンバのシャドウセットは, シャドウ化されていないディスクに比べて 2 倍の読み取り要求を処理できます (3 メンバ・シャドウセットでは,それ以上のスループットです)。 シャドウセットでは,複数の読み取り要求に同時に対応するために, 余分のディスク読み取りヘッドを使えます。 そのため,安定状態のシャドウセットでは,アプリケーションやユーザがディスクからデータを読み込むときは,良い性能になります。 ただし,性能が上がるのは,シャドウセットのキューに入れられる読み取り要求がメンバ・ユニットの数だけまとまって発行されるときだけです。

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

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

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

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

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

  • コピー操作

    コピー操作は,2 メンバまたは 3 メンバのシャドウセットで,シャドウセットをマウントして作成するときか,既存のシャドウセットに新しいメンバを追加するときに開始されます。 コピー操作の間,操作のターゲットになるメンバは, 操作が完了するまでデータ可用性に役立ちません。したがって, シャドウイング・ソフトウェアは,シャドウセットの可用性をフルに確保するために,コピー操作をできる限り速く実行しようとします。

    コピー操作の間,シャドウイング・ソフトウェアは,ユーザおよびアプリケーションの入出力要求とコピー操作の実行に必要な入出力要求に同じ優先度を与えます。 コピー操作の間のシャドウセットの性能は,以下の理由で低下します。

    • シャドウイング・ソフトウェアは,コピー操作の間,ユーザの読み取りと書き込みの入出力要求を特別なプロトコルに従って処理する必要がある。

    • コピー操作の入出力要求はサイズが大きいが,優先度は, ユーザおよびアプリケーションの入出力要求と同じになっている。

    また,他のシステム・リソースも,コピー操作の間使われます。 個々のシャドウセット・メンバのアクセス・パスによっては, これらのリソースには,ディスク・コントローラ,インターコネクト, インターコネクト・アダプタ,そしてシステムが含まれます。

    コピー操作は,新しいシャドウセットをマウントするとき, または既存のシャドウセットに新しいメンバを追加するときに明示的に開始するので,シャドウイング・ソフトウェアがコピー操作を実行するタイミングは制御できます。 したがって,システムのユーザおよびアプリケーションへの影響は,同時に発生するコピー操作の数を制限することで最小にすることができます。 たとえば,新しいセットを作成したり, 新しいメンバを追加する場合は,システムの活動が低下しているときに実施し, また一度に複数のセットをマウントしないようにしてください。

    OpenVMS バージョン 7.3 で導入されたミニコピー操作を使うと, システムのユーザとアプリケーションへの影響をさらに小さくできます。 ミニコピー操作を使うと,シャドウセット・メンバをシャドウセットに戻すために要する時間が著しく短縮されます。 書き込みビットマップ・テクノロジを使うと,ミニコピー操作では, メンバがディスマウントされていた間に変更されたデータをコピーするだけですみます。 詳細は,第7章 「ミニコピーによるデータのバックアップ (Integrity および Alpha)」を参照してください。

  • マージ操作

    コピー操作とは異なり,マージ操作はユーザやプログラムでは制御できません。 シャドウイング・ソフトウェアは,シャドウセットがマウントされているノードで障害が発生した結果として,自動的にシャドウセットのマージ操作を開始します。

    コピー操作の場合と同様に,ボリューム・シャドウイング・ソフトウェアでは,データ整合性を確保するためのプロトコルに従って,シャドウセットへのすべての入出力要求を処理します。 ただし,シャドウセットでマージ操作が実行中のときは,セットの個々のメンバがデータの正しいソースであり,システムのユーザやアプリケーションからアクセス可能という点で,完全なデータ可用性があります。 したがって,シャドウイング・ソフトウェアがマージ操作の完了を急ぐ必要はありません。 特にシステムの負荷が高い場合は,そうです。マージ操作とコピー操作にはこのような相違点があるため,シャドウイング・ソフトウェアは,シャドウセットに対するユーザの操作に暗黙のうちに高い優先度を与えます。 Volume Shadowing for OpenVMS は,システムの負荷を調べて評価し,動的にマージ操作を制御,すなわち絞り込むことで, 他の入出力操作が影響を受けずに実行できるようにします。

    システムでアプリケーションやユーザの入出力操作が頻繁に発生している場合,マージの絞り込みによりマージ操作が遅くなるため,マージ操作はコピー操作より時間がかかります。 マージの絞り込みによって,システムの負荷が重いときに,アプリケーションやユーザの動作が,マージ操作によって妨げられずにすみます。

    一方,マージ操作を実行している間のシャドウセットの読み取り性能は, 読み取り要求があるたびに,シャドウイング・ソフトウェアがすべてのメンバでデータ整合性をチェックする必要があるため,低下します。 ボリューム・シャドウイング・ソフトウェアは,シャドウセットのすべてのメンバの同じ LBN からデータを読み取り,データを比較し, 不整合があれば読み込んだデータをユーザに返す前に訂正します。

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

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

  • すべての読み取り I/O で,データ一貫性チェックを行う必要がある。

  • シャドウセット・マージ操作により,I/O 帯域幅の競合が発生する。

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

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

  • SHAD$MERGE_DELAY_THRESHOLD は,マージ処理が絞り込まれるようになる I/O 時間のしきい値を指定します。 このしきい値は,システムが計測する,シャドウセット上の「理想の I/O 時間」に対する乗数として表されます。 デフォルト値は 200 で,1 倍と同じ意味です。 このパラメータには,0 ~ 20000 の値を設定できます。

  • SHAD$MERGE_DELAY_FACTOR は,I/O 遅延の長さを指定します。I/O 遅延時間は,現在のマージ I/O 時間からしきい値を引いて算出されます。 遅延係数は,遅延時間に対する除数として働きます。 デフォルト値は 200 で,除数 1 と同じ意味です。 このパラメータには,2 ~ 100000 の値を設定できます。

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

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

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

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

  • SHAD$MERGE_DELAY_THRESHOLD_DSAnnnn

  • SHAD$MERGE_DELAY_FACTOR_DSAnnnn

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

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

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

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

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

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

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

10.3.3 性能上の効果

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

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

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

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

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

コピー補助の性能改善

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

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

10.2 項 「安定状態での性能」 節と 10.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 パラメータの設定の他に,以下のリストでは, リソース使用量を制御するための一般的なガイドラインと, シャドウセットが遷移状態のときのシステム性能への影響について説明します。

  • システムの負荷が軽いときに,シャドウセットの作成やシャドウセットへのメンバの追加を行います。

  • コピー操作の際にシステムが転送できるデータ量は,システム内のディスクのタイプ,インターコネクト,コントローラ,シャドウセット内のメンバの数,そしてシャドウセットの構成によって異なります。 たとえば,1 つのコピー操作で,Ethernet や CI の処理能力の 5%~15% が使われます (普通に Ethernet や CI 環境で構成されたディスクの場合)。

  • 1 つのソース・メンバと 2 つのターゲット・デバイスで構成される, 補助なしの 3 メンバ・シャドウセットを作成する場合は,2 つのターゲット・デバイスを別々の 2 つのマウント・コマンドで追加するのではなく,1 つのマウント・コマンドで同時に追加します。 すべてのメンバを同時に追加すると,ソース・メンバからの 1 回の読み取りで,ターゲット・メンバへの書き込み入出力要求を並列に処理する 1 つのコピー・スレッドを開始することで,コピー操作を最適化できます。

  • インターコネクトが混在したサテライト・ノードやローカル・エリアの OpenVMS Cluster システムでは,システム・パラメータの SHADOW_MAX_COPY は,シャドウセット・メンバにローカル・ディスクがないノードでは,0 に設定してください。

  • すべてのノードがシャドウセットにアクセスする必要がある場合を除いて,MOUNT/CLUSTER コマンドを使ってすべてのシャドウセットをクラスタ全体にマウントしないでください。 代わりに,MOUNT/SYSTEM を使って特定のシャドウセットにアクセスする必要があるノードにだけ,そのシャドウセットをマウントしてください。 こうすることで,シャドウセットがマージ状態になる確率が減少します。 シャドウセットは,それをマウントしているノードに障害が発生したときだけマージ状態になるので,シャドウセットをマウントするノードの数を制限することでマージ状態になる確率を減らすことができます。 特に,シャドウセットにアクセスする必要がないノードには,マウントしないでください。

  • コピー操作は,シャドウセットをマウントしたノードでのみ発生するので,シャドウセット・メンバにローカルな (直接アクセスできる) ノードで,シャドウセットの作成やマウントを行ってください。 その結果コピー・スレッドはこれらのノードで実行されるようになり,使用するリソースが少ないため,コピー操作が速くなります。

  • MSCP サーバを経由してアクセスするノードにまたがって構成されたシャドウセットがある場合は,アプリケーション入出力の断片化を避けるために,MSCP_BUFFER システム・パラメータの値を増加させる必要があります。 各々の シャドウセットのコピー操作やマージ操作では,通常,127 個のバッファが使われることを覚えておいてください。

  • OpenVMS Cluster システムのデュアル・パスやデュアル・ポートのシャドウ化ディスクでは,シャドウ化ディスクに直接接続されているノードに比べて,広い範囲の障害に対応することができます。 この種の構成では,妥当な性能特性で,データ可用性を高めることができます。

  • デュアル・ポートのドライブでは,シャドウイング・ソフトウェアが補助付きコピー操作を実行できるようにするために,ドライブが同じコントローラを通じてアクセスされるように優先パス・オプションを使ってください。

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

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

表 10-1 RAID レベル

RAID レベル

説明

レベル 0

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

レベル 1

シャドウイング

レベル 0 + 1

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

レベル 3

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

レベル 5

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

レベル 6

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

 

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

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 2011 Hewlett-Packard Development Company, L.P.