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

HP OpenVMS: Volume Shadowing for OpenVMS 説明書

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

≫ 

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

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

目次

4.1 デバイスの割り当て
4.2 シャドウ・セットの作成
4.3 INITIALIZE/SHADOW/ERASE によるシャドウ・セットの構成の単純化
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 ディザスタ・トレラント管理属性の指定 (Alpha のみ)
4.7.1 マルチサイトの SET DEVICE および DISMOUNT コマンド修飾子の使用方法
4.8 コピー操作とマージ操作の管理 (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 バックアップ用にメンバを 1 つ減らしてディスマウントと再マウントを行う
4.10 シャドウ・セットの情報の表示
4.10.1 シャドウ・セットの表示
4.10.2 シャドウ・セット・メンバの表示
4.10.3 SHOW DEVICE でのシャドウ・セット情報の表示例
4.10.4 ANALYZE/DISK/SHADOW による,シャドウ・セットの検査
4.10.5 SDA によるシャドウ・セット情報の表示
4.10.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の英字でコントローラの割り当てを示します。

    • 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 によるシャドウ・セットの構成の単純化」 に示すように, INITIALIZE/SHADOW/ERASE を使って, 複数のデバイスを 1 つのコマンドで初期化することにより, シャドウ・セットの作成プロセスを単純化することもできます。

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

4.3 INITIALIZE/SHADOW/ERASE によるシャドウ・セットの構成の単純化

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

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

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

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

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

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

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

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

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

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

全体のマージ操作が次に必要になった場合,不確定なデータが存在しているため, INITIALIZE/SHADOW/ERASE コマンドを使った場合に比べると, マージにはるかに多くの時間がかかります。 この全体のマージが完了すると,LBN は同じデータを持つようになり, SCB (storage control block) からは 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 (user identification code) が, マウントするボリュームの所有者 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.10.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 既存のシャドウ・セットへディスクを追加する

例 4-4 「既存のシャドウ・セットへのディスクの追加」 は,DSA23 シャドウ・セットにディスク $4$DUA3 を追加する方法を示しています。

例 4-4 既存のシャドウ・セットへのディスクの追加

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

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

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

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

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

例 4-5 シャドウ・セットを作成し,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-6 「/CONFIRM 修飾子を使う」 に示すように, MOUNT コマンドはコピー操作を行う前に,操作のターゲットを表示し許可を求めます。 この予防策で重要なデータを消去することが防げます。 コピー操作の詳細は,第6章 「シャドウ・セットの整合性の保証」 を参照してください。

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

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

例 4-8 /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 以前のシャドウ・セット・メンバをシャドウ化しないディスクとしてマウントする

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

このデフォルトの動作を変更するには,例 4-9 「以前のシャドウ・セット・メンバを非シャドウ・ディスクとしてマウント」 に示すように,MOUNT コマンドに /OVERRIDE=SHADOW_MEMBERSHIP 修飾子を指定します。

例 4-9 以前のシャドウ・セット・メンバを非シャドウ・ディスクとしてマウント

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

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

4.7 ディザスタ・トレラント管理属性の指定 (Alpha のみ)

OpenVMS Alpha バージョン 7.3 から,DCL コマンドの SET DEVICE に, 異なるサイトにあるシャドウ・セット・メンバに対する管理属性を指定する修飾子が追加されました。これらの修飾子を使うことによって, システム管理者は,ディザスタ・トレラント OpenVMS Cluster 構成の 1 つのサイトのシステムが障害をおこした場合のデフォルトのボリューム・シャドウイングの動作を変更することができます。 これらの修飾子 (表 4-3 「マルチサイト・シャドウ・セットのメンバのための SET DEVICE コマンド修飾子」 を参照) は,サイト間ストレージ・インターコネクトに Fibre Channel を使う構成で使うように設計されていますが,他の構成でも使うことができます。 SET DEVICE コマンドには,OPER 特権が必要です。 SET SHADOW コマンド (表 4-4 「マルチサイト・シャドウ・セットのメンバのための SET SHADOW コマンド修飾子」 を参照) にも,これらの修飾子があります。

また,DCL コマンドの DISMOUNT も /FORCE_REMOVAL ddcu: 修飾子を追加して,強化されました。 この修飾子も同じ目的で追加されました。 すなわち,異なるサイトにあるシャドウ・セット・メンバをシステム管理者が容易に制御できるようにするために追加されました。 この修飾子についての詳細は, 4.9.1 項 「シャドウ・セットからのメンバの削除」 を参照してください。

表 4-3 マルチサイト・シャドウ・セットのメンバのための SET DEVICE コマンド修飾子

修飾子

機能

/ABORT_VIRTUAL_UNIT DSAnnnn:

ユニットが回復不可能だと分かっているときに,この修飾子を使用します。 この修飾子を使用するとき,シャドウ・セットはマウント検査中でなければなりません。 シャドウ・セットは,コマンドが実行されたノード上で,マウント検査をすぐに強制終了します。 シャドウ・セットがマウント検査中でない場合,このコマンドは %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:)

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

SHADOW_SITE_ID システム・パラメータは,シャドウ・セットのデフォルトのサイト位置を定義します。 /SITE 修飾子を使用すると,シャドウ・セットのデフォルトのサイト位置より優先されます。

この修飾子を簡単に使用できるようにするために,/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 DEVICE および 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 DEVICE /MEMBER_TIMEOUT=x  ddcu:
    

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

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

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

    $ SET DEVICE /MVTIMEOUT=y  DSAnnnn
    

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

    SET DEVICE /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 DEVICE /ABORT_VIRTUAL_UNIT DSA42:
    

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

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

    $ DISMOUNT/ABORT DSA42:
    

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

4.8 コピー操作とマージ操作の管理 (Alpha のみ)

ボリューム・シャドウイング・ソフトウェアが実行するコピー操作とマージ操作は,ロッキング・ソフトウェアと,SHADOW_MAX_COPIES の設定によって,自動的に規制されます。 多くのユーザは,コピー操作とマージ操作の順序をより詳細に制御したいと考えており,コピー操作が行われるノードも指定したいと考えています。

OpenVMS Alpha バージョン 7.3–2 で導入された SET SHADOW コマンドを使うと,この制御を行うことができます。 SET SHADOW のすべての修飾子はシャドウ・セットに関連しており,一部の修飾子は,個々のシャドウ・セット・メンバにも適用されます (表 4-4 「マルチサイト・シャドウ・セットのメンバのための SET SHADOW コマンド修飾子」 を参照)。 これらの修飾子は,デバイス (シャドウ・セットまたはシャドウ・セット・メンバ) がディスマウントされるまで有効です。 デバイスを再マウントする場合 (シャドウ・セット・メンバを,ディスマウントしたシャドウ・セットに戻す場合),修飾子を再度指定しなければなりません。 SET SHADOW コマンドには,VOLPRO 特権が必要です。

これらの修飾子は,指定したシャドウ・セットやシャドウ・セット・メンバに対して動作します (表 4-4 「マルチサイト・シャドウ・セットのメンバのための SET SHADOW コマンド修飾子」 を参照)。 次の例は,シャドウ・セット (DSAnnnn:) に対して修飾子を指定する方法を示します。

$ SET SHADOW DSAnnnn:/qualifier/qualifier

一部の修飾子は,SET DEVICE コマンドでも利用でき (表 4-3 「マルチサイト・シャドウ・セットのメンバのための SET DEVICE コマンド修飾子」 を参照),同じ機能を実行します。 SET DEVICE コマンドでも利用できる修飾子については,その旨を明記します。

表 4-4 マルチサイト・シャドウ・セットのメンバのための SET SHADOW コマンド修飾子

修飾子

機能

/ABORT_VIRTUAL_UNIT DSAnnnn:

コマンドが実行されたノード上でシャドウ・セットがマウント検査中の場合,マウント検査をすぐに強制終了します。 シャドウ・セットがマウント検査中でない場合,このコマンドは %SYSTEM-E-UNSUPPORTED エラー (サポートされていない操作または機能) を返します。

この修飾子は,シャドウ・セットが回復不可能な場合に使用することを目的としています。 このコマンドの完了後,シャドウ・セットをディスマウントしておかなければなりません。 次のコマンドを使用して,シャドウ・セットをディスマウントします。

$ DISMOUNT/ABORT  DSAnnnn:

この修飾子は,SET DEVICE コマンドでも利用できます。

/COPY_SOURCE {ddcu:, DSAnnnn:}

3 番目のメンバをシャドウ・セットに追加する際に,シャドウ・セットの 1 つのソース・メンバ (ddcu:) と両方のソース・メンバ (DSAnnnn) のどちらを,フル・コピー操作でのデータ読み取りソースとして使用するかを制御します。 この修飾子は,ディスク・コピー・データ (DCD) コマンドを使用しないコピー操作にだけ影響します。

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

シャドウ・セット (DSAnnnn) を指定すると,フル・コピー操作のすべての読み込み先は,ディスクの物理的な位置とは無関係に,現在の「マスタ」メンバのディスクになります。

シャドウ・セット・メンバ (ddcu:) を指定すると,そのメンバがすべてのコピー操作のソースとして使用されます。 これにより,リモートのマスタ・メンバではなく,ローカルのソース・メンバを選択することができます。

この修飾子は,SET DEVICE コマンドでも利用できます。

/DEMAND_MERGE

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

/FORCE_REMOVAL ddcu

指定されたシャドウ・セット・メンバを,シャドウ・セットから切り離します。

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

シャドウ・セットがマウント検査状態でなければ,即時の動作は行われません。 デバイスの接続が切れても,シャドウ・セットがマウント検査状態でないときには,このメンバがマウント検査状態になったときに,シャドウ・セットから即座に切り離すように設定されます。

指定するデバイスは,このコマンドを実行するノードにマウントされているシャドウ・セットのメンバでなければなりません。

/LOG

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

/MEMBER_TIMEOUT =n ddcu:

シャドウ・セット・メンバに適用されるタイムアウトの値を指定します。 この修飾子で指定する値は,このデバイスについて,システム・パラメータの SHADOW_MBR_TMO より優先されます。 シャドウ・セットの各々のメンバには,異なる MEMBER_TIMEOUT 値を設定できます。

n の正しい値の範囲は,1 ~ 16777215 秒です。

指定するデバイスは,このコマンドを実行するノードにマウントされているシャドウ・セットのメンバである必要があります。 この修飾子は,SET DEVICE コマンドでも利用できます。

/MVTIMEOUT= n DSAnnnn:

仮想ユニット名 (DSAnnnn) で指定されるシャドウ・セットで使われるマウント検査のタイムアウト値を指定します。

この修飾子で指定される値は,このシャドウ・セットについて,システム・パラメータの MVTIMEOUT で指定される値より優先されます。

n の正しい値の範囲は,1 ~ 16777215 秒です。 指定するシャドウ・セットは,このコマンドを実行するノードにマウントされていなければなりません。

この修飾子を適用すると,その設定は,そのシャドウ・セットがマウントされている間,維持されます。 シャドウ・セットがディスマウントされて,その後再びマウントされた場合は,この修飾子をもう一度指定しなくてはなりません。

この修飾子は,SET DEVICE コマンドでも利用できます。

/OUTPUT= file-name

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

/READ_COST=n ddcu:

各シャドウ・セット・メンバに割り当てられているデフォルトの「コスト」を変更できます。 割り当てを変更することで,2 メンバ・シャドウ・セットの場合,一方のメンバを優先させて読み込むことができ,3 メンバ・シャドウ・セットの場合は,1 つ,または 2 つのメンバを,残りのメンバより優先させて読み込むことができます。

指定するデバイスは,このコマンドを実行するノードにマウントされたシャドウ・セット・メンバでなければなりません。

n として正しい値の範囲は,1 ~ 65,535 単位です。

シャドウイング・ドライバは,各々のシャドウ・セット・メンバが最初にマウントされたときに,メンバにデフォルトの READ_COST 値を割り当てます。 デフォルト値は,デバイス・タイプと,それをマウントしているシステムとの構成上の関係で決まります。 デバイス・タイプを,デフォルトの READ_COST 割り当て値の順に次のリストに示します。 コストが低いものから順に示します。

  • DECram デバイス

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

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

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

  • その他のサービスが行われているデバイス

/READ_COST 修飾子で指定される値は,デフォルトの割り当てより優先されます。 シャドウイング・ドライバは,シャドウ・セット・メンバの待ち行列の長さの値を READ_COST 値に加算し,値が最も小さいメンバから読み込みます。

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

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

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

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

この修飾子は,SET DEVICE コマンドでも利用できます。

/READ_COST = n DSAnnnn:

すべてのシャドウ・セット・メンバの読み込みコスト設定を,シャドウイング・ソフトウェアが自動的に設定したデフォルトの読み込みコスト設定に戻します。

n の正しい値は,任意の数です。

この値には固有の意味はありません。 DSAnnnn は,コマンドを実行するノード上にマウントされているシャドウ・セットでなければなりません。

この修飾子は,SET DEVICE コマンドでも利用できます。

/SITE = n (ddcu:, DSAnnnn:)

仮想ユニット名で指定されたシャドウ・セット,または指定されたシャドウ・セット・メンバのサイト値を設定します。 (この修飾子は,SET DEVICE コマンドでも利用できます。)

SHADOW_SITE_ID システム・パラメータは,シャドウ・セットのデフォルトのサイト位置を定義します。 この修飾子を使用すると,シャドウ・セットのデフォルトのサイト位置より優先されます。 n が示すサイト位置として有効な範囲は,1 ~ 255 です。

この修飾子を適用すると,このコマンドまたは SET DEVICE/SITE コマンドで変更するまで,その設定は有効です。

各シャドウ・セット・メンバおよびシャドウ・セットに対して /SITE 修飾子を指定すると,システムに物理的にローカルなメンバが,読み込み元のディスクとして選択されます。 そのため,この修飾子を指定すると,読み込み性能が向上する可能性があります。

この修飾子は,SET SHADOW コマンドでも利用できますが, SET SHADOW では論理名を使用することはできません。

 

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.10.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-10 「SHOW SHADOW の出力例」 に,SHOW SHADOW コマンドの出力例を示します。

例 4-10 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 メンバの削除とシャドウ・セットの解除

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.9.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 項 「ディザスタ・トレラント管理属性の指定 (Alpha のみ)」4.8 項 「コピー操作とマージ操作の管理 (Alpha のみ)」で説明しているように,SET DEVICE 修飾子と SET SHADOW 修飾子もシャドウ・セット・メンバのディザスタ・トレラント管理属性を指定するために,使うことができます。

注意:

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

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

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

4.9.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.9.3 サイト固有のシャットダウン・プロシージャ内でのシャドウ・セットのディスマウント

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

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

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

4.9.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.12 項 「バックアップ用にシャドウ・セット・メンバを使う際のガイドライン」 で説明するように, データの整合性を保証するように設計されている必要があります。

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

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

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

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

注意:

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

4.10.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.10.2 シャドウ・セット・メンバの表示

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

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

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

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

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

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

SHOW DEVICE コマンドの出力を示す以下の例では,シャドウ・セットのメンバ構成や,コピーやマージの操作中の各々のシャドウ・セット・メンバのステータスなど,取得可能な種々のシャドウ・セット情報を示しています。 ミニコピー操作で使われる書き込みビットマップの例については, 7.10 項 「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.10.5 項 「SDA によるシャドウ・セット情報の表示」 では,このシャドウ・セットを System Dump Analyzer で検査したときにどのように表示されるかを示しています。

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

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

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

INITIALIZE/SHADOW を /ERASE 修飾子なしで使用してシャドウ・セットの初期化を行った場合,ファイル・システム外に違いがあることがあります。 違いは,次のシステム・ファイルにも存在することがあります。

  • SWAPFILE*.*

  • PAGEFILE*.*

  • SYSDUMP.DMP

  • SYS$ERRLOG.DMP

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

表 4-5 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-11 「ANALYZE/DISK/SHADOW の出力例」 に,/BRIEF 修飾子と /BLOCK 修飾子を指定した ANALYZE/DISK/SHADOW コマンドの使用方法を示します。

例 4-11 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.10.5 SDA によるシャドウ・セット情報の表示

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

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

以下の例では,仮想ユニット DSA80 に対応するシャドウ・セットの情報を取得する方法を示しています。 以下に示す SDA の出力例を, 4.10.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.10.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-12 他社の 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.10.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-6 「ボリューム・シャドウイング用の F$GETDVI 項目コード」 に,F$GETDVI レキシカル関数の引数として指定できる項目の中で,ボリューム・シャドウイングに特有の項目を示します。 この表では各々の項目で返される情報のタイプと返される値のデータ・タイプを示しています。 (『OpenVMS DCL ディクショナリ』では,F$GETDVI の引数として指定できるすべての項目コードを示しています。)

表 4-6 ボリューム・シャドウイング用の 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 ディクショナリ』を参照してください。

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