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

HP OpenVMS: Volume Shadowing for OpenVMS 説明書

第4章 DCL コマンドによるシャドウセットの作成と管理

≫ 

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

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

目次

4.1 デバイスの割り当て
4.2 シャドウセットの作成
4.3 INITIALIZE/SHADOW/ERASE によるシャドウセットの構成の単純化 (Integrity および Alpha)
4.3.1 /ERASE を使う利点と副作用
4.3.2 INITIALIZE/SHADOW を使うための必要条件
4.3.3 INITIALIZE/SHADOW の例
4.4 シャドウイング用の MOUNT コマンド修飾子
4.4.1 シャドウイングに特有の MOUNT コマンド修飾子
4.4.2 シャドウイングで使われるその他の MOUNT コマンド修飾子
4.4.3 /NOASSIST でシャドウセットを作成する
4.4.4 /SYSTEM と /CLUSTER でシャドウセットを作成する
4.5 シャドウセット・メンバの追加
4.5.1 既存のシャドウセットへディスクを追加する
4.5.2 2 メンバのシャドウセットを作成し,3 番目のメンバを追加する
4.5.3 /CONFIRM でシャドウセット・メンバ候補のステータスを確認する
4.5.4 /NOCOPY でシャドウセット・メンバ候補のステータスをチェックする
4.6 クラスタ内の別のノードへのシャドウセットのマウント
4.6.1 /INCLUDE でシャドウセットを再構築する
4.6.2 以前のシャドウセット・メンバをシャドウ化しないディスクとしてマウントする
4.7 SET SHADOW によるシャドウセットの管理 (Integrity および Alpha)
4.7.1 マルチサイトの SET SHADOW および DISMOUNT コマンド修飾子の使用方法
4.8 コピー操作とマージ操作の管理 (Integrity および Alpha)
4.8.1 /DEMAND_MERGE による,マージ操作の開始
4.8.2 SHOW SHADOW 管理機能
4.9 マージ操作とコピー操作の優先順位付け
4.9.1 マージ操作とコピー操作のデフォルトの管理
4.9.2 過渡状態の操作の階層
4.9.3 優先順位の割り当て
4.9.4 優先順位値の表示
4.9.5 どのシステムがマージ操作やコピー操作を行うかを制御する
4.9.6 マージ操作の管理
4.9.7 コピー操作の管理
4.9.8 実行中の過渡状態の管理
4.10 メンバの削除とシャドウセットの解除
4.10.1 シャドウセットからのメンバの削除
4.10.2 シャドウセットの解除
4.10.3 サイト固有のシャットダウン・プロシージャ内でのシャドウセットのディスマウント
4.10.4 バックアップ用にメンバを 1 つ減らしてディスマウントと再マウントを行う
4.11 シャドウセットの情報の表示
4.11.1 シャドウセットの表示
4.11.2 シャドウセット・メンバの表示
4.11.3 SHOW DEVICE でのシャドウセット情報の表示例
4.11.4 ANALYZE/DISK/SHADOW による,シャドウセットの検査
4.11.5 SDA によるシャドウセット情報の表示
4.11.6 F$GETDVI によるシャドウセット情報の取得

この章では,対話型の DCL コマンドを使って,シャドウセットを作成, マウント,ディスマウント,そして解除する方法を説明します。 また,DCL コマンドの SET DEVICE を使って, マルチサイトの OpenVMS Cluster システムの複数のサイトに配置されたシャドウセット・メンバの管理属性を指定する方法も説明します。 さらに,DCL コマンドの SET DEVICE とレキシカル関数の F$GETDVI を使ってシャドウセットの状態に関する現在の情報にアクセスする方法も説明します。

Volume Shadowing for OpenVMS は,複数のディスク・ボリュームの同じ論理ブロック番号 (LBN) の位置に同じ情報を格納することで, データ可用性を改善しています。ボリューム・シャドウイング・ソフトウェアは, シャドウセット内のディスクをマウントしたりディスマウントするコマンドを受け取ると,データの違いを突き合わせ, 同じ LBN の位置に同じ情報が格納されるようにします。

データの突き合わせで使われるコピーやマージの操作を理解することが, この章の主題です。したがって,シャドウセット・メンバシップが変更された際に, Volume Shadowing for OpenVMS がデータ可用性と整合性を保証する方法を理解するには,第6章 「シャドウセットの整合性の保証」 を参照することをお勧めします。

4.1 デバイスの割り当て

別のユーザによるデバイスのマウントとの競合を防ぐために, MOUNT コマンドを入力する前に,デバイスの割り当てを行うことができます。 デバイスの割り当てを解除するか,プロセスを停止させるまで, プロセスが物理デバイスに排他的にアクセスできるようにするために, DCL コマンドの ALLOCATE を使ってください。 また,デバイスに論理名を対応させることもできます。 ALLOCATE コマンドの形式は次のとおりです。

ALLOCATE device-name[:] logical-name[:]

4.2 シャドウセットの作成

シャドウセットを作成するには,シャドウセットに最低 1 台の物理ディスクをマウントし,そのセットに仮想ユニット名を割り当てるために, 例 4-1 「シャドウセットの作成」 に示すように MOUNT コマンドに /SHADOW 修飾子をつけて実行する必要があります。

例 4-1 シャドウセットの作成

$  MOUNT DSA23:/SHADOW=$4$DUA9:volume-label logical-name

この例では,仮想ユニット DSA23 で表現され, 1 つのシャドウセット・メンバ $4$DUA9 を含むシャドウセットを構成しています。 シャドウセットを作成するには,次の規則を守らなければなりません。

  • シャドウセット仮想ユニットの指定では,DSAn: 形式を使います。 ここで,n は 0~9999の一意の番号です。 DSA のプレフィックスの後に数字をつけなかった場合, MOUNT は自動的に使用可能な最大のユニット番号を割り当てます。 番号の割り当ては 9999 から始まり,0 まで減っていきます。 つまり,最初にマウントされる仮想ユニットの番号は 9999 になり, 次のユニットの番号は,9998,のようになっていきます。

  • 各々の仮想ユニットの番号は,そのユニットがパブリック・アクセスのためにマウントされていても (/SYSTEM 修飾子をつけてマウント), プライベート・アクセスのためにマウントされていても, システム全体で一意でなければなりません。仮想ユニットには, 収容しているコントローラとは独立に名前が付けられます。

  • /SHADOW 修飾子は,物理デバイスを指定するときに必要です。 /SHADOW 修飾子には,パラメータとして最低 1 台の物理デバイスを指定する必要があります。1 メンバのシャドウセットでも有効ですが, シャドウイング・ソフトウェアでデータを多重化するためには, 1 台か 2 台のディスクを追加する必要があります。 既存のシャドウセットにディスクを追加する方法は, 4.5 項 「シャドウセット・メンバの追加」 で説明しています。

  • シャドウセット内の各々の物理デバイスには,0 以外の割り当てクラスを使う必要があります。 $allocation-class$ddcu という形式の割り当てクラス命名形式を使ってください。 各構成要素の意味は次のとおりです。

    • allocation-class は,1~255 の数値です。

    • dd は,物理デバイスのデバイス・タイプを示します (たとえば,DU,DK,またはDG です)。

    • c は,A~Zの英字でコントローラの割り当てを示します。 名前の ddc の部分はに 3 文字以上使用できないことに注意してください。 この要件を満たさないとシャドウセットのマウントに失敗します。

    • u は,デバイスのユニット番号です。

    割り当てクラスの詳細は,『OpenVMS Cluster システム』を参照してください。

  • 仮想ユニットには,1~12文字のボリューム・ラベルを指定します。

  • オプションとして,シャドウセットには,1~255 文字の英数字の論理名文字列が指定できます。

また,/SYSTEM,/GROUP,/CLUSTER を指定して,シャドウイングを有効にしている,システムのすべてのユーザ,グループのすべてのメンバ,クラスタのすべてのノードで,シャドウセットを使えるようにすることができます。

3 メンバのシャドウセットを作成するために,既存の 1 メンバのシャドウセットに対し,1 回の MOUNT コマンドで 2 つのメンバを追加することができます。 この方法では,2 つのメンバが同時にコピーされるので, 入出力操作が最適化されます (4.4.4 項 「/SYSTEM と /CLUSTER でシャドウセットを作成する」 の例を参照)。

4.3 項 「INITIALIZE/SHADOW/ERASE によるシャドウセットの構成の単純化 (Integrity および Alpha)」 に示すように, INITIALIZE/SHADOW/ERASE を使って, 複数のデバイスを 1 つのコマンドで初期化することにより, シャドウセットの作成プロセスを単純化することもできます。

ボリューム・シャドウイング・ソフトウェアは,シャドウセットを作成するコマンドを受け取ると,データの違いを無くすために, コピー操作やマージ操作を実行します。 ディスクをマウントするときに, どのディスクがコピー操作のターゲットになるか不明な場合は, 重要なデータが書き換えられる前に警告を受け取るために, /CONFIRM または /NOCOPY の修飾子を指定することができます。 これら,およびその他の MOUNT コマンドの修飾子については,4.4 項 「シャドウイング用の MOUNT コマンド修飾子」 で説明します。

4.3 INITIALIZE/SHADOW/ERASE によるシャドウセットの構成の単純化 (Integrity および Alpha)

OpenVMS Integrity および OpenVMS Alpha システムでは,シャドウセットとして構成する予定の複数のメンバを初期化するために,/SHADOW および /ERASE のコマンド修飾子をつけた DCL コマンドの INITIALIZE を使うことができます。 この方法で複数のメンバを初期化すると, 後でシャドウセットを作成するときに,全体をコピーする必要がなくなります。

/SHADOW および /ERASE の修飾子をつけた INITIALIZE コマンドは, 以下の操作を実行します。

  • 1 コマンドで最大 6 台のデバイスを初期化し,そのうち任意の 3 台を,続けて, 新しいホストベースのシャドウセットのメンバとしてマウントできます。

  • 各々のボリュームにラベルを作成します。

  • システム・ファイル以外のすべての情報をデバイスから削除し, 各々のデバイスには同一のファイル構造情報を残します。

    ディスクの以前の内容はすべて失われます。

このように初期化したデバイスは, 新しいホストベースのシャドウセットのメンバとして 3 台までマウントできます。

4.3.1 /ERASE を使う利点と副作用

弊社では,/ERASE 修飾子を使うことをお勧めします。 /ERASE 修飾子を使用すると,その後のマージ操作が著しく少なくなります。

/ERASE 修飾子を省略すると, ボリューム内のファイル・システム・データ構造を持たない部分には, 不確定なデータが格納された状態になります。 このデータはシャドウセット・メンバごとに異なります。 シャドウセット・メンバ間ですべての LBN を比較するユーティリティを使う場合には,これを念頭に置いてください。 なお,これはディスク・データの破損ではありません。 詳細は「ANALYZE/DISK/SHADOW による,シャドウセットの検査」を参照してください。

全体のマージ操作が次に必要になった場合,不確定なデータが存在しているため, INITIALIZE/SHADOW/ERASE コマンドを使った場合に比べると, マージにはるかに多くの時間がかかります。 この全体のマージが完了すると,LBN は同じデータを持つようになり, SCB (ストレージ制御ブロック) からは INITIALIZE/SHADOW コマンドで /ERASE 修飾子が省略されていたことを示す情報がなくなります。

ただし,/ERASE 修飾子を使うことにより, ERASE ボリューム属性が設定されることに注意してください。 つまり,ボリューム内の各ファイルは,削除と同時に実際に消去されます。 また,通常,INITIALIZE/ERASE 操作は, INITIALIZE/NOERASE 操作よりも時間がかかります。 ディスクは順番に消去されます。 これにより,コマンドの完了に 2 倍から 3 倍の時間がかかります。 ディスクが大きい場合は,複数の INITIALIZE/ERASE コマンドを同時に実行して (/SHADOW 修飾子を使用) ディスクを消去することを検討してください。 コマンドがすべて完了したら,/ERASE 修飾子を指定して INITIALIZE/SHADOW コマンドを実行します。

ERASE ボリューム属性は, SET VOLUME/NOERASE_ON_DELETE コマンドの実行で設定解除できます。

DCL コマンドと修飾子に関する詳細は, 『OpenVMS DCL ディクショナリ』を参照してください。

4.3.2 INITIALIZE/SHADOW を使うための必要条件

OpenVMS Alpha バージョン 7.3–2 からは,シャドウセット・メンバを異なるサイズにすることができます。 つまり,シャドウセット・メンバの Total Blocks の値を,0 以外の,異なる値とすることができます。 異なるサイズのデバイスが INITIALIZE コマンドに指定され,/SIZE,/LIMIT,またはその両方を省略した場合,これらの修飾子のデフォルト値が有効になります。 /SIZE (デバイスの論理ボリューム・サイズ) のデフォルト値は,最小のメンバの MAXBLOCK 値です。 /LIMIT (将来の拡張用) のデフォルト値は,最大のメンバの MAXBLOCK 値です。 この値を使用して,拡張限界値が算出されます。

Total Blocks の値は, SHOW DEVICE/FULL コマンドを入力して確認できます。 デバイスがこのシステムにマウントされたことがなく,初期化もされていない場合は, このデバイスに対する SHOW DEVICE/FULL コマンドでは, Total Blocks の値として何も表示されません。 この状態を修復するためには,デバイスをマウントしてディスマウントするか, デバイスの初期化を行います。 このようにすると,SHOW DEVICE/FULL で Total Blocks の値が表示されます。

INITIALIZE/SHADOW を使うためには,VOLPRO 特権が必要です。

INITIALIZE/SHADOW コマンドは,既存の シャドウセットに追加するディスクを初期化する際には使わないでください。 そのようにしても,効果が何も得られないからです。

このコマンド形式は,次のとおりです。

INITIALIZE/SHADOW=(device_name1, device_name2, device_name3) label

4.3.3 INITIALIZE/SHADOW の例

次の例では,このコマンドの 正しい 使い方を示しています。 このコマンドでは複数のデバイスを同一行で指定していることに注意してください。

$ INITIALIZE /ERASE /SHADOW=($4$DKA1300, $4$DKA1301) NONVOLATILE
$ MOUNT/SYS DSA42 /SHAD=( $4$DKA1300 , $4$DKA1301 ) NONVOLATILE
%MOUNT-I-MOUNTED, NONVOLATILE MOUNTED ON _DSA42:
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1300: (WILD3) IS NOW A VALID MEMBER OF THE SHADOW SET
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1301: (WILD4) IS NOW A VALID MEMBER OF THE SHADOW SET
$ SHO DEV DSA42:

DEVICE               DEVICE           ERROR    VOLUME         FREE  TRANS MNT
 NAME                STATUS           COUNT     LABEL        BLOCKS COUNT CNT
DSA42:               MOUNTED              0  NONVOLATILE    5799600     1   1
$4$DKA1300: (WILD3)  SHADOWSETMEMBER      0  (MEMBER OF DSA42:)
$4$DKA1301: (WILD4)  SHADOWSETMEMBER      0  (MEMBER OF DSA42:)

次の例では,このコマンドの 正しくない 使い方を示しています。 各々のデバイスを初期化するのに,別々のコマンドを指定しないようにしてください。

$ INITIALIZE /ERASE /SHADOW=  $4$DKA1300 NONVOLATILE
$ INITIALIZE /ERASE /SHADOW=  $4$DKA1301 NONVOLATILE

$ MOUNT/SYS DSA42 /SHAD=( $4$DKA1300 , $4$DKA1301 ) NONVOLATILE
%MOUNT-I-MOUNTED, NONVOLATILE MOUNTED ON _DSA42:
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1300: (WILD3) IS NOW A VALID MEMBER OF THE SHADOW SET
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1301: (WILD4) IS NOW A VALID MEMBER OF THE SHADOW SET
$ SHO DEV DSA42:

DEVICE               DEVICE           ERROR    VOLUME         FREE  TRANS MNT
 NAME                STATUS           COUNT     LABEL        BLOCKS COUNT CNT
DSA42:               MOUNTED              0  NONVOLATILE    5799600     1   1
$4$DKA1300:    (WILD3)  ShadowSetMember      0  (member of DSA42:)
$4$DKA1301:    (WILD4)  ShadowCopying        0  (copy trgt DSA42:   0% copied)

4.4 シャドウイング用の MOUNT コマンド修飾子

この節では,シャドウセットの管理に便利な MOUNT コマンド修飾子を簡単に説明します。 DCL コマンドについての詳細は,『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』 を参照してください。

新しくシャドウセットを作成したり, 既存シャドウセットにメンバを追加するときには, /SHADOW 修飾子を使う必要があります。 また,表 4-1 「MOUNT コマンドの修飾子 (シャドウイング固有)」表 4-2 「MOUNT コマンドのその他の修飾子(シャドウイングに特有ではない)」 のオプションの修飾子も使うことができます。 これらの修飾子を使うためには,VOLPRO および OPER の特権を持つか, ユーザの UIC (ユーザ識別コード) が, マウントするボリュームの所有者 UIC と一致している必要があります。 システム全体にシャドウセットをマウントするためには,SYSNAM 特権も必要です。 また,MOUNT/POLICY=[NO]MINICOPY[=OPTIONAL] コマンドには,LOG_IO 特権が必要です。

これらの修飾子の使い方の詳しい例と説明は, 4.5 項 「シャドウセット・メンバの追加」 にあります。 表 4-1 「MOUNT コマンドの修飾子 (シャドウイング固有)」 で説明したシャドウイング用修飾子の他に, 表 4-2 「MOUNT コマンドのその他の修飾子(シャドウイングに特有ではない)」4.4.2 項 「シャドウイングで使われるその他の MOUNT コマンド修飾子」 で説明するように,シャドウセットをマウントするときには,/NOASSIST,/SYSTEM,/GROUP,および /CLUSTER の修飾子も良く使われます。

4.4.1 シャドウイングに特有の MOUNT コマンド修飾子

シャドウイングに特有の,MOUNT コマンドの修飾子を,表 4-1 「MOUNT コマンドの修飾子 (シャドウイング固有)」 に示します。

表 4-1 MOUNT コマンドの修飾子 (シャドウイング固有)

修飾子

機能

/[NO]CONFIRM

シャドウセットをマウントするときに, マウント・ユーティリティがコピー操作の確認を要求するかどうかを制御します。 デフォルトは,/NOCONFIRM です。

/[NO]COPY

物理デバイスをシャドウセットにマウントもしくは追加するときに,コピー操作を有効にするか,無効にするかを指定します。 デフォルトは,/COPY です。

/[NO]INCLUDE

シャドウセットが解除される前の状態に, 自動的にマウントして戻します。デフォルトは,/NOINCLUDE です。

/OVERRIDE=NO_FORCED_ERROR

デバイスやコントローラが強制エラー処理をサポートしていなくても,マウント・ユーティリティがシャドウイングで動作するように指示します。 サポートされていない SCSI ディスクを使うと,訂正できないエラー条件が発生した場合に, メンバがシャドウセットから削除されることがあります。 SCSI ディスクによっては,ディスクの不良ブロックの修復をサポートする, READL コマンドと WRITEL コマンドを実装していないものがあるからです。 SCSI デバイスが READL コマンドと WRITEL コマンドをサポートしていない場合,SCSI ディスク・クラスのドライバは,System Dump Analyzer の表示に NOFE (no forced error) のビットを設定します。 詳細は,4.11.5.1 項 「SDA による他社製 SCSI デバイスの情報取得」 を参照してください。

/OVERRIDE=SHADOW_MEMBERSHIP

以前のシャドウセット・メンバをマウントし,そのディスクがシャドウセットのメンバだったことを示さないように,そのディスクのシャドウセット世代番号を 0 にします。

/POLICY=[NO]MINICOPY[=OPTIONAL]

シャドウイング・ミニコピー機能の設定と使い方を制御します。 この修飾子には,LOG_IO 特権が必要です。

[NO]MINICOPY[=OPTIONAL] の意味はシャドウセットのステータスに依存します。 シャドウセットがマウントされていない場合, スタンドアロン・システムとクラスタ・メンバのいずれであっても, MINICOPY=OPTIONAL が指定されると,シャドウセットがマウントされ, 書き込みビットマップが作成されます (書き込みビットマップがあると, シャドウイング・ミニコピー操作が有効になります)。 シャドウイング・ミニコピー操作を有効にするためには, スタンドアロン・システムとクラスタのいずれであっても, シャドウセットの初期マウントで,MOUNT/POLICY=MINICOPY[=OPTIONAL] を指定する必要があります。

OPTIONAL キーワードを指定すると,システムが書き込みビットマップを開始できない場合でも,マウント作業が継続されます。 不適切にディスマウントされたシャドウセット,マージ操作が必要なシャドウセット, またはさまざまなリソースの問題で書き込みビットマップが正しく開始されないことがあります。 OPTIONAL キーワードが省略されていると,システムが書き込みビットマップを開始できない場合には,シャドウセットはマウントされません。

シャドウセットがクラスタ内の別のノードにより,この修飾子とキーワードなしで既にマウントされていたときには, /POLICY=MINICOPY=OPTIONAL を指定した場合,MOUNT コマンドは成功しますが,書き込みビットマップは作成されません。

NOMINICOPY を指定すると,シャドウセットはマウントされますが, 書き込みビットマップは作成されません。

シャドウセットの以前のメンバを,ミニコピーが有効になっているシャドウセットに戻す場合,フルコピーの代わりにミニコピーが開始されます。 これがデフォルトの動作であり,/POLICY=MINICOPY[=OPTIONAL] を省略していても同じです。 ミニコピーが正常に開始され,何らかの理由で失敗した場合は,フルコピーが行われます。

ミニコピーが開始できない場合に,OPTIONAL キーワードが省略されていると, マウントは失敗します。

NOMINICOPY が指定されていると,ミニコピーは,実行できる状況でも, 実行されません。

/POLICY=REQUIRE_MEMBERS

MOUNT コマンドが成功するためには, MOUNT コマンドが実行されたときに,/SHADOW 修飾子で指定されたすべての物理デバイスが,アクセス可能である必要があるかどうかを制御します。 指定するメンバはコマンド行で指定することも /INCLUDE 修飾子を指定してディスク内で見つけさせることもできます。 この修飾子を指定しないと, 接続障害などの何らかの理由で 1 つ以上のメンバがアクセスできない場合に, アクセス可能なメンバの仮想ユニットが作成されます。 このオプションでは,イベントが発生した後に適切なメンバシップが確実に選択されるため, ディザスタ・トレラント・クラスタを復旧する際に特に便利です。

/POLICY=VERIFY_LABEL

シャドウセットに追加するメンバが, SCRATCH_DISK というボリューム・ラベルを持っている必要があることを指定します。

これは間違ったディスクが不注意でシャドウセットに追加されないようにするものです。 VERIFY_LABEL を使う場合,この修飾子を使う前に, セットに追加するディスクを SCRATCH_DISK というラベルで初期化するか, SET VOLUME/LABEL コマンドでディスクにラベルを書き込むかのいずれかを行う必要があります。

デフォルトの動作は,NOVERIFY_LABEL であり,これは, コピーのターゲットのボリューム・ラベルがチェックされないことを意味します。 これはこの修飾子が導入される前の動作と同じです。

/SHADOW=
(physical-device-name[:][,...])

マウント・ユーティリティに対し,このコマンドで指定する仮想ユニット名で 示されるシャドウセットに,指定した物理デバイスを追加することを, 指示します。

 

注意:

シャドウセットをマウントするときは,/OVERRIDE=IDENTIFICATION や /NOMOUNT_VERIFICATION の修飾子は使わないでください。 これらの修飾子を使うと,データが失われることがあります。

/OVERRIDE=IDENTIFICATION 修飾子を使ってシャドウセットをマウントすると,個々のシャドウセット・メンバが異なるボリューム・ラベルでマウントされ,それがデータが失われる原因になります。

/NOMOUNT_VERIFICATION 修飾子を指定すると,シャドウセットは初めてステータス変更が起きた時点で使えなくなります。

4.4.2 シャドウイングで使われるその他の MOUNT コマンド修飾子

この節で説明する MOUNT コマンド修飾子は,シャドウイングに特有のものではありませんが,シャドウセットを作成するときに,非常に役に立ちます。 これらの修飾子は,以下の 表 4-2 「MOUNT コマンドのその他の修飾子(シャドウイングに特有ではない)」 と例で説明します。

表 4-2 MOUNT コマンドのその他の修飾子(シャドウイングに特有ではない)

修飾子

機能

/NOASSIST

MOUNT コマンドで指定するデバイスの少なくとも 1 つがマウント可能ならば,シャドウセットのマウントを成功させます。 この修飾子を使わないと, マウントを指定したデバイスのうちの 1 つがマウント可能ではない場合, シャドウセットがマウント されなくなります

/SYSTEM

システム上のすべてのユーザがボリュームを使えるようにします。 この修飾子は既存のシャドウセットにディスクを追加するときに使います。 このシャドウセットが作成されたときに /CLUSTER 修飾子が使われていた場合は,/SYSTEM を使うことでシャドウセットの新しいメンバは,既にシャドウセットをマウントしているクラスタ内のすべてのノードで使うことが可能になります。

/GROUP

UIC のグループ番号が,MOUNT コマンドを実行したユーザと同じすべてのユーザが,このボリュームを使えるようにします。 グループ・ボリュームとシステム・ボリュームのマウントには,GRPNAM と SYSNAM のユーザ特権が必要です。

/CLUSTER

シャドウイングが有効になっているクラスタ内のすべてのノードに, 自動的に仮想ユニットを作成します。この修飾子はシャドウセットがクラスタにまたがってアクセスされる場合に使ってください。 この修飾子を使うためには,SYSNAM 特権が必要です。 /CLUSTER を使うと,/SYSTEM 修飾子が自動的に使われ, システムのすべてのユーザがシャドウセットを使えるようになります。

 

4.4.3 /NOASSIST でシャドウセットを作成する

MOUNT コマンドで /NOASSIST 修飾子を使うと有効な場合があります。 たとえば,起動ファイルで MOUNT/NOASSIST コマンドを使うと, このコマンドで指定したデバイスが使えないときに MOUNT コマンドが失敗するのを避けることができます。起動時にはオペレータが介入できないため, /NOASSIST 修飾子を起動ファイルで使うことができます。

MOUNT/NOASSIST 修飾子では, MOUNT コマンドで指定するデバイスの少なくとも 1 つがマウント可能であれば, シャドウセットのマウントが成功します。例 4-2 「/NOASSIST 修飾子を使う」 には, /NOASSIST 修飾子の例と,コマンドで指定したメンバの 1 つがマウント不可能だった場合のメッセージを示します。

例 4-2 /NOASSIST 修飾子を使う

$ MOUNT/SYS DSA65:/SHADOW=($4$DIA6,$4$DIA5) GALEXY/NOASSIST
%MOUNT-I-MOUNTED, GALEXY mounted on _DSA65:
%MOUNT-I-SHDWMEMSUCC, _$4$DIA6: (READY) is now a valid member of the shadowset
%MOUNT-I-SHDWMEMFAIL, $4$DIA5 failed as a member of the shadow set
-SYSTEM-F-VOLINV, volume is not software enabled

デバイス $4$DIA5 はマウント不可能ですが,MOUNT コマンドは $4$DIA6 を唯一のメンバとするシャドウセットを作成しています。 このコマンドに /NOASSIST 修飾子がなかった場合,MOUNT コマンドはシャドウセットをマウントしません。

4.4.4 /SYSTEM と /CLUSTER でシャドウセットを作成する

シャドウセットを作成するときに,単一システムまたはクラスタのすべてのユーザがアクセスできるようにするためには,/SYSTEM 修飾子か /CLUSTER 修飾子,もしくは両方 (表 4-2 「MOUNT コマンドのその他の修飾子(シャドウイングに特有ではない)」 参照) を指定する必要があります。

例 4-3 「/CLUSTER 修飾子を使う」 では,(仮想ユニット名 DSA2 で指定される) シャドウセットが現在マウントされていないときに,最初のコマンドで 1 シャドウセット・メンバのシャドウセットを作成し, 2 番目のコマンドで 同じ シャドウセットに 2 つのメンバを 追加しています。 シャドウセット・メンバの追加で自動的にコピー操作が行われ,2 番目と 3 番目のボリュームのデータは,書き換えられます。

2 番目の MOUNT のコマンドでは,シャドウセットに $6$DIA5 と $6$DIA6 のデバイスを追加するときに,/SYSTEM だけを指定する必要があります。 /CLUSTER は使わないでください。これらのディスクはシャドウセットが現在持っているステータスと同じステータスで追加されるため, この場合はクラスタ単位でのアクセスになります。

例 4-3 /CLUSTER 修飾子を使う

$ MOUNT DSA2: /CLUSTER /SHADOW=$6$DIA4: PEAKSISLAND DISK$PEAKSISLAND
$ MOUNT DSA2: /SYSTEM/SHADOW=($6$DIA5:,$6$DIA6:) PEAKSISLAND DISK$PEAKSISLAND

4.5 シャドウセット・メンバの追加

シャドウセットが作成されると,物理ディスク・デバイスをマウントしたり,ディスマウントして,個々のメンバの追加や削除ができます。 シャドウイング・ソフトウェアを使えば,シャドウセット・メンバの追加削除は任意の時点で可能で,システムで実行されているユーザ・プロセスやアプリケーションに影響を与えません。

4.5.1 既存のシャドウセットへディスクを追加する

次のコマンド例は,DSA23 シャドウセットにディスク $4$DUA3 を追加する方法を示しています。

$ MOUNT/CONFIRM/SYSTEM DSA23: /SHADOW=($4$DUA9,$4$DUA3) volume-label

このコマンドでは,現在アクティブなシャドウセット・メンバ ($4$DUA9) と新しいメンバ ($4$DUA3) の両方を指定しています。 現在アクティブなシャドウセット・メンバは, 追加物理デバイスをマウントするときには指定する必要はありませんが,指定してもメンバシップのステータスには影響を与えません。

OpenVMS Cluster システムにまたがってマウントされている既存のシャドウセット・メンバにボリュームを追加する場合は, シャドウイング・ソフトウェアが新しいメンバを OpenVMS Cluster の各ノードに自動的に追加することに注意してください。

4.5.2 2 メンバのシャドウセットを作成し,3 番目のメンバを追加する

例 4-4 「シャドウセットを作成し,3 番目のメンバを追加する」 に,1 番目のコマンドで 2 メンバのシャドウセットを作成する方法と,2 番目のコマンドでシャドウセットに他のメンバを追加する方法を示します。

例 4-4 シャドウセットを作成し,3 番目のメンバを追加する

$ MOUNT/SYSTEM DSA4: /SHADOW = ($3$DIA7:, $3$DIA8:) FORMERSELF
%MOUNT-I-MOUNTED, FORMERSELF   mounted on DSA4:
%MOUNT-I-SHDWMEMSUCC, _$3$DIA7: (DISK300) is now a valid member of
                      the shadow set
%MOUNT-I-SHDWMEMSUCC, _$3$DIA8: (DISK301) is now a valid member of
                      the shadow set

$ MOUNT/SYSTEM DSA4: /SHADOW = $3$DIA6:  FORMERSELF
%MOUNT-I-SHDWMEMCOPY, _$3$DIA6: (DISK302) added to the shadow set
                      with a copy operation

この例では,1 番目のコマンドが,仮想ユニット名 DSA4 のシャドウセットを作成します。 メンバ・ディスクは,$3$DIA7 と $3$DIA8 です。 2 番目のコマンドは,ディスク $3$DIA6 をマウントし,シャドウセット DSA4 に追加します。 シャドウセットのメンバは,3 つ ($3$DIA6,$3$DIA7,および $3$DIA8) になります。 この例では,既存のシャドウセットに $3$DIA6 を追加したときに,その追加ボリュームが,コピー操作のターゲットになります。

4.5.3 /CONFIRM でシャドウセット・メンバ候補のステータスを確認する

既存のシャドウセットにディスクを追加すると,必ずコピー操作が行われます。 /CONFIRM 修飾子または /NOCOPY 修飾子を指定しないかぎり, ボリューム・シャドウイングはコピー操作を自動的に行います。 /CONFIRM 修飾子を指定すると,例 4-5 「/CONFIRM 修飾子を使う」 に示すように, MOUNT コマンドはコピー操作を行う前に,操作のターゲットを表示し許可を求めます。 この予防策で重要なデータを消去することが防げます。 コピー操作の詳細は,第6章 「シャドウセットの整合性の保証」 を参照してください。

例 4-5 /CONFIRM 修飾子を使う

$ MOUNT/CONFIRM DSA23: /SHADOW=($1$DUA4:,$1$DUA6:) SHADOWVOL 
%MOUNT-F-SHDWCOPYREQ, shadow copy required
Virtual Unit - DSA23 Volume Label - SHADOWVOL
 Member                    Volume Label Owner UIC 
 $1$DUA6: (LOVE)           SCRATCH      [100,100]
Allow FULL shadow copy on the above member(s)? [N]: NO 
$ 

このコマンドでは,指定したデバイスでシャドウセットを構築することと, コピー操作を実行するための許可を得るためのプロンプトを出力することを MOUNT に指示しています。

コピー操作が必要なので,仮想ユニット名とボリューム・ラベルが表示されます。

表示には,コピー操作が必要になるシャドウセット・メンバ候補の物理デバイス名, ボリューム・ラベル,およびボリューム所有者も含まれます。

No と応答すると,マウントもコピーもしないで,MOUNT が終了します。

4.5.4 /NOCOPY でシャドウセット・メンバ候補のステータスをチェックする

複数のディスクを指定すると, シャドウセット・メンバが互いに矛盾しないようにするため, シャドウイング・ソフトウェアは自動的に正しいコピー操作を決定します (詳細は,6.2 項 「コピー操作」 を参照)。 マウント・ユーティリティは各々のメンバに記録されている情報を解釈し, メンバに,コピーが必要か,マージが必要か, あるいはコピー操作は一切不要かを判断します。 どのディスクがコピー操作のターゲットになるか不明の場合は, ディスクをマウントするときに重要なデータが書き換えられないように予防するために, /CONFIRM 修飾子または /NOCOPY 修飾子を指定することができます。 /NOCOPY 修飾子を指定すると,コピー操作が無効になります。

例 4-6 「/NOCOPY 修飾子を使う」 は,データが消去される前にシャドウセット・メンバ候補のステータスをチェックするために, /NOCOPY 修飾子を使う方法を示しています。

例 4-6 /NOCOPY 修飾子を使う

$ MOUNT/NOCOPY DSA2: /SHADOW=($1$DUA4:,$1$DUA6:,$1$DUA7:) -
_$ SHADOWVOL DISK$SHADOWVOL 
%MOUNT-F-SHDWCOPYREQ, shadow copy required
%MOUNT-I-SHDWMEMFAIL, DUA7: failed as a member of the shadow set
%MOUNT-F-SHDWCOPYREQ, shadow copy required 
$ MOUNT/COPY DSA2: /SHADOW=($1$DUA4:,$1$DUA6:,$1$DUA7:) -
_$ SHADOWVOL DISK$SHADOWVOL 
%MOUNT-I-MOUNTED, SHADOWVOL    mounted on _DSA2: 
%MOUNT-I-SHDWMEMSUCC, _$1$DUA4: (VOLUME001) is now a valid member of
                      the shadow set
%MOUNT-I-SHDWMEMSUCC, _$1$DUA6: (VOLUME002) is now a valid member of
                      the shadow set
%MOUNT-I-SHDWMEMCOPY, _$1$DUA7: (VOLUME003) added to the shadow set
                      with a copy operation 

この例の 1 番目のコマンドは,指定したデバイスで,コピーやマージが不要の場合にだけ,シャドウセットを構築するように MOUNT に指示しています。

この例では,デバイス $1$DUA7 にロードされている指定したディスクがコピー操作を必要としているため,MOUNT はシャドウセットを構築しませんでした。 この段階で,デバイス $1$DUA7 が有用なデータを含んでいないことが確認できます。

デバイスが重要なデータを持っていない場合,この例のように,再び MOUNT コマンドを入力し,/COPY 修飾子を指定します。 このコマンドはシャドウセットをマウントすることと必要なコピーかマージを実行するように MOUNT に指示しています。

結果として得られた MOUNT ステータス・メッセージにより,シャドウセットが正常にマウントされたことが分かります。 $1$DUA7 デバイスは, 現在コピー操作のターゲットになっています。コピー操作が完了すると, このデバイスは完全なシャドウセット・メンバになります。

4.6 クラスタ内の別のノードへのシャドウセットのマウント

シャドウセットが OpenVMS Cluster システムのノードで既にマウントされている場合,クラスタ内の別のノードに, このシャドウセットをマウントするときは /SHADOW 修飾子は不要です。 たとえば,DSA42 がクラスタ内で既にマウントされていれば, 新しいノードをクラスタに追加する際に, この新しいノードに DSA42 をマウントするには,次のコマンドを使います。

$ MOUNT/SYS DSA42: volume-label logical-name

このコマンドを受け取ると,ボリューム・シャドウイング・ソフトウェアは,クラスタ内の他のノードに存在するのと同じメンバ構成で,新しいノードにシャドウセットを作成します。

4.6.1 /INCLUDE でシャドウセットを再構築する

例 4-7 「/INCLUDE でシャドウセットを再構築する」 はシャドウセットを再構築する方法を示しています。ボリューム・シャドウイング・ソフトウェアは, 以前にどのディスク・ボリュームがシャドウセットのメンバだったかを調べます。

例 4-7 /INCLUDE でシャドウセットを再構築する

$ MOUNT /SYSTEM DSA4/SHAD=($4$DIA1,$4$DIA2,$4$DIA3) NEWDISK
%MOUNT-I-MOUNTED, NEWDISK   mounted on _DSA4:
%MOUNT-I-SHDWMEMSUCC, _$4$DIA1: (DISK01) is now a valid member 
                          of the shadow set
%MOUNT-I-SHDWMEMCOPY, _$4$DIA2: (DISK02) added to the shadow set 
                          with a copy operation
%MOUNT-I-SHDWMEMCOPY, _$4$DIA3: (DISK03) added to the shadow set 
                          with a copy operation
$ DISMOUNT DSA4
$ 
$ MOUNT DSA4:/SYSTEM/SHAD=$4$DIA1 NEWDISK/INCLUDE
%MOUNT-I-MOUNTED, NEWDISK   mounted on _DSA4:
%MOUNT-I-SHDWMEMSUCC, _$4$DIA1: (DISK01) is now a valid member of the shadow set
%MOUNT-I-AUTOMEMCOPY, _$4$DIA2: (DISK02) automatically added to the shadow set
%MOUNT-I-AUTOMEMCOPY, _$4$DIA3: (DISK03) automatically added to the shadow set

この例の 1 番目のコマンドは,DSA4 で表されるシャドウセットを作成します。 このシャドウセットは 3 つのシャドウセット・メンバ, $4$DIA1,$4$DIA2,$4$DIA3 で構成されています。

すべてのコピー操作が完了した後, DISMOUNT コマンドでシャドウセットを解除します。

2 番目の MOUNT コマンドの /INCLUDE 修飾子によって,MOUNT コマンドに,シャドウセットが解除される前と同じ状態でシャドウセットを再構築することを指示します。 MOUNT コマンドには,オリジナルの仮想ユニット名 (DSA4) と, 少なくとも 1 つのオリジナルのシャドウセット・メンバ ($4$DIA1) を指定する必要があります。 マウント・ユーティリティは,(1 番目の MOUNT コマンドで指定された) $4$DIA1 のメンバシップ・リストを読み取り,$4$DIA2 と $4$DIA3 もシャドウセットのメンバであると判断します。

シャドウセットは正しくディスマウントされていたので, シャドウセット・メンバは矛盾のない状態になっています。 MOUNT ステータス・メッセージは,コピー操作を行うことなく, シャドウセット・デバイスがシャドウセットに戻されたことを示しています。

4.6.2 以前のシャドウセット・メンバをシャドウ化しないディスクとしてマウントする

物理的なシャドウセット・メンバを, シャドウ化しないディスクとしてマウントする必要が生じることがあります。 シャドウセット・メンバをシャドウセットではないところにマウントする場合は, デフォルトでは,マウント・ユーティリティはそのディスクを書き込み保護にします。 これにより,不注意な変更を防ぐことができ, 後でシャドウセットに再度マウントすることが可能になります。

このデフォルトの動作を変更するには,次に示すように,MOUNT コマンドに /OVERRIDE=SHADOW_MEMBERSHIP 修飾子を指定します。

$ MOUNT/OVERRIDE=SHADOW_MEMBERSHIP $4$DUA20: WORKDISK

このコマンドは,シャドウセット・メンバシップのステータスを無視し, 以前のシャドウセット・メンバを書き込みアクセス可能なシャドウ化しないディスクとして $4$DUA20 にマウントします。

4.7 SET SHADOW によるシャドウセットの管理 (Integrity および Alpha)

OpenVMS Alpha Version 7.3 で,異なるサイトにあるシャドウセット・メンバの管理属性を追加するための修飾子が DCL コマンド SET SHADOW に追加されています。 これらの修飾子は,OpenVMS Integrity でもサポートされます。 OpenVMS Version 8.2 では,単一サイトあるいは複数サイトでのコピーおよびマージ操作を管理するための修飾子が SET SHADOW に追加されています。 OpenVMS Version 8.3 では,各シャドウセットで持っているシャドウイング用のカウンタをリセットするための /RESET 修飾子が追加されています。 OpenVMS Version 8.4 では,マルチユース・ビットマップのためのキーワードとパラメータがいくつか追加されています。 表 4-3 「SET SHADOW コマンドの修飾子」 で説明している SET SHADOW 修飾子の多くは,個々のシャドウセット・メンバあるいはシャドウセット全体に適用できます。

これらの修飾子を使用することにより,複数サイトの OpenVMS Cluster 構成の 1 つのサイトでシステムがフェールした場合やマージ操作が必要な場合のボリューム・シャドウイングのデフォルトの動作を,システム管理者が変更できます。 ストレージ・インターコネクトに Fibre Channel を使用する構成で ローカルあるいはサイト間で利用することを想定して設計されていますが, これらのコマンド修飾子はその他の構成でも使用できます。

同様に,DCL コマンド DISMOUNT は OpenVMS Alpha Version 7.3 で拡張され, 修飾子 /FORCE_REMOVAL ddcu: が追加されています。 この修飾子は OpenVMS Integrity でもサポートされており,異なるサイトにあるシャドウセット・メンバのシステム管理者による制御が強化されています。 この修飾子についての詳細は,4.10.1 項 「シャドウセットからのメンバの削除」 を参照してください。

| HPE 日本(日本ヒューレット・パッカード株式会社) ディザスタ・トレラント OpenVMS Cluster システムOpenVMS Cluster システム OpenVMS Cluster システムマルチサイト・クラスタ分散構成のシャドウイング OpenVMS Cluster システムディザスタ・トレラント・クラスタシャドウセット・メンバの管理 OpenVMS Alpha バージョン 7.3 から,DCL コマンドの SET DEVICE に, 異なるサイトにあるシャドウセット・メンバに対する管理属性を指定する修飾子が追加されました。これらの修飾子を使うことによって, システム管理者は,ディザスタ・トレラント OpenVMS Cluster 構成の 1 つのサイトのシステムが障害をおこした場合のデフォルトのボリューム・シャドウイングの動作を変更することができます。 これらの修飾子 ( を参照) は,サイト間ストレージ・インターコネクトに Fibre Channel を使う構成で使うように設計されていますが,他の構成でも使うことができます。 SET DEVICE コマンドには,OPER 特権が必要です。 SET SHADOW コマンド ( を参照) にも,これらの修飾子があります。 また,DCL コマンドの DISMOUNT も /FORCE_REMOVAL ddcu: 修飾子を追加して,強化されました。 この修飾子も同じ目的で追加されました。 すなわち,異なるサイトにあるシャドウセット・メンバをシステム管理者が容易に制御できるようにするために追加されました。 この修飾子についての詳細は, を参照してください。 デバイスDECram でサービスされるデバイス SET DEVICE コマンド修飾子 SYLOGICALS.COM 起動ファイルサイトの場所を定義 マルチサイト・シャドウセットのメンバのための SET DEVICE コマンド修飾子 | HPE 日本(日本ヒューレット・パッカード株式会社) 修飾子 機能 /ABORT_VIRTUAL_UNIT DSAnnnn: /ABORT_VIRTUAL_UNIT 修飾子 ユニットが回復不可能だと分かっているときに,この修飾子を使用します。 この修飾子を使用するとき,シャドウセットはマウント検査中でなければなりません。 シャドウセットは,コマンドが実行されたノード上で,マウント検査をすぐに強制終了します。 シャドウセットがマウント検査中でない場合,このコマンドは %SYSTEM-E-UNSUPPORTED エラー (サポートされていない操作または機能) を返します。このコマンドの完了後,シャドウセットをディスマウントしておかなければなりません。 次のコマンドを使用して,シャドウセットをディスマウントします。 $ DISMOUNT/ABORT DSAnnnn /COPY_SOURCE (ddcu:, DSAnnnn:) 3 番目のメンバをシャドウセットに追加する際に,シャドウセットの 1 つのソース・メンバ (ddcu:) と両方のソース・メンバ (DSAnnnn:) のどちらを,フルコピー操作でのデータ読み取りソースとして使用するかを指定します。 この修飾子は,DCD 操作を使用しないコピー操作にだけ影響します。 HSG80 など一部のストレージ・コントローラは先読みキャッシュを備えており,それによって単一ディスクの読み取り性能が大幅に向上します。 コピー操作では,通常,読み取り先を 2 つのソース・メンバに交互に切り替えますが,これにより先読みキャッシュの利点が失われます。 この修飾子を指定することで,コピー操作の読み取り先を 1 つのソース・メンバに固定することができます。 シャドウセット (DSAnnnn:) を指定すると,フルコピー操作のすべての読み取り先は,ディスクの物理的な位置とは無関係に,現在の「マスタ」メンバのディスクになります。 シャドウセット・メンバ (ddcu:) を指定すると,そのメンバがすべてのコピー操作のソースとして使用されます。 これにより,リモートのマスタ・メンバではなく,ローカルのソース・メンバを選択することができます。 /FORCE_REMOVAL ddcu: 指定されたシャドウセット・メンバを,シャドウセットから切り離します。デバイスへの接続が切れて,シャドウセットがマウント検査の状態になったときに,そのメンバをシャドウセットから即時に切り離します。 シャドウセットがマウント検査の状態でなければ,即時の動作は行われません。 デバイスの接続が切れても,シャドウセットがマウント検査の状態でないときには,このメンバがマウント検査の状態になったときに, シャドウセットから即座に切り離すためのフラグが設定されます。 指定するデバイスは,このコマンドを実行するノードにマウントされているシャドウセットのメンバでなければなりません。 /MEMBER_TIMEOUT= n ddcu: シャドウセット・メンバに適用されるタイムアウトの値を指定します。 この修飾子で指定する値は,このデバイスについて,SYSGEN パラメータの SHADOW_MBR_TMO より優先されます。 シャドウセットの各々のメンバには, 異なる MEMBER_TIMEOUT 値を設定できます。 n の正しい値の範囲は,1?16,777,215 秒です。 指定するデバイスは,このコマンドを実行するノードにマウントされているシャドウセットのメンバである必要があります。 あるメンバにこの修飾子を適用すると,その設定は,そのメンバがシャドウセットに留まる限り,維持されます。 メンバがシャドウセットから削除されて,後で戻された場合は, この修飾子をもう一度指定しなくてはなりません。 /MVTIMEOUT=n DSAnnnn: 仮想ユニット名 (DSAnnnn) で指定されるシャドウセットで使われるマウント検査のタイムアウト値を指定します。 この修飾子で指定される値は,このシャドウセットについて,SYSGEN パラメータの MVTIMEOUT より優先されます。n の正しい値の範囲は,1?16,777,215 秒です。 指定するシャドウセットは,このコマンドを実行するノードにマウントされていなければなりません。この修飾子を適用すると,その設定は,そのシャドウセットがマウントされている間,維持されます。 シャドウセットがディスマウントされて,再びマウントされた場合は,この修飾子をもう一度指定しなくてはなりません。 /READ_COST=n ddcu: 各シャドウセット・メンバに割り当てられているデフォルトのコストを変更できます。 割り当てを変更することで,2 メンバ・シャドウセットの場合,一方のメンバを優先させて読み込むことができ,3 メンバ・シャドウセットの場合は,1 つ,または 2 つのメンバを,残りのメンバより優先させて読み込むことができます。 指定するデバイスは,このコマンドを実行するノードにマウントされたシャドウセット・メンバでなければなりません。 指定するコストとして正しい値の範囲は,1 ? 65,535 単位です。 /READ_COST 修飾子で指定される値は,デフォルトの割り当てより優先されます。 シャドウイング・ドライバは,シャドウセット・メンバの待ち行列の長さの値を READ_COST 値に加算し,値が最も小さいメンバから読み取ります。シャドウイング・ドライバは,各々のシャドウセット・メンバが最初にマウントされたときに,メンバにデフォルトの READ_COST 値を割り当てます。 デフォルト値は,デバイス・タイプと,それをマウントしているシステムとの構成上の関係で決まります。 デバイス・タイプを,デフォルトの READ_COST 割り当て値の順に次のリストに示します。 コストが低いものから順に示します。 DECram デバイス 物理的に同じ場所にある直接接続のデバイス 遠隔地にある直接接続のデバイス DECram がサービスされているデバイス その他のサービスが行われているデバイス クラスタ内の別のシステムでは,各々のシャドウセット・メンバに異なるコストを割り当てることができます。 /SITE コマンド修飾子が指定されると,シャドウイング・ドライバは, デフォルトの READ_COST 値を割り当てるときに,サイト値を考慮に入れます。 シャドウイング・ソフトウェアが,デバイスが「遠隔地にある直接接続のデバイス」というカテゴリに属しているかどうかを判断するためには,/SITE コマンド修飾子をシャドウセットとシャドウセット・メンバの両方に適用する必要があります。 サイト 1 にあるシステムからシャドウセットの読み取り要求が発生すると,サイト 1 のシャドウセット・メンバからの読み取りが実行されます。 同じシャドウセットに対する読み取り要求がサイト 2 から発生すると,サイト 2 のメンバからの読み取りが実行されます。 この修飾子をメンバに対して適用すると,メンバがそのシャドウセットの一員である間,その設定は有効なままです。 メンバがシャドウセットから削除されて,その後戻された場合は,この修飾子をもう一度指定しなくてはなりません。 /READ_COST=n DSAnnnn n の正しい値は,任意の数です。この値には固有の意味はありません。 この修飾子の目的は,すべてのシャドウセット・メンバの読み取りコスト設定を,シャドウイング・ソフトウェアが自動的に設定したデフォルトの読み取りコスト設定に戻すことです。 指定するシャドウセット (DSAnnnn) は,コマンドを実行するノード上にマウントされていなければなりません。 /SITE = (n, logical-name) (ddcu:, DSAnnnn:) /SITE 修飾子 シャドウイング・ドライバに,指定したシャドウセット (DSAnnnn:) またはシャドウセット・メンバ (ddcu:) のサイト位置を知らせます。 SHADOW_SITE_ID システム・パラメータは,シャドウセットのデフォルトのサイト位置を定義します。 /SITE 修飾子を使用すると,シャドウセットのデフォルトのサイト位置より優先されます。 SHADOW_SITE_ID パラメータ システム・パラメータSHADOW_SITE_ID この修飾子を簡単に使用できるようにするために,/SITE を使用する前に,SYLOGICALS.COM コマンド・プロシージャでサイト位置の論理名を定義することができます。 (この修飾子は,SET SHADOW コマンドでも利用できますが, SET SHADOW では論理名を使用することはできません。) n が示すサイト位置として有効な範囲は,1 ? 255 です。 この修飾子を適用すると,このコマンドまたは SET SHADOW/SITE コマンドで変更するまで,その設定は有効です。 メンバがシャドウセットから削除されて,その後戻された場合は,この修飾子をもう一度指定しなくてはなりません。 次の例は,最初にサイト位置の定義方法を示し,次に /SITE 修飾子の使用方法を示します。 $ DEFINE/SYSTEM/EXEC ZKO 1 $ DEFINE/SYSTEM/EXEC LKG 2 $ ! $ ! At the ZKO site ... $ MOUNT/SYSTEM DSA0:/SHAD=($1$DGA0:,$1$DGA1:) TEST $ SET DEVICE/SITE=ZKO DSA0: $ ! $ At the LKG site... $ MOUNT/SYSTEM DSA0:/SHAD=($1$DGA0:,$1$DGA1:) TEST $ SET DEVICE/SITE=LKG DSA0: $ ! $ ! At both sites, the following would be used: $ SET SHADOW/SITE=ZKO $1$DGA0: $ SET SHADOW/SITE=LKG $1$DGA1: この例では,$1$DGA0: は物理的なローカル・デバイスで,読み取りに適したデバイスです。Fibre Channel 構成では,別のサイトにあるシャドウセット・メンバが,システムに直接接続されます。 マルチサイト Fibre Channel 構成では,Volume Shadowing とクラスタ・ソフトウェアに関しては,ローカルとリモートの区別はありません。
-->

4.7.1 マルチサイトの SET SHADOW および DISMOUNT コマンド修飾子の使用方法

図 4-1 「FC および LAN インターコネクトを備えたマルチサイト OpenVMS Cluster システム」 に, Fibre Channel を使用する典型的なマルチサイト・クラスタを示します。 この図では,サイト間ストレージ・インターコネクトに障害が発生したときに, 1 つのサイトを手動で復旧するために必要な手順を示しています。 以下のバージョンを稼働しているマルチサイト OpenVMS Cluster システムでは, この手順を実行しなければなりません。

  • サービスを受けるパスに対する MSCP フェールオーバをサポートしない, 以前のバージョンの OpenVMS (OpenVMS Alpha バージョン 7.3–1 よりも前のもの)

  • サービスを受けるパスに対する MSCP フェールオーバはサポートしている (バージョン 7.3–1 以降) ものの,ディスクの一部だけにサービスを提供している OpenVMS Alpha バージョン

    構成の中の一部のディスクだけにサービスを提供すると選択した場合, サービスを受けないディスクに対するサイト復旧のためにこの構成方法を使用する必要があります。 サービスをディスクの一部だけに提供する理由の 1 つは, Fibre Channel インターコネクトから LAN インターコネクトおよびサイト間リンクへのサービスを受けるディスクのフェールオーバが, これらのインターコネクトでは非常に高い負荷をかける可能性があり, その結果として,システムの性能が著しく低下する可能性があることです。

図 4-1 FC および LAN インターコネクトを備えたマルチサイト OpenVMS Cluster システム

FC および LAN インターコネクトを備えたマルチサイト OpenVMS Cluster システム

シャドウイング・ドライバが接続関連の障害からシャドウセットを自動的に復旧させるのを防ぐには,障害が発生する前に,以下の 3 つの構成作業を実行する必要があります。

  1. マルチサイト・シャドウセットのメンバであるすべてのデバイスで, 以下のコマンドを使用して各々の MEMBER_TIMEOUT 設定を高い値に引き上げる必要があります。

    $ SET SHADOW /MEMBER_TIMEOUT=x  ddcu:
    

    このコマンドは SHADOW_MBR_TMO 値より優先されます。 通常は,SHADOW_MBR_TMO がシャドウセット・メンバに使用されています。 x の値に 259200 を指定すると,待機時間は 72 時間になります。

  2. マルチサイトにまたがるシャドウセットでは, 各々のマウント検査タイムアウト設定を非常に高い値に引き上げる必要があり, その値を,シャドウセットの各メンバに対する MEMBER_TIMEOUT 設定よりも高くしなければなりません。

    シャドウセットのマウント検査タイムアウト設定を増やすには, 以下のコマンドを使用します。

    $ SET SHADOW /MVTIMEOUT=y  DSAnnnn
    

    このコマンドの y の値は, SET SHADOW/MEMBER_TIMEOUT= x ddcu: コマンドの x の値よりも必ず大きくしてください。

    SET SHADOW /MVTIMEOUT = y コマンドは, 通常シャドウセットに使用される MVTIMEOUT 値より優先されます。 y の値に 262800 を指定すると,73 時間の待機になります。

  3. 各シャドウセットおよび各シャドウセット・メンバには, サイト修飾子が必要です。既に説明したように,サイト修飾子によって, 読み取りコストが正しく設定されることが確実になります。 他の重要な要素としては,3 メンバ・シャドウセットがあります。 3 メンバ・シャドウセットを使用する場合は, シャドウセットのマスタ・メンバが適切に維持されることをサイト修飾子が確実にします。

図 4-1 「FC および LAN インターコネクトを備えたマルチサイト OpenVMS Cluster システム」 はシャドウセット DSA42 を示しており, そのメンバは,デバイス $1$DGA1000 とデバイス $1$DGA2000 です。 サイト A またはサイト B にあるシステムは,Fibre Channel 接続経由で両方のサイトにあるすべてのデバイスに直接アクセスします。 XYZZY はこの 2 つのサイト間の理論的なポイントです。 このポイントで Fibre Channel 接続が切れたとしても, どちらのサイトもエラーなく DSA42 のさまざまな “ローカル” ・メンバにアクセスできます。

この例では,サイト A はシャドウセットへのアクセスを維持する唯一のサイトになります。

サイト A でシャドウセットを復旧するには, 以下の手順を実行する必要があります。

  1. サイト A で以下のコマンドを実行します。

    $ DISMOUNT /FORCE_REMOVAL=$1$DGA2000:
    

    コマンドの実行が完了すると, シャドウセットはサイト A だけでの使用が可能になります。

  2. サイト B で以下のコマンドを実行します。

    $ SET SHADOW /ABORT_VIRTUAL_UNIT DSA42:
    

    コマンドの実行が完了すると,シャドウセットの状態は MntVerifyTimeout になります。

  3. 次に,以下のコマンドを実行してシャドウセットを解除します。

    $ DISMOUNT/ABORT DSA42:
    

    この手順は,影響を受けたマルチサイト・シャドウセットすべてに対して実行する必要があります。

4.8 コピー操作とマージ操作の管理 (Integrity および Alpha)

Volume Shadowing ソフトウェアが実行するコピー操作とマージ操作は,ロッキング・ソフトウェアと SHADOW_MAX_COPIES の設定によって自動的に規制されます。 OpenVMS Alpha Version 7.3-2 で導入され OpenVMS Version 8.2 で拡張された SET SHADOW コマンドは,コピーとマージの順番をより細かく制御することができ,コピー操作を実行しなければならないシステムをユーザが指定することができます。

表 4-3 「SET SHADOW コマンドの修飾子」 で説明するように, すべての SET SHADOW 修飾子はシャドウセット(DSAn:)に対し機能し,そのうちいくつかは個々のシャドウセット・メンバ(ddcu:)にも適用されます。 パラメータとしてシャドウセットを取るほとんどの修飾子では,個々のシャドウセット名を指定する代わりに /ALL 修飾子を使用して,システムのすべてのシャドウセットに対して処理を適用することもできます。

これらの修飾子は,デバイス (シャドウセットまたはシャドウセット・メンバ) がディスマウントされるまで有効です。 デバイスを再マウントする場合 (シャドウセット・メンバを,ディスマウントしたシャドウセットに戻す場合),修飾子を再度指定しなければなりません。 SET SHADOW コマンドの実行には SYSPRV 特権が必要です。

注記: 修飾子 /DELETE,/DISABLE,/ENABLE,/NAME および /POLICY は,ホストベース・ミニマージ(HBMM) 操作のためだけに使用され,その他の操作には適用されません。 HBMM 修飾子を含むコマンドで HBMM 用ではないその他の修飾子を指定すると,そのコマンドの実行は失敗します。 HBMM についての詳細は 第8章を参照してください。

次の例ではシャドウセットに対する修飾子の指定方法を示しています。

$ SET SHADOW DSAn:/qualifier/qualifier

表 4-3 SET SHADOW コマンドの修飾子

修飾子

機能

/ABORT_VIRTUAL_UNIT {DSAn:|/ALL}

指定したシャドウセットあるいはそのシステムでマウント検査中のすべてのシャドウセットのマウント検査をすぐに強制終了します。 この修飾子は,シャドウセットが回復不可能な場合に使用します。 この修飾子を使用する場合,シャドウセットはマウント検査中でなければなりません。 シャドウセットは,コマンドを実行したシステムにおけるマウント検査をすぐに強制終了します。 シャドウセットがマウント検査中でない場合,このコマンドは %SYSTEM-E-UNSUPPORTED エラー (サポートされていない操作または機能) を返します。

このコマンドの完了後,シャドウセットをディスマウントしておかなければなりません。 シャドウセットのディスマウンには次のコマンドを使用します。

$ DISMOUNT/ABORT/OVERRIDE=CHECKS  DSAn

/ALL

システムにマウントされているすべてのシャドウセットに対してコマンドを実行します。

/ALL は,/DEMAND_MERGE,/DELETE,/EVALUATE=RESOURCES および /POLICY 修飾子あるいは個々のシャドウセット・メンバに対してのみ機能する修飾子 (/MEMBER_TIMEOUT および /FORCE_REMOVAL) を除き,パラメータとしてシャドウセット・デバイスを指定可能なほとんどのコマンドで DSAn: の代わりとして使用できます。

/CONFIRM/NOCONFIRM (デフォルト)

指定されたシャドウセットに対してマージ操作を実行する前に, 操作を実行するかどうかの確認のためのプロンプトを表示するかどうかを指定します。 この修飾子は,/DEMAND_MERGE 修飾子と組み合わせる場合のみ使用可能です。 プロンプトに対しては以下のような応答が使用可能です。

  • 肯定: YES,TRUE,あるいは 1

  • 否定: NO,FALSE,あるいは 0 (ゼロ),あるいは Return キー

  • 処理の終了: QUIT あるいは Ctrl/Z

  • ALL を入力するとコマンドは処理を続行し,それ以降プロンプトを表示しません。

応答は大文字でも小文字でも入力できます。 また 1 文字あるいは 2 文字に短縮することも可能です。 無効な応答を入力すると,DCL はプロンプトを再表示します。 実行例については 『OpenVMS DCL ディクショナリ』 の SET SHADOW の例を参照してください。

/COPY_SOURCE {ddcu:|DSAn:|/ALL}

3 番目のメンバを 2 つのフル・メンバを含むシャドウセットに追加する際に, フルコピー操作でのデータ読み取りソースとして シャドウセットのどのソース・メンバを使用するかを指定します。 この修飾子は,ディスク・コピー・データ (DCD) コマンドを使用しないコピー操作にだけ影響します。 この修飾子で指定したソースは,シャドウセットがディスマウントされるまで維持されます。

HSG80 などの一部のストレージ・コントローラは先読みキャッシュを備えており,それによってデバイス読み取り性能が大幅に向上します。 コピー操作では,通常,読み取り先を 2 つのソース・メンバに交互に切り替えますが,これにより先読みキャッシュの利点が失われます。 この修飾子を指定することで,コピー操作の読み取り先を 1 つの指定したソース・メンバに固定することができます。

/COPY_SOURCE を使用すると,コピー性能の改善に加え, 信頼できないと思われる特定のシャドウセット・メンバからの読み取り操作を防ぐことができます。 信頼できるシャドウセット・メンバだけを指定することにより,コピー操作を最後まで続行できます。 コピー操作が正常に完了したら, 信頼できないシャドウセット・メンバを取り除くことができます。

シャドウセット (DSAn) を指定すると,フルコピー操作のすべての読み取り先は,ディスクの物理的な位置とは無関係に,現在の「マスタ」メンバのデバイスになります。 シャドウセット・メンバ (ddcu:) を指定すると,そのメンバがすべてのコピー操作の読み取りソースとして使用されます。

この設定により,どのソース・メンバでも選択できるようになります。 たとえば,追加するメンバとして,リモート・サイトにあるマスタ・メンバを使用する代わりに,同じサイトにあるソース・メンバを選択することができます。

/ALL を指定した場合,現在マウントされているすべての仮想ユニットにおけるフルコピー操作のすべての読み取りは,マスタ・メンバから実行されます。

/DELETE {DSAn:|/NAME}

/DELETE は /POLICY=HBMM との組み合わせでのみ使用され, 指定したシャドウセットからホストベース・ミニマージ (HBMM) ポリシーを削除します。あるいは,HBMM 指定ポリシーをクラスタ全体から削除します。 たとえば次のコマンドは,シャドウセット DSA1: と関連付けられているポリシーを削除します。

$ SET SHADOW /DELETE DSA1 /POLICY=HBMM

一方,次のコマンドはクラスタから COMPANY_POLICY を削除します。

$ SET SHADOW /DELETE /NAME=COMPANY_POLICY /POLICY=HBMM

NODEFAULT ポリシーを削除することはできず,/DELETE と /ALL を同時に指定することもできません。

/DEMAND_MERGE

指定されたシャドウセット上でマージ操作を起動します。 この修飾子は,/ERASE 修飾子を使用せずに INITIALIZE/SHADOW コマンドでシャドウセットが作成された場合に便利です。 /DEMAND_MERGE の使用方法についての詳細は,4.8.1 項 「/DEMAND_MERGE による,マージ操作の開始」を参照してください。

/ALL と /DEMAND_MERGE を同時に指定することはできません。

デマンド・マージが開始され,コマンドを実行したプロセスのプロセス ID (PID) を記録したことを示すOPCOM メッセージが,各シャドウセットごとに表示されます。 次にメッセージの例を示します。

%%%%%%%%%%% OPCOM 9-MAR-2004 10:35:23.24 %%%%%%%%%%%
Message from user SYSTEM on NODE1
Demand Merge requested for _DSA721:, PID: 2760009A

/DISABLE=HBMM {DSAn:| /ALL}

指定したシャドウセットあるいはクラスタワイドのすべてのシャドウセットで ホストベース・ミニマージ (HBMM) を無効にします。

/DISABLE でサポートする値は HBMM のみです。

/DISABLE=SPLIT_READ_LBNS

LBN の分割動作を無効にし,その結果,読み取りは,同じ読み取りコストとデバイス・キュー長を持つソース・シャドウセット・メンバ間で交互に行なわれます。

/ENABLE=HBMM

適用できる HBMM ポリシーが存在する場合は,指定したシャドウセットあるいはクラスタ全体でホストベース・ミニマージ (HBMM) を有効にします。

/DISABLE でサポートされる値は HBMM のみです。この値は省略できません。

/ENABLE=SPLIT_READ_LBNS

同じ読み取りコストを持つシャドウセット・メンバを LBN の等しいグループへ論理的に分割します。 仮想ユニットが読み取りを実行すると,対応する LBN グループから読み取りを行ないます。 この結果,コントローラの先読みキャッシュの使用量が最大になります。

/EVALUATE=

RESOURCES

現在システム上で管理されているほとんどのシャドウ・コピーおよびマージ操作について,システムで処理すべきかどうかをシステムに評価させます。 ほとんどの操作を取り消した後,システム・パラメータ SHADOW_MAX_COPY の値と各シャドウセットのコピー/マージの優先順位をもとに,保留したコピーとマージを再スタートする順序を評価します。

/EVALUATE の値としてサポートされるのは RESOURCES のみです。 この値は省略できません。

/EVALUATE は,MSCP ベースのミニマージ操作には適用されません。 MSCP ベースのミニマージ操作は /EVALUATE による取り消しおよび再開の対象外です。

このコマンドは,動的なシステム・パラメータ SHADOW_MAX_COPY の値の変更後, あるいはシャドウセットに対して SET SHADOW /PRIORITY=n コマンドを実行した後に使用することを想定しています。 実行後しばらくして,システムで有効なすべての SHADOW_MAX_COPY スロットが優先順位リストを使用して割り当てられます。

/FORCE_REMOVAL ddcu

指定されたシャドウセット・メンバを,シャドウセットから切り離します。 指定するデバイスは,コマンドを実行するシステムにマウントされたシャドウセットのメンバでなければなりません。 /ALL とともに /FORCE_REMOVAL を指定することはできません。

デバイスへの接続が切れて,シャドウセットがマウント検査状態になったときに,そのメンバをシャドウセットから即時に切り離します。

シャドウセットがマウント検査状態でなければ,即時の動作は行われません。 デバイスの接続が切れても,シャドウセットがマウント検査状態でないときには,このメンバがマウント検査状態になったときに,シャドウセットから即座に切り離すように設定されます。 指定したメンバで何も動作が行なわれず,このフラグをクリアしたい場合は,/NOFORCE_REMOVAL を使用してください。

メンバを切り離す前にシャドウセットをディスマウントした場合は,FORCE_REMOVAL 要求は無効となります。

/LOG

Volume Shadowing ソフトウェアに,SET SHADOW コマンドの完了を確認する短いメッセージを表示するように指示します。 /OUTPUT も指定された場合は,この情報は出力ファイルに書き込まれます。

/MEMBER_TIMEOUT =n ddcu:

シャドウセット・メンバに適用されるタイムアウトの値を指定します。 指定したデバイスは,コマンドを実行したシステムにマウントされたシャドウセットのメンバでなければなりませ。

この修飾子で指定する値は,この特定のデバイスのシステム・パラメータ SHADOW_MBR_TMO より優先されます。 シャドウセットの各々のメンバには,異なる MEMBER_TIMEOUT 値を設定できます。 n の正しい値の範囲は,1 ~ 16777215 秒です。

/MEMBER_TIMEOUT で指定したタイムアウト値は,シャドウセットをディスマウントした後は無効になります。

/MVTIMEOUT {= n DSAn:|=n /ALL}

クラスタ内のすべてのシャドウセットあるいは仮想ユニット名 (DSAn:) で指定したシャドウセットに対して使用されるマウント検査のタイムアウト値を指定します。 指定したシャドウセットは,コマンドを実行するシステムにマウントされていなければなりません。 この修飾子で指定する値は,この特定のシャドウセットのシステム・パラメータ MVTIMEOUT で指定された値より優先されます。

注記: システム・ディスクの MVTIMEOUT の値は変更できません。 変更しようとするとエラーが発生します。

n に指定できる値の範囲は 1 ~ 16777215 秒です

/MVTIMEOUT で設定したタイムアウト値は,シャドウセットをディスマウントした後は無効になります。

/NAME=policy-name

/POLICY=HBMM とともに使用して,ホストベース・ミニマージ (HBMM) ポリシーを定義します。あるいは /DELETE とともに使用して,ポリシーを削除します。 ポリシーはクラスタ全体で定義されます。 詳細については /DELETE および /POLICY の説明を参照してください。

ポリシー名の大文字/小文字は区別されず,文字数は 1 ~ 64 文字でなければなりません。 文字,数字,ドル記号($),およびアンダースコア(_) が使用できます。

デフォルト・ポリシーを作成した場合は,名前を DEFAULT にする必要があります。

ポリシー名の作成と使用方法については, 第8章 「ホストベース・ミニマージ (HBMM)」 を参照してください。

/OUTPUT= file-name

指定したファイルにメッセージを出力します。

/POLICY=HBMM {=policy-name| =policy-specification}

ホストベース・ミニマージ (HBMM) に対するポリシーを作成または削除します。

/POLICY 修飾子でサポートする値は HBMM のみで,この値は必ず指定する必要があります。 必要に応じて DEFAULT ポリシー,あるいは名前付きポリシーを指定することができます。 また,NODEFAULT を指定することにより,DEFAULT ポリシーを含め,このシャドウセットで HBMM を使用しないように指示することもできます。 ポリシーの指定方法と,ポリシー名 DEFAULT および NODEFAULT の使用方法については,第8章 「ホストベース・ミニマージ (HBMM)」 を参照してください。

/POLICY を /DELETE とともに指定すると,指定した HBMM 名前付きポリシー,または特定のシャドウセットに対する HBMM ポリシーを削除します。 NODEFAULT ポリシーは削除できません。

/POLICY を /NAME とともに指定すると,クラスタ全体の名前付きポリシーが定義されます。 /NAME または /DELETE 以外に修飾子を指定しないと, /POLICY は特定のシャドウセットに対するポリシーを定義します。

DELETE/BITMAP コマンドでビットマップを削除するとビットマップが削除されますが,シャドウイング・ソフトウェアがこの状態を認識してすぐに新しいビットマップを起動します。 HBMM ビットマップを無効にするには,SET SHADOW/DISABLE=HBMM コマンドを使用する必要があります。

ポリシーを定義する際に,5 つのキーワード (MASTER_LIST,COUNT, RESET_THRESHOLD,MULTIUSE,および DISMOUNT) を使用して, HBMM ビットマップの配置と管理を制御します。 HBMM ポリシーは,これらのキーワードのリストを括弧で囲んで指定します。必須のキーワードは MASTER_LIST だけです。 COUNT と RESET_THRESHOLD を省略すると,デフォルト値が適用されます。

MULTIUSE および DISMOUNT キーワードはそれぞれ,メンバの自動削除および手動削除の際にマルチユース・ビットマップに変換するビットマップの数を指定します。 MULTIUSE を省略した場合,処理中のボリュームの自動ミニコピーは有効になりません。この結果,HBMM ビットマップのマルチユース・ビットマップへの変換は行なわれません。 DISMOUNT を省略した場合,最大 6 つの HBMM ビットマップのみがマルチユース・ビットマップとして使用できます。

 
  • MASTER_LIST=list

    MASTER_LIST キーワードは,一組のシステムをマスタ・ビットマップの候補として示すために使用します。 list の値は,以下の例に示すように,単一のシステム名,システム名をコンマで区切って並べたものを括弧で囲んだもの,またはワイルドカード文字となります。

    MASTER_LIST=Node1
    MASTER_LIST=(NODE1,NODE2,NODE3)
    MASTER_LIST=*

    システム・リストが単一のシステム名またはワイルドカード文字からなる場合は,括弧はなくてもかまいません。

    HBMM ポリシーは,少なくとも 1 つの MASTER_LIST を含んでいる必要があります。 複数のマスタ・リストを指定することもできます。ポリシーに複数のマスタ・リストがある場合は,次の例に示すように,ポリシー全体を括弧で囲み,それぞれのマスタ・リストをコンマで区切る必要があります。

    (MASTER_LIST=(NODE1,NODE2),MASTER_LIST=(NODE3,NODE4))

    マスタ・リスト内のシステム名の位置には特に意味はありません。

  • COUNT=n

    COUNT キーワードは,マスタ・リスト内の何台のシステムがマスタ・ビットマップを持つことができるかを指定します。そのため,COUNT キーワードとそれに対応する MASTER_LIST は,1つの括弧で囲まれた文の中に入れる必要があります。

    COUNT の値には,マスタ・ビットマップを持たせたいシステムの数を指定します。必ずしもリストの最初の n 個のシステムが選択されるわけではありません。

    COUNT キーワードを省略すると,6 とマスタ・リスト内のシステム数のいずれか小さい方がデフォルト値になります。

    1 つのマスタ・リストに対して,2 つ以上の COUNT キーワードを指定することはできません。 以下に例を示します。

    (MASTER_LIST=(NODE1,NODE2,NODE3), COUNT=2)
    (MASTER_LIST=(NODE1,NODE2,NODE3),COUNT=2), (COUNT=2, MASTER_LIST=(NODE4,NODE5,NODE6))
 
  • RESET_THRESHOLD=n

    RESET_THRESHOLD キーワードは,何ブロック設定したらビットマップをクリアするかを指定します。マスタ・ビットマップ内の設定された各ビットは,マージ対象のブロックに対応するため,この値はマージ時間に影響します。

    ビットマップは,RESET_THRESHOLD を超えた時に,クリア対象となります。ただし,しきい値を超えた場合でも,すぐにリセットされることが保障されるわけではありません。この属性値の選択についての詳細は, 第8章 「ホストベース・ミニマージ (HBMM)」 を参照してください。

    リセットのしきい値は,特定の HBMM ポリシーに関連しているため, RESET_THRESHOLD キーワードは,ポリシー指定中で一度しか定義できません。 RESET_THRESHOLD キーワードの範囲はポリシー全体であるため,ポリシーに複数のマスタ・リストがある場合,個々のマスタ・リストの内部で指定することはできません。

    RESET_THRESHOLD キーワードを省略すると,デフォルト値として 1,000,000 が使用されます。

    次に例を示します。

    (MASTER_LIST=*, COUNT=4, RESET_THRESHOLD=100000)

複数のマスタ・リストがあるポリシーでは,各システム名はいずれか 1 つのマスタ・リストにしか指定できません。 HBMM ポリシーを定義するために,シャドウセットをマウントする必要はありません。その他の /POLICY の例については,『OpenVMS DCL ディクショナリ』 の SET SHADOW の例を参照してください。

 
  • MULTIUSE=n

    MULTIUSE キーワードは,処理中のボリュームで自動ミニコピーを有効にします。 n には,シャドウセット・メンバがシャドウイング・ドライバによりシャドウセットから削除されたときに,MULTIUSE ビットマップに変換される既存の HBMM マスタ・ビットマップの数を指定します。

    サイトあるいはコントローラへの接続が切れた間,シャドウイングはシャドウセットからメンバを削除します。 そのメンバがシャドウセットに戻されたときに,完全なシャドウ・コピーが行なわれます。

    HBMM ビットマップのいくつかをマルチユースに変換することによって,そのシャドウセットに対するすべての書き込み操作が記録されます。 このためメンバをシャドウセットに戻した場合,そのマルチユース・ビットマップをミニコピー処理に使用することができます。 これにより,フルコピー処理よりも速く処理することができます。

    COUNT の暗黙値あるいは明示値を超える値を n に指定することはできません。 MULTIUSE が指定されていない場合,ビットマップはマルチユースに変換されずフルコピーが必要になります。 シャドウセット・メンバを削除するような重大なドライブ・エラーが発生してもドライブの交換が必要になった際にマルチユース変換が行なわれないので,フルコピー処理が必要になります。 詳細については 8.10 項 「ホストベース・ミニコピーのための Multiuse 属性」 を参照してください。

  • DISMOUNT=n

    DISMOUNT キーワードは 12 のすべての書き込みビットマップをシャドウイングがマルチユース・ビットマップとして使用するのを可能にするため,単一のミニコピー・マスタ・ビットマップの単一障害点を低減します。 n には,下記のコマンドでシャドウセットからメンバのマウントが外されたときに,マルチユース・ビットマップに変換する HBMM ビットマップの数を指定します。

    DISMOUNT/POLICY=MINICOPY

/PRIORITY=n DSAn:

Overrides the current default priority setting. 現在のデフォルトの設定より優先される優先順位を設定します。 優先順位の範囲は 0 (最低) ~ 10000 (最高) です。 デフォルトの優先順位は 5000 です。優先順位が 0 のシャドウセットは,システムでのマージまたはコピーの対象になりません。 複数のシャドウセットで回復操作 (すなわちマージまたはコピー) が必要な場合,シャドウセットは優先順位の高いものから低いものの順に回復されます。優先順位の設定はシステム固有です。したがって,あるシステム上で優先順位を変更しても,クラスタ全体には通知されません。また,システムをリブートするとクリアされます。 マウントされている仮想ユニットにこの修飾子を適用すると,以降の DISMOUNT と MOUNT コマンドでもこの設定がそのまま有効になります。

この修飾子の使用方法については, 4.9 項 「マージ操作とコピー操作の優先順位付け」 を参照してください。

/READ_COST =n {ddcu:|DSAn:}

シャドウセットの各メンバ (ddcu:) に割り当てられているデフォルトのコストを変更します。 割り当て値を変更することによって,メンバが 2 つのシャドウセットで,片方の読み取りを他方よりも優先したり,またはメンバが 3 つのシャドウセットの場合に,1 つまたは 2 つのメンバを残りのメンバよりも優先したりすることができます。 指定された装置は,コマンドを実行したシステムにマウントされているシャドウセットまたはシャドウセットのメンバでなければなりません。

指定されるコストの有効な範囲は,1 ~ 65,535 単位です。 /ALL と /READ_COST を同時に指定することはできません。

シャドウイング・ドライバは,個々のシャドウセット・メンバが最初にマウントされるときに,デフォルトの READ_COST の値を割り当てます。デフォルト値は,装置のタイプと,それをマウントしているシステム内での構成によって異なります。次のリストでは,デフォルトの READ_COST の割り当てコストが小さい順に,装置のタイプを示します。

  • DECram デバイス

  • 物理的に同じ場所にある直接接続のデバイス

  • 遠隔地にある直接接続のデバイス

  • DECram がサービスされているデバイス

  • その他のサービスが行われているデバイスのデフォルト値

/READ_COST 修飾子が指定する値は,デフォルトの割り当てを無効にします。シャドウイング・ドライバは,シャドウ・セット・メンバの現在のキューの深さの値を READ_COST 値に加え,最も小さい値のメンバから読み取りを行います。

クラスタを構成するシステムは,各シャドウセット・メンバにそれぞれ異なるコストを割り当てることができます。

この修飾子でシャドウセット・メンバではなくシャドウセット (DSAn) が指定されている場合,/READ_COST 修飾子は,すべてのシャドウセット・メンバの読み取りコスト設定を,シャドウイング・ソフトウェアによって自動的に決定されているデフォルトの読み取りコスト設定に戻します。 指定されたシャドウセットは,コマンドを実行するシステムにマウントされていなければなりません。 コストに任意の値を指定することはできますが,その値は無視され,デフォルト値に設定が戻されます。

この修飾子をメンバに対して適用すると,メンバがそのシャドウセットの一員である間,その設定は有効なままです。 メンバがシャドウセットから削除されて,その後戻された場合は,この修飾子をもう一度指定しなくてはなりません。

/SITE コマンド修飾子が指定されると,シャドウイング・ドライバは, デフォルトの READ_COST 値を割り当てるときに,サイト値を考慮に入れます。 シャドウイング・ソフトウェアが,リモートの直接接続のデバイスというカテゴリにデバイスが属しているかどうかを判断するためには,/SITE コマンド修飾子をシャドウセットとシャドウセット・メンバの両方に適用する必要があります。

サイト 1 にあるシステムからシャドウセットの読み取り要求が発生すると,サイト 1 のシャドウセット・メンバからの読み取りが実行されます。 同じシャドウセットに対する読み取り要求がサイト 2 から発生すると,サイト 2 のメンバからの読み取りが実行されます。

注記: DECram は DECram ディスクを物理ディスクにシャドウ化できます。 ただし,Volume Shadowing for OpenVMS の現在の実装では, 物理ディスクがなくなると揮発性ディスクに書き込まれることに注意してください。

/RESET_COUNTERS

各シャドウセットで管理している,シャドウイング固有のカウンタをリセットします。 リセットされて 0 になるカウンタは,次のとおりです。

  • HBMM Reset Count

  • Copy Hotblocks

  • Copy Collisions

  • SCP Merge Repair Count

  • APP Merge Repair Count

カウンタの現在の設定は SHOW SHADOW コマンドを使用して表示できます。 HBMM Reset Count は,RESET_THRESHOLD 値に達した回数を示してます。 RESET_THRESHOLD は,ビットマップをクリアする頻度を決定するための設定値です。 HBMM Reset カウンタを使用すると,しきい値のリセットの割合を測ることができます。

/RECOVERY_OPTIONS=DELAY_PER_SERVED_MEMBER=n

この修飾子を使用すると,システム管理者は,MSCP 提供の各シャドウセット・メンバを評価して確認した遅延をもとにシステムに割り当てたレーティングを調整することができます。 この修飾子で指定した値は,SHADOW_PSM_RDLY システム・パラメータの値よりも優先します。 MSCP でサービスされる各メンバのデフォルトの遅延は 30 秒で, 指定可能な範囲は 0 ~ 65,535 秒です。 複数のシステムにマウントされたシャドウセットでコピーあるいはマージ操作が必要な場合,OpenVMS Volume Shadowing は,それらのシャドウセット・メンバのすべてに対してローカル接続を持つシステム上で,この操作を実行しようとします。 各システムは,MSCP でサービスされる各シャドウセット・メンバを評価して確認したペナルティ(遅延時間)で格付けされます。 ローカル・メンバに対しては遅延は追加されないため,すべてのシャドウセット・メンバに対してローカルにアクセス可能なシステムは,1 つあるいは複数のメンバがサービスされるシステムよりもこの操作を実行するのに適しています。 /ALL が指定されている場合,指定した遅延は現在マウントされているすべてのシャドウセットに対して適用されます。

/SITE = n {ddcu:| DSAn:}

シャドウイング・ドライバに対し,シャドウセット (DSAn:) またはシャドウセット・メンバ (ddcu:) のサイト位置を指定します。

SHADOW_SITE_ID システム・パラメータは,シャドウセットのデフォルトのサイト位置を定義します。 この修飾子を使用すると,シャドウセットのデフォルトのサイト位置を変更できます。

n に指定可能な範囲は,1 ~ 255 です。

/ALL が指定されている場合,すべてシャドウセットに新しい値が割り当てられます。

この修飾子で設定した値は,SET SHADOW/SITE コマンドで変更するまで有効です。

各シャドウセット・メンバおよびシャドウセットに対して /SITE 修飾子を指定すると,システムに物理的にローカルなメンバが読み取り元のディスクとして選択されるため, 読み取り性能を向上させることができます。 (Fibre Channel 構成では,異なるサイトのシャドウセット・メンバがシステムに直接接続されます。 マルチサイトの Fibre Channel 構成では, Volume Shadowing および OpenVMS Cluster ソフトウェアに対しては, ローカルとリモートの区別はありません。)

/STALL=WRITES[=nnn]

書き込み操作を nnn 秒遅らせます(一時停止)。 デフォルトの時間は SHADOW_MBR_TMO です。 nnn に値を指定していない場合は, SHADOW_MBR_TMO 秒後に書き込み操作の停止が解除されます。 次に例を示します。

SET SHADOW DSA42 /STALL=WRITES

この例では,シャドウセットへの書き込みが SHADOW_MBR_TMO 秒間ロックされます。

SET SHADOW DSA42 /STALL=WRITES=60

この例では,シャドウセットへの書き込みが 60 秒間ロックされます。

/NOSTALL=WRITES[=nnn]

書き込み操作のロックを指定時間後 (nnn 秒後) に解除します。 指定した時間が経過すると,シャドウセット・メンバへの書き込みが行なわれます。 次に例を示します。

SET SHADOW DSA42 /STALL=WRITES=60

SET SHADOW DSA42 /NOSTALL=WRITES=30

この例では,ます書き込み操作が 60 秒間ロックされます。 その後の /NOSTALL 修飾子の指定により,30 秒後にシャドウセットへの書き込みが可能になります。

 

4.8.1 /DEMAND_MERGE による,マージ操作の開始

/DEMAND_MERGE 修飾子は,/ERASE 修飾子を指定せずに INITIALIZE/SHADOW コマンドで作成されたシャドウセット上でマージ操作を強制するために作成されました。 /DEMAND_MERGE 修飾子は,アクティブ・ファイルで使用されていないすべてのブロックが同じであることを保証します。 システム管理者は,いつでもこのコマンドを入力できます。 /INITIALIZE/SHADOW でシャドウセットを作成するときに /ERASE 修飾子を使用せず,また SET SHADOW/DEMAND_MERGE コマンドを実行していない場合,システム障害後には,このシャドウセットの完全なマージ操作を行うために高い負荷が発生します。

また,システム管理者は,ANALYZE/DISK/SHADOW コマンドでシャドウセット・メンバ間の相違が検出された場合にも,SET SHADOW/DEMAND_MERGE コマンドを使用することができます (4.11.4 項 「ANALYZE/DISK/SHADOW による,シャドウセットの検査」 を参照)。

4.8.2 SHOW SHADOW 管理機能

SHOW SHADOW コマンドは,指定されたシャドウセットのステータスを報告し,ユーザが指定した修飾子に応じて,マージ操作またはコピー操作が必要かどうかを示します。 マージ操作またはコピー操作が必要な場合,このコマンドは,その操作が保留中か進行中かを報告します。 修飾子については,この項で説明します。 このコマンドを使用するには,シャドウセットの仮想ユニット名を指定し,その後に使用する修飾子を指定します。 例を次に示します。

$ SHOW SHADOW DSAnnnn:/qualifier/qualifier/

4.8.2.1 /ACTIVE

この修飾子は,次の 3 つの状態のいずれかを返します。

  • マージやコピーは不要

  • コピーは,ノード nnnnx の LBN xxxx で実行中

  • マージは,ノード nnnnx で実行中

4.8.2.2 /COPY

この修飾子は,次の 3 つの状態のいずれかを返します。

  • コピーは不要

  • コピーは保留中

  • コピーは,ノード nnnnx の LBN xxxx で実行中

4.8.2.3 /MERGE

この修飾子は,次の 3 つの状態のいずれかを返します。

  • マージは不要

  • マージは保留中

  • マージは,ノード nnnnx の LBN xxxx で実行中

4.8.2.4 /OUTPUT=file-name

この修飾子は,表示されるメッセージを,指定されたファイルに出力します。

例 4-8 「SHOW SHADOW の出力例」 に,SHOW SHADOW コマンドの出力例を示します。

例 4-8 SHOW SHADOW の出力例

$  SHOW SHADOW DSA716: 

_DSA716: TST716
  Virtual Unit SCB Status: 0001 - normal
  Local Virtual Unit Status: 00000010 - Local Read

  Total Devices         2       VU_UCB          810419C0
  Source Members        2       SCB LBN         000009C8
  Act Copy Target       0       Generation      00A15F90
  Act Merge Target      0       Number          EDA9D786
  Last Read Index       0       VU Site Value          5
  Master Mbr Index      0       VU Timeout Value    3600
  Copy Hotblocks        0       Copy Collisions        0
  SCP Merge Repair Cnt  0       APP Merge Repair Cnt   0


  Device $252$DUA716            Master Member
  Index 0 Status  000000A0      src,valid
  Ext. Member Status    00
  Read Cost             42      Site 5
  Member Timeout        120     UCB  8116FF80

  Device $252$DUA1010
  Index 1 Status  000000A0      src,valid
  Ext. Member Status    00
  Read Cost             500     Site 3
  Member Timeout        120     UCB  811DD500

4.9 マージ操作とコピー操作の優先順位付け

OpenVMS V8.3 以降の Volume Shadowing では, システム管理者はマージ操作とコピー操作を細かく制御できます。 詳細な制御は,SET SHADOW コマンドに対する新しい 2 つの修飾子 /PRIORITY=n および /EVALUATE=RESOURCES と,新しいシステム・パラメータ SHADOW_REC_DLY で可能となります。 これらのパラメータを使用して,システム管理者は以下のことができます。

  • シャドウセットのマージ操作とコピー操作に対して,システムごとに優先順位を付ける。

  • どのシステムが特定のシャドウセットのマージ操作やコピー操作を行うかを制御する。

  • システム・パラメータ SHADOW_MAX_COPY を変更する (すぐに有効になります)。

4.9.1 マージ操作とコピー操作のデフォルトの管理

システムで障害が発生したり,マウント・チェックなどによりシステムがシャドウセットを強制終了させた場合,このような動作は重大イベントと呼ばれます。 重大イベントのいずれかが発生すると,クラスタ内のすべてのシステムに自動的に通知されます。 この通知により,すべてのシャドウ・サーバ・プロセスはフルマージやフルコピー操作を停止し,これらの操作で使用していたすべてのリソースを解放します。 その後,各システムは新しいより高い優先順位の作業を行うためにリソースを再割り当てします。

あらかじめ決められた遅延の後,SHADOW_MAX_COPY にゼロ以外の値が設定されているシステムは,過渡状態にあるシャドウセットを,その優先順位に基づいて処理し始めます。 あらかじめ決められた遅延は,新しいシステム・パラメータ SHADOW_REC_DLY によって決まります (SHADOW_REC_DLY の詳細は,表 3-1 および 4.9.5 項 「どのシステムがマージ操作やコピー操作を行うかを制御する」を参照してくださ)。 各システムは,シャドウセットの優先順位に基づいて,利用可能な SHADOW_MAX_COPY リソースを割り当てます。

すべてのメンバが同一のデータを持っている場合, シャドウセットは安定状態にあります。 シャドウセットで以下の操作が 1 つ以上保留されていたり,あるいはいずれかの操作が実行中の場合は,過渡状態にあると呼ばれます。

  • ミニマージ

  • ミニコピー

  • フルコピー

  • フルマージ

これら過渡状態の組み合わせは有効ですが,同時には 1 つの操作しか実行できません。 たとえば,HBMM が有効でないとします。 デバイスがシャドウセットに追加されると,フルコピー過渡状態としてマークされます。 このシャドウセットがマウントされているシステムで障害が発生すると,シャドウセットはさらにフルマージ状態としてマークされます。 この例では,フルマージが開始される前にフルコピー操作が実行されます。

注意:

シャドウセットに割り当てられた優先順位は,過渡状態の操作の階層には影響を与えません。

4.9.2 過渡状態の操作の階層

特定のシャドウセットに対する操作は,以下の順序で実行されます。

  1. ミニマージ

  2. コピー (ミニコピーまたはフルコピー)

  3. フルマージ

4.9.3 優先順位の割り当て

シャドウセットが最初にシステムにマウントされるときに,各シャドウセットには優先順位としてデフォルトの 5000 が割り当てられます。 SET SHADOW/PRIORITY=n DSAn コマンドを使用して,マウントされた各シャドウセットに対し,システムごとに固有の優先順位を割り当てることができます。 各シャドウセットにシステムごとに異なる優先順位を割り当てることも,各シャドウセットに同じ優先順位を割り当てることもできます。 同じ優先順位のシャドウセットは,リリースによらず一貫した方法で管理されます。 ただし,優先順位が同じシャドウセットを管理する順序は,アルゴリズムの変更により,リリースごと異なる可能性があります。 したがって,順序が重要な場合には,異なる優先順位を割り当ててください。

優先順位の値の正しい範囲は,0 ~ 10,000 です。 割り当てられた値が大きいほど優先順位は高くなります。 優先順位の高いボリュームが,あまり重要でないボリュームよりも先にマージ (またはコピー) されるように,SET SHADOW/PRIORITY=n DSAn コマンドを使用してシステムでデフォルトで割り当てられる優先順位から変更します。

優先順位レベル 0 には特別な意味があります。 優先順位が 0 の場合,そのシャドウセットは,このシステム上でのマージ操作やコピー操作の対象になりません。

注意:

重大イベントが通知されシステムのリソースが割り当てられた後は,シャドウセットに異なる優先順位レベルを割り当てても,システム上での現在のマージ操作やコピー操作に直接影響を与えることはできません。 シャドウセットの優先順位を設定し直す必要がある場合は,4.9.8 項 「実行中の過渡状態の管理」 で説明する別の手法を使用しなければなりません。

4.9.4 優先順位値の表示

次のコマンドを実行することで,個々のシステムのシャドウセットの優先順位を表示することができます。

$ SHOW SHADOW/BY_PRIORITY DSAn:   

このコマンドは,現在の優先順位と,指定されたシャドウセットの状態を表示します。 コピー操作やマージ操作が実行中の場合は,その操作を実行しているノードと進行状況が表示されます。 以下に例を示します。

$ SHOW SHADOW DSA1104/BY_PRIORITY 
Device    Mbr                                                        Active
 Name     Cnt  Priority     Virtual Unit State                      on Node
_DSA1104:  2     5000       Merge Active (29%)                         MAX 

SHOW SHADOW/BY_PRIORITY コマンドを使用して,システムに存在するすべてのシャドウセットの優先順位レベルと状態を表示することができます。 状態は,シャドウセットで現在コピー操作やマージ操作が実行されているかどうか,またはどちらかの操作が必要かどうかを示します。 どちらかまたは両方の操作が実行中の場合は,以下の例に示すように操作を行っているシステムが表示されます。

$ SHOW SHADOW/BY_PRIORITY 
Device    Mbr                                                        Active
 Name     Cnt  Priority     Virtual Unit State                      on Node
_DSA106:   2    10000       Steady State
_DSA108:   3     8000       Steady State
_DSA110:   3     8000       Steady State
_DSA112:   3     8000       Steady State
_DSA114:   1     7000       Steady State
_DSA116:   1     7000       Steady State
_DSA150:   2     7000       Steady State
_DSA152:         7000       Not Mounted on this node
_DSA154:   3     6000       Steady State
_DSA156:   1     6000       Steady State
_DSA159:   2     5000       Steady State
_DSA74:    3     5000       Merge Active (47%)                       CASSID 
_DSA304:  2+1    5000       Merge Active (30%), Copy Active (3%)     MAX 
_DSA1104:  2     5000       Merge Active (29%)                       MAX 
_DSA300:  2+1    5000       Merge Active (59%), Copy Active (0%)     MAX 
_DSA0:    1+2    5000       Copy Active (83%)                        CASSID 
_DSA3:     2     3000       Steady State
_DSA100:   2     3000       Steady State
_DSA102:   1     3000       Steady State
_DSA104:   3     3000       Steady State
Total of 19 Operational shadow sets; 0 in Mount Verification; 1 not mounted
$

この例では,このシステムに存在する 20 個のシャドウセットが優先順位の高い順に表示されています。 クラスタ内のほかのシステムのうち,これらのシャドウセットをマウントしているシステムで障害が発生すると,シャドウセットはこのシステム上でこの順序でマージされます。

Mbr Cnt フィールドは,各シャドウセットにいくつのソース・メンバがあるかを示します。 メンバがコピー操作により追加中の場合,+1 または +2 と表示されます。 したがって,2+1 は,2 つのソース・メンバがあり,1 つのメンバが追加中であることを示します。 1+2 という表記は,ソース・メンバが 1 つしかなく,2 つのメンバがシャドウセットにコピー中であることを示します。

要約の行は,さまざまな状態で見つかったシャドウセットの合計数を示します。 “Operational shadow sets” は,1 つ以上のメンバを持つマウント済みのシャドウセットです。 コピー操作やマージ操作は実行中の場合と実行中でない場合があります。 このシャドウセットは,アプリケーションが読み書きで利用できます。 “Mount Verification” は,何らかのマウント・チェック状態にあるシャドウセットの数を示します。 マウント・チェック・タイムアウト時間を過ぎたシャドウセットも,この合計に含まれます。

その他の例については,『DCL ディクショナリ』を参照してください。

4.9.5 どのシステムがマージ操作やコピー操作を行うかを制御する

システムで障害が発生したり,シャドウセットを強制終了させると,この重大イベントにより,そのシャドウセットをマウントしているほかのすべてのシステムで,すべてのシャドウセットが再評価されます。 この時点で,すべての実行中のミニマージ操作,フルマージ操作,コピー操作が中止され,リソースがシステムに戻されます。(ただし,システムがミニコピー操作を行っている場合,この操作は完了するまで続行されます。)

各システムは,過渡状態にあるシャドウセットの管理を開始する前に,あらかじめ決められた時間 (秒単位) 待ちます。 この休止は,重大イベント回復遅延と呼ばれます。 これは,2 つのシステムパラメータ SHADOW_REC_DLY および RECNXINTERVAL に指定した値の合計です(それぞれのデフォルト値は 20 秒です)。

重大イベント回復遅延の値がすべてのシステムで同じ場合は,どのシステムがどのシャドウセットを管理するかを予測することはできません。 しかし,重大イベント回復遅延の値をシステムごとに変えることで,あるシステムがいつ過渡状態の操作を管理し始めるかを予測することができます。

4.9.6 マージ操作の管理

マージ過渡状態は,予測できないイベントです。 複数のシャドウセットに対する特定のシステム上でのマージ動作の管理は,各シャドウセットに対する優先順位レベルの設定値が異っていれば予測することができます。

以下の例では,マージ操作だけが関係する場合に,優先順位レベルを使用してシャドウセットを選択する方法を示します。 この例では,次のような状態であることを前提としています。

  • 4 つのシャドウセットがあります。

  • このシステムでの SHADOW_MAX_COPY パラメータは 1 です。 (値 1 は,同時に 1 つのマージ操作またはコピー操作しか実行できないことを意味します。)

  • 2 つのシャドウセットに優先順位レベルが割り当てられており,2 つのシャドウセットにはデフォルトの優先順位レベル 5000 が割り当てられています。

  • 4 つのシャドウセット DSA1,DSA20,DSA22,および DSA42 が 2 台のシステムにマウントされています。

  • DSA20 および DSA42 では,ミニマージが有効になっています。

$ SET SHADOW/PRIORITY=7000 DSA1:
$ SET SHADOW/PRIORITY=3000 DSA42:
! DSA20: and DSA22: are at the default priority level of 5000

この例では,いずれかのシステムで障害が発生すると,すべてのシャドウセットがマージ要状態になります。 重大イベント回復遅延時間が経過した後,このシステムはシャドウセットを評価し,以下の順序で操作が実行されます。

  1. まず DSA20 のミニマージ操作が開始されます。 DSA20 の優先順位 5000 は DSA1 の優先順位 7000 よりも低いですが,ミニマージ操作はほかの操作よりも常に優先されます。 DSA20 と DSA42 はどちらもミニマージが有効になっていますが,DSA20 のほうが優先順位が高いため,DSA20 のミニマージ操作が最初に開始されます。

  2. DSA42 上でミニマージ操作が開始されます。 優先順位 3000 はすべてのシャドウセットの中で最低ですが,ミニマージ操作はほかの操作よりも優先されます。

  3. ミニマージ機能を持ったユニットはほかにないため,優先順位レベル 7000 の DSA1 が選択されてマージ動作が開始され,終了するまで実行されます。

  4. 残っているシャドウセット DSA22 (優先順位はデフォルトの 5000) 上でマージ操作が開始され,終了するまで実行されます。

4.9.7 コピー操作の管理

コピー過渡状態は,ユーザが行った操作の結果であるため,予期することができます。 したがって,デバイスをシャドウセットに追加したことで起こるフルコピー操作は,クラスタでの重大イベントとはみなされません。 コピー操作は,利用可能なリソースを持つ最初のシステムにより管理されます。

以下の例では,4 つのシャドウセットがあり,このシステムの SHADOW_MAX COPY パラメータは 1 であると仮定します。 優先順位レベルを割り当てていないシャドウセットには,デフォルトの優先順位レベルが割り当てられることを思い出してください。

以下の例では,次のことを仮定しています。

  • DSA1,DSA20,DSA22,および DSA42 は,複数のシステムにマウントされている。

  • DSA42 でのみミニマージが有効になっている。

  • DSA22 はすでにフルコピー状態にあり,このシステムで管理されている。

  • DSA1 の優先順位レベルは 7000。

  • DSA42 の優先順位レベルは 3000。

  • DSA20 の優先順位レベルは 3000。

  • DSA22 の優先順位レベルはデフォルトの 5000。

ユーザが DSA1 にデバイスを追加します。 これは重大イベントではないため,DSA1 のフルコピー操作の実行を優先させて DSA22 のフルコピー操作を中断するといったことはしません。

この例を発展させるため,コピー操作が完了する前にシステムで障害 (重大イベント) が発生したとします。 すべてのシャドウセットはマージ要状態になります。 特に,DSA1,DSA20,および DSA22 はフルマージ状態になり,DSA42 はミニマージ状態になります。

重大イベント回復遅延が経過すると,システムは過渡状態にあるすべてのシャドウセットの評価を始めます。 以下の順序で操作が実行されます。

  1. DSA42 上でミニマージ操作が開始され,終了するまで継続されます。 この操作は,優先順位レベルに関係なく,ほかの操作より優先されます。

  2. DSA1上でコピー操作が開始されます。 コピー操作はフルマージ操作より優先されるため,フルマージ操作は開始されません。

  3. DSA1 でマージ操作が開始され,完了します。

  4. DSA22 でコピー操作が開始され,完了します。

  5. DSA22 でマージ操作が開始され,完了します。

  6. DSA20 でマージ操作が開始され,完了します。

このように,この例では優先順位レベルを使用して,システム上でのマージ操作とコピー操作の優先順位を指定しています。

4.9.8 実行中の過渡状態の管理

SHADOW_MAX_COPY は,シャドウイングによるシステム・リソースの利用を左右する,動的システム・パラメータです。 次の DCL コマンドを使用すると,このパラメータの設定変更にすぐに反応するように,シャドウイングに指示することができます。

$ SET SHADOW/EVALUATE=RESOURCES 

このコマンドは,コマンドを実行したシステムで現在実行されているすべてのマージ操作とコピー操作を中断します。 次に,SHADOW_MAX_COPY の新しい値を使用して作業を再開します。

このコマンドは,これ以外の状況でも便利です。 たとえば,シャドウセットの優先順位レベルに 0 またはほかの低い値が設定されている場合,SET SHADOW /PRIORITY=n コマンドを使用して値を大きくすることができます。 その後,/EVALUATE=RESOURCES 修飾子を使用することで,過渡状態のシャドウセットの優先順位が再評価されます。

コマンド修飾子の /PRIORITY と /EVALUATE=RESOURCES は,同じコマンド行で使用できます。

重大イベントが起きると,SHADOW_MAX_COPY リソースのすべてが適用されます。 SYSGEN SET コマンドと WRITE ACTIVE コマンドを使用して SHADOW_MAX_COPY の値を変更し,その後 SET SHADOW /EVALUATE=RESOURCES を実行することで,SHADOW_MAX_COPY の新しい値を直接すぐに有効にすることができます。

どのシステムが一時操作を制御しているかを確認するには,次のコマンドを入力します。

$ SHOW SHADOW/ACTIVE DSAn:

各シャドウセットに割り当てられている優先順位の値を確認するには,次のコマンドを入力します。

$ SHOW SHADOW/BY_PRIORITY DSAn:

4.10 メンバの削除とシャドウセットの解除

DCL コマンドの DISMOUNT で,シャドウセット・メンバを削除し, シャドウセットを解除できます。グループおよびシステムのボリュームをディスマウントするには,GRPNAM と SYSNAM のユーザ特権が必要です。 /POLICY=[NO]MINICOPY[=OPTIONAL] 修飾子を使用するには,LOG_IO ユーザ特権も必要です。

DISMOUNT コマンドの形式は次のとおりです。

DISMOUNT {device-name[:] virtual-unit-name}

DISMOUNT コマンドで個々のシャドウセット・メンバを指定するか, (仮想ユニット名で) シャドウセットを指定するかで,動作が異なります。

  • シャドウセット・メンバのデバイス名を指定すると,そのメンバだけがディスマウントされ,残りのシャドウセット・メンバは入出力要求のサービスを続けます。

  • シャドウセットの仮想ユニットを指定すると,すべてのシャドウセット・メンバがディスマウントされ,シャドウセットは解除されます。

OpenVMS Cluster システムにまたがってマウントされているシャドウセットをディスマウントするためには,DISMOUNT コマンドで /CLUSTER 修飾子を指定します。 シャドウセットを /CLUSTER 修飾子なしでディスマウントすると,コマンドを実行したノードだけでシャドウセットがディスマウントされ,シャドウセットがマウントされている 他の OpenVMS Cluster ノードでは,シャドウセットは動作したままになります。

システムのディスクが SCSI ディスクでも Fibre Channel ディスクでもない場合, ディスク・ボリュームの回転が止まるのを避けるために, DISMOUNT コマンドに /NOUNLOAD 修飾子を指定します。そのようにすると, そのデバイスはレディ状態を維持します。 仮想ユニットをディスマウントするときに /UNLOAD 修飾子を指定すると,ディスク・ボリュームは, シャドウセットが解除された後,物理的に回転が止まります。 DISMOUNT コマンドとその修飾子の使い方の詳細は, 『OpenVMS DCL ディクショナリ』を参照してください。

4.10.1 シャドウセットからのメンバの削除

シャドウセットから個々のメンバを削除するためには,DISMOUNT コマンドで物理デバイスの名前を指定します。たとえば,次のとおりです。

$ DISMOUNT $5$DUA7:

シャドウセット・メンバを個別にディスマウントすると,すべての未完了の入出力要求が終了した後に,メンバがセットから削除されます。

OpenVMS Alpha バージョン 7.3 からは,/FORCE_REMOVAL ddcu: 修飾子が使えるようになりました。 デバイス接続が失われ, シャドウセットがマウント検査の状態になると, 指定したシャドウセット・メンバ (ddcu:) をシャドウセットから即座に削除するために, /FORCE_REMOVAL ddcu: を使うことができます。 この修飾子を省略すると,デバイスはマウント検査が完了するまでディスマウントされません。 この修飾子は /POLICY=[NO]MINICOPY [=OPTIONAL] 修飾子と同時には使えません。

指定するデバイスは,コマンドを実行したノードにマウントされているシャドウセットのメンバである必要があります。

/FORCE_REMOVAL 修飾子によって,システム管理者は,メンバが OpenVMS Cluster 構成の異なるサイトにあるシャドウセットを容易に制御することができます。 4.7 項 「SET SHADOW によるシャドウセットの管理 (Integrity および Alpha)」4.8 項 「コピー操作とマージ操作の管理 (Integrity および Alpha)」で説明しているように,SET DEVICE 修飾子と SET SHADOW 修飾子もシャドウセット・メンバのディザスタ・トレラント管理属性を指定するために,使うことができます。

注意:

デバイスがシャドウセットの唯一のソース・メンバである場合, ディスマウントすることはできません。すべてのシャドウセットには, 少なくとも 1 つの正しいソース・メンバが必要です。 唯一のソース・メンバ・デバイスをディスマウントしようとすると, DISMOUNT コマンドは失敗し,次のメッセージが表示されます。

%DISM-F-SRCMEM, Only source member of shadow set cannot be dismounted

シャドウセットの最後のソース・メンバを削除する唯一の方法は, DISMOUNT コマンドで仮想ユニット名を指定して,シャドウセットを解除することです。

4.10.2 シャドウセットの解除

シャドウセットを解除する方法は,シャドウセットが単独のシステムにマウントされているか,OpenVMS クラスタ・システム内の複数のシステムにマウントされているかにより異なります。 どちらの場合も,DISMOUNT コマンドを使用します。 シャドウセットが単独のシステムにマウントされている場合,DISMOUNT コマンドにシャドウセットの仮想ユニット名を指定すると,そのシャドウセットを解除できます。 シャドウセットがクラスタ内にマウントされている場合は,クラスタ全体で DSA36 シャドウセットを解除するために,/CLUSTER 修飾子を指定しなければなりません。 例を次に示します。

$ DISMOUNT /CLUSTER DSA36:

シャドウセットの解除は,すべてのファイルがクローズされた後で行われ, ディスマウントするディスクがファイル・システム全体で矛盾がないことを保証します。 ディスマウント操作では,正しくディスマウントされたとシャドウセット・メンバにマークし,次回にディスクをマウントするときの再構築を不要にします。 ただし,マージ操作が保留中か進行中であった場合は, ディスマウント操作では,シャドウセット・メンバが正しくディスマウントされていないとマークし,マージ操作が必要になります。

注意:

シャドウセットのコピー操作中に仮想ユニットをディスマウントすると, コピー操作は中断し,シャドウセットは解除されます。 そして,次の例に示すような,OPCOM メッセージが表示されます。

$ DISMOUNT DSA9999:

%%%%%%%%%%%  OPCOM  24-MAR-1990 20:29:57.52  %%%%%%%%%%%
$7$DUA6:  (WRKDSK) has been removed from shadow set.
%%%%%%%%%%%  OPCOM  24-MAR-1990 20:29:57.68  %%%%%%%%%%%
$7$DUA56: (PLADSK)  has been removed from shadow set.
%%%%%%%%%%%  OPCOM  24-MAR-1990 20:29:57.88  %%%%%%%%%%%
Message from user SYSTEM on SYSTMX

4.10.3 サイト固有のシャットダウン・プロシージャ内でのシャドウセットのディスマウント

サイト固有のシャットダウン・コマンド・プロシージャを,クラスタ内の各システム用に作成することができます (『OpenVMS システム管理者マニュアル (上・下巻)』を参照してください)。 オペレーティング・システムと一緒に出荷されるデフォルトの SHUTDOWN.COM プロシージャは,マウントされているすべてのボリュームに対して DISMOUNT/ABORT/OVERRIDE=CHECKS 操作を実行します。 マウントされているシャドウセット上でオープンされたままのファイルがあると,システムのリブート時に,これらのシャドウセットでのマージ操作が必要になります。

このような不必要なマージ操作を防止するには,各サイトに固有の SYSHUTDWN.COM コマンド・プロシージャを変更して,DISMOUNT/ABORT/OVERRIDE=CHECKS 修飾子を使用せずに,シャドウセットをディスマウントします。 オープン・ファイルが見つかった場合,それらのファイルをクローズしなければなりません。

4.10.4 バックアップ用にメンバを 1 つ減らしてディスマウントと再マウントを行う

4.10.2 項 「シャドウセットの解除」 で説明したように,仮想ユニットをシステムあるいは OpenVMS Cluster システムからディスマウントできます。 仮想ユニットが正しくディスマウントされたことを確認するには, 以下の手順を実行します。

  1. MOUNT/NOWRITE コマンドを実行し, その後,SHOW DEVICE コマンドを実行します。たとえば,次のように実行します。

    $ MOUNT/NOWRITE DSA42: /SHADOW=($4$DUA3,$4$DUA4,$4$DUA5) volume-label 
    $ SHOW DEVICE DSA42:
    

  2. 仮想ユニットが,安定した状態であることを確認してください。 つまり,すべてのメンバが矛盾なく,コピーやマージの操作が進行中でないことを確認します。 コピーやマージの操作が進行中であれば, 操作の完了を待ってください。

  3. 仮想ユニットが安定状態であれば,次の例のように, DISMOUNT コマンドでシャドウセットからメンバを削除します。

    $ DISMOUNT $4$DUA5
    

  4. 仮想ユニットをディスマウントし,次のコマンドのように, 1 つ少ないメンバで再マウントします。

    $ DISMOUNT DSA42:
    $ MOUNT/SYS DSA42: /SHADOW=($4$DUA3,$4$DUA4) volume-label
    

    削除されたメンバはその仮想ユニットのバックアップ操作で使えるようになります。

注意:

アプリケーションを連続的に稼働させる必要があっても (すなわち, 業務を中断してディスマウントすることができない場合でも),後でシャドウセットに戻す予定のシャドウセット・メンバを削除することができます。 アプリケーションや回復手順は, 7.11 項 「バックアップ用にシャドウセット・メンバを使う際のガイドライン」 で説明するように, データの整合性を保証するように設計されている必要があります。

4.11 シャドウセットの情報の表示

DCL コマンドの SHOW DEVICE や F$GETDVI レキシカル関数を使うと, シャドウセット仮想ユニットとメンバとして使われている物理ボリュームの情報を取得することができます。 SDA (System Dump Analyzer) を使って, シャドウセットの詳細情報を取得することもできます。

以下の項では,これらのツールを使ってボリューム・シャドウイング仮想ユニットとシャドウセット・メンバを検査する方法を説明します。 SHOW DEVICE コマンドや F$GETDVI レキシカル関数の使い方の詳細は,『OpenVMS DCL ディクショナリ』を参照してください。 OpenVMS Alpha システムで SDA を使う方法の詳細は,それぞれ,『OpenVMS Alpha System Analysis Tools Manual』 を参照してください。

(シャドウセットの仮想ユニット名を指定して) シャドウセットやシャドウセット・メンバを検査するときは, SHOW DEVICE の任意の修飾子が使えます。

注意:

シャドウセットは OpenVMS Cluster の各々のノードで独立して作成され維持されるので,SHOW DEVICE では, リモート・ノードだけで作成されたシャドウセットは表示されません。

4.11.1 シャドウセットの表示

シャドウセットの情報を表示するには, 次の形式の SHOW DEVICE を使います。

SHOW DEVICE [virtual-unit-name[:]]

シャドウセットに対する SHOW DEVICE コマンドのパラメータでは, 変数 device-namevirtual-unit-name に置き換えます。 仮想ユニット名には,DSAn: の形式を使います。

他の SHOW DEVICE コマンドと同様に,コロンはオプションです。 デバイス名の場合と同様に,完全な仮想ユニット名か, 仮想ユニット名の一部を指定できます。仮想ユニット番号を省略すると, SHOW DEVICE は,指定したタイプのシャドウセット・メンバ・ディスクで表されるすべてのシャドウセット仮想ユニットを表示します。 (D のように) デバイス名を短縮した場合は,SHOW DEVICE は, 入力した文字 (この場合は,D) で始まるすべてのデバイスと仮想ユニットを表示します。

仮想ユニット番号を指定すると,SHOW DEVICE は,それに対応しているシャドウセット・メンバの名前を表示します。/FULL 修飾子を使うと, SHOW DEVICE は,シャドウセットとそれに対応するシャドウセット・メンバに関する完全な情報を表示します。

システム単位またはクラスタ単位でアクセスできるようにマウントされた個々のシャドウセット・メンバは従来の方法では割り当てたりマウントすることができないため,/ALLOCATED 修飾子や /MOUNTED 修飾子が指定された SHOW DEVICE コマンドは,仮想ユニットだけを表示します。

4.11.2 シャドウセット・メンバの表示

シャドウセット・メンバに対する SHOW DEVICE コマンドの形式は, 他の物理デバイスの場合の形式と同じです。このコマンドでは, 指定したデバイス名のすべてのシャドウセット・メンバが表示されます。

シャドウセット・メンバは従来の方法ではマウントされず, すべてのメンバは同じデバイス特性を持つため,SHOW DEVICE では, 対応する仮想ユニットとともに有用なデータの大部分が表示されます。 シャドウセット・メンバの表示には, 現在のメンバシップ・ステータスの情報も含まれます。

シャドウセットでコピーやマージの操作が行われている最中であれば, SHOW DEVICE コマンドの表示には,コピーやマージの済んだディスクの割合も表示されます。 SHOW DEVICE 情報は,シャドウセットがマウントされているすべてのノードで,表示することができます。

SHOW DEVICE の表示では,コピーされたディスクの正確な割合が表示されます。 コピー操作を管理しているノードでは,コピーやマージの操作の進み具合を正確に把握することができるので,OpenVMS Cluster の別のノードに定期的にその進み具合を通知します。 このようにして,クラスタ内の他のノードは, コピーの割合を概略で知ることができます。 コピーやマージの操作を行っていないノードで SHOW DEVICE コマンドを実行すると, SHOW DEVICE の出力で表示されるコピーの割合は, 実際にコピーされている割合よりも少なめに表示されます。

コピーとマージの操作が同じシャドウセットで同時に行われると, マージの割合は,コピーが完了するまで変化しないことに注意してください。 コピーが完了した後,マージ操作が再開されます。

4.11.3 SHOW DEVICE でのシャドウセット情報の表示例

SHOW DEVICE コマンドの出力を示す以下の例では,シャドウセットのメンバ構成や,コピーやマージの操作中の各々のシャドウセット・メンバのステータスなど,取得可能な種々のシャドウセット情報を示しています。 ミニコピー操作で使われる書き込みビットマップの例については, 7.9 項 「DCL コマンドによるビットマップの管理」 を参照してください。

$ SHOW DEVICE D

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA0:                Mounted           0  SHADOWDISK        8694   151   1
DSA9999:             Mounted           0  APPARITION      292971     1   1
$4$DUA0:   (SYSTMX)  Online            0
$4$DUA8:   (HSJ001)  ShadowSetMember   0  (member of DSA0:) 
$4$DUA10:  (SYSTMX)  ShadowSetMember   0  (member of DSA9999:) 
$4$DUA11:  (SYSTMX)  ShadowSetMember   0  (member of DSA9999:) 
$4$DUA12:  (SYSTMX)  ShadowSetMember   0  (member of DSA9999:) 
$4$DUA89:  (HSJ002)  ShadowSetMember   0  (member of DSA0:) 

デバイス名を短縮した場合は, SHOW DEVICE コマンドは,入力した文字 (この場合は,D) で始まるローカル・ノード上のすべてのデバイスと仮想ユニットを表示します。 この例では 2 つの仮想ユニット DSA0 と DSA9999 がアクティブであることを示しています。 どちらのシャドウセットも安定状態です。 「ShadowSetMember」というデバイス・ステータスはシャドウセットが安定状態であることを示しています。 つまり,シャドウセット・メンバは互いに整合が取れています。

$ SHOW DEVICE DSA8

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA8:                Mounted           0  APPARITION      890937     1   1
$11$DUA8:   (SYSTMX)   ShadowSetMember   0  (member of DSA8:) 
$11$DUA89:  (SYSTMY)   ShadowSetMember   0  (member of DSA8:) 

この例では,DSA8 仮想ユニットで示されるシャドウセットのメンバ構成とステータスを表示しています。 SHOW DEVICE の表示では, 仮想ユニット DSA8 の情報だけでなく,そのシャドウセットのメンバである物理デバイス $11$DUA8 と $11$DUA89 の情報も表示されています。 「ShadowSetMember」というデバイス・ステータスは,シャドウセットが安定状態であることを示しています。 つまり,シャドウセット・メンバは互いに整合が取れています。 シャドウセット・メンバは, OpenVMS Cluster ノードの SYSTMX と SYSTMY でサービスされています。

$ SHOW DEVICE DSA

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA7:                Mounted           0  PHANTOM          27060    35   7
DSA8:                Mounted           0  APPARITION      890937     4   6

ローカル・ノードのすべてのシャドウセットに関する情報が必要な場合は, SHOW DEVICE コマンドで DSA と指定します。パラメータとして DSA のような, 汎用的な仮想ユニット名を入力すると,ローカル・システムにマウントされているシャドウセットに対応するすべての仮想ユニットに関する情報が表示されます。 この例ではローカル・ノードに 2 つのシャドウセットがマウントされており, 仮想ユニット DSA7 と DSA8 として表されています。

$ SHOW DEVICE $11$DUA8:

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA8:                Mounted           0  APPARITION      890937     1   1
$11$DUA8:   (HSJ001) ShadowSetMember   0  (member of DSA8:) 
$11$DUA89:  (HSJ002) ShadowSetMember   0  (member of DSA8:) 

SHOW DEVICE コマンドではデバイス名を 1 つだけ指定していますが, 結果の表示は,$11$DUA8 デバイスが属する DSA8 仮想ユニットに対応するシャドウセットのメンバ構成とステータスの情報を含んでいます。 「ShadowSetMember」というデバイス・ステータスは, シャドウセットが安定状態であることを示しています。 つまり,シャドウセット・メンバは互いに整合が取れています。 シャドウセット・メンバは,HSJ001 という名前のノードからアクセスされています。

$ SHOW DEVICE $11$DUA8:

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA8:                Mounted           0  APPARITION      890937     1   1
$11$DUA8:  (HSJ001)  ShadowSetMember   0  (member of DSA8:) 

$11$DUA89: (HSJ002)  ShadowCopying     0  (copy trgt DSA8:  48% copied) 

この SHOW DEVICE コマンドの出力は,シャドウセットが遷移状態であることを示しています。 「ShadowCopying」というデバイス・ステータスは,物理デバイス $11$DUA89 がコピー操作のターゲットになっていて,ディスクの 48% がコピーされたことを示しています。 デバイス $11$DUA8 がコピー操作のソース・メンバです。

$ SHOW DEVICE DSA8

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA8:                Mounted           0  APPARITION      890937     1  12

$11$DUA8:  (HSJ001)  ShadowCopying     0  (copy trgt DSA8: 5% copied) 
$11$DUA89: (HSJ002)  ShadowMergeMbr    0  (merging DSA8:   0% merged) 

この例では,OpenVMS Cluster システムのノードが障害を起こした後, コピー操作を行っているシャドウセットが,SHOW DEVICE コマンドでどのように表示されるかを示しています。 この例では,シャドウセット・メンバはクラスタ内の異なるノードにあり,シャドウセットがマウントされているノードの 1 つで障害が発生しています。 障害が発生したときにシャドウセットは遷移状態にあり,$11$DUA8 デバイスではコピー操作が行われていました。 この SHOW DEVICE コマンドでは,マージ操作が行われる前の, コピー操作中のシャドウセットの状態を示しています。

$11$DUA89 シャドウセット・メンバは,コピー操作のソース・メンバになっている最中も,OpenVMS Cluster システム上で実行されているアプリケーションからの入出力要求を受け付け,実行できます。 コピー操作が完了すると,マージ操作が自動的に開始されます。 マージ操作についての詳細は,第6章 「シャドウセットの整合性の保証」 を参照してください。

次の例では,マージ操作中のシャドウセットが SHOW DEVICE コマンドでどのように表示されるかを示しています。

$ SHOW DEVICE DSA8

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA8:                Mounted           0  APPARITION      890937     1   1

$11$DUA8:   (HSJ001) ShadowMergeMbr    0  (merging DSA8: 78% merged) 
$11$DUA89:  (HSJ002) ShadowMergeMbr    0  (merging DSA8: 78% merged) 

SHOW DEVICE コマンドは,マージ操作で遷移状態にあるシャドウセットを, この例のように表示します。マージ操作は 78% 完了しています。

$ SHOW DEV D

Device               Device        Error    Volume         Free  Trans Mnt
 Name                Status        Count     Label        Blocks Count Cnt
DSA456:      (FUSS)  Mounted           0  AUDITINGDISK    123189   225  17
$11$DIA1:  (LISBEN)  Online            0
$11$DJA16: (GALEXI)  Online            0
$11$DJA128:(GALEXI)  Mounted wrtlck    0  CORPORATEVOL    164367     1  18
$11$DJA134:(GALEXI)  Mounted           0  WORKVOLUME      250344     1  16
$11$DUA1:    (FUSS)  Mounted           0  MAR24DISKVOL    676890     1  18
$11$DUA2:    (FUSS)  ShadowSetMember   0  (member of DSA456:) 
$11$DUA7:   (BLISS)  Online            0  (remote shadow member) 
$11$DUA11: (LISBEN)  Mounted           0  RMSFILES        621183     1  18
$11$DUA13:  (BLISS)  Mounted           0  RESIDENTVOL     525375     1  18

この例では,SHOW DEVICE コマンドでリモート・シャドウセット・メンバがどのように表示されるかを示しています。 この表示の中で, 説明が「remote shadow member」になっているデバイス $11$DUA7 は, このシステムにマウントされていないシャドウセット・メンバです。

$ SHOW DEVICE/FULL DSA80

Disk DSA80:, device type MSCP served SCSI disk, is online, mounted, file-
oriented device, shareable, available to cluster, error logging is enabled.

Error count                    0    Operations completed               138
Owner process                 ""    Owner UIC                      [SHADOW]
Owner process ID        00000000    Dev Prot    S:RWED,O:RWED,G:RWED,W:RWED
Reference count                1    Default buffer size                512
Total blocks              891072    Sectors per track                   51
Total cylinders             1248    Tracks per cylinder                 14

Volume label         "SHADTEST1"    Relative volume number               0
Cluster size                   3    Transaction count                    1
Free blocks               890937    Maximum files allowed           111384
Extend quantity                5    Mount count                          4
Mount status              System    Cache name         "_DSA2010:XQPCACHE"
Extent cache size             64    Maximum blocks in extent cache   89093
File ID cache size            64    Blocks currently in extent cache     0
Quota cache size               0    Maximum buffers in FCP cache       216

Volume status:  subject to mount verification, file high-water marking,write-
  through caching enabled.
Volume is also mounted on BLASTA, CNASTA, SHASTA.

Disk $255$DUA56:, device type MSCP served SCSI disk, is online, member of 
shadow set DSA80:, error logging is enabled.

Error count                    0    Shadow member operation count      301
Host name               "SHASTA"    Host type, avail      VAX 6000-320,yes
Allocation class             255

  Volume status:  volume is a merge member of the shadow set.

Disk $255$DUA58:, device type MSCP served SCSI disk, is online, member of 
shadow set DSA80:, error logging is enabled.

Error count                    0    Shadow member operation count      107
Host name               "SHASTA"    Host type, avail      VAX 6000-320,yes
Allocation class             255

Volume status:  volume is a merge member of the shadow set.

この例は SHOW DEVICE/FULL コマンドでシャドウセットとそのメンバの詳細情報がどのように表示されるかを示しています。 両方のメンバ, $255$DUA56 と $255$DUA58 が,マージ・メンバであることに注意してください。 4.11.5 項 「SDA によるシャドウセット情報の表示」 では,このシャドウセットを System Dump Analyzer で検査したときにどのように表示されるかを示しています。

4.11.4 ANALYZE/DISK/SHADOW による,シャドウセットの検査

ANALYZE/DISK ユーティリティの /SHADOW 修飾子を使用すると,シャドウセット内の特定の範囲のブロックや,シャドウセット全体の内容を検査できます。 INITIALIZE/SHADOW コマンドを /ERASE 修飾子なしで使用して,シャドウセットを初期化した場合に,ANALYZE/DISK/SHADOW コマンドは役立ちます。 ANALYZE/DISK/SHADOW の別の用途としては,I/O サブシステムの動作試験があります。

めったにありませんが,矛盾が見つかった場合には,シャドウセットのクラスタ単位の書き込みロックがそのシャドウセットに行われ,ブロックが再読み取りされます。 それでも矛盾がある場合は,ファイル名が表示され,矛盾があるデータ・ブロックが画面上にダンプされます。 /OUTPUT が指定されている場合は,ファイルにダンプされます。 2 回目の読み取りで矛盾がなかった場合は,エラーは一時的なもの (そのディスク・ブロックへの書き込みが実行中だった) として扱われます。 一時的なエラーが要約内に記録されますが,すべてのメンバが同じ情報を含んでいることが確認されると,成功として扱われます。

INITIALIZE/SHADOW を /ERASE 修飾子なしで使用してシャドウセットの初期化を行った場合,ファイル・システムの外部で違いが発生することがあります。 これはディスク・データの破損ではありません。 差分として報告されたブロックは書き込みが行なわれず, 古いデータが含まれている場合があります。 ファイルのデータ終端位置と割り当て領域の終端の間には 書き込まれていない領域が存在するかもしれないので, 不整合として報告されたブロックがファイルに割り当てられられる場合があります。

このような矛盾を避けるためには,フルマージを実行してください。 フルマージは DCL コマンド SET SHADOW/DEMAND_MERGE DSAxxx で実行できます。 コントローラ・ベースのミニマージをサポートするコントローラからサービスを受けるデバイス (たとえば HSJ50s) の場合,このコマンドは,クラスタ内で 1 つのノードにのみシャドウセットがマウントされている間に実行すべきです。 そうでない状態でミニマージを実行すると,矛盾が解決されない場合があります。 シングルメンバ・シャドウセットにメンバを追加する場合は,フルコピーを行なうことで,ファイルシステムの内部および外部の両方で確実にディスクを一貫した状態に維持することができます。 フルマージを実行した後に ANALYZE/DISK/SHADOW コマンドでエラーが報告される場合は,調査する必要があります。

  • SWAPFILE*.*

  • PAGEFILE*.*

  • SYSDUMP.DMP

  • SYS$ERRLOG.DMP

表 4-4 「ANALYZE/DISK/SHADOW コマンドの修飾子」 に,ANALYZE/DISK/SHADOW コマンドの修飾子を示します。

表 4-4 ANALYZE/DISK/SHADOW コマンドの修飾子

修飾子

機能

/BLOCKS={(START:n,COUNT:x,END:y), FILE_SYSTEM, ALL}

指定された範囲だけを比較します。 オプションは,次のとおりです。

  • START:n = 分析する最初のブロックの番号です。 デフォルトは,第 1 ブロックです。

  • COUNT:x = 分析するブロックの数です。 このオプションは,END オプションの代わりです。 両方指定することもできます。

  • END:y = 分析する最後のブロックの番号です。 デフォルトは,ボリュームの最後のブロックです。

  • FILE_SYSTEM = ディスク上の正しいファイルで現在使用されているブロックが対象になります。 これは,デフォルトのオプションです。

  • ALL = ディスク上のすべてのブロックが対象になります。

START/END/COUNT と,ALL または FILE_SYSTEM を指定できます。 たとえば,/BLOCKS=(START, END, COUNT:100, ALL) を指定すると,ブロックがファイル・システムで使用されているかどうかにかかわらず,ソフトウェアはディスク上の最初の 100 ブロックをチェックします。

/BLOCKS=(START, END, COUNT:100, FILE_SYSTEM) を指定すると,ソフトウェアは,ディスク上の正しいファイルで使用されているブロックのうち最初の 100 ブロックをチェックします。

/BRIEF

違いが見つかった場合に,論理ブロック番号 (LBN) だけを表示します。 この修飾子を指定しないと,LBN に違いがあった場合,各メンバの違いがあったブロックの 16 進データが表示されます。

/[NO]IGNORE

データの異なるブロックが存在しそうな,「特殊な」ファイルを無視します。 これらの違いは異常ではなく,無視できます。 このような特殊なファイルには,SWAPFILE*.*,PAGEFILE*.*,SYSDUMP.DMP,および SYS$ERRLOG があります。

/OUTPUT=file-name

指定されたファイルに情報を出力します。

/STATISTICS

ヘッダとフッタだけを表示します。 /OUTPUT と一緒に使用することをお勧めします。

 

例 4-9 「ANALYZE/DISK/SHADOW の出力例」 に,/BRIEF 修飾子と /BLOCK 修飾子を指定した ANALYZE/DISK/SHADOW コマンドの使用方法を示します。

例 4-9 ANALYZE/DISK/SHADOW の出力例

$ ANALYZE/DISK/SHADOW/BRIEF/BLOCK=COUNT=1000 DSA716:
Starting to check _DSA716: at 14-MAY-2003 13:42:52.43
Members of shadow set _DSA716: are _$252$MDA0: _$252$DUA716:
and the number of blocks to be compared is 1000.
Checking LBN #0 (approx 0%)
Checking LBN #127 (approx 12%)
Checking LBN #254 (approx 25%)
Checking LBN #381 (approx 38%)
Checking LBN #508 (approx 50%)
Checking LBN #635 (approx 63%)
Checking LBN #762 (approx 76%)
Checking LBN #889 (approx 88%)

Run statistics for _DSA716: are as follows:
         Finish Time = 14-MAY-2003 13:42:52.73
         ELAPSED TIME =    0 00:00:00.29
         CPU TIME = 0:00:00.02
         BUFFERED I/O COUNT = 10
         DIRECT I/O COUNT = 16
         Failed LBNs = 0
         Transient LBN compare errors = 0

4.11.4.1 ANALYZE/DISK/SHADOW コマンドで接続エラーが発生した場合の対処

ANALYZE/DISK/SHADOW コマンドを実行した後に何らかの理由で シャドウセット・メンバで接続に関する問題が発生した場合は, エラーが表示され DCL プロンプトが表示されます。 この問題を解決するためには,ANALYZE/DISK/SHADOW コマンドを再実行する前に, 仮想ユニット上に一時ファイルを作成する必要があるかもしれません。

4.11.4.2  サイズが異なるデバイスで構成されている場合の ANALYZE/DISK/SHADOW コマンドの動作

新しいメンバが追加された後にシャドウセットが論理的に拡張されてから フルマージが行なわれていない場合, ANALYZE/DISK/SHADOW コマンドが説明可能な不整合を報告する場合もあります。 以下にこの問題の例を示します。

  • シャドウセット DSA1: は $1$DGA20: (18 GB) および $1DGA21 (36 GB) の 2 つのメンバで構成されている。

  • 36 GB のメンバ $1$DGA22: をフルコピーによりシャドウセットに追加した。

  • コピーが完了した後,シャドウセットから $1$DGA20: を削除した。

この時点で SET VOLUME/SIZE DSA1: コマンドを実行すると, シャドウセットの仮想ユニット DSA1: は 36 GB に拡張されます。 この後,ANALYZE/DISK/SHADOW を実行すると, シャドウセットの内容の最初の 18 GB のみが $1$DGA22: にコピーされるため 不整合が報告されます。 ただし,問題となっている領域はアプリケーションによってはまだ書き込まれていないため,ANALYZE/DISK/SHADOW が報告するこの不整合は問題ありません。

4.11.5 SDA によるシャドウセット情報の表示

SDA (System Dump Analyzer) は OpenVMS オペレーティング・システムに用意されているユーティリティです。 SDA の主な機能はクラッシュ・ダンプを分析することですが,シャドウセットなどの,実行中のシステムを検査するツールとしても役に立ちます。 また,SDA は,他社の SCSI デバイスがシャドウイング・データの (不良ブロックの) 修復機能を持っているかどうかを調べるためにも使えます。 この例は,4.11.5.1 項 「SDA による他社製 SCSI デバイスの情報取得」 にあります。

SDA コマンドの SHOW DEVICE は,システム構成内のデバイスを記述しているシステム・データ構造の情報を表示します。 シャドウセットを検査するには,まず DCL プロンプトから,ANALYZE/SYSTEM を入力して System Dump Analyzer を起動します。 その後,SDA> プロンプトから, 仮想ユニット名を指定して SHOW DEVICE コマンドを入力します。

以下の例では,仮想ユニット DSA80 に対応するシャドウセットの情報を取得する方法を示しています。 以下に示す SDA の出力例を, 4.11.3 項 「SHOW DEVICE でのシャドウセット情報の表示例」 の最後の例に示す DCL の SHOW DEVICE 出力と比較してください。

$ ANALYZE/SYSTEM

VAX/VMS System analyzer

SDA> SHOW DEVICE DSA80

I/O data structures
-------------------
DSA80                                   HSJ00              UCB address:  810B7F50

Device status:   00021810 online,valid,unload,lcl_valid
Characteristics: 1C4D4008 dir,fod,shr,avl,mnt,elg,idv,odv,rnd
                 00082021 clu,mscp,loc,vrt

Owner UIC [004000,000015]   Operation count        138   ORB address    810B8080
      PID        00000000   Error count              0   DDB address    813F49F0
Alloc. lock ID   009C2595   Reference count          1   DDT address    810BEBB8
Alloc. class            0   Online count             1   VCB address    810BE3F0
Class/Type          01/15   BOFF                  0000   CRB address    8129EB10
Def. buf. size        512   Byte count            0200   PDT address    810121A0
DEVDEPEND        04E00E33   SVAPTE            81FDE55C   CDDB address   813F4360
DEVDEPND2        00000000   DEVSTS                0004   SHAD address   8111D460
FLCK index             34   RWAITCNT              0000   I/O wait queue    empty
DLCK address     00000000                                                      

Shadow Device status:   0004 nocnvrt

		----- Shadow Descriptor Block (SHAD) 8111D460 -----

Virtual Unit status:              0041 normal,merging

Members                2    Act user IRPs          0    VU UCB          810B7F50
Devices                2    SCB LBN         0006CC63    Write log addr  00000000
Fcpy Targets           0    Generation Num  28D47C20    Master FL          empty
Mcpy Targets           2                    00935BC7    Restart FL         empty
Last Read Index        1    Virtual Unit Id 00000000                           
Master Index           0                    12610050                           

	    ----- SHAD Device summary for Virtual Unit  DSA80  -----

Device $255$DUA56
	Index 0 Device Status    A6 merge,cip,src,valid
	UCB 810510D0     VCB 81400A00      Unit Id. 12A10038 000000FF
	Merge LBN 0004B94D
Device $255$DUA58
	Index 1 Device Status    A6 merge,cip,src,valid
	UCB 81051260     VCB 81439800      Unit Id. 12A1003A 000000FF
	Merge LBN 0004B94D

SDA> exit

SDA ユーティリティの SHOW DEVICE コマンドは, 最初に DSA80 仮想ユニットのデバイス特性とデータ構造のアドレスを表示します。 その後 SDA は DSA80 仮想ユニットのステータスと個々のシャドウセット・メンバのステータスを表示します。 ユニットのマージ状態が, 各々のメンバのデバイス・ステータスに反映される様子を見てください。 たとえば,$255$DUA56 には,次のようなデバイス・ステータスが表示されています。

Device $255$DUA56
	Index 0 Device Status    A6 merge, cip, src , valid
	UCB 810510D0     VCB 81400A00      Unit Id. 12A10038 000000FF
	Merge LBN 0004B94D

この情報の意味は次のとおりです。

  • merge ― $255$DUA56 には,マージ操作がマークされています。

  • cip ― コピーが進行中です。この例では,マージ操作が進行中です。

  • src ― $255$DUA56 は読み取り操作のソース・メンバになっています。

  • valid ― $255$DUA56 の SCB 情報は,正しい状態です。

SDA がこのシャドウセットの「スナップショット」を取ったときに, マージ操作で LBN 0004B94D がマージ中だったことが, 両方のデバイス $255$DUA56 と $255$DUA58 でどのように表示されているかにも注意してください。

以下の例では,同じシャドウセットの, $255$DUA56 がマージ・メンバで $255$DUA58 がコピー操作のコピー先になっている場合の SDA 表示を示します。 シャドウセットがマウントされているノードが, シャドウセットのメンバのコピー操作中にクラッシュすると, シャドウセットはマージ/コピー状態になることがあります。 ボリューム・シャドウイングではコピー操作中だったシャドウセットを自動的にマークし,コピー操作が完了したときにマージ操作が行われるようにします。 これによりシャドウセット全体での整合性が保証されます。

この例では,最初に DCL コマンド SHOW DEVICE $255$DUA58 による 1 つのシャドウセット・メンバの出力を示し,次に SDA コマンド SHOW DEVICE DSA80 を使った場合の シャドウセット全体の出力を示しています。 SDA は ANALYZE/SYSTEM コマンドで起動しています。

$ SHOW DEVICE $255$DUA58

Device                  Device           Error    Volume         Free  Trans Mnt
 Name                   Status           Count     Label        Blocks Count Cnt
DSA80:                  Mounted              0  SHADTEST1       890937     1   3

$255$DUA56:   (SHASTA)  ShadowMergeMbr       0  (merging DSA80:   0% merged) 
$255$DUA58:   (SHASTA)  ShadowCopying        0  (copy trgt DSA80: 9% copied ) 


$ ANALYZE/SYSTEM

VAX/VMS System analyzer

SDA> SHOW DEVICE DSA80

I/O data structures
-------------------
DSA80                                   RA81              UCB address:  810B7F50

Device status:   00021810 online,valid,unload,lcl_valid
Characteristics: 1C4D4008 dir,fod,shr,avl,mnt,elg,idv,odv,rnd
                 00082021 clu,mscp,loc,vrt

Owner UIC [004000,000015]   Operation count        130   ORB address    810B8080
      PID        00000000   Error count              0   DDB address    813F49F0
Alloc. lock ID   009C2595   Reference count          1   DDT address    810BEBB8
Alloc. class            0   Online count             1   VCB address    810BE3F0
Class/Type          01/15   BOFF                  0000   CRB address    8129EB10
Def. buf. size        512   Byte count            0000   PDT address    810121A0
DEVDEPEND        04E00E33   SVAPTE            00000000   CDDB address   813F4360
DEVDEPND2        00000000   DEVSTS                0004   SHAD address   8111D460
FLCK index             34   RWAITCNT              0000   I/O wait queue    empty
DLCK address     00000000                                                      

Shadow Device status:   0004 nocnvrt


		----- Shadow Descriptor Block (SHAD) 8111D460 -----

Virtual Unit status:              0061 normal,copying,merging

Members                1    Act user IRPs          0    VU UCB          810B7F50
Devices                2    SCB LBN         0006CC63    Master FL         empty
Fcpy Targets           1    Generation Num  7B7BE060    Restart FL         empty
Mcpy Targets           0                    00935BC4    
Last Read Index        0    Virtual Unit Id 00000000                           
Master Index           0                    12610050                           

	    ----- SHAD Device summary for Virtual Unit  DSA80  -----

Device $255$DUA56
	Index 0 Device Status    A2 merge,src,valid
	UCB 810510D0     VCB 81400A00      Unit Id. 12A10038 000000FF
	Merge LBN FFFFFFFF
Device $255$DUA58
	Index 1 Device Status    87 fcpy,merge,cip,valid
	UCB 81051260     VCB 81439800      Unit Id. 12A1003A 000000FF
	Copy LBN 00033671

この例の SHAD Device summary for Virtual Unit DSA80 の表示では,$255$DUA58 のデバイス・ステータス (fcpy) が, このデバイスがフルコピー操作のターゲットであることを示しています。 コピー操作のソースは $255$DUA56 です。 $255$DUA56 の Merge LBN の行に,一連の F (FFFFFFFF) が表示されていることに注意してください。 この表示は,コピー操作が完了した後にマージ操作が必要なことを示しています。 ターゲット・ディスク $255$DUA58 の Copy LBN の行は, 現在 LBN 00033671 でコピー操作が行われていることを示しています。

4.11.5.1 SDA による他社製 SCSI デバイスの情報取得

SCSI ディスクをマウントしたとき, SCSI ディスク・クラス・ドライバの DKDRIVER は, デバイス固有のパラメータをチェックして, そのディスクが READL/WRITEL コマンドをサポートしているかどうかを確認します。

SCSI ディスクが,READL/WRITEL コマンドをサポートしていない場合, DKDRIVER は NOFE (no forced error) ビットを設定し, そのディスクがシャドウイング・データの (ディスク不良ブロックの) 修復機能をサポートしていないことを表示します。 SDA コマンドの SHOW DEVICE を使って, SDA 表示の Characteristics フィールドの NOFE フラグを調べることができます。

READL/WRITEL 操作をサポートしている SCSI デバイスでは, SDA は,次の例のように,NOFE フラグを含まない Characteristics フィールドを表示します。

例 4-10 他社の SCSI デバイスの SDA 表示

SDA> SHOW DEVICE DKA200:
I/O data structures
-------------------
COLOR$DKA200             Generic_DK        UCB address:  806EEAF0

Device status:   00021810 online,valid,unload,lcl_valid
Characteristics: 1C4D4008 dir,fod,shr,avl,mnt,elg,idv,odv,rnd
                 01010281 clu,srv,nnm,scsi

Characteristics フィールドには NOFE フラグが表示されていません。 したがって,デバイス DKA200 がシャドウイング・データの修復機能をサポートしていることがわかります。

4.11.6 F$GETDVI によるシャドウセット情報の取得

F$GETDVI レキシカル関数は,シャドウセットにマウントされているデバイス情報を取得するための別の手段を提供します。 F$GETDVI を使うと, 一般的なデバイスおよびボリューム情報と,そのデバイスやボリュームのシャドウセット・ステータスに関する個別の情報を取得することができます。 たとえば,以下のような情報を調べることができます。

  • デバイスがシャドウセット仮想ユニットとシャドウセット・メンバのどちらか

  • デバイスでコピー操作が行われているか

  • デバイスでどのようなタイプのコピー操作が行われているか

  • 特定のデバイスがメンバとして属しているシャドウセットに対応する仮想ユニットの名前

  • 仮想ユニットやすべてのメンバを含む,シャドウセット全体のメンバ構成

F$GETDVI レキシカル関数は,DCL コマンド・レベルで対話型で使用することも, DCL コマンド・プロシージャ内で使うこともできます。 さらに,$GETDVI システム・サービスを使ってボリューム・シャドウイングの情報を取得することもできます (5.6 項 「$GETDVI を使ってシャドウセットの情報を取得する」 参照)。

F$GETDVI レキシカル関数の形式は次のとおりです。

F$GETDVI (device-name,item)

F$GETDVI レキシカル関数には,2 つの引数が必要です。 物理デバイス名と,取得したい情報のタイプを指定する項目名です。

注意:

$GETDVI システム・サービスにファイル・システム関連の項目コードを指定して, シャドウセットに関して (FREEBLOCK 情報のような) 意味のあるシステム情報を取得するためには,$GETDVI サービスで仮想ユニット名を指定する必要があります。 シャドウセット・メンバの 1 つのデバイス名を指定すると, $GETDVI サービスは値 0 を返します。

表 4-5 「ボリューム・シャドウイング用の F$GETDVI 項目コード」 に,F$GETDVI レキシカル関数の引数として指定できる項目の中で,ボリューム・シャドウイングに特有の項目を示します。 この表では各々の項目で返される情報のタイプと返される値のデータ・タイプを示しています。 (『OpenVMS DCL ディクショナリ』では,F$GETDVI の引数として指定できるすべての項目コードを示しています。)

表 4-5 ボリューム・シャドウイング用の F$GETDVI 項目コード

項目

返されるタイプ

返される情報

SHDW_CATCHUP_COPYING

文字列

デバイスがコピー操作の ターゲットとなっているメンバである場合は TRUE。そうでない場合は FALSE。

SHDW_COPIER_NODE

文字列

コピー操作またはマージ操作をアクティブに実行しているノードの名前。

SHDW_DEVICE_COUNT

ロングワード

仮想ユニット内のデバイスの総数。 コピーのターゲットとして追加されているデバイスを含む。

SHDW_GENERATION

クォドワード

仮想ユニットの,現在の内部リビジョン番号。 この値は,変更される可能性があります。

SHDW_MASTER

文字列

デバイスが仮想ユニットである場合は TRUE。 そうでない場合は FALSE。

SHDW_MASTER_MBR

文字列

マージ/コピー修復操作,およびシャドウセット回復操作に使用されるマスタ・メンバ・ユニットの名前。

SHDW_MASTER_NAME

文字列

指定されたデバイスがメンバとして 属しているシャドウセットに対応する仮想ユニットの名前。 指定されたデバイスがメンバでない,またはデバイスが仮想ユニットである場合, F$GETDVI 関数は空文字列 ("") を返す。

SHDW_MBR_COPY_DONE ロングワード

このメンバ・ユニットで完了しているコピー操作の割合 (パーセント)。

SHDW_MBR_COUNT

ロングワード

仮想ユニット内のフル・ソース・メンバの数。 コピー・ターゲットとして追加されるデバイスは,フル・ソース・メンバではない。

SHDW_MBR_MERGE_DONE

ロングワード

このメンバ・ユニットで完了しているマージ操作の割合 (パーセント)。

SHDW_MBR_READ_COST

ロングワード

メンバ・ユニットの現在の値のセット。 この値は,ユーザ指定の値を使用するように変更可能。

SHDW_MEMBER

文字列

デバイスがシャドウセット・メンバである 場合は TRUE。そうでない場合は FALSE。

SHDW_MERGE_COPYING

文字列

デバイスがシャドウセットの マージ・メンバである場合は TRUE。そうでない場合は FALSE。

SHDW_MINIMERGE_ENABLE

論理値として解釈されるロングワード

値が TRUE の場合,クラスタ内のシステムがクラッシュしたときに,仮想ユニットに対してフルマージではなく,ミニマージが実行されることを示す。

SHDW_NEXT_MBR_NAME

文字列

シャドウセット内の次のメンバのデバイス名。仮想ユニットを指定した場合, F$GETDVI 関数はシャドウセットのメンバのデバイス名を返す。 シャドウセット・メンバの名前をデバイス名と項目引数とともに指定した場合, 「次」のメンバの名前を返す。それ以上メンバがいなければ空文字列を返す。

シャドウセットのすべてのメンバを調べるには, まず F$GETDVI に仮想ユニットを指定する。それ以降の呼び出しでは, 空文字列が返される (すべてのメンバを取り出し終わる) まで, 前の F$GETDVI で返されたメンバ名を指定する。

SHDW_READ_SOURCE

文字列

この時点で読み取りに使用されるメンバ・ユニットの名前。 待ち行列の長さと読み取りコスト値の合計が最も小さいユニットが使用される。 この値は,動的な値である。

SHDW_SITE

ロングワード

ロングワードとして返される,指定されたデバイスのサイト値。 この値は,SET DEVICE コマンドまたは SET SHADOW コマンドで設定される。

SHDW_TIMEOUT

ロングワード

デバイスに設定されている,ユーザ指定のタイムアウト値。 SETSHOWSHADOW ユーティリティを使用して値を設定していない場合,SYSGEN のパラメータ SHADOW_MBR_TMO の値はメンバ・ユニット用に使用され,MVTIMEOUT の値は仮想ユニット用に使用される。

 

デバイスがシャドウセットに属しているかどうかを確認するには, コマンド・プロシージャ内で次のような DCL コマンドを記述します。

$ IF F$GETDVI("WRKD$:","SHDW_MEMBER") THEN GOTO SHADOW_MEMBER

WRKD$ (ディスクの論理名) がシャドウセット・メンバならば, F$GETDVI は文字列 TRUE を返し, プロシージャは SHADOW_MEMBER というラベルの付いたボリュームへ飛びます。

F$GETDVI レキシカル関数についての詳細は, 『OpenVMS DCL ディクショナリ』を参照してください。

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