前へ | 次へ | 目次 | 索引 |
表 9-15 は,OpenVMS における ISO 9660 規格のサポートの問題点および制限事項とその解決方法を説明しています。
影響を受ける媒体 | 説明および解決方法 |
---|---|
ボリューム・ラベル | 1 文字から 32 文字まで使用できる。最初の 12 文字は一意のボリューム ID である。ラベルの最初の 12 文字が一意でないと,ボリュームはマウントされず,次のメッセージが表示される。
%SYSTEM-F-VOLALRMNT, another volume of the same label already mounted 解決方法: ボリューム・ラベルを変更してマウントする。
|
ボリューム・
セット・ラベル |
1 文字から 128 文字まで使用できる。最初の 12 文字は一意のボリューム・セット ID である。ラベルの最初の 12 文字が一意でないと,ボリュームはマウントされず,次のいずれかのメッセージが表示される。
%SYSTEM-F-VOLINSET, volume is already part of another volume set 解決方法: ボリューム・セット・ラベルを変更し,コマンド修飾子 /BIND= ボリューム・セット・ラベルを使用する。 |
ボリューム・ラベルおよびボリューム・セット・ラベルの重複 | ボリューム・ラベルおよびボリューム・セット・ラベルの最初の 12 文字は,別々のロック・マネージャ・リソース名に使用される。これらはボリューム・セットおよびボリューム・セット関連の調整に使用される。両方のラベルの最初の 12 文字が空白ラベルの場合を含めて同じであれば,ロック・マネージャ・デッドロック・エラーが発生して,次のメッセージが表示される。
%SYSTEM-F-DEADLOCK, deadlock detected 解決方法: ボリュームに別のボリューム・ラベルを指定してマウントし, /OVERRIDE=IDENTIFICATION コマンド修飾子を使用する。これでボリュームのラベルが上書され,ボリューム・セット・ラベルと重複しなくなる。 |
UNDEFINED
レコード・フォーマット・エラー |
ISO 9660 媒体は,定義済みレコード・フォーマットを含むファイルをサポートしていないプラットフォームからマスタを作成できるので, ISO 9660 CD-
ROM の多くは特定のレコード・フォーマットなしにマスタが作成されている。
TYPE および COPY などの OpenVMS ファイル・システム・ユーティリティ,言語 RTL およびレコードのアクセスに RMS を使用するアプリケーションは,レコード・フォーマットが未定義または違法なファイルをアクセスすると, RMS エラー,ユーティリティ・エラー,言語エラーを報告する場合がある。 解決方法: マウント時に次のコマンド構文を使用して UNDEFINED タイプのすべてのファイルを,最大レコード長が 512 バイトの STREAM レコード・フォーマットにする。
RMS レコード・フォーマットについての詳細は,『OpenVMS Record Management Utilities Reference Manual』および『OpenVMS Record Management Services Reference Manual』を参照。 |
テープ・ボリューム・セットをマウントする手順は, 第 9.5 節 で説明したテープ・ボリュームのマウント手順に似ています。ただし,指定する装置名の数とボリューム識別子の個数が同じである必要はありません。つまり,テープ・ボリューム・セットをマウントするとき,装置名より多くのボリューム識別子,またボリュームより多くの装置名を指定することができます。
ボリューム・セットに含まれるボリュームの継続ボリュームを処理するときにテープ・ファイル・システムが取る処置は,指定された装置の台数によって異なります。たとえば,指定された装置の個数がボリューム数より多い場合,テープ・ファイル・システムは,リストに挙げられている装置のうちの,まだボリュームがマウントされていない最初の装置に継続ボリュームをマウントするよう要求します。
ユーザがセットを構成するボリュームに書き込みを行う予定がある場合は,テープ・ボリューム・セットをマウントするとき,必ず,すべてのボリュームに書き込みリングをセットしておいてください。マウントするときにボリュームの 1 つでも書き込みリングがセットされていないと,システムはどのボリュームにも書き込みを行うことができません。またボリュームは,割り当て済みでオンラインになっている装置にセットしてください。
以降の項では,次の作業を行う方法について説明します。
作業 | 参照箇所 |
---|---|
テープ・ボリューム・セットの作成 | 第 9.8.1 項 |
ボリューム・セットの継続ボリュームのマウント | 第 9.8.2 項 |
自動切り換え無効時のテープ・ボリューム・セットのマウント | 第 9.8.2.3 項 |
ボリューム・セットが明示的に作成されていない場合,オペレーティング・システムは必要に応じてボリューム・セットを作成します。マウントされているボリューム・セットがなく,継続ボリュームが必要な場合,テープ・ファイル・システムは継続ボリュームをマウントするよう要求し,暗黙にボリューム・セットを作成します。たとえば,ボリュームへの書き込み中に EOT マークを検出した場合,テープ・ファイル・システムは別のボリュームのマウントを要求するメッセージをオペレータ・コンソールに送ります。
継続ボリュームがマウントされると,テープ・ファイル・システムはボリューム・ラベルとヘッダ・ラベルを書き込み,保留中の書き込み要求を継続ボリュームに再発行します。継続ボリュームのファイルの先頭ファイル・ヘッダ・ラベルに書き込まれるファイル・セット識別子コードはすべて,先頭ボリュームの先頭ファイルの識別子コードと同じです。つまり,ボリューム・セットに対するファイル・セット識別子コードは,常に,最初にマウントされたボリュームの先頭ファイルの識別子コードです。
たとえば,3 つのテープ・ボリュームから明示的にボリューム・セットを作成する場合は,次の手順に従ってください。
$ ALLOCATE MUA0: %DCL-I-ALLOC, _MARS$MUA0: allocated $ ALLOCATE MUA1: %DCL-I-ALLOC, _MARS$MUA1: allocated $ ALLOCATE MUA2: %DCL-I-ALLOC, _MARS$MUA2: allocated |
ボリュームをロードする装置の割り当ての例。
$ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA0: TAPE1 $ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA1: TAPE2 $ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA2: TAPE3 |
ボリュームの初期化例。コマンドには,装置名とボリューム識別子に加えて,密度とアクセス保護コードも指定している。
$ MOUNT MUA0:,MUA1:,MUA2: TAPE1,TAPE2,TAPE3 TEST %MOUNT-I-MOUNTED, TAPE1 mounted on _MUA0: %MOUNT-I-MOUNTED, TAPE2 mounted on _MUA1: %MOUNT-I-MOUNTED, TAPE3 mounted on _MUA2: |
ボリュームのマウント例。コマンドには,装置名とボリューム識別子が指定されている。
9.8.2 テープ・ボリューム・セットの継続ボリュームのマウント
第 9.8.1 項 では,テープ・ボリューム・セットをマウントするときの一般的な手順を紹介しました。作成したボリューム・セットをマウントするときは,それぞれのボリュームを初期化する必要はありません。
また,ボリューム・セットのボリュームごとに装置を割り当てる必要もありません。テープ・ファイル・システムは,継続ボリュームが必要になると,ボリュームを適当な装置に切り換えるよう要求します。
オペレーティング・システムは,マウント時に指定されたボリュームの識別子を記憶しますが,物理的に装置にマウントされていない識別子を検証することはできません。システムがボリューム識別子を検証するのは,それらボリュームにアクセスしたときです。
オペレーティング・システムには,ボリュームの自動切り換え機能と自動ボリューム・ラベル作成 (AVL) 機能があり,テープ・ボリューム・セットを構成するマウント済みボリュームを連続して処理することができます。
9.8.2.1 ラベルの作成
ファイル・システムがラベルを作成するかどうかは,次に示すように条件によって異なります。
第 9.4.2 項 で説明したように,テープ・ファイル・システムは,継続ボリュームを処理する前にそのボリュームの保護検査を行い,ユーザがボリュームに対するアクセス権をもっていないと判断した場合は,オペレータにメッセージを送ります。
ラベルは,6 文字の長さのボリューム識別子フィールドに埋め込まれます。
システムが 1 つのボリューム・セットに対して作成可能な一意的なラベル数は 99 個だけです。
ボリュームの自動切り換えが有効な場合,オペレータは,処理されているボリュームの EOT マークに達する前であれば,ボリューム・セットに割り当てられている次の装置へのテープのロードをいつでも行えます。テープ・ファイル・システムは,ボリューム・セットの次のテープをマウントし,初期化して,切り換えを行ったことをオペレータに通知します。テープの初期化が行われるは,最初にそのように指定されていた場合だけです。
9.8.2.2 ボリュームの自動切り換え機能の有効化
ボリュームの自動切り換え機能を使用するためには,ボリューム・セットに複数のテープ装置を割り当てる必要があります。これが行われると,テープ・ファイル・システムは,ボリューム・セットに割り当てられた次のテープ装置を選択することによって,自動的にボリュームを切り換えます。ただし,正しく切り換えを行うためには,ボリューム・セットの次のボリュームをその装置にロードしておく必要があります。
$ MOUNT MUA0:,MUA1:,MUA2: TAPE |
この例では,TAPE という識別子のボリュームを MUA0: 装置にマウントしている。テープ装置への継続ボリュームのロードは, MUA1:,MUA2:,MUA0:,MUA1:,MUA2: という順番で行う。
$ INITIALIZE MUA0: MAIN $ MOUNT/OVERRIDE=IDENTIFICATION/INITIALIZE=CONTINUATION MUA0:,MUA1: |
ボリューム・セットをマウントするときの /INITIALIZE=CONTINUATION 修飾子の使用例。また,システムに継続ボリュームのボリューム識別子を作成させる方法も示してある。
MAIN というラベルのボリュームは,MUA0: 装置にマウントされる。ボリューム・セットの 2 つ目のボリュームは,ボリューム識別子として MAIN02 を取り,MUA1: 装置にマウントされる。また,3 つ目のボリュームは,ボリューム識別子として MAIN03 を取り,MUA0: 装置にマウントされる。
テープ・ボリューム・セットに追加するボリュームが書き込みの前に初期化されるようにするためには,/INITIALIZE=CONTINUATION 修飾子を使ってボリュームをマウントすること。省略時の設定は /NOINITIALIZE。
$ MOUNT MUA0:,MUA1: SUN |
この例では,ボリューム・セットの先頭ボリュームに SUN というラベルを付け,これを MUA0: 装置にマウントしている。2 つ目のボリュームは識別子として SUN_02 を取り,MUA1: 装置にマウントされる。また,3 つ目のボリュームは識別子として SUN_03 を取り,MUA0: 装置にマウントされる。
$ MOUNT MUA0:,MUA1: SUN,MOON |
この例では,SUN と MOON という 2 つのボリューム識別子をもつ継続ボリューム 1 つをそれぞれ MUA0: と MUA1: にマウントしている。 3 つ目のボリュームが追加された場合は,識別子として MOON03 が与えられ, MUA0: 装置にマウントされる。
ユーザのサイトでボリューム・ラベルを事前に設定している場合は,これらのラベルの上書きを避けるために,自動ボリューム切り替え機能を無効にしておく必要があります。ボリュームの自動切り換えを明示的に無効にする場合は,テープ・ボリュームをマウントするときに /NOAUTOMATIC 修飾子を使用します。省略時の設定は /AUTOMATIC です。テープ・ボリューム・セットに 1 台しか装置を割り当てていない場合,ボリュームの自動切り換え機能は暗黙で無効になります。
磁気テープに読み込みまたは書き込みを行っていて,テープの終端に達した場合は,システムは処理を中断し,ボリューム・セットの次のボリュームのマウントを要求します。このとき出される要求を次に示します。
%%%%%%%%%%% OPCOM, 28-MAY-2000 15:23:31.78 %%%%%%%%%%% request 3, from user PLAW MOUNT new relative volume 2 (DW0QT2) on MUA1: |
ユーザがこのメッセージを見ることはありませんから,最後まで読み込みまたは書き込みをするために別のテープが必要なことに気付かないことがあります。
$ MOUNT/NOAUTOMATIC MUA0: ABCD,EFGH |
この例は,2 つ目のボリュームに専用のラベルを設定せずに,指定されているラベルを使用するよう MOUNT コマンドに指示している例です。
9.8.2.4 ユーザへのメッセージ返信
マウント要求に指定された装置に継続ボリュームをロードした後, 表 9-16 に示す 3 つの修飾子のいずれかを指定した REPLY コマンドを入力することによって,ボリュームをマウントします。これらの修飾子については,『Compaq OpenVMS DCL ディクショナリ』を参照してください。
修飾子 | 説明 |
---|---|
/BLANK_TAPE=
識別番号 |
フォーマットされていないボリュームに書き込みを行うときに使用する。すなわち,この修飾子はボリュームを初期化するので,テープの故障やタイムアウト条件の発生を避けるためには, VOLPRO 特権と OPER 特権が必要 (
第 9.1.4.2 項 を参照)。REPLY コマンドは次のどちらも有効。
$ REPLY/BLANK_TAPE=3 最初のコマンドにはボリューム識別子を指定していない。2 番目のコマンドにはボリューム識別子を指定している。 |
/INITIALIZE_TAPE= 識別番号 | 継続ボリュームのボリューム識別子が,マウント要求で指定されているボリューム識別子と一致しない場合,書き込み操作のためにフォーマットされたボリュームに対して使用する。ファイル・システムはテープを初期化し直し,新しいボリューム識別子を使ってボリュームをマウントする。またさらに,アクセス検査を行って, INITIALIZE コマンドが指定されているかのようにボリュームを初期化する。このとき,/INITIALIZE_TAPE コマンドを指定する前にテープに存在していたデータは失われる。現在のターミナルは,TAPEに対してのオペレータ・ターミナルでなければならない。
$ REPLY/INITIALIZE_TAPE=3 最初のコマンドにはボリューム識別子を指定していない。2 番目のコマンドにはボリューム識別子を指定している。 |
/TO= 識別番号 | フォーマットされたボリュームで読み込みと書き込み操作の両方に使用する。書き込み操作で,マウント要求に指定されているボリューム識別子を継続ボリュームに書き込みたい場合は,/TO 修飾子を使用すること。
たとえば,マウント要求 3 に応答して,MTA1: 装置に DW0QT2 ボリュームをマウントするときに入力する REPLY コマンドは,次のいずれかになる。
最初のコマンドにはボリューム識別子を指定していない。 2 番目のコマンドにはボリューム識別子を指定している。 |
書き込み操作では,MOUNT コマンドに必ずボリューム識別子を指定してください。指定することによって,装置への正しいボリュームのマウント,ボリューム・セットへの継続ボリュームのリンクが保証されます。
ボリューム上のアクセス制御文字を保持するためには,書き込み操作時に REPLY/TO コマンドでボリューム識別子を省略しなければなりません。テープからの読み込みの場合は,ボリューム識別子を任意に指定することができます。
各ボリュームのアクセス制御文字が一意なボリューム・セットを初期化し,マウントするときに,それらアクセス制御文字を残したい場合は,ボリューム識別子を使用しないでください。ボリューム識別子を使用すると,ボリューム・セットの先頭ボリュームのアクセス制御文字によって,継続ボリュームのアクセス制御文字が無効になります。
前へ | 次へ | 目次 | 索引 |