前へ | 次へ | 目次 | 索引 |
この章では,対話型の 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[:] |
シャドウ・セットを作成するには,シャドウ・セットに最低 1 台の物理ディスクをマウントし,そのセットに仮想ユニット名を割り当てるために, 例 4-1 に示すように MOUNT コマンドに /SHADOW 修飾子をつけて実行する必要があります。
例 4-1 シャドウ・セットの作成 |
---|
$ MOUNT DSA23:(1) /SHADOW(2) =$4$DUA9:(3) volume-label(4) logical-name(5) |
この例では,仮想ユニット DSA23 で表現され, 1 つのシャドウ・セット・メンバ $4$DUA9 を含むシャドウ・セットを構成しています。
各々の仮想ユニットの番号は,そのユニットがパブリック・アクセスのためにマウントされていても (/SYSTEM 修飾子をつけてマウント),プライベート・アクセスのためにマウントされていても,システム全体で一意でなければなりません。仮想ユニットには,収容しているコントローラとは独立に名前が付けられます。
割り当てクラスの詳細は,『OpenVMS Cluster システム』を参照してください。
また,/SYSTEM,/GROUP,/CLUSTER を指定して,シャドウイングを有効にしている,システムのすべてのユーザ,グループのすべてのメンバ,クラスタのすべてのノードで,シャドウ・セットを使えるようにすることができます。
3 メンバのシャドウ・セットを作成するために,既存の 1 メンバのシャドウ・セットに対し, 1 回の MOUNT コマンドで 2 つのメンバを追加することができます。この方法では,2 つのメンバが同時にコピーされるので,入出力操作が最適化されます ( 第 4.4.4 項 の例を参照 )。
第 4.3 節 に示すように, INITIALIZE/SHADOW/ERASE を使って,複数のデバイスを 1 つのコマンドで初期化することにより,シャドウ・セットの作成プロセスを単純化することもできます。
ボリューム・シャドウイング・ソフトウェアは,シャドウ・セットを作成するコマンドを受け取ると,データの違いを無くすために,コピー操作やマージ操作を実行します。ディスクをマウントするときに,どのディスクがコピー操作のターゲットになるか不明な場合は,重要なデータが書き換えられる前に警告を受け取るために, /CONFIRM または /NOCOPY の修飾子を指定することができます。これら,およびその他の MOUNT コマンドの修飾子については, 第 4.4 節 で説明します。
4.3 INITIALIZE/SHADOW/ERASE によるシャドウ・セットの構成の単純化
シャドウ・セットとして構成する予定の複数のメンバを初期化するために, /SHADOW および /ERASE のコマンド修飾子をつけた DCL コマンドの INITIALIZE を使うことができます。この方法で複数のメンバを初期化すると,後でシャドウ・セットを作成するときに,全体をコピーする必要がなくなります。
/SHADOW および /ERASE の修飾子をつけた INITIALIZE コマンドは,以下の操作を実行します。
ディスクの以前の内容はすべて失われます。
このように初期化したデバイスは,新しいホスト・ベースのシャドウ・セットのメンバとして 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 操作よりも時間がかかります。
ERASE ボリューム属性は,SET VOLUME/NOERASE_ON_DELETE コマンドの実行で設定解除できます。DCL コマンドと修飾子に関する詳細は,『OpenVMS DCL ディクショナリ』を参照してください。
4.3.2 INITIALIZE/SHADOW を使うための必要条件
すべてのデバイスは,Total Blocksの値が 0 でなく,同じでなければなりません。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 |
次の例では,このコマンドの 正しい 使い方を示しています。このコマンドでは複数のデバイスを同一行で指定していることに注意してください。
$ INITIALIZE /ERASE /SHADOW=($4$DKA1300, $4$DKA1301) NONVOLATILE $ MOUN/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 $ MOUN/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) |
この節では,シャドウ・セットの管理に便利な MOUNT コマンド修飾子を簡単に説明します。DCL コマンドについての詳細は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。
新しくシャドウ・セットを作成したり,既存シャドウ・セットにメンバを追加するときには,/SHADOW 修飾子を使う必要があります。また,表 4-1 と 表 4-2 のオプションの修飾子も使うことができます。 これらの修飾子を使うためには,VOLPRO および OPER の特権を持つか,ユーザの UIC (user identification code) が,マウントするボリュームの所有者 UIC と一致している必要があります。システム全体にシャドウ・セットをマウントするためには,SYSNAM 特権も必要です。
これらの修飾子の使い方の詳しい例と説明は,第 4.5 節 にあります。
表 4-1 で説明したシャドウイング用修飾子の他に,表 4-2 と 第 4.4.2 項 で説明するように,シャドウ・セットをマウントするときには,/NOASSIST, /SYSTEM,/GROUP,および /CLUSTER の修飾子も良く使われます。
4.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.9.4.1 項 を参照してください。 |
/OVERRIDE=SHADOW_MEMBERSHIP | 以前のシャドウ・セット・メンバをマウントし,そのディスクがシャドウ・セットのメンバだったことを示さないように,そのディスクのシャドウ・セット世代番号を 0 にします。 |
/POLICY= [NO]MINICOPY [=OPTIONAL] |
シャドウイング・ミニコピー機能の設定と使い方を制御します。 [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[:][,...]) | マウント・ユーティリティに対し,このコマンドで指定する仮想ユニット名で示されるシャドウ・セットに,指定した物理デバイスを追加することを,指示します。 |
この節で説明する MOUNT コマンド修飾子は,シャドウイングに特有のものではありませんが,シャドウ・セットを作成するときに,非常に役に立ちます。これらの修飾子は,以下の 表 4-2 と例で説明します。
修飾子 | 機能 |
---|---|
/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 修飾子の例と,コマンドで指定したメンバの 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 参照) を指定する必要があります。
例 4-3 では,(仮想ユニット名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.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 では 2 つのコマンドを示しています。最初のコマンドは 2 メンバのシャドウ・セットを作成し, 2 番目のコマンドではシャドウ・セットに 3番目のメンバを追加します。
例 4-5 シャドウ・セットを作成し,3 番目のメンバを追加する |
---|
$ MOUNT/SYSTEM DSA4: /SHADOW = ($3$DIA7:, $3$DIA8:) FORMERSELF(1) %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(2) %MOUNT-I-SHDWMEMCOPY, _$3$DIA6: (DISK302) added to the shadow set with a copy operation |
4.5.3 /CONFIRM でシャドウ・セット・メンバ候補のステータスを確認する
既存のシャドウ・セットにディスクを追加すると,必ずコピー操作が行われます。/CONFIRM 修飾子または /NOCOPY 修飾子を指定しないかぎり,ボリューム・シャドウイングはコピー操作を自動的に行います。 /CONFIRM 修飾子を指定すると, 例 4-6 に示すように, MOUNT コマンドはコピー操作を行う前に,操作のターゲットを表示し許可を求めます。この予防策で重要なデータを消去することが防げます。コピー操作の詳細は, 第 6 章 を参照してください。
例 4-6 /CONFIRM 修飾子を使う |
---|
$ MOUNT/CONFIRM DSA23: /SHADOW=($1$DUA4:,$1$DUA6:) SHADOWVOL (1) %MOUNT-F-SHDWCOPYREQ, shadow copy required Virtual Unit - DSA23 Volume Label - SHADOWVOL (2) Member Volume Label Owner UIC (3) $1$DUA6: (LOVE) SCRATCH [100,100] Allow FULL shadow copy on the above member(s)? [N]: NO (4) $ |
4.5.4 /NOCOPY でシャドウ・セット・メンバ候補のステータスをチェックする
複数のディスクを指定すると,シャドウ・セット・メンバが互いに矛盾しないようにするため,シャドウイング・ソフトウェアは自動的に正しいコピー操作を決定します (詳細は, 第 6.2 節 を参照)。マウント・ユーティリティは各々のメンバに記録されている情報を解釈し,メンバに,コピーが必要か,マージが必要か,あるいはコピー操作は一切不要かを判断します。どのディスクがコピー操作のターゲットになるか不明の場合は,ディスクをマウントするときに重要なデータが書き換えられないように予防するために,/CONFIRM 修飾子または /NOCOPY 修飾子を指定することができます。/NOCOPY 修飾子を指定すると,コピー操作が無効になります。
例 4-7 は,データが消去される前にシャドウ・セット・メンバ候補のステータスをチェックするために, /NOCOPY 修飾子を使う方法を示しています。
例 4-7 /NOCOPY 修飾子を使う |
---|
$ MOUNT/NOCOPY DSA2: /SHADOW=($1$DUA4:,$1$DUA6:,$1$DUA7:) - _$ SHADOWVOL DISK$SHADOWVOL (1) %MOUNT-F-SHDWCOPYREQ, shadow copy required %MOUNT-I-SHDWMEMFAIL, DUA7: failed as a member of the shadow set %MOUNT-F-SHDWCOPYREQ, shadow copy required (2) $ MOUNT/COPY(3) 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 (4) |
4.6 クラスタ内の別のノードへのシャドウ・セットのマウント
シャドウ・セットが OpenVMS Cluster システムのノードで既にマウントされている場合,クラスタ内の別のノードに,このシャドウ・セットをマウントするときは /SHADOW 修飾子は不要です。たとえば,DSA42 がクラスタ内で既にマウントされていれば,新しいノードをクラスタに追加する際に,この新しいノードに DSA42 をマウントするには,次のコマンドを使います。
$ MOUNT/SYS DSA42: volume-label logical-name |
このコマンドを受け取ると,ボリューム・シャドウイング・ソフトウェアは,クラスタに既に存在するのと同じメンバ構成で,新しいノードに仮想ユニットを作成します。
4.6.1 /INCLUDE でシャドウ・セットを再構築する
例 4-8 はシャドウ・セットを再構築する方法を示しています。ボリューム・シャドウイング・ソフトウェアは,以前にどのディスク・ボリュームがシャドウ・セットのメンバだったかを調べます。
例 4-8 /INCLUDE でシャドウ・セットを再構築する |
---|
$ MOUNT /SYSTEM DSA4/SHAD=($4$DIA1,$4$DIA2,$4$DIA3) NEWDISK(1) %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(2) $ $ MOUNT DSA4:/SYSTEM/SHAD=$4$DIA1 NEWDISK/INCLUDE(3) %MOUNT-I-MOUNTED, NEWDISK mounted on _DSA4: %MOUNT-I-SHDWMEMSUCC, _$4$DIA1: (DISK01) is now a valid member (4) of the shadow set %MOUNT-I-AUTOMEMCOPY, _$4$DIA2: (DISK02) automatically added (4) to the shadow set %MOUNT-I-AUTOMEMCOPY, _$4$DIA3: (DISK03) automatically added (4) to the shadow set |
4.6.2 以前のシャドウ・セット・メンバをシャドウ化しないディスクとしてマウントする
物理的なシャドウ・セット・メンバを,シャドウ化しないディスクとしてマウントする必要が生じることがあります。シャドウ・セット・メンバをシャドウ・セットではないところにマウントする場合は,デフォルトでは,マウント・ユーティリティはそのディスクを書き込み保護にします。これにより,不注意な変更を防ぐことができ,後でシャドウ・セットに再度マウントすることが可能になります。
このデフォルトの動作を変更するには,次の例に示すように, MOUNT コマンドに /OVERRIDE=SHADOW_MEMBERSHIP 修飾子を指定します。
$ MOUNT/OVERRIDE=SHADOW_MEMBERSHIP $4$DUA20: WORKDISK |
このコマンドは,シャドウ・セット・メンバシップのステータスを無視し,以前のシャドウ・セット・メンバを書き込みアクセス可能なシャドウ化しないディスクとして $4$DUA20 にマウントします。
4.7 ディザスタ・トレラント管理属性の指定 (Alpha のみ)
OpenVMS Alpha バージョン 7.3 から,DCL コマンドの SET DEVICE に,異なるサイトにあるシャドウ・セット・メンバに対する管理属性を指定する修飾子が追加されました。これらの修飾子を使うことによって,システム管理者は,ディザスタ・トレラント OpenVMS Cluster 構成の 1 つのサイトのシステムが障害をおこした場合のデフォルトのボリューム・シャドウイングの動作を変更することができます。これらの修飾子は,サイト間ストレージ・インターコネクトに Fibre Channel を使う構成で使うように設計されていますが,他の構成でも使うことができます。
また,DCL コマンドの DISMOUNT も /FORCE_REMOVAL ddcu: 修飾子を追加して,強化されました。この修飾子も同じ目的で追加されました。すなわち,異なるサイトにあるシャドウ・セット・メンバをシステム管理者が容易に制御できるようにするために追加されました。この修飾子についての詳細は, 第 4.8.1 項 を参照してください。
修飾子 | 機能 |
---|---|
/FORCE_REMOVAL ddcu: | デバイスへの接続が切れて,シャドウ・セットがマウント検査の状態になったときに,そのメンバをシャドウ・セットから即時に切り離します。
シャドウ・セットがマウント検査の状態でなければ,即時の動作は行われません。デバイスの接続が切れても,シャドウ・セットがマウント検査の状態でないときには,このメンバがマウント検査の状態になったときに,シャドウ・セットから即座に切り離すためのフラグが設定されます。指定するデバイスは,このコマンドを発行するノードにマウントされているシャドウ・セットのメンバである必要があります。 |
/MEMBER_TIMEOUT = xxxxxx ddcu: | シャドウ・セットのメンバに適用されるタイムアウトの値を指定します。
この修飾子で指定する値は,このデバイスについて,SYSGEN パラメータの SHADOW_MBR_TMO より優先されます。シャドウ・セットの各々のメンバには,異なる MEMBER_TIMEOUT の値が設定できます。 xxxxxx の正しい値の範囲は,1〜16,777,215 秒です。 指定するデバイスは,このコマンドを発行するノードにマウントされているシャドウ・セットのメンバである必要があります。 あるメンバにこの修飾子を適用すると,その設定は,そのメンバがシャドウ・セットに留まる限り,維持されます。メンバがシャドウ・セットから削除されて,後で戻された場合は,この修飾子をもう一度指定しなくてはなりません。 |
/MVTIMEOUT = yyyyyy DSA nnnn: | 仮想ユニット名 DSA
nnnn で指定されるシャドウ・セットで使われるマウント検査のタイムアウト値を指定します。
この修飾子で指定される値は,このシャドウ・セットについて, SYSGEN パラメータの MVTIMEOUT より優先されます。 yyyyyy の正しい値の範囲は,1〜16,777,215 秒です。指定するシャドウ・セットは,このコマンドを発行するノードにマウントされているシャドウ・セットである必要があります。 この修飾子を適用すると,その設定は,そのシャドウ・セットがマウントされている間,維持されます。シャドウ・セットがディスマウントされて,再びマウントされた場合は,この修飾子をもう一度指定しなくてはなりません。 |
/READ_COST = zzz ddcu: |
zzz の正しい値の範囲は,1〜65,535 単位です。
指定するデバイスは,このコマンドを発行するノードにマウントされているシャドウ・セットのメンバである必要があります。 この修飾子によって,各々のシャドウ・セット・メンバに割り当てられているデフォルトの「コスト」を変更できます。割り当てを変更すると, 2 メンバ・シャドウ・セットの場合,一方のメンバを優先させて読み込むことになり,3 メンバ・シャドウ・セットの場合は,1 つ,または 2 つのメンバを,残りのメンバより優先させて読み込むことになります。 シャドウイング・ドライバは,各々のシャドウ・セット・メンバが最初にマウントされたとき,メンバにデフォルトの READ_COST 値を割り当てます。デフォルト値はデバイス・タイプとそれをマウントしているシステムとの構成上の関係で決まります。DECRAM デバイス,物理的に同じ場所にある直接接続のデバイス,遠隔地にある直接接続のデバイス, DECram がサービスされているデバイス,その他のサービスが行われているデバイスの各々にはデフォルト値があります。 この修飾子で指定される値は,デフォルトの割り当てより優先されます。シャドウイング・ドライバはシャドウ・セット・メンバの待ち行列の長さの値を,READ_COST 値に加え,値が最も小さいメンバから読み込みます。 あるメンバにこの修飾子を適用すると,その設定は,メンバがシャドウ・セットに留まる限り,維持されます。メンバがシャドウ・セットから削除されて,後で戻された場合は,この修飾子をもう一度指定しなくてはなりません。 クラスタ内の別のシステムでは,各々のシャドウ・セット・メンバに異なるコストを割り当てることができます。 /SITE コマンド修飾子が指定されると,シャドウイング・ドライバは,デフォルトの READ_COST 値を割り当てるときに,サイト値を考慮に入れます。シャドウイング・ソフトウェアが,デバイスが「遠隔地にある直接接続のデバイス」というカテゴリに属しているかどうかを判断するために,/SITE コマンド修飾子はシャドウ・セットと DSA デバイスの両方に適用する必要があることに,注意してください。 サイト 1 にあるシステムからシャドウ・セットの読み込み要求が発生すると,サイト 1 のシャドウ・セット・メンバからの読み込みが実行されます。同じシャドウ・セットに対する読み込み要求がサイト 2 から発生すると,サイト 2 のメンバからの読み込みが実行されます。 |
/READ_COST = y DSA nnnn | y の正しい値は, 任意の 数です。この値には固有の意味はありません。この修飾子の目的は,すべてのシャドウ・セット・メンバの読み込みコスト設定を,シャドウイング・ソフトウェアが自動的に設定したデフォルトの読み込みコスト設定に戻すことです。DSA nnnn は,このコマンドを発行するノードにマウントされているシャドウ・セットである必要があります。 |
/SITE = ( nnn, logical_name) ( ddcu:, DSA nnnn:) | この修飾子は,シャドウ・セット・メンバまたは ( 仮想ユニット名で表現される ) シャドウ・セットのサイトの場所をシャドウイング・ドライバに指示します。この修飾子を使う前に,使用を簡単にするために,SYLOGICALS.COM コマンド・プロシージャの中で,サイトの場所を定義しておくことができます。
nnn の正しい値の範囲は,1〜255 です。 この修飾子を適用すると,その設定は,メンバがシャドウ・セットに留まる限り,維持されます。メンバがシャドウ・セットから削除されて,後で戻された場合は,この修飾子をもう一度指定しなくてはなりません。 以下の例では,サイトの場所の定義と, /SITE 修飾子の使い方を示しています。
|
/COPY_SOURCE ( ddcu:, DSA nnnn:) | 3 番目のメンバがシャドウ・セットに追加される際に,シャドウ・セットの両方のソース・メンバが,フル・コピー操作でデータを読み込むソースとして使われるかどうかを制御します。これは,DCD 操作を使わないコピー操作にだけ影響します。
HSG80 のような一部のストレージ・コントローラには先読みキャッシュがあり,それによって単一ディスクの読み込み性能は大幅に向上しています。コピー操作では,通常,読み込み先を 2 つのソース・メンバに交互に切り替えますが,このようにすると先読みキャッシュの利点が失われます。この修飾子を指定することで,コピー操作の読み込み先を 1 つのソース・メンバに固定することができます。 シャドウ・セットが指定されると,フル・コピー操作のすべての読み込み先は,ディスクの物理的な場所とは無関係に,現在の「マスタ」メンバのディスクになります。 シャドウ・セットのメンバが指定されると,そのメンバがすべてのコピー操作のソースとして使われます。これにより,リモートのマスタ・メンバでなく,ローカルのソース・メンバを選択することができます。 |
/ABORT_VIRTUAL_UNIT DSA nnnn: | この修飾子を使うためには,シャドウ・セットはマウント検査状態である必要があります。この修飾子を指定すると,このコマンドが発行されたノード上でのシャドウ・セットのマウント検査状態が即座に解除されます。この修飾子はユニットが回復不能と判明しているときに使います。このコマンドが完了した後は,シャドウ・セットはディスマウントの状態のままにしておく必要があることに,注意してください。シャドウ・セットをディスマウントするには,次のコマンドを使います。
$ DISMOUNT/ABORT DSA nnnn |
4.7.1 マルチサイトの SET DEVICE および DISMOUNT コマンド修飾子の使用方法
図 4-1 に, Fibre Channel を使用する典型的なマルチサイト・クラスタを示します。この図では,サイト間ストレージ・インターコネクトに障害が発生したときに, 1 つのサイトを手動で復旧するために必要な手順を示しています。以下のバージョンを稼働しているマルチサイト OpenVMS Cluster システムでは,この手順を実行しなければなりません。
構成の中の一部のディスクだけにサービスを提供すると選択した場合,サービスを受けないディスクに対するサイト復旧のためにこの構成方法を使用する必要があります。サービスをディスクの一部だけに提供する理由の 1 つは, Fibre Channel インターコネクトから LAN インターコネクトおよびサイト間リンクへのサービスを受けるディスクのフェールオーバが,これらのインターコネクトでは非常に高い負荷をかける可能性があり,その結果として,システムの性能が著しく低下する可能性があることです。
図 4-1 FC および LAN インターコネクトを備えたマルチサイト OpenVMS Cluster システム
シャドウイング・ドライバが接続関連の障害からシャドウ・セットを自動的に復旧させるのを防ぐには,障害が発生する前に,以下の 3 つの手順を実行する必要があります。
$ SET DEVICE /MEMBER_TIMEOUT= x ddcu: |
このコマンドは SHADOW_MBR_TMO 値より優先されます。通常は,SHADOW_MBR_TMO がシャドウ・セット・メンバに使用されています。 x の値に 259200 を指定すると,待機時間は 72 時間になります。
シャドウ・セットのマウント検査タイムアウト設定を増やすには,以下のコマンドを使用します。
$ SET DEVICE /MVTIMEOUT = y DSAnnnn |
このコマンドの y の値は, SET DEVICE/MEMBER_TIMEOUT= x ddcu: コマンドの x の値よりも必ず大きくしてください。
SET DEVICE /MVTIMEOUT = y コマンドは,通常シャドウ・セットに使用される MVTIMEOUT 値より優先されます。 y の値に 262800 を指定すると,73 時間の待機になります。
図 4-1 はシャドウ・セット DSA42 を示しており,そのメンバは,デバイス $1$DGA1000 とデバイス $1$DGA2000 です。サイト A またはサイト B にあるシステムは,Fibre Channel 接続経由で両方のサイトにあるすべてのデバイスに直接アクセスします。 XYZZY はこの 2 つのサイト間の理論的なポイントです。このポイントで Fibre Channel 接続が切れたとしても,どちらのサイトもエラーなく DSA42 のさまざまな "ローカル" ・メンバにアクセスできます。
この例では,サイト A はシャドウ・セットへのアクセスを維持する唯一のサイトになります。
サイト A でシャドウ・セットを復旧するには,以下の手順を実行する必要があります。
$ DISMOUNT /FORCE_REMOVAL= $1$DGA2000: |
コマンドの実行が完了すると,シャドウ・セットはサイト A だけでの使用が可能になります。
$ SET DEVICE /ABORT_VIRTUAL_UNIT DSA42: |
コマンドの実行が完了すると,シャドウ・セットの状態は
MntVerifyTimeoutになります。
$ DISMOUNT/ABORT DSA42: |
この手順は,影響を受けたマルチサイト・シャドウ・セットすべてに対して実行する必要があります。
DCL コマンドの DISMOUNT で,シャドウ・セット・メンバを削除し,シャドウ・セットを解除できます。グループおよびシステムのボリュームをディスマウントするには,GRPNAM と SYSNAM のユーザ特権が必要です。 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.8.1 シャドウ・セットからのメンバの削除
シャドウ・セットから個々のメンバを削除するためには,DISMOUNT コマンドで物理デバイスの名前を指定します。たとえば,次のとおりです。
$ DISMOUNT $5$DUA7: |
シャドウ・セット・メンバを個別にディスマウントすると,すべての未完了の入出力要求が終了した後に,メンバがセットから削除されます。
OpenVMS Alpha バージョン 7.3 からは,/FORCE_REMOVAL ddcu: 修飾子が使えるようになりました。デバイス接続が失われ,シャドウ・セットがマウント検査の状態になると,指定したシャドウ・セット・メンバ (ddcu:) をシャドウ・セットから即座に削除するために,/FORCE_REMOVAL ddcu:を使うことができます。この修飾子を省略すると,デバイスはマウント検査が完了するまでディスマウントされません。この修飾子は /POLICY=MINICOPY (=OPTIONAL) 修飾子と同時には使えません。
指定するデバイスは,コマンドを実行したノードにマウントされているシャドウ・セットのメンバである必要があります。
この修飾子によって,システム管理者は,メンバが OpenVMS Cluster 構成の異なるサイトにあるシャドウ・セットを容易に制御することができます。 第 4.7 節 で説明しているように,SET DEVICE 修飾子もシャドウ・セット・メンバのディザスタ・トレラント管理属性を指定するために,使うことができます。
デバイスがシャドウ・セットの唯一のソース・メンバである場合,ディスマウントすることはできません。すべてのシャドウ・セットには,少なくとも 1 つの正しいソース・メンバが必要です。唯一のソース・メンバ・デバイスをディスマウントしようとすると, DISMOUNT コマンドは失敗し,次のメッセージが表示されます。
シャドウ・セットの最後のソース・メンバを削除する唯一の方法は, DISMOUNT コマンドで仮想ユニット名を指定して,シャドウ・セットを解除することです。 |
DISMOUNT コマンドで仮想ユニット名を指定して,シャドウ・セットを 解除する ことができます。仮想ユニット名を指定すると,シャドウ・セットのすべてのメンバがディスマウントされ, DISMOUNT コマンドを発行したノードのシャドウ・セットが解除されます。 例 4-9 に示すコマンドには, OpenVMS Cluster システムにまたがって DSA36 シャドウ・セットを解除するための /CLUSTER 修飾子が含まれています。
例 4-9 シャドウ・セットの解除 |
---|
$ DISMOUNT /CLUSTER DSA36: |
仮想ユニットの解除は,すべてのファイルがクローズされた後で行われ,ディスマウントするディスクがファイル・システム全体で矛盾がないことを保証します。ディスマウント操作では,正しくディスマウントされたとシャドウ・セット・メンバにマークし,次回にディスクをマウントするときの再構築を不要にします。ただし,マージ操作が保留中か進行中であった場合は,ディスマウント操作では,シャドウ・セット・メンバが正しくディスマウントされていないとマークし,マージ操作が必要になります。
シャドウ・セットのコピー操作中に仮想ユニットをディスマウントすると,コピー操作は中断し,シャドウ・セットは解除されます。そして,次の例に示すような,OPCOM メッセージが表示されます。
|
第 4.8.2 項 で説明したように,仮想ユニットをシステムあるいは OpenVMS Cluster システムからディスマウントできます。仮想ユニットが正しくディスマウントされたことを確認するには,以下の手順を実行します。
$ MOUNT/NOWRITE DSA42: /SHADOW=($4$DUA3,$4$DUA4,$4$DUA5) volume-label $ SHOW DEVICE DSA42: |
$ DISMOUNT $4$DUA5 |
$ MOUNT/SYS DSA42: /SHADOW=($4$DUA3,$4$DUA4) volume-label |
削除されたメンバはその仮想ユニットのバックアップ操作で使えるようになります。
アプリケーションを連続的に稼働させる必要があっても (すなわち,業務を中断してディスマウントすることができない場合でも),後でシャドウ・セットに戻す予定のシャドウ・セット・メンバを削除することができます。アプリケーションや回復手順は, 第 7.12 節 で説明するように,データの整合性を保証するように設計されている必要があります。 |
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 Utility Manual』を参照してください。
(シャドウ・セットの仮想ユニット名を指定して) シャドウ・セットやシャドウ・セット・メンバを検査するときは, SHOW DEVICE の任意の修飾子が使えます。
シャドウ・セットは OpenVMS Cluster の各々のノードで独立して作成され維持されるので,SHOW DEVICE では,リモート・ノードだけで作成されたシャドウ・セットは表示されません。 |
シャドウ・セットの情報を表示するには,次の形式の SHOW DEVICE を使います。
SHOW DEVICE [virtual-unit-name[:]] |
シャドウ・セットに対する SHOW DEVICE コマンドのパラメータでは,変数 device-name を virtual-unit-name に置き換えます。仮想ユニット名には,DSAn: の形式を使います。
他の SHOW DEVICE コマンドと同様に,コロンはオプションです。デバイス名の場合と同様に,完全な仮想ユニット名か,仮想ユニット名の一部を指定できます。仮想ユニット番号を省略すると, SHOW DEVICE は,指定したタイプのシャドウ・セット・メンバ・ディスクで表されるすべてのシャドウ・セット仮想ユニットを表示します。 (D のように ) デバイス名を短縮した場合は,SHOW DEVICE は,入力した文字 ( この場合は,D) で始まるすべてのデバイスと仮想ユニットを表示します。
仮想ユニット番号を指定すると,SHOW DEVICE は,それに対応しているシャドウ・セット・メンバの名前を表示します。/FULL 修飾子を使うと, SHOW DEVICE は,シャドウ・セットとそれに対応するシャドウ・セット・メンバに関する完全な情報を表示します。
システム単位またはクラスタ単位でアクセスできるようにマウントされた個々のシャドウ・セット・メンバは従来の方法では割り当てたりマウントすることができないため,/ALLOCATED 修飾子や /MOUNTED 修飾子が指定された SHOW DEVICE コマンドは,仮想ユニットだけを表示します。
4.9.2 シャドウ・セット・メンバの表示
シャドウ・セット・メンバに対する SHOW DEVICE コマンドの形式は,他の物理デバイスの場合の形式と同じです。このコマンドでは,指定したデバイス名のすべてのシャドウ・セット・メンバが表示されます。
シャドウ・セット・メンバは従来の方法ではマウントされず,すべてのメンバは同じデバイス特性を持つため,SHOW DEVICE では,対応する仮想ユニットとともに有用なデータの大部分が表示されます。シャドウ・セット・メンバの表示には,現在のメンバシップ・ステータスの情報も含まれます。
シャドウ・セットでコピーやマージの操作が行われている最中であれば, SHOW DEVICE コマンドの表示には,コピーやマージの済んだディスクの割合も表示されます。SHOW DEVICE 情報は,シャドウ・セットがマウントされているすべてのノードで,表示することができます。
SHOW DEVICE の表示では,コピーされたディスクの正確な割合が表示されます。コピー操作を管理しているノードでは,コピーやマージの操作の進み具合を正確に把握することができるので,OpenVMS Cluster の別のノードに定期的にその進み具合を通知します。このようにして,クラスタ内の他のノードは,コピーの割合を概略で知ることができます。コピーやマージの操作を行っていないノードで SHOW DEVICE コマンドを実行すると, SHOW DEVICE の出力で表示されるコピーの割合は,実際にコピーされている割合よりも少なめに表示されます。
コピーとマージの操作が同じシャドウ・セットで同時に行われると,マージの割合は,コピーが完了するまで変化しないことに注意してください。コピーが完了した後,マージ操作が再開されます。
4.9.3 SHOW DEVICE でのシャドウ・セット情報の表示例
SHOW DEVICE コマンドの出力を示す以下の例では,シャドウ・セットのメンバ構成や,コピーやマージの操作中の各々のシャドウ・セット・メンバのステータスなど,取得可能な種々のシャドウ・セット情報を示しています。ミニコピー操作で使われる書き込みビットマップの例については, 第 7.10 節 を参照してください。
#1 |
---|
$ 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」というデバイス・ステータスはシャドウ・セットが安定状態であることを示しています。つまり,シャドウ・セット・メンバは互いに整合が取れています。
#2 |
---|
$ 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 でサービスされています。
#3 |
---|
$ 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 として表されています。
#4 |
---|
$ 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 という名前のノードからアクセスされています。
#5 |
---|
$ 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 がコピー操作のソース・メンバです。
#6 |
---|
$ 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 コマンドでどのように表示されるかを示しています。
#7 |
---|
$ 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% 完了しています。
#8 |
---|
$ 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 は,このシステムにマウントされていないシャドウ・セット・メンバです。
#9 |
---|
$ 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.9.4 項 では,このシャドウ・セットを System Dump Analyzer で検査したときにどのように表示されるかを示しています。
SDA (System Dump Analyzer) は OpenVMS オペレーティング・システムに用意されているユーティリティです。SDA の主な機能はクラッシュ・ダンプを分析することですが,シャドウ・セットなどの,実行中のシステムを検査するツールとしても役に立ちます。また,SDA は,他社の SCSI デバイスがシャドウイング・データの (不良ブロックの) 修復機能を持っているかどうかを調べるためにも使えます。この例は, 第 4.9.4.1 項 にあります。
SDA コマンドの SHOW DEVICE は,システム構成内のデバイスを記述しているシステム・データ構造の情報を表示します。シャドウ・セットを検査するには,まず DCL プロンプトから,ANALYZE/SYSTEM を入力して System Dump Analyzer を起動します。その後,SDA> プロンプトから,仮想ユニット名を指定して SHOW DEVICE コマンドを入力します。
以下の例では,仮想ユニット DSA80 に対応するシャドウ・セットの情報を取得する方法を示しています。以下に示す SDA の出力例を, 第 4.9.3 項 の最後の例に示す 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 (1), cip (2), src (3), valid (4) UCB 810510D0 VCB 81400A00 Unit Id. 12A10038 000000FF Merge LBN 0004B94D |
この情報の意味は次のとおりです。
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.9.4.1 SDA による他社製 SCSI デバイスの情報取得
SCSI ディスクをマウントしたとき, SCSI ディスク・クラス・ドライバの DKDRIVER は,デバイス固有のパラメータをチェックして,そのディスクが READL/WRITEL コマンドをサポートしているかどうかを確認します。
SCSI ディスクが,READL/WRITEL コマンドをサポートしていない場合, DKDRIVER は NOFE (no forced error) ビットを設定し,そのディスクがシャドウイング・データの (ディスク不良ブロックの) 修復機能をサポートしていないことを表示します。SDA コマンドの SHOW DEVICE を使って, SDA 表示の Characteristics フィールドの NOFE フラグを調べることができます。
$ ANALYZE/SYSTEM SDA> SHOW DEVICE DKA300:(1) I/O data structures ------------------- COLOR$DKA300 Generic_DK UCB address: 80A665E0 Device status: 00000010 online Characteristics: 1C454008 dir,fod,shr,avl,elg,idv,odv,rnd 05010281 clu,srv,nnm,scsi,nofe(2) . . . |
READL/WRITEL 操作をサポートしている SCSI デバイスでは, SDA は,次の例のように,NOFE フラグを含まない Characteristics フィールドを表示します。
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.9.5 F$GETDVI によるシャドウ・セット情報の取得
F$GETDVI レキシカル関数は,シャドウ・セットにマウントされているデバイス情報を取得するための別の手段を提供します。F$GETDVI を使うと,一般的なデバイスおよびボリューム情報と,そのデバイスやボリュームのシャドウ・セット・ステータスに関する個別の情報を取得することができます。たとえば,以下のような情報を調べることができます。
F$GETDVI レキシカル関数は,DCL コマンド・レベルで対話型で使用することも, DCL コマンド・プロシージャ内で使うこともできます。さらに,$GETDVI システム・サービスを使ってボリューム・シャドウイングの情報を取得することもできます ( 第 5.6 節 参照 )。
F$GETDVI レキシカル関数の形式は次のとおりです。
F$GETDVI (device-name,item) |
F$GETDVI レキシカル関数には,2 つの引数が必要です。物理デバイス名と,取得したい情報のタイプを指定する項目名です。
$GETDVI システム・サービスにファイル・システム関連の項目コードを指定して,シャドウ・セットに関して (FREEBLOCK 情報のような) 意味のあるシステム情報を取得するためには,$GETDVI サービスで仮想ユニット名を指定する必要があります。シャドウ・セット・メンバの 1 つのデバイス名を指定すると, $GETDVI サービスは値 0 を返します。 |
『OpenVMS DCL ディクショナリ』には,F$GETDVI の引数として使える項目コードの一覧があります。 表 4-4 には, F$GETDVI レキシカル関数の引数として指定できる項目の中で,ボリューム・シャドウイングに特有の項目を示します。この表では各々の項目で返される情報のタイプと返される値のデータ・タイプを示しています。
項目 | 返される タイプ |
返される情報 |
---|---|---|
SHDW_CATCHUP_COPYING | 文字列 | デバイスがコピー操作のターゲットとなっているメンバである場合は TRUE。そうでない場合は FALSE。 |
SHDW_MASTER | 文字列 | デバイスが仮想ユニットである場合は TRUE。そうでない場合は FALSE。 |
SHDW_MASTER_NAME | 文字列 | 指定されたデバイスがメンバとして属しているシャドウ・セットに対応する仮想ユニットの名前。指定されたデバイスがメンバでない,またはデバイスが仮想ユニットである場合, F$GETDVI 関数は空文字列 ("") を返す。 |
SHDW_MEMBER | 文字列 | デバイスがシャドウ・セット・メンバである場合は TRUE。そうでない場合は FALSE。 |
SHDW_MERGE_COPYING | 文字列 | デバイスがシャドウ・セットのマージ・メンバである場合は TRUE。そうでない場合は FALSE。 |
SHDW_NEXT_MBR_NAME | 文字列 | シャドウ・セット内の次のメンバのデバイス名。仮想ユニットを指定した場合, F$GETDVI 関数はシャドウ・セットのメンバのデバイス名を返す。シャドウ・セット・メンバの名前をデバイス名と項目引数とともに指定した場合,「次」のメンバの名前を返す。それ以上メンバがいなければ空文字列を返す。 シャドウ・セットのすべてのメンバを調べるには,まず F$GETDVI に仮想ユニットを指定する。それ以降の呼び出しでは,空文字列が返される ( すべてのメンバを取り出し終わる ) まで,前の F$GETDVI で返されたメンバ名を指定する。 |
デバイスがシャドウ・セットに属しているかどうかを確認するには,コマンド・プロシージャ内で次のような DCL コマンドを記述します。
$ IF F$GETDVI("WRKD$:","SHDW_MEMBER") THEN GOTO SHADOW_MEMBER |
WRKD$( ディスクの論理名 ) がシャドウ・セット・メンバならば, F$GETDVI は文字列 TRUE を返し,プロシージャは SHADOW_MEMBER というラベルの付いたボリュームへ飛びます。
F$GETDVI レキシカル関数についての詳細は,『OpenVMS DCL ディクショナリ』を参照してください。
前へ | 次へ | 目次 | 索引 |