[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

8 記憶媒体の管理

本章では,次の事項について説明します。

本章の内容

本章では次の作業について説明します。

作業 参照箇所
ディスク・ドライブとテープ・ドライブの割り当てと割り当て解除 第8.2節
ボリュームの初期化 第8.3 節
ボリュームの保護 第8.4節
ボリュームのマウント 第8.5節
ディスク・ ボリューム・セットのセットアップ 第8.6節
ISO 9660ボリューム・セットとグループのマウント 第8.7節
テープ・ボリューム・セットのマウント 第8.8節
ボリュームとボリューム・セットのディスマウント 第8.9節
媒体セットアップ用コマンド・プロシージャの使い方 第8.10節
ディスク空間の管理 第8.11節
ANALYZE/DISK_STRUCTURE ユーティリティによるディスクの検査と修復 第8.12節
マウント・チェックによるエラー回復 第8.13節
IPC (割り込み優先順位レベルC)の使用 第8.14節
BADユーティリティによる媒体エラーの検出 第8.15 節

さらに,次の項目について説明します。

項目 参照箇所
ディスクとCD-ROMのファイル構造など 第8.1.1項
OpenVMS Alphaシステム上でのExtended File Specifications 第8.1.2 項
テープ 第8.1.3項
公用ディスク・ ボリュームと私用ディスク・ボリューム 第8.1.4項
テープ・ボリュームとディスク・ボリュームの保護 第8.4節
ディスク・ボリューム・セット 第8.6.1項
ディスク・ クォータ 第8.11.1項
マウント・チェック 第8.13.1 項

8.1 記憶媒体

記憶媒体に関する次の用語を理解してください。

用語 定義
装置またはドライブ 記憶媒体へのアクセスを可能にするハードウェア。
媒体 データの記憶が可能なアイテム。
ボリューム 論理的なデータ格納ユニット。媒体1つのこともあれば,複数のこともある。 オペレーティング・システムが,ディスクまたはテープをボリュームとして認識するためには, それらの媒体を装置にマウントする必要がある。

以降ではこれらの用語を使ってメディアの概念を説明します。

8.1.1 ディスクとCD-ROMの概念

この節ではディスクとCD-ROM関係の用語の意味をまず説明し,続いて,ディスク・ ファイル構造とISO 9660規格について説明します。

8.1.1.1 ディスク関連用語

ディスクはファイルが格納されている物理メディアです。 オン・ディスク構造 (ODS)は,ディスクに格納された情報に与えられた論理構造を参照します。 これはファイル,そのデータ, それらにアクセスするために必要なディレクトリの階層構造的な組織です。OpenVMS ファイル・システムはODSを実装しており,ディスクに配置されたファイルへのアクセス制御を提供しています。

コンピュータとともに使用されるコンパクト・ディスク読み出し専用メモリ (CD-ROM)とその読み出し装置は,オーディオで使われるCD-ROM と非常によく似ています。大きな違いはCD-ROM装置が(オーディオではなく) デジタル・インタフェースをもっていること,またエラー訂正とデータ・ ブロックをエンコードするためのフォーマッティングのための追加層を持っていることです。

テープ装置やほかの取外し可能メディアよりも大容量のデータを格納できるCD-ROM の利点:

表 8-1は,ディスクとCD-ROMについての用語を定義しています。

表 8-1 ディスクとCD-ROMの用語

用語 定義
セクタ 固有にアドレス可能な単位。 CD-ROMの各セクタは2048の8-ビットバイトからなる。ほとんどのディスクでは,1 セクタはブロック(512バイト)と同等。
論理ブロック ボリューム領域の組織的な単位。512 の8-ビットバイトからなる。CD-ROMのセクタは4 ブロックからなる。
論理ブロック番号 論理ブロック番号は0から始まりn-1まで。
クラスタ[1] ディスク空間が割り当てられる基本単位となる,ブロックの論理的なグループ。
エクステント 特定の1つのファイルに割り当てられた連続ブロック。
ファイル 1から始まりn-1までの番号に一群の属性値を加えた番号を持つ連続する仮想ブロック [2]の配列。ファイルはデータ・ファイルかディレクトリ・ ファイルのいずれかであり,ディレクトリはデータ・ファイルとディレクトリ・ ファイルの両方を含むことができる。
ボリューム 新しいファイル構造を作成することによって使用可能になったディスク。
ボリューム・セット 複数ボリュームの一団。 外見上は,大きな1つのボリュームになる。

[1] クラスタは,OpenVMS Cluster環境を形成するノードの集まりを 意味しない。ディスク関連の用語としてのみ使用 する。

[2] A 論理ブロックはディスクの絶対アドレスに格納されている。 一方仮想ブロックは,ファイルへの相対アドレスに格納されている。

ディスクまたはCD-ROM上の情報は,ディスクまたはCD-ROM上の論理ブロック, またはディスク上の仮想ブロックとしてアクセスすることができます。

8.1.1.2 ディスクおよびCD-ROMファイル構造

ディスク構造 (ODS)はディスクまたはCD-ROM上の情報に与えられた論理構造を参照します。 この構造は,ファイル,そのデータ,ディレクトリの階層的組織であり, これらにアクセスをするために必要なものです。OpenVMS ファイル・システムはディスク構造を実装し,ディスク上に配置されたファイルへのアクセスを制御します。

図 8-1は,ディスク構造内のブロック, クラスタ, エクステント,ファイルの階層構造を示しています。任意の1エクステントのブロックの数はクラスタ・ サイズの倍数です。図中では,クラスタ・ サイズを2と仮定しています。

図 8-1 ファイルのディスク構造階層構造

OpenVMSファイル構造の種類

オン・ディスク構造にはレベル1,2,5があります(レベル3,4は,ISO 9660とハイシエラCD形式の内部で使用する名称)。ODS-1, ODS-2構造はOpenVMS システムで従来から使用されてきました。Alphaシステム上でのOpenVMS バージョン7.2では,ディスクのフォーマットにODS-5も使用できます。

OpenVMS Alphaオペレーティング・システムでは,ODS-1を除き,表 8-2 であげられているディスクとCD-ROM のすべての構造を認識することができます。VAX システムでは, ODS-5が有効化されたボリュームをマウントすることはできますが,ODS-5 固有の機能を使用することはできません。

システムが使用する入出力処理と互換性を持つボリュームとファイル構造を組み込むために,1 つまたは複数の形式が使用できます。

表 8-2 OpenVMSシステムでのファイル構造の種類

構造 ディスクまたはCD-ROM 説明
ODS-1 両方 VAXのみ。RSXとの互換性のために使用される。RSX-11M, RSX-11D, RSX-11M-PLUS, IAS オペレーティング・システム
ODS-2 両方 VAXとAlpha間で完全な互換性を持ってデータを共有するために使用する。 これはOpenVMSオペレーティング・システムの省略時の設定である。
ODS-5 両方 ODS-2のスーパー・セット。Windows NTのように拡張文字セット, またはODS-2よりも深いディレクトリが必要なオペレーティング・ システムとAlphaシステムを使用する場合に使用する。
ISO 9660 CD CD ISO 形式ファイル。他のシステムでサポートされるプラットホームに拠らない出版と配布に使用する。
ハイシエラ CD ISO 9660の1種。
2重形式 CD ISO 9660 CDとODS形式の2つを1つのボリュームで持つ。ファイルにアクセスするには, 同じデータを指す,2つのディレクトリのどちらも使用できます。
フォーリン 両方 Unknownファイル構造。フォーリン構造を指定すると, システムに対して既知のボリュームの目次を作成する。しかし,システムはそのファイル構造については前提となる情報を持たない。 アプリケーション側は構造についての情報を提供する責任がある。

ファイルを作成する場合, OpenVMSのレコード管理サービス(RMS)に対してファイル名を指定し, この名前はディスク・ボリューム上のファイルに割り当てられます。RMS は,その新規に作成されたファイルのファイル名とファイルID をディレクトリに配置します。そのディレクトリには,それぞれのファイルのロケーションを定義するエントリが含まれます。

ファイルにアクセスする場合,ファイル名を指定しますが,このファイル名がディレクトリ・ エントリを通じてファイル識別子へのパスを与えます。 次にファイル識別子は,ファイル・ヘッダの位置を示します。ファイル・ ヘッダには実際のデータの位置を示すエクステント(単数あるいは複数) のリストがあります。

OpenVMSシステムでの予約ファイル

予約ファイルは,ディスク構造(ODS)レベル2,5ボリュームも構造を制御します( これらのファイルのうちの5つがレベル1ボリュームに使われます) 。表 8-3は,すべての予約ファイルを掲げており, どのODSレベルが関係しているかおを示しています。

表 8-3のファイルは,マスタ・ ファイル・ディレクトリ(MFD),[000000]にあるものです。付録 A にあるそれぞれの予約ファイルについての説明を参照してください。

表 8-3 予約ファイル

予約ファイル ファイル名 +構造レベル1 構造レベル2 と5
インデックス・ファイル INDEXF.SYS;1 X X
ストレージ・ビットマップ・ファイル BITMAP.SYS;1 X X
バッド・ブロック・ファイル BADBLK.SYS;1 X X
マスタ・ファイル・ディレクトリ 000000.DIR;1 X X
コア・イメージ・ファイル CORIMG.SYS;1 X X
ボリューム・セット・リスト・ファイル VOLSET.SYS;1
X
継続ファイル CONTIN.SYS;1
X
バックアップ・ファイル BACKUP.SYS;1
X
ペンディング・バッド・ブロック BADLOG.SYS;1
X
ボリューム機密保護プロファイル SECURITY.SYS;1
X

+ VAXのみ

ストレージ・ビットマップと索引ファイル・ビットマップの制限

OpenVMSのこれまでのバージョンでは,ストレージ・ビットマップと索引ファイル・ ビットマップの大きさが,255ブロックまでに制限されていました。 このサイズは,約100万割り当てユニットまたはクラスタにボリュームを制限していました。 大規模なディスクでは,この制限に適応するためにより大きなクラスタ・ ファクタを持つ必要がありました。例えば,9 GBのディスクはクラスタ・ファクタを18にする必要がありました。

OpenVMSバージョン7.2からは,ストレージ・ビットマップと索引ファイル・ ビットマップのこの制限が,次のように拡大されました。

ビットマップのタイプ 制限
ストレージ・ビットマップ 65535ブロック
索引ファイル・ビットマップ 4095ブロック

ビットマップ制限が拡大したおかげで,次の利点が得られます。

INITIALIZEコマンドとBACKUPコマンドの動作は,この大きくなったビットマップ・ サイズを反映しています。INITIALIZEコマンドの詳細については『OpenVMS DCL ディクショナリ』を,BACKUP ユーティリティの詳細については『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照してください。

以前のバージョンで表示されるメッセージ

次に示すメッセージは,バージョン7.2以降のシステムで初期化したディスクにバージョン7.2 よりも前のシステムからアクセスしようとしたときに表示されるものです。

     %MOUNT-F-FILESTRUCT, unsupported file structure level

BITMAPフィールドのサイズが増やされたことは,以前のバージョンのOpenVMS と互換性がありません。

アクセスするディスクのBITMAP.SYSのサイズを確認してください。そのサイズが256 以上であり,そのディスクに7.2よりも前のバージョンのシステムからアクセスする場合には,BITMAP.SYS のサイズが256よりも小さなディスクにそのデータをコピーする必要があります。DCL コマンドのBACKUP/IMAGE を使用する場合には,必ず/NOINITIALIZE修飾子を使ってください。

8.1.1.3 ODS-1,ODS-2,ODS-5形式の比較

表 8-4は,ディスク構造(ODS)レベル1, 2, 5 のそれぞれの固有の特徴について説明しています。

表 8-4 ODS-1, ODS-2, ODS-5形式の比較

特徴 ODS-1 (VAXのみ) ODS- 2 ODS-5
ファイル名の長さ 9.3 39.39 238 バイト。ドットとファイルタイプを含む。Unicodeの236バイトは119文字。 ドットとファイルタイプを含む。
文字セット 大文字英数字 大文字英数字とハイフン, ドル記号($),アンダースコア(_) ISO Latin-1, Unicode (『OpenVMS Extended File Specificationsの手引き』を参照)
ファイル・ バージョン 32,767まで。バージョン制限はサポートされていない。 32,767まで。バージョン制限はサポートされている。 32,767まで。バージョン制限はサポートされている。
ディレクトリ ディレクトリとサブ・ディレクトリの階層構造なし。ディレクトリ・ エントリは順序が考慮されない。[1] Alpha: 255 [2]

VAX: 8 (ルート論理名含み16)

Alpha: 255

VAX: 8 (ルート論理名含み16)

システム・ ディスク ODS-1ボリュームであってはならない。 ODS-2ボリュームであってもよい。 ODS-5はバージョン7.2ではサポートされていない。
ページ・ファイル,スワップ・ファイル,ダンプ・ファイル, パラメータ(.PAR)ファイルなどのシステム・ファイル。 サポートされる。 サポートされる。 サポートされない。
OpenVMSクラスタ・ アクセス ローカル・アクセスのみ。ファイルはクラスタを越えて共有できない。 ファイルはクラスタを越えて共有できる。 ファイルはクラスタを越えて共有できる。ただし, バージョン7.2またはそれ以降のOpenVMSだけがODS-5ディスクをマウントできる。 バージョン7.2またはそれ以降のVAXでは,ODS-2スタイルのファイル名のみを見ることができる。
ディスク サポートされないオブジェクト 保護されるオブジェクト 保護されるオブジェクト
ディスク・クオータ サポートされない。 サポートされる。 サポートされる。
マルチ・ボリューム・ ファイルとボリューム・セット サポートされない。 サポートされる。 サポートされる。
配置制御 サポートされない。 サポートされる。 サポートされる。
キャッシュ ファイル識別スロットまたはエクステント・ エントリ ファイル・ ヘッダ・ブロック,ファイル識別スロット,エクステント・エントリのキャッシング ファイル・ヘッダ・ブロック,ファイル識別スロット, エクステント・エントリのキャッシング
クラスタ化した割り当て サポートされない。 サポートされる。 サポートされる。
バックアップ・ホーム・ブロック サポートされない。 サポートされる。 サポートされる。
保護コードE EはRSX-11Mオペレーティング・システムの"extend" を意味するが,OpenVMSはこれを無視する。 E は"executeアクセス"を意味する。 Eは"executeアクセス" を意味する。
強化保護機能(たとえば, アクセス制御リスト) サポートされない。 強化保護機能がサポートされる。 強化保護機能がサポートがサポートされる。

[1] RSX-11M, RSX-11D, RSX-11M-PLUS, IASシステムは,サブディレクトリとアルファベット文字のディレクトリ・ エントリをサポートしていない。

[2] OpenVMSバージョン7.2より前のバージョンでは, RMSはディレクトリのレベルを8 または16に制限していた。PATHWORKSとRMS を使用しない他のプログラムはディレクトリの深さに制限があった。


注意
OpenVMSソフトウェアへの将来の機能強化は, 主にODSレベル2,5に対して行なわれます。したがって, ODSレベル1ボリュームは将来制限がさらに増える可能性があります。ただし,ODS-5 をOpenVMSの省略時のファイル構造にすることを意図しているわけではありません。ODS-5 の主な機能は,OpenVMSシステムが拡張ファイル名を使用する他のシステム( たとえばWindows NT )のサーバとして稼動できるためのものです。

8.1.1.4 CD-ROMのISO 9660規格

OpenVMSでのディスク構造の実装は,ISO 9660規格で定義されたファイル構造に準拠します。 表 8-5は,ISO 9660規格に関連する用語を定義しています。

表 8-5 ISO 9660用語

要素 説明
ボリューム領域 ボリュームの情報を収めているボリューム上のあうべての論理ブロックのセット。
システム領域 CD-ROMボリューム領域の中の2 つの区画の1つ。論理セクタ0〜15を含む。システムのために予約されている。
データ領域 CD-ROMボリュームの2つの区画のうちの1つ。 ボリューム領域の残りの部分を含む。論理セクタ16。

ISO 9660ファイル構造をOpenVMS環境で実装するには,部分記録データ・ ブロックとデータ・インタリーブが必要です。

8.1.2 OpenVMS Alphaシステム上でのExtended File Specifications

Extended File Specificationsでは,Windows 95スタイルまたはWindows NT スタイルのファイル名と属性をファイルが持つことができ, OpenVMS Alphaシステムから管理することができます。Extended File Specificationsを適用するかどうかは,ボリューム単位で選択できます。

従来のファイル名,および拡張ファイル名

Extended File Specifications環境では,ファイル指定について次の命名スタイルを選択できます。

従来のファイル名,拡張ファイル名,あるいはExtended File Specificationsについて詳しくは『OpenVMS Extended File Specificationsの手引き』を参照してください。

以降の節では,OpenVMSシステム上でのExtended File Specificationsのディスク, 混在バージョン,デュアル・アーキテクチャ,ネットワークの現在のサポートについて説明します。

8.1.2.1 システムおよびユーザ・ディスクのサポート

システムでのExtended File Specificationsの使用について,制限事項と使い方のヒントは次のとおりです。

8.1.2.2 混在バージョンのサポート

バージョン7.2以降のOpenVMSシステムでは,Extended File Specificationsの機能を使用することができます。逆に,OpenVMSの過去のバージョンが稼動しているシステムでは,ODS-5 ボリュームをマウントすることができない, または正しく拡張ファイル名を処理することができません。

以降の節では,OpenVMSバージョン7.2とOpenVMSのそれ以前のバージョンとの混在バージョン・ クラスタでのサポートについて説明します。

OpenVMSバージョン7.2システムのユーザ

OpenVMSバージョン7.2システムのユーザは,バージョン7.2以前のファイルとディレクトリにアクセスすることができます。 たとえば,次の操作をすべて行うことができます。

OpenVMS 7.2以前のバージョンのシステム

混在バージョン・クラスタには制限事項があります。7.2よりも以前のバージョンのOpenVMS には制限事項があります。

8.1.2.3 デュアル・アーキテキチャ・サポート

OpenVMS Alphaシステムでは,すべてのExtended File Specifications機能が使用できます。 現状のほとんどすべてのODS-2ディスクとファイル管理機能は VAX とAlphaバージョン7.2システムに同じように残されています。 ただし,拡張ファイル名と解析はVAXシステムでは使用できません。

以降の節ではデュアル・アーキテキチャ・クラスタでの OpenVMS VAXとAlpha システムのサポートについて説明します。

VAXシステム上で制限されるExtended File Specifications

OpenVMSバージョン7.2クラスタのデュアル・アーキテキチャ環境では,次の制限があります。OpenVMS VAX システムでは,次に掲げる制限つきのExtended File Specifications が使用できます。

BACKUPの制限事項

OpenVMS VAXシステムでは,ユーザはODS-5イメージ・セーブ・セットを正しく作成, 復元することができません。ただし,ODS-5セーブ・セットから正しくODS-2 対応ファイル名を復元することができます。

ユーザは,/IMAGE修飾子を指定しない限り,ODS-5からODS-2へディスクからディスクへのコピーをすることができます。

詳しくは『OpenVMS Extended File Specificationsの手引き』を参照ください。

8.1.2.4 ネットワーク・サポート

OpenVMSバージョン7.2では,DECnetを介してネットワークに送られるファイル指定の長さはネットワークを使用しない場合の最大サイズに比べて短くなります。

8.1.2.5 Extended File Specifications機能の有効化

OpenVMS AlphaシステムでExtended File Specificationsオン・ディスク構造の機能を使用するには, 次の操作を行います。

操作 参照
ODS-5 として新ボリュームを初期化する。 第8.3.3項
現在のボリュームをODS-2 からODS-5に変換する。 第8.5.5.1 項

ODS-5ボリュームの有効化により,Compaq Advanced Server for OpenVMS 7.2 clientsで拡張ファイル名が使用できるようになり, OpenVMS Alphaシステムからこれらの名前を見たり管理したリすることができます。


注意
Extended File Specificationsは7.2よりも前のバージョンのOpenVMS Alphaを稼働しているシステムでは利用できません。 これらのシステムでは,ODS-5ボリュームをマウントすることも,OpenVMS ファイル・システムで拡張ファイル名の長所を利用することもできません。

8.1.3 テープ

磁気テープのファイル記憶システムは,ANSI X3.27-1987などのいくつかの米国規格と互換性をもつISO 1001-1986 規格の標準磁気テープ構造に準拠しています。

テープの概念そのものについては,『Guide to OpenVMS File Applications』を参照してください。

磁気テープに関連する用語を表 8-6 に示します。

表 8-6 磁気テープ関連用語

用語 定義
ブロック 磁気テープの場合,ブロックの大きさはユーザが決定する。ODS ディスクの場合は,512バイト固定。
bpi 1インチ当たりのビット数。OpenVMSシステムでは,テープ上のデータ文字の密度を表す。
IRG レコード間のギャップ,つまり,ブロック間の空き間隔。
ブロック化 個々のレコードを1つのブロックにまとめること。これにより,空間の無駄遣いが抑えられる。
順編成 磁気テープ・データの編成方法であり,書き込まれたデータが順編成されることを意味する。
磁気テープ補助制御プロセス(MTACP) 標準ラベルのボリュームの論理形式を解釈する内部ソフトウェア・ プロセス。
テープの開始(BOT)マーカテープの終端(EOT) マーカ ボリューム上の書き込み可能領域を区別する, 光反射式テープの一部。すべてのボリュームに存在する。

ANSI規格では,BOTマーカの前に,最低14フィート,最大18フィートの磁気テープが必要とされる。 また,EOTマーカの後には,最低25フィート, 最大30フィートのテープ(その中の10フィートは書き込み可能でなければならない) が必要とされる。

EOTマーカは,テープの物理的な終端ではなく,テープの書き込み可能領域の終端の 開始を示す。したがって,EOTマーカ後もデータやラベルを書き込むことができる。

データ・ レコード記憶領域 テープ・ファイル内において, データ・レコードはサイズ可変データ・ブロックに格納される。各ブロックには,1 つまたは複数のレコードが入っている。RMSは,レコードを管理する方法を提供している。
ヘッダ・ ラベル テープにファイルを作成するとき, テープ・ファイル・システムがデータ・ブロックの直前に書き込む一連のラベル。 このラベルには,ユーザが提供するファイル名,作成日,満了日などの情報が入っている。 磁気テープ上のファイルにファイル名でアクセスすると, ファイル・システムは指定されたファイル名を持つヘッダ・ ラベルをテープで検索する。
トレーラ・ ラベル テープ・ファイル・システムがファイルの後にテープに書き込む一連のラベル。
マルチボリューム・ファイル ファイルのデータ・ ブロック,または関連ファイルが1つのボリューム(磁気テープ1 本)に収まらなかったときの追加ボリューム。
ボリューム・セット 一連のファイルが記録されたボリューム。

8.1.3.1 レコードのブロック化

レコードのブロック化によってどのように空間が節約されるかを図 8-2 に示します。

図 8-2 レコードのブロック化

たとえば,1600bpiの磁気テープで,ブロック化されていないレコードが10 個あると仮定します。この場合,各レコードは160文字の長さ(1600bpi では0.1インチ)で,それぞれ後ろに0.6インチのIRGが付きますから,使用されるテープは7 インチです。一方,同じ10個のレコードを1つのブロックにまとめると, データ・レコードに1インチ,IRGに0.6インチの1.6インチだけになります。

ブロック化はまた,コンピュータへのデータの流れを効率化します。たとえば, ブロック化していない10個のレコードは,物理転送を10回行う必要がありますが,1 つのブロックにまとめると,1回の物理転送ですみます。 さらに,同じ量のデータについて使用されるテープが短くなりますから, 操作も短い時間で終わります。

ただし,ブロック化では,プログラムに割り当てるバッファ空間が大きくなります。1 ブロック当たりのレコード数が多いほど,必要となるバッファも大きくなります。 このためブロック化にあたっては分岐点を判断する必要があります。 この判断は,ご使用のコンピュータ・システムの構成と環境に基づいて行ってください。

8.1.3.2 複数テープ密度(Alphaのみ)

バージョン7.2よりも前のOpenVMS Alphaでは,ユーザが磁気テープ装置に設定できる密度の範囲が制限されていました。Alpha システムのOpenVMSバージョン7.2 では,その範囲が拡張され,特定のテープ・ドライブをサポートする任意の密度を含められるようになりました。 この機能強化のおかげで, さまざまな省略時設定の密度を持つテープ・ドライブ間でテープを交換することがさらに簡単になりました。

密度は次のDCLコマンドで設定できます。

これらのDCLコマンドで/DENSITY修飾子を使用することの詳細については, 『OpenVMS DCLディクショナリ』を参照してください。

また,次に示すシステム管理ユーティリティを使用して密度を設定することもできます。

これらのユーティリティで/DENSITY修飾子を使用することの詳細については, 『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照してください。 また,BACKUPで/DENSITY修飾子を使用することの詳細については,第10章も参照してください。

  1. $ INITIALIZE/DENSITY=tk85 MKA500: TEST
    
    この例のコマンドは,MKA500:ドライブにある媒体を,ラベルTESTでtk85 密度に初期化します。

サポートされる密度

DCLコマンドとシステム管理ユーティリティのコマンド文字列で有効なのは, 次の密度です: 800,1600,6250,DAT,833,DDS1,DDS2,DDS3, DDS4,TK50,TK70,TK85,TK86,TK87,TK88,TK89,8200,8500,3480, 3490E,AIC,AIT,およびDEFAULT。

使用上の注意

複数のテープ密度を1個の媒体に対して使うことはできません。つまり, 1つの密度は1個の媒体に対してだけ適用されます。密度を指定しない場合, 省略時の密度が使用されます。省略値は対象のドライブがサポートする最も高い密度になります。

密度の変更は,テープの開始(BOT)だけで行われます。媒体が,ある密度に初期化されると, 別の密度に再度初期化されるまでは,その媒体はその密度のままになります。

ある密度が対象の装置でサポートされていない場合,ドライブによっては, 密度フィールドはそのまま残るか,省略値になるかのいずれかになります。 選択した密度をドライブがサポートしない場合,システムから不正密度エラーが表示されます。 ドライブの中にはエラーを報告せず,単にユーザの選択を無視して, 媒体をそれ以前の密度のままにしておくものもあります。

媒体が特定の密度に設定されると,"density"フィールドが表示され,例えば, $ SHOW DEVICE/FULL MKA300: を入力したときには, 密度に対して,対応するASCII文字列が表示されます。

     Magtape JENSO3$MKA300:, device type TZ87, is online, file-oriented device, error
         logging is enabled, controller supports compaction (compaction, disabled),
         device supports fastskip.

         Error count                    0    Operations completed                   0
         Owner process                 ""    Owner UIC                       [SYSTEM]
         Owner process ID        00000000    Dev Prot             S:RWPL,O:RWPL,G:R,W
         Reference count                0    Default buffer size                 2048
         Density                     TK85    Format                         Normal-11

     Volume status: no-unload on dismount, position lost, odd parity.

8.1.4 公用ディスク・ボリュームと私用ディスク・ボリューム

ボリュームとは,装置にマウントできる記憶媒体の1つまたは複数の単位です。 ボリュームは,ディスク・ファイル構造の最も大きな論理単位です。

この節では,公用ディスク・ボリュームと私用ディスク・ボリュームの概念を説明します。

8.1.4.1 公用ディスク・ボリューム

公用ボリュームは,私用ファイルと公用ファイルの両方を含むことが可能なファイル構造化ディスク・ ボリュームです。公用ボリュームは次のいずれかです。

ボリュームのタイプ 説明
システム・ボリューム システム上のすべてのユーザが使用可能
グループ・ ボリューム グループのすべてのユーザが使用可能

ファイル保護によって禁止されていないかぎり,すべてのユーザは公用ボリュームとそこに含まれるファイルにアクセスすることができます。

公用ボリュームに対するファイルの作成,格納をユーザに許可する1つの方法は, 権限を与えるユーザの1人1人についてボリューム上に省略時のディレクトリを作成することです。 公用ファイルとボリュームに対するアクセスの制御は, 保護コードを設定することによって行います。

ユーザは,次の条件を満たす場合にのみ,公用ボリュームのファイルの作成, 書き込み,操作を行うことができます。

次に,公用ファイルと公用ボリュームを設定,操作するときのガイドラインを紹介します。

公用ボリュームを設定するときの考慮事項

システム管理者は,ユーザが必要とするディスク空間量と,システムで使用可能な大容量記憶装置とのバランスを取る必要があります。 そして,そのバランスの取り方は, システムの大容量記憶装置の記憶容量によって異なります。 次に,この2つの比較を示します。

構成 説明
大容量記憶域が小さい システム・ファイルとユーザ・ファイルの両方を同じ1 つの公用ボリュームに常駐させる。ディスク・クォータを設けて, ユーザ・ファイルによってディスク・ボリュームの空間が使い切られないようにする。
大容量記憶域が大きい システム・ファイルとユーザ・ファイルを完全に分けて, 別のボリュームに常駐させる。システム・ファイルが常駐するボリュームをシステム・ ディスク,またはシステム・ボリュームと呼ぶ。

システム・ディスクはアクティブにしておき,常時システム・イメージの読み込みやページング, スワッピング,ファイルのスプール,システム・ ログの保守などが行えるようにする。

最もよく行なわれるのは,1つの公用ボリュームをシステム・ファイルと特権ユーザのディレクトリ用にして, 残りをサイトで必要なユーザ・ディレクトリ, データベース,そしてアプリケーション専用にする形態です。

いずれの形態を選択する場合も,すべての公用ボリュームについて使用計画を立て, システムを起動させてディスク性能を監視してください。そのとき注意すべきことは次のとおりです。

システム・ファイルをシステム・ディスクに置かずに,検索リストまたは論理名を使って, システム・ファイルにアクセスすることもできます。詳細は 第16.8節を参照してください。

また,システムが大規模な場合は,2次ページング・ファイルと2次スワップ・ ファイルを他の装置に置いて,ディスク負荷のバランスを取ることもできます。 詳細は第15.15節を参照してください。 『Guide to OpenVMS Performance Management』では,システム・ファイルの再分散およびバランスのとれたディスク負荷のアーカイブについて詳しく説明しています。

8.1.4.2 私用ディスク・ボリューム

私用ディスク・ボリュームは,私有ファイルだけから構成されるファイル構造化ディスク・ ボリュームです。

ある状況下では,権限のないユーザがアクセスできない装置上で作業を行いたい場合があります。 私用ボリュームを作成し,ユーザのプロセス専用の装置にマウントすると, 他のユーザの影響を受けずに,確実に自分の作業を行うことができます。

私用ボリュームは何度も使用できます。しかし,コンピュータや周辺装置が立入禁止区域や遠隔の位置にあるときはだれかの支援が必要です。 このようにだれかの支援が必要な場合は,OPCOM ( オペレータ通信マネージ)を使ってオペレータと通信します。 ユーザの支援要求に応えるための命令については, 第8.5.3項を参照してください。

8.2 ドライブの割り当てと割り当て解除

この節では,ドライブの割り当てと割り当て解除について説明します。しかし,ALLOCATE コマンドが唯一必要な状況は,ディスマウントしてもそのボリュームにアクセスが残っていなければならないときです。 たとえば, テープを/FOREIGNと/NOFOREIGNで交互に使用するときなどです。

8.2.1 装置の割り当て

私用ボリュームを作成するためには,DCLのALLOCATEコマンドを使い,最初にユーザ・ プロセスに装置を割り当てる必要があります。これを使用するのは, エラーの可能性があり,そのエラーを修復するときにディスクを保存しておきたいときなどです。

ALLOCATEコマンドが複数の装置をプロセスに割り当てることはありません。 複数の装置を割り当てるには,複数のコマンドを使用しなければなりません。

作業方法

ディスク装置またはテープ装置をユーザ・プロセスに論理的に割り当てる場合は, 次の形式でALLOCATEコマンドを使用します。

ALLOCATE 装置名[:] [論理名]

装置名 ボリュームをロードする装置を指定する。 物理名,汎用名,論理名が指定可能。
論理名 指定したディスクまたはテープ装置に対応付けるオプションの論理名を指定する。

  1.      $ ALLOCATE DUA2:
         %DCL-I-ALLOC, _MARS$DUA2: allocated
    

    この例のALLOCATEコマンドでは,DUA2:,すなわち,コントローラAのユニット2 という物理装置を指定して,RK10ディスク装置の割り当てを要求している。ALLOCATE コマンドからの応答は,装置の割り当てが成功したことを示す。

  2.      $  ALLOCATE/GENERIC RA90 MYDISK
    

    この例では,ALLOCATEコマンドの/GENERIC修飾子を使って特殊な装置の割り当てを行っている。 この場合,システムは最初に使用可能になったRA90 装置をプロセスに割り当てる。

ALLOCATEコマンドで使用可能な/GENERICその他の修飾子については,『OpenVMS DCL ディクショナリ』を参照してください。 また,『OpenVMSユーザーズ・ マニュアル』では,ALLOCATEコマンドのその他の例を取り上げています。

8.2.2 装置の割り当て解除

ALLOCATEコマンドで割り当てた装置は,特定のユーザ・プロセス専用として確保されます。 明示的に割り当てを解除するか,ログアウトしないかぎり, その装置がプロセスから解放されることはありません。

装置を割り当てたプロセスを終了させると,明示的および暗黙に割り当てられたすべての装置が自動的に割り当て解除されます。 このため,プロセスに割り当てたディスクやテープ装置を明示的に割り当て解除する必要はありません。 ただし,特に理由のないかぎり,ALLOCATEコマンドで割り当てた装置は, 必ず,DEALLOCATEコマンドを使って明示的に割り当て解除することをおすすめします。

作業方法

プロセスに割り当てたディスク装置やテープ装置を明示的に割り当て解除する場合は,DCL のDEALLOCATEコマンドを使用します。DEALLOCATEコマンドは, プロセスから論理的に装置を切り離し,デバイス・プールに戻します。

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

DEALLOCATE 装置名[:]

装置名 ボリュームがロードされている装置を指定する。 物理名,汎用名,論理名のいずれかで指定する。

次は,テープ装置またはディスク装置を明示的に割り当て解除している例です。

     $ DEALLOCATE MUA1:

このDEALLOCATEコマンドは,プロセスからテープ装置MUA1:を論理的に切り離します。 この後,OpenVMSオペレーティング・システムはDCLレベルに戻ります。

8.3 ボリュームの初期化

ディスク・ボリュームやテープ・ボリュームを初期化する目的は,次のとおりです。

ディスク・ボリュームやテープ・ボリュームにファイルやデータを書き込むためには, 最初にボリュームを初期化する必要があります。


重要
ディスク・ボリュームを初期化すると, ボリュームに含まれているファイルのリンクが失われ,その結果, ファイルが削除されることになります (消去されるわけではありません) 。ファイルのデータを消去する場合は,INITIALIZE/ERASEコマンドを使用してください。

保管しておきたいデータを含むボリュームは初期化しないでください。 また,使用するたびにボリュームを初期化しなければならないというわけでありません。


ディスク・ボリュームやテープ・ボリュームのセットアップ

ディスク・ボリュームやテープ・ボリュームをセットアップするには,次の順番でDCL コマンドを実行します。

1. INITIALIZE ボリュームをフォーマットし, 識別ラベルを書き込む。これにより,以前の内容を効率的に削除する( ボリュームを使用するたびに初期化する必要はない)。
2. MOUNT ボリュームのファイルやデータをユーザのプロセスからアクセスできるようにする。

この節ではボリュームを初期化する手順を説明します。第8.5節では, ボリュームのマウントについて説明します。 ボリュームの初期化を行う前に,第8.4節のボリュームの保護についての説明をお読みください。

ワークステーション上の媒体のセットアップ

取り外し可能な媒体があるワークステーションでは,表 8-7 のように,オペレータ支援なしでもユーザが行える作業があります。

表 8-7 オペレータ支援なしでもできるユーザの作業

作業 説明
ロード 媒体をドライブに挿入する。
初期化 媒体の以前の内容をすべて削除する(ほとんどの操作ではVOLPRO 特権が必要)。
マウント 媒体を論理マウントし,装置に割り当てる(SYSNAM, GRPNAM,VOLPRO特権が必要)。ボリュームを装置にマウントするには, その装置に対し,読み込み(R),書き込み(W),制御(C)特権が必要である。
ファイル操作の実行 ファイルにアクセスし,さまざまな操作を行う。
ディスマウント 媒体を論理ディスマウントし, 装置を割り当て解除する。グループとシステム・ボリュームをディスマウントするには,GRPNAM とSYSNAMユーザ特権が必要。
アンロード 媒体をドライブ装置から取り外す。

ワークステーションの取り外し可能な媒体については,ご使用のワークステーションのハードウェアのマニュアル を参照してください。

VAXシステムの場合,アップグレードおよびインストールの補助ドキュメントも参照してください。

8.3.1 INITIALIZEコマンドの使用

ボリュームをフォーマットし,ラベルを書き込む,すなわち,初期化する場合は,DCL のINITIALIZEコマンドを使用します。ディスク・ボリュームやテープ・ ボリュームを初期化するには,INITIALIZEコマンドを次の形式で使用してください。

INITIALIZE 装置名[:] ボリューム・ラベル

装置名 物理的にマウントして初期化するボリュームが存在する装置を指定する。 他のユーザのボリュームを初期化することのないよう, 初期化の前に装置の割り当てを行う。ただし, 事前割り当ては必要ない。
ボリューム・ ラベル ボリュームに書き込む識別ラベルを指定する。 ディスク・ボリュームの場合は12文字以内のANSI文字を指定できる。 磁気テープ・ボリュームの場合は,6文字以内の英数字を指定できる。

公用ボリュームを初期化する場合は,次のように/SYSTEM修飾子を指定する必要があります。

INITIALIZE/SYSTEM 装置名[:] ボリューム・ラベル

INITIALIZEコマンドのさらに詳しい内容については,『OpenVMS DCLディクショナリ』を参照してください。

  1.      $ INITIALIZE DUA2: TEMP
    

    ディスク・ボリュームDUA2:を初期化し,TEMPというボリューム・ラベルを付けている。

  2.      $ INITIALIZE MUB2: TEST
    

    MUB2:のテープ・ボリュームを初期化し,TESTというボリューム・ラベルを付けている。

INITIALIZEコマンドの例は,その他『OpenVMSユーザーズ・マニュアル』でも取り上げています。

8.3.2 INITIALIZEコマンドの修飾子の使用法

表 8-8は,INITIALIZEコマンドで使用可能な修飾子をまとめたものです。 ボリュームの効率性は,索引ファイルの位置とその他修飾子の設定によって, 良くなったり悪くなったりします。 詳細は『OpenVMS DCLディクショナリ』を参照してください。

表 8-8 INITIALIZEコマンドの修飾子

修飾子 説明
/CLUSTER_SIZE=n ブロック数で最小割り当て単位を指定する。
/HEADERS=ヘッダの数 索引ファイルINDEXF.SYSへの登録が予想されるファイル・ エントリ(ファイル・ヘッダ)数を指定する。これは,初期化時に,INDEXF.SYS でヘッダ用に割り当てられるスペースを制御する。システムは, ディスクからファイルを見つけようとするたびに索引ファイルにアクセスする。

ディスクの各ファイルはファイル・ヘッダを1つ以上必要とし,各ヘッダはINDEXF.SYS 内で1ブロックを占有する。アクセス制御エントリ(ACE)を多数有するファイルや非常に細分化されたファイルは, 複数のヘッダを使用することがある。 省略時の値の16では,INDEXF.SYSを拡張しなければ,ファイルを10 個も作成できない。したがって,ディスク上に作成されるファイルの総数を見積もり, ここで指定する。見積もりが適切であれば,ディスクのアクセス性能が向上する。 設定値が低すぎると,索引ファイルでフラグメンテーションが発生するが, 設定値が高すぎると,ヘッダに割り当てたスペースを, 後でファイルの格納に使用できず,ディスクのスペースが無駄になる。 この値は,ボリュームを初期化し直さないと変更できない。

INDEXF.SYSは拡張できる回数に制限がある。このヘッダのマップ領域( 検索ポインタの保存場所)がいっぱいになるとファイルを作成できず, SYSTEM-W-HEADERFULLのメッセージが表示される。

/INDEX=位置 キーワードのBEGINNING, MIDDLE,END,またはBLOCK:nを使ってボリューム上での索引ファイルの位置を指定する。 索引ファイルはすべてのディスク・ファイルの名前とアドレスのリストであるので, 絶えず参照される。
/MAXIMUM_FILES=n 索引ファイルの最大エントリ数を指定する。 この値を超える数のファイルをボリュームに収納することはできない。 増やすためには,ディスクを初期化し直す必要がある。
/PROTECTION= (所有者権=[: アクセス][,...]) ボリュームの保護コードを指定する。 詳細は第8.4節を参照。
/WINDOWS=n ファイル・ ウィンドウに割り当てる省略時のマッピング・ポインタ数を設定する。 ファイルがオープンされると,ファイル・システムはマッピング・ ポインタを使用して,そこに含まれるデータにアクセスする。用意されているポインタごとに, ファイル・セグメント1つをメモリに読み込むことができる。


重要
/HEADER修飾子の省略時の値は通常,ODS-2 ディスクには不十分です。性能を改善しSYSTEM-F-HEADERFULL エラーを防ぐには,この値を,ディスク上での使用が予想されるファイル数とほぼ同じに設定することを, 強くおすすめします。ただし,見積もり値が大きすぎると, ディスク・スペースが無駄になります。

  1.      $ INITIALIZE/HEADERS=100000 DUA3:
    

    大容量ディスクの索引ファイルへの登録エントリ数の設定例。小容量ディスクの場合は,2000 エントリほどになる。

  2.      $ INITIALIZE/MAXIMUM_FILES=20000 DUA3:
    

    小容量ディスクの特性の指定例。MAXIMUM_FILESでは,各ディレクトリ, およびマルチヘッダ・ファイルの各拡張ヘッダが1つのファイルとしてカウントされる。

  3.      $ INITIALIZE/WINDOWS=10 DUA3:
    

    500 MBの大容量ディスクに大量のポインタを指定している例。

8.3.3 ODS-5形式の新規ボリュームの初期化

次の形式でINITIALIZEコマンドを使用して新規ボリュームをODS-5ボリュームとして初期化できます。 一度ボリュームを初期化すると,そのボリュームの現在の内容がなくなってしまうことに注意してください。

     $ INITIALIZE /STRUCTURE_LEVEL=5 device-name volume-label

次に例を掲げます。

     $ INITIALIZE /STRUCTURE_LEVEL=5 DKA300: DISK1
     $ MOUNT DKA300: DISK1 /SYSTEM
     %MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:

最初のコマンドは,DKA300:装置をODS-5ボリュームとして初期化し,ボリューム・ ラベルDISK1をつけています。次のコマンドは,DISK1を公用ボリュームとしてマウントしています。

ボリュームがODS-5ボリュームとしてマウントされたことを確認するには,SHOW DEVICE/FULL コマンドを入力することができます。このコマンドに対して, 次のようなメッセージが表示されます。

     $ SHOW DEVICE DKA200:/FULL

       Disk $10$DKA200:, device type RZ74, is online, allocated, deallocate
       on dismount, mounted, file-oriented device, shareable.

         Error count                    0    Operations completed 155
         .
         .
         .
       Volume Status:  ODS-5, subject to mount verification, file high-water
       marking, write-back caching enabled.

ボリューム・タイプを表示するその他の方法としては,あるコマンドを発行して, 次に示すような応答を受け取る方法があります。

     $ WRITE SYS$OUTPUT F$GETDVI ("DKA200:","ACPTYPE")
     F11V2

F11V2はボリュームがODS-2であることを示しています。


注意
ボリューム・セットに将来ボリュームを追加する場合, そのボリュームの構造レベルはボリューム・セットと一致させなければなりません。 一致しない場合は,Mountユーティリティは次のエラーを表示します。
             Structure level on device ... is inconsistent with volume set.

8.3.4 ボリュームのアクセスおよび初期化におけるユーザ支援

ボリュームを初期化する必要があるのは,次のような場合です。

8.4 ボリュームの保護

UIC (利用者識別コード)に基づく保護は,ユーザのボリュームへのアクセスを制限するものです。 ボリュームへのアクセスのタイプを割り当てることによって, ユーザのグループがボリューム上で実行できる動作を決定することができます。 第8.4.1項にディスク・ ボリュームにおけるUICベース保護,第8.4.2項にテープ・ ボリュームにおけるUIC ベース保護について説明しています。

アクセス制御のために,ACLをボリュームにセットすることもできます。 ボリュームACLは,VOLUME.DEFAULT機密保護クラス・テンプレートからコピーします。ACL についての詳細は,第11.6 節を参照してください。

表 8-9に,ディスクとテープ・ ボリュームに割り当てることができるアクセスのタイプを示します。

表 8-9 ディスク・ボリュームとテープ・ボリューム用のアクセス・ タイプ

アクセス・
タイプ
与えられる権利
読み込み ボリューム上のファイルのファイル名の検査,ファイルの印刷, ファイルのコピーの権利。システムと所有者は常にテープ・ ボリュームへの読み込みアクセス権を持つ。
書き込み ボリューム上の既存のファイルの変更または書き込みの権利。 ファイルの保護は,ファイルに関して特定の操作を実行できるかどうかを決定する。 書き込みアクセス権には,読み込みアクセス権が必要である。 システムと所有者は,常に,テープ・ボリュームの書き込みアクセス権を持つ。
作成 ディスク・ボリューム上にファイルを作成し,後でそれらのファイルを変更する権利。 作成アクセス権には,読み込みと書き込みのアクセス権が必要である。 このタイプのアクセス権は,テープ・ボリュームには無効である。
削除 ディレクトリ・ レベルやファイル・レベルに適切なアクセス権がある場合,ディスク・ ボリューム上のファイルを削除するためのアクセス権。削除アクセス権には, 読み込みアクセス権が必要である。このタイプのアクセス権はテープ・ ボリュームには無効である。
制御 ボリュームの保護と所有者特権を変更するためのアクセス権。VOLPRO 特権を持つユーザは,次の例外を除き,常にディスク・ボリュームへの制御アクセス権を持つ。

  • ファイル構造化されたボリュームをフォーリンとしてマウントするには, 制御アクセス権またはVOLPRO特権が必要である。

  • 保護されたサブシステムを持つボリュームをマウントするには,SECURITY 特権が必要である。

制御アクセス権はテープには無効である。

保護コードの指定についての詳細は,『OpenVMS Guide to System Security』を参照してください。 第11章には,保護についての概論が述べられています。

これから,次の事項について説明します。

操作 参照箇所
ディスク・ボリュームの保護 第8.4.1項
テープ・ボリュームの保護 第8.4.2項
ボリューム・アクセスの監査 第8.4.3項

8.4.1 ディスク・ボリュームの保護

ファイル構造ODS-2ボリュームの場合,OpenVMSオペレーティング・システムは, 表 8-9に示すアクセス・ タイプをサポートします。 システムは,ODS-2ディスクの保護を,ボリューム, ディレクトリ,ファイルのレベルで提供します。適切なアクセス権のないボリューム上のディレクトリとファイルにアクセス権を持っていても, ボリュームのどこにもアクセスすることはできません。

ディスク・ボリューム所有者[0,0]に対する省略時のアクセス・タイプは, 次のとおりです。

S:RWCD,O:RWCD,G:RWCD,W:RWCD

この保護は,INITIALIZEコマンドの省略時の修飾子/SHAREにより設定されます。 指定しなかった属性は,現在の省略時の保護からは外されます。

保護の指定方法

次のようにして,恒久的に格納された保護情報を変更することができます。

これから,次の事項について説明します。

作業 参照箇所
ボリュームの初期化時に保護を指定する 第8.4.1.1項
ボリュームのマウント後に保護を変更する 第8.4.1.2項
保護を表示する 第8.4.1.3 項

8.4.1.1 ディスク・ボリューム初期化時に保護を指定する

この項では,ボリュームを初期化するときに,UICベースのボリューム保護とISO 9660 形式の媒体保護を指定する方法について説明します。

UICベース保護の指定方法

次に示すいずれかの操作を行うと,ボリュームを初期化するときに保護を指定できます。

省略時の修飾子(/SHARE)と他の修飾子をINITIALIZEコマンドに指定したとき, システムがディスク・ボリュームに対して設定するUICと保護を表 8-11 に示します。

表 8-11 INITIALIZEコマンド修飾子で与えられる保護

修飾子 UIC 保護
/SYSTEM [1,1] S:RWCD,O:RWCD,G:RWCD,W:RWCD
/SYSTEM/NOSHARE [1,1] S:RWCD,O:RWCD,G:RWCD,W:RWCD
/GROUP [x,0] S:RWCD,O:RWCD,G:RWCD,W
/SHARE (省略時の設定) [x,x][1] S:RWCD,O:RWCD,G:RWCD,W:RWCD
/NOSHARE [x,x][1] S:RWCD,O:RWCD,G,W

[1] x,xは,初期化を行ったプロセスのUICである。

ISO 9660形式媒体保護の指定方法

OpenVMSのISO 9660形式の場合,ボリュームとボリューム・セットの保護が含まれていません。 媒体がマウントされた装置に対して指定した保護が,ISO 9660 ボリュームやボリューム・セットのアクセス制御を決定します。

省略時の設定では,装置保護はISO 9660ファイルとディレクトリに割り当てられます。 ボリュームをマウントするときに,各ファイルに付随する拡張属性レコード(XAR) の中のUICとPERMISSION保護フィールドを使って,他のファイル保護を指定することもできます。

次のようにして,保護フィールドを指定します。

XARとDSIオプションについての詳細は,『OpenVMS Record Management Utilities Reference Manual』を参照してください。

8.4.1.2 ディスク・ボリュームのマウント後の保護の変更

ボリューム機密保護プロファイルを変更するためには,SET SECURITY /CLASS=VOLUMEコマンドに/PROTECTION,/OWNER,または/ACL修飾子を指定して実行します。

UICベース保護の変更方法

UICベース保護をボリュームのマウント後に変更するには,SECURITY /CLASS=VOLUME/PROTECTIONコマンドを使用します。次の例を参照してください。

     $ SET SECURITY/CLASS=VOLUME/PROTECTION=(S:RWCD,O:RWCD,G:RC,W:RC) DUA0:

この例中の保護セットは,システムの所有者にすべてのタイプのアクセスを許可しています。 グループとワールドのアクセス・タイプでは,ファイルの読み込みとプログラムの実行しか行うことができません。 保護コード(S,O,G,W) で指定されていないカテゴリは変更されません。

ACLベース保護の変更方法

ボリュームをマウントした後でACLベースの保護を変更するには,SET SECURITY/CLASS=VOLUME/ACLコマンドを使用してください。ACLを変更するには, 次のようにします。

     $ SET SECURITY/CLASS=VOLUME/ACL=(IDENTIFIER=DOC,ACCESS=READ+WRITE+EXECUTE) -
     _$ $1$DSA7:

この例では,$1$DSA7:ボリュームのDOC識別子のユーザに,読み込み,書き込み, 実行アクセス権を与えます。

8.4.1.3 UICとACLベース保護の表示方法

SHOW SECURITY/CLASS=VOLUMEコマンドを使用すると,保護を表示することができます。

     $ SHOW SECURITY/CLASS=VOLUME $1$DSA27:

上記のコマンドを実行すると,次のように表示されます。

     $1$DSA27: object of class VOLUME
          Owner: [1,1]
          Protection: (System: RWCD, Owner: RWCD, Group: RWCD, World: RWCD)
          Access Control List:
               (IDENTIFIER=[ABC,SADAMS],ACCESS=READ+WRITE+CREATE+DELETE)

VOLUMEクラス・オブジェクト$1$DSA27の名前とプロファイルが表示されています。 このプロファイルには,保護されたオブジェクトの所有者UIC, 保護コード,アクセス制御リスト(ACL)が入っています。

8.4.2 テープ・ボリュームの保護

磁気テープは,ボリューム・レベルでしか保護されません。磁気テープに保護を確立するのは, テープ・ボリュームを初期化するときです。この後,MOUNT ユーティリティはユーザが確立した保護を使用します。

テープ・ボリュームの保護には2種類あります。

保護のレベル 説明
ISO規格のガイドライン ISO規格(保護の最初のレベル) は,磁気テープ上に書き込まれた最初のボリューム・ラベルのアクセス制御フィールドにコード化される。 この保護スキームでは,OpenVMSシステムと非OpenVMS オペレーティング・システムの間に交換が存在する環境でテープ・ ボリュームを保護することが可能。
システム・ソフトウェアがサポートするUICベース保護スキーム この2番目の保護は,磁気テープに書き込まれた第2 ボリューム・ラベルにコード化される。OpenVMSシステムだけが,このスキームをチェックできる。 非OpenVMSシステムの交換では無視される。

標準ラベル付きテープ保護

OpenVMSテープ・ファイル・システムは,ISO規格のアクセス制御保護に基づきます。 この保護によって,インストール・ルーチンがボリューム・ ヘッダ・ラベルのアクセス制御フィールドを解釈することができます。 インストール・ルーチンについての詳細は,『OpenVMS System Services Reference Manual 』の$MTACCESS システム・サービスを参照してください。

省略時の保護のアクセス・タイプ

テープ・ボリュームを初期化する時に保護コードを指定しないと,ユーザは, 表 8-12に示す読み込みおよび書き込みアクセス権を持ちます。

表 8-12 テープ・ボリューム保護のアクセス・ タイプ

アクセス・タイプ 与えられる権利
読み込み ボリューム上のファイルの検査, 印刷,コピーの権利。
書き込み ボリューム上のファイルの追加,書き込みの権利。

テープ・ボリュームの機密保護プロファイルは,磁気テープ上のANSIボリューム1 と2のラベルに格納されます。ボリューム2には,システム固有の情報が入ります。 この情報が作成されるのを上書きするには,INITIALIZE コマンドに/INTERCHANGE修飾子を指定するか,$INIT_VOLシステム・サービスでINIT$_INTERCHANGE 項目コードを指定します。

フォーリン・ボリューム保護

オペレーティング・システムは,フォーリン・テープ・ボリュームもサポートします( フォーリン・ボリュームは,標準ボリューム・ラベルがないか,/FOREIGN でマウントされたテープ・ボリュームです)。テープ・ ボリュームが/FOREIGN修飾子でマウントされると,指定した保護コードに関係なく, システム中のユーザと所有者には,常にすべてのアクセス権( 読み込み,書き込み,論理,物理) が与えられます。

8.4.2.1 テープ・ボリュームでの/PROTECTION修飾子の使用

テープ・ボリュームを初期化するときに/PROTECTION修飾子を使用すると, 保護コードはシステム固有のボリューム・ラベルに書き込まれます。

/PROTECTION修飾子を使用すると,システムは読み込み(R),書き込み(W) のアクセス制限だけを適用します(実行(E)と削除(D)アクセスは適用されません) 。指定した保護コードに関係なく,システムと所有者には,読み込み(R) と書き込み(W)のアクセス権が与えられます。

8.4.2.2 交換環境におけるテープ・ ボリュームの保護

OpenVMSと他のオペレーティング・システム間で相互交換されるテープ・ ボリュームを保護することができます。

磁気テープの保護に関するガイドラインを次に示します。

8.4.3 ボリューム・アクセスの監査

ボリューム・オブジェクト・クラスの監査が可能になります。次の例外を除き, システムはディスク・ボリューム・アクセスの監査をします。

8.5 ボリュームのマウント

ボリュームと,それが物理的にセットされている装置の関係は,ディスクまたはテープ・ ボリュームをマウントすることによって確立されます。ボリュームがマウントされると, システムはその存在を認識するため,ユーザは初めてボリュームにアクセスすることができます。 これ以降は,マウント操作を自分で行うものと仮定して説明を行います。

ファイル構造化とフォーリン・ボリューム

通常,ボリュームをマウントするとき,システムは各ボリュームに対して, ファイルの読み込み,書き込み,作成(または実行),削除を許可するフォーマットをかけます。 このようにマウントされたボリュームは, OpenVMSオペレーティング・システムのフォーマットを持ちます。

ボリュームをマウントするときに/FOREIGN修飾子を指定すると,システムはその媒体にフォーマットをかけないので, マウントされたボリューム上のファイルにアクセスできません。OpenVMS 以外のオペレーティング・システムのフォーマットか私用フォーマットを持つボリュームをマウントする場合には,/FOREIGN 修飾子を使用します。

フォーリン・ボリュームはファイル構造化されていないので,次のようにしてアクセスしなければなりません。

たとえば,ディスク全体を復元するときなど,BACKUPユーティリティでボリュームをマウントするときに/FOREIGN 修飾子を使用することもあります。 詳細は『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照してください。

作業方法

ボリュームをマウントする手順は次のとおりです。

  1. すべてのディスクを物理的にマウントして,オンライン状態にする。

  2. 次のフォーマットでMOUNTコマンドを入力する(MOUNTユーティリティを起動する) 。

    MOUNT 装置名 ボリューム・ラベル 論理名

    装置名 ボリュームをマウントする装置の物理装置名または論理名を指定する。
    ボリューム・ラベル マウントするボリュームのボリューム・ ラベルを指定する。
    論理名 装置に対応付ける論理名を定義する。

    起動されたMOUNTユーティリティは次のことを行う。

    1. 装置の割り当て

    2. 装置が正しくロードされているかどうかのチェック

    3. ボリューム識別子の読み込みと検証

MOUNTコマンドでの修飾子の使用方法

次に示すように,MOUNTコマンドに修飾子を指定しなければならない場合もあります。

ディスクとテープのマウントで使用可能な修飾子については, この後の表 8-13表 8-14 にまとめてあります。

この節では,次の作業について説明します。

作業 参照箇所
ディスクのマウントで使用可能なMOUNT コマンドの修飾子 第8.5.1項
テープのマウントで使用可能なMOUNTコマンドの修飾子 第8.5.2 項
ユーザのマウント支援 第8.5.3項
保護されたサブシステムを持つボリュームのマウント 第8.5.4 項
既存のボリュームをODS形式から他の形式への変換 第8.5.5 項
ディスク・ボリューム特性の変更 第8.5.6 項

8.5.1 ディスクのマウントで使用可能なMOUNTコマンドの修飾子

表 8-13は,MOUNTコマンドでディスクをマウントするときに使用可能な修飾子の一部をまとめたものです。 すべての修飾子については,『OpenVMSシステム管理ユーティリティ・リファレンス・ マニュアル』を参照してください。

表 8-13 ディスクのマウントで使用可能な MOUNT コマンドの修飾子

修飾子 説明
/ACCESSED=n OPER特権が必要。ボリューム上で同時に使用されるディレクトリの概数を指定する( この修飾子はODS-2では意味がない) 。たとえば,大容量500メガバイト(MB)のディスク上では40という値を指定できるが, 小容量のディスクでは次のように指定する。
     $ MOUNT/ACCESSED=2 DUA3:
/ASSIST マウント操作時, マウント要求が失敗すれば,オペレータまたはユーザの介入を許す。/ASSIST 修飾子は,システム・スタートアップ時を除き省略時の値である。 この機能は,マウント要求が満たされるまでオペレータに繰り返し警告するので便利である。

オペレータ支援付きマウントを無効にするには,次のようなコマンドを入力する。

     $ MOUNT/SYSTEM/CLUSTER DUA1: SALES_98
/BIND= ボリューム・セット名 1つまたは複数のディスク・ボリュームのボリューム・ セットを作成する。あるいは,1つまたは複数のボリュームを既存のボリューム・ セットに追加する。次の例を参照。
     $ MOUNT/SYSTEM/BIND=CLIENTS DUA0:,DUA1: EUROPE,ASIA

詳細は第8.6.1.2項を参照。

/CACHE=キーワード システム生成時確立されたキャッシュ制限を無効にするか上書きするかを制御する。 次に例を示す。
     $ MOUNT/CACHE=(EXTENT=60,FILE_ID=60,QUOTA=20) -
     _$ DMA0: FILES WORK
     %MOUNT-I-MOUNTED, FILES          mounted on _NODE$DMA0:

このコマンドは,FILESというラベルの付いたRK07装置をマウントし,論理名WORK を割り当てる。/CACHE修飾子は,拡張キャッシュ60エントリ, ファイル識別キャッシュ60エントリ,クォータ・キャッシュ20エントリを有効にする。

/CLUSTER SYSNAM特権が必要。ローカル・ノードへのボリュームのマウントが成功した後, または,ローカル・ノードにすでに/SYSTEM修飾子付きでボリュームがマウントされている場合, そのボリュームは,既存のOpenVMS Cluster環境内の他のすべてのノードにマウントされることを指定する(つまり, このボリュームはクラスタ全体にマウントされる)。次に例を示す。
     $ MOUNT/SYSTEM/CLUSTER DUA1: SALES_95
/COMMENT="文字列" 装置名 マウント操作がオペレータ支援を要求したとき, オペレータ要求に追加情報を入れることを指定する。次に例を示す。
     $ MOUNT/SYSTEM DYA1: SALES_95/COMMENT="Vol. in Rack 2."
/EXTENSION=n OPER 特権が必要。個々のコマンドまたはプログラムの要求で指定されない場合の, ディスク・ファイルがボリューム上で拡張されるブロック数を指定する。 クラスタ・サイズは,初期ディスク・ブロック割り当てを設定する。/EXTENSION 修飾子は,ファイルの拡張の度合いを決定する。たとえば, クラスタ・サイズが1ディスク・ブロックの小さなディスクでは,拡張サイズ2 ディスク・ブロックを選択する。
     $ MOUNT/EXTENSION=2 DUA3:
/FOREIGN ボリュームが, オペレーティング・システムで使用される標準のフォーマットでないことを示す。Files-11 やISO 9660以外のファイル構造のディスク・ボリュームをマウントするときにこの修飾子を使用する( たとえばDISKを論理名として使用する場合) 。
     $ MOUNT/FOREIGN DISK
/MEDIA_FORMAT=CDROM 媒体がISO 9660 ( またはハイ・シエラ)フォーマットであると仮定してボリュームをマウントする。
/[NO]MOUNT_ VERIFICATION ディスク上のマウント検証機能を有効または無効にする。 省略時の設定では,マウント検証機能は有効である。装置がオフラインである場合や書き込みロックされている場合, マウント検証は, オペレータにエラーの状態を通知し,エラー状態の前後のボリューム識別子が同一であるかチェックする。

マウント検証を無効にする例を次に示す。

     $ MOUNT/SYSTEM/NOMOUNT_VERIFICATION DUA1: ACCOUNTS_DUE
/OVERRIDE= キーワード MOUNTコマンドが実行する1つまたは複数の保護チェックを無効にする。
/PROTECTION= キーワード ボリュームに割り当てる保護コードを指定する。 キーワードは次のいずれかである。

  • 保護コード:ユーザ保護指定用構文規則に従った保護コードを指定する( つまり,システム/所有者/グループ/ワールド)。

  • XAR:拡張レコード属性(XAR)アクセス制御の強制を有効にする(ISO 9660 のみ)。

  • DSI:デジタル・システム識別子(DSI)を含む,XAR用XAR所有者許可とグループ許可を有効にする(ISO 9660 のみ)。

詳細は第8.4.1項を参照。

/SHARE 他のユーザがボリュームにアクセスできることを指定する。 ただし,公用ボリュームは/SYSTEM 修飾子でマウントする必要がある。2人のユーザが共にMOUNT/SHARE を使用すれば,同時に私用ボリュームにアクセスできる。次に例を示す。
     $ MOUNT/SHARE DLA0: COST_ACCOUNT

/SYSTEM修飾子を指定してマウントされているディスクに対して MOUNT /SHAREコマンドを使用すると,そのディスクをシステム全体からディスマウントしても, ディスク可用性のロックは保持される。システム・ディスクでは通常このようにしないが, システム・ディスクや非システム・ディスクで使用される汎用コマンド・ プロシージャを起動すると,こうなることもある。

あるユーザがDISMOUNT.EXEプログラムをオープンして,別のユーザがそのシステム・ ディスクに対してMOUNT/SHAREコマンドを実行した場合, 後でディスマウントしようとすると,ディスマウントできないという警告メッセージが出ることがある。 警告メッセージが出ないようにするには,DISMOUNT.EXE イメージをインストールする。

/SUBSYSTEM サブシステムACEの処理を有効にする(MOUNT/SUBSYSTEM コマンドにはSECURITY特権が必要)。省略時の設定では, ユーザがブートに使用したディスクは/SUBSYSTEMが有効になり,他のディスクはそうならない。 次のコマンドは,MOUNTコマンドに/SUBSYSTEM 修飾子を指定して,DUA0:装置上のサブシステムACEの処理を有効にしている(DOC はボリュームラベル,WORK8はボリュームのオプション論理名)。
     $ MOUNT/SUBSYSTEM/SYSTEM DUA0: DOC WORK8
/SYSTEM SYSNAM特権が必要。 ボリュームを公用にする。つまり,システム上のすべてのユーザが, UICベースのボリューム保護によってそのボリュームへのアクセスを許可されていれば, そのボリュームを使用できるようになる。次のコマンドは,WORK というラベルの付いたボリュームをマウントし,システム全体で使用できるようにする。
     $ MOUNT/SYSTEM DUA1: WORK
/UCS_SEQUENCE= (エスケープ・シーケンス) コード化グラフィック文字セットを選択するためのエスケープ・ シーケンスを指定する。ISO 9660のボリュームを補助ボリューム記述子(SVD) のいずれかにマウントする時の要件。
/UNDEFINED_FAT レコード・ フォーマットが指定されていないISO 9660媒体上のレコードに使用される省略時のファイル属性を確立する。
/WINDOWS=n OPER特権が必要。ファイル・ウィンドウに割り当てられるマッピング・ ポインタを指定する。省略時のウィンドウ数はINITIALIZE コマンドで設定される。次の例では,適当なポインタ数を指定している。
     $ MOUNT/WINDOWS=4 DUA3:

8.5.2 テープのマウントで使用可能なMOUNT コマンドの修飾子

表 8-14は,テープ・ ボリュームをマウントするときに使用可能なMOUNT コマンド修飾子の一部について説明したものです。MOUNT コマンド修飾子のすべてについては,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照してください。

ボリュームが標準ラベルでボリュームへのアクセスが許可されていない場合は, 特に指定しない限り,これらの修飾子を使用するためにはVOLPRO特権が必要です。

表 8-14 テープのマウントで使用可能なMOUNT コマンドの修飾子

修飾子 説明
/BLOCKSIZE=n 磁気テープのブロック・サイズを指定する。 nの有効な値の範囲は,ボリュームの密度,データは入力用か出力用か, 操作はOpenVMS RMSを使用するかによって異なる。省略時の設定では, システムは2048ブロック書き込む。
/CACHE=TAPE_DATA OPER特権が必要。テープ・ コントローラが書き込みキャッシュをサポートしていれば,テープ装置用の書き込みキャッシュを有効にする。/NOCACHE が,テープ装置マウント用の省力時の値である。

書き込みキャッシュを有効にするには,TAPE_DATAを指定しなければならない。 書き込みバッファは,テープをディスマウントした後でも有効である。

/FOREIGN ボリュームがオペレーティング・ システムで使用されている標準のフォーマットでないことを示す。
/HDR3 特殊ヘッダ・ ラベルがテープ・ボリュームに書き込むかどうか制御する。 省略時の値は/HDR3である。
/[NO]MOUNT_ VERIFICATION 磁気テープのマウント検証機能を有効または無効にする。 省略時の設定では,マウント検証機能は有効である。装置がオフラインである場合や書き込みロックされている場合, マウント検証は, オペレータにエラーの状態を通知し,エラー状態の前後のボリューム識別子が同一であるかチェックする。
     $ MOUNT/SYSTEM/NOMOUNT_VERIFICATION MUA1: ACCOUNTS_DUE
/OVERRIDE= キーワード MOUNTコマンドが実行する1つまたは複数のアクセス・ チェックを禁止する。次に例を示す。
     $ MOUNT/OVERRIDE=IDENTIFICATION MFA0:

このコマンドは,ボリューム識別子フィールドを上書きするので,ラベル指定なしで, 磁気テープをMFA0:にマウントする。

/OWNER_UIC=uic ボリューム上に記録されている所有権を上書きし, 指定されたUICがマウント中にボリュームの所有権を割り当てられるように要求する。 または,ボリュームを/FOREIGN 修飾子でマウントしている場合,ユーザの現在のUICのかわりに所有者UIC を要求する。
/PROCESSOR= キーワード 磁気テープとFiles-11構造レベル1 ディスクの場合,MOUNTコマンドは従属制御プロセス(ACP)と関連してボリュームを処理するよう要求する。

/PROCESSOR修飾子を使用するには,オペレータ・ユーザ特権OPERを所有している必要がある。

以下にキーワードを示す。

  • UNIQUE

    磁気テープや,Files-11 ODS-1,ISO 9660,High Sierra形式の媒体をマウントする場合には, 指定した装置タイプまたはコントローラに対して省略時のACP イメージのコピーを実行するために,新しいプロセスを生成する。Files-11 構造レベル2または5ディスクの場合は,別のブロック・ キャッシュを割り当てる。

  • SAME:装置

    磁気テープや,Files-11 ODS-1,ISO 9660,High Sierra形式の媒体をマウントする場合には, 指定した装置で現在使用しているACPプロセスと同じプロセスを使用する。Files-11 構造レベル2または5ディスクの場合は, 指定した装置からブロック・キャッシュを割り当てる。

  • ファイル指定

    新規プロセスを作成して,ファイル指定(変更されたACPやユーザが作成したACP など)で指定されたACPイメージを実行する。ファイル指定には, ワイルドカード文字またはノード名およびディレクトリ名は使用できない。

    このキーワードを使用するには,CMKRNLおよびOPER特権が必要である。

/PROCESSOR修飾子によって,MOUNTは,ACPが装置に関連する省略時の方式を上書きする。 次に例を示す。

     $ MOUNT/PROCESSOR=SAME:MTA1: MFA0:

このMOUNTコマンドは,現在MTA1:装置と関連するのと同じACPプロセスを使って, 磁気テープをMFA0:にマウントする。

/PROTECTION= コード マウント中,ボリュームに割り当てられる保護コードを指定する。 詳細は第8.4.2 項を参照。
/RECORDSIZE=n 磁気テープ・ボリュームの各レコード中の文字数を指定する。 ボリュームが第2ヘッダ・ラベルのないファイルを持つ場合(RT-11 ボリュームなど)や,/FOREIGN修飾子でボリュームをマウントしている場合に, この修飾子を使ってRMSに固定長レコードのサイズと可変長レコードの最大サイズを提供する。

テープ・ボリュームのマウントでは,その他,/INITIALIZEと/AUTOMATIC の2つの修飾子が重要であり,これら修飾子については,それぞれ 第8.8.2.2項第8.8.2.3 項で説明します。

     $ MOUNT MU: TEST_FILES
     %MOUNT-I-OPRQST, Please mount volume TEST_FILES in device _MUA2:
     %MOUNT-I-MOUNTED, TEST_FILES mounted on _MUA2:

この例のMOUNTコマンドは,使用可能なRA90装置にTEST_FILESというラベルのボリュームをマウントするよう要求しています。MOUNT からの応答に示された装置にボリュームを物理的にマウントした時点で, マウント処理は終了です。 装置は自動的にMOUNTによって割り当てられます。

処理に成功すると,MOUNTはメッセージで通知するとともに,そのメッセージをSYS$OUTPUT に送ります。何らかの理由で失敗すると,エラー・メッセージを表示します。

8.5.3 マウント中のユーザのマウント支援

大規模なサイトでは,しばしば,ユーザがボリュームをマウントするのを支援するオペレータが存在します。 ユーザがオペレータに要求を送る方法については, 第2.4.6項で説明しています。また 第2.4.7項では,そうした要求に対するオペレータの応答方法についても説明しています。

特定のディスクまたはテープを装置にマウントするようユーザから要求があると, オペレータ・ターミナルには次のようなメッセージが表示されます。

     %%%%%%%%%%%  OPCOM,  <dd-mmm-yyyy hh:mm:ss:cc>  %%%%%%%%%%%
     request <request-id>, from user <user-name>

以下はそうしたときのイベントを発生順にまとめたものです。

  1. ユーザが次のコマンドを入力し,装置DUA2:にTEST_FILESボリュームをマウントするよう要求する。
         $ MOUNT DUA2: TEST_FILES/COMMENT="Shelf slot 6B"
    

  2. OPCOMは,オペレータ・ターミナルに次のようなメッセージを表示し要求を通知する。
         %%%%%%%%%%%  OPCOM, 28-MAY-1998 15:47:50.26  %%%%%%%%%%%
         request 5, from user MALCOLM
         Please mount volume TEST_FILES in device _DUA2:
         Shelf slot 6B
    

  3. 要求を受け取ると,OPCOMが次のような形式で受信確認通知を出す。
         %MOUNT-I-OPRQST, Please mount volume TEST_FILES in device _DUA2:
         Shelf slot 6B
    

  4. ボリュームが装置に装填されると,OPCOMは,装置にボリュームがセットされ作業が終了したことをユーザに通知する。
         %MOUNT-I-MOUNTED,TEST_FILES mounted on _DUA2:
         %MOUNT-I-RQSTDON, operator request canceled
         -- mount completed successfully.
    

ボリュームをマウントする際に,ユーザはDUA2:というように特定のハードウェア装置を要求せずに, 汎用のMOUNT要求を出すことができます。汎用のMOUNT 要求では,装置のタイプが指定されるため,要求を受けた側(システム管理者またはオペレータ) はそのクラスにあって使用可能な装置を選択することができます。 たとえば,名前がMUから始まる任意のテープ装置にCITIES というボリュームをマウントする場合,コマンドは次のようになります。

     $ MOUNT MU: CITIES/COMMENT="Slot 12c"

MUから始まる名前の磁気テープ装置をユーザがすでに割り当てている場合, MOUNT ユーティリティはその装置にCITIESをマウントするよう要求します。 また,そうした装置が割り当てられていない場合は,最初に使用可能になったMU 装置を割り当て,その装置にCITIESをマウントするよう要求します。

ユーザへのメッセージ返信

システム管理者またはオペレータは,ディスクまたはテープをマウントしてから, 次の作業を行います。

  1. オペレータ通信マネージャ(OPCOM)を使い,システム・ユーザと交信する。OPCOM は,オペレータに何らかの状態を通知しようとするプロセスから入力を受け取るシステム・ プロセスであり,受け取ったメッセージをオペレータに渡して, トラッキングする。

    OPCOMを使用する場合は,オペレータ・ターミナルに指定されているターミナルを使用する必要がある。 詳細は第2.4.5 項を参照。

  2. 次のいずれかの形式のREPLYコマンドを入力する。

    REPLYコマンド
    の形式
    説明
    /ABORT=識別番号 "メッセージ" ユーザ要求を取り消したことを通知するときに使用する。 この場合,ユーザのMOUNTコマンドはエラー終了する。
    /PENDING=識別番号 "メッセージ" 要求が最後まで処理されずに待ち状態になったときに使用する。 これは,元の要求がREQUEST/REPLYかMOUNT コマンドのいずれかで行われたことを示す。ユーザは,オペレータが要求を処理し終えるか, または強制終了させるまで他のコマンドを入力できない。
    /TO=識別番号 "メッセージ" 要求を処理し終えたときに使用する。 この後,処理は継続する。

    ユーザからMOUNT/ASSISTコマンドが入力されたが,目的の装置が使用できない場合は, 代わりの装置を使用することができる。装置を置き換えるときは, 必ず,要求されたボリュームを代替装置にセットし, 装置を使用可能な状態にしてから,REPLYコマンドを入力すること。このときのREPLY コマンドの形式は次のとおり。

    REPLY/TO=識別番号 "SUBSTITUTE装置名"

    SUBSTITUTEはS一字に短縮することができる。また,大文字または小文字のどちらでも入力できる。 スペースの後,メッセージ・テキスト・ スペースの残りを使って,代替装置に名前を付けること。

  1.      $ REPLY/TO=24 "SUBSTITUTE DUA1:"
    

    この例では,オペレータがDUB2:装置からDUA1:装置に対するマウント操作を指示し直している。

  2.      $ MOUNT/ASSIST  MKB500:  MYDATA
         %MOUNT-I-OPRQST, Please mount volume MYDATA in device _MKB500:
         %MOUNT-I-OPREPLY, Substitute MKA100:
         11:44:28.71, request 1 was completed by operator _FTA8:
    

    この例は,ユーザの要求,およびユーザが受け取る情報を示している。 ここでは,MKA100:装置がMKB500:装置に置き換えられている。

REPLYの修飾子とその働きについては,『OpenVMS DCLディクショナリ』にさらに詳しい説明があります。 自動切り換えを無効にしてボリューム・セットをマウントをした後のREPLY コマンドの入力手順については,第8.8.2.4項を参照してください。

8.5.4 保護されたサブシステムでのボリュームのマウント

通常は,機密保護はユーザに与えられた特権に基づきます。しかし,保護されたサブシステムでは, 機密保護は,サブシステムに割り当てられたアクセス制御に基づきます。 サブシステムは,サブシステムに属するオブジェクトへのユーザのアクセスを認めたり拒否したりする門番のような役目を果たします。

特権の無いユーザも,保護されたサブシステムを構築し管理することができます。 このためには,次の2点を実行しなければなりません。


重要
サブシステムをマウントしたユーザは, 何がボリューム上にマウントされたかを知っておく責任があります。 サブシステムをマウントする前に,必ず,ボリューム上に何があるかを理解しておいてください。 これを理解しておかないと,間違ってシステムの機密保護を破壊し, ユーザのデータのプライバシを侵害する恐れがあります。

たとえば,悪意のあるユーザがOpenVMS Clusterノードで特権を持っていて, そのユーザがサブシステムの識別子でアプリケーションをボリュームにおいて, オペレータやシステム管理者にそのボリュームを他のノードにマウントするよう依頼する可能性もあります。 そのアプリケーションはサブシステム識別子を持つので, 実際には権限を持たないのに, サブシステムに属しているように見えるため,注意が必要です。


保護ボリューム上で保護されたサブシステムを有効にする

省略時の設定では,システムは保護されたサブシステムをシステム・ディスク上でのみ有効にします。 他のディスクの場合,ボリュームをマウントするたびにサブシステムを有効にしなければなりません。SECURITY 特権を持つユーザは,/SUBSYSTEM 修飾子をMOUNTコマンドに指定することで,サブシステムをボリューム上で有効にできます。

DCLのSET VOLUME/SUBSYSTEMコマンドを使って,直接サブシステムACEの処理をオンまたはオフにすることができます。 このコマンドは,MOUNTコマンドでマウントしていないシステム・ ディスクの場合,特に便利です。

次の例のコマンドは,DOCというラベルの付いたボリュームをDUA0:装置にマウントします。 このボリューム上のサブシステムはアクセス可能です。 また,このMOUNTコマンドで,論理名WORK8が割り当てられます。

     $ MOUNT/SUBSYSTEM/SYSTEM DUA0: DOC WORK8

8.5.5 既存のボリュームのODS形式を他のODS形式に変換

以降の節では,あるODSファイル形式を持つ既存のボリュームを他の形式に変換する手順を説明します。

8.5.5.1 ODS-2からODS-5への変換

ODS-2ボリュームをODS-5ボリュームに変換するには次の手順を行います。

  1. クラスタからボリュームをディスマウントする。たとえば,次のように入力する。
         $ DISMOUNT /CLUSTER DKA300:
    

  2. ボリュームを私用ボリュームとして次のようにマウントする。
         $ MOUNT DKA300: DISK1
         %MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:
    

    /SYSTEM修飾子を省略すると,ボリュームは公用ボリュームとしてではなく私用ボリュームとしてマウントされる。

    次のようにSHOW DEVICE/FULLコマンドを入力し,出力を確認すると, ボリュームがODS-2であるかどうかが確認できる。

         $ SHOW DEVICE DKA200:/FULL
    
           Disk $10$DKA200:, device type RZ47, is online, allocated, deallocate
           on dismount, mounted, file-oriented device, shareable.
    
             Error count                    0    Operations completed 232
             .
             .
             .
    
           Volume Status:  ODS-2, subject to mount verification, file high-water
           marking, write-back caching enabled.
    

    ボリューム・タイプを表示するその他の方法としては,あるコマンドを発行して, 次に示すような応答を受け取る方法がある。

         $ WRITE SYS$OUTPUT F$GETDVI ("DKA200:","ACPTYPE")
         F11V2
    

    F11V2はボリュームがODS-2であることを示している。

  3. ボリュームのバックアップは必ず行うこと。第8.5.5.3項で説明されているとおり, 一旦ODS-5に変換されたあとは, 復元を行う他に,ODS-2に戻る方法がない。たとえば次のように入力する。
         $ BACKUP /IMAGE DKA300: SAV.BCK /SAVE_SET
    

  4. 次の形式でコマンドを入力し,ディスクの特性を設定する。

    SET VOLUME /STRUCTURE_LEVEL=5 装置名

    たとえば,次のように入力する。

         $ SET VOLUME /STRUCTURE_LEVEL=5 DKA300:
    


    注意
    ボリュームをODS-5からODS-2 へ変換するためにSET VOLUMEコマンドを使うことはできません。ボリュームをODS-2 に戻すには,第8.5.5.3項で説明されているとおりBACKUP が必要です。

    SET VOLUME/STRUCTURE_LEVELコマンドを入力したあとに, なにか障害が発生した場合は,この節の最後にある説明を参照してください。


    SET VOLUMEコマンドを入力すると,システムは次の項目を確認して,ボリュームが変換できるかどうかを検査する。


    警告
    SET VOLUME /STRUCTURE_LEVEL=5 コマンドを使用した後は,ディスクをディスマウントし, 再マウントするまで,そのディスクにはアクセスしないでください。

  5. 次のようなコマンドを入力して,私用ボリュームをディスマウントし, 公用ボリュームとして再マウントする。
         $ DISMOUNT DKA300:
         $ MOUNT /CLUSTER DKA300: DISK1
         %MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:
    

SHOW DEVICE/FULLコマンドを入力すると, ボリュームがODS-5に変換されたことが表示で確認できます。

     $ SHOW DEVICE DKA300:/FULL

       Disk $10$DKA300:, device type RX74, is online, allocated, deallocate
       on dismount, mounted, file-oriented device, shareable.

         Error count                    0    Operations completed 155
         .
         .
         .

       Volume Status:  ODS-5, subject to mount verification, file high-water
       marking, write-back caching enabled.

ボリューム・タイプを表示するその他の方法としては,あるコマンドを発行して, 次に示すような応答を受け取る方法があります。

     $ WRITE SYS$OUTPUT F$GETDVI ("DKA500:","ACPTYPE")
     F11V5

F11V5はボリュームがODS-5であることを示しています。

障害が起った場合の対処

SET VOLUME/STRUCTURE_LEVELコマンドが実行中でまだ完了していないときに I/O エラーやシステム・クラッシュが起った場合, ボリュームは部分的にしか更新されていない可能性があります。 そのような場合, MOUNTコマンドを入力すると,Mount ユーティリティは次のいずれかのメッセージを表示します。

          Inconsistent file structure level on device ...

          Structure level on device ... is inconsistent with volume set

いづれかの条件が真である場合, /NOSHARE修飾子をつけて(または, /NOSHARE修飾子が省略時の設定であるため,修飾子なしで) MOUNTコマンドを実行します。 これを実行するとシステムは同じエラー・メッセージを表示しますが, 重大度レベルが警告に変化します。

エラー状態から復旧するには,再度SET VOLUME/STRUCTURE_LEVEL=5コマンドを入力してから, ディスクをディスマウントして再マウントします。最後の手段として, 作成しておいたバックアップを復元することもできます。

8.5.5.2 ODS-1からODS-2への変換

ODS-1形式からODS-2形式への変換は,次の手順で行います。

  1. 変換するディスクをすべてバックアップする。

  2. ODS-2ファイル形式で初期化する。

  3. ディスクをすべて復元する。

8.5.5.3 ODS-5ファイルからODS-2への変換

ファイルとイメージという2種類の BACKUP操作は,ファイル名のODS-5からODS-2 への変換をサポートします(ファイル操作とイメージ操作の詳細については, 第10章を参照してください)。

これ以降の説明の例を見ると,セーブ・セットとの変換の際に,変換されたファイルに対して created asまたはcopied asメッセージが表示されているのがわかります。

もしBACKUPが既存のディレクトリ内でファイル名を変更できない場合, ファイル名を変換して非配置の状態にします。これによりANALYZE /DISK /REPAIRがこのファイルをODS-2対応のファイル名を持てる[SYSLOST]ディレクトリに配置できるようにします。 また,BACKUPは,次のようなメッセージも表示します。

     %BACKUP-I-RECOVCNT, 5 files could not be converted into a directory on DKA100:
     -BACKUP-I-RECOVCMD, use the Analyze/Disk_Structure/Repair command to recover files

この場合,[SYSLOST]にあるファイルは他の適切なディレクトリに移動する必要があります。 ファイルが論理的に置かれる場所とそれを手動で移動することについては, created as ログ・メッセージを参照してください。

8.5.6 ディスク・ボリューム特性の変更

マウントしたFiles-11ディスク・ボリュームの特性を変更する場合は, DCLのSET VOLUMEコマンドを使用します。このコマンドを使用するためには, ボリュームの索引ファイルに対する書き込みアクセス権が必要です。 また,ボリュームの所有者でない場合は,システムUICかユーザ特権のSYSPRV を所有している必要があります。コマンドには,Files-11ボリュームの名前を指定します。

次の例は,SET VOLUMEコマンドの使用例です。

  1.      $ SET VOLUME/DATA_CHECK=(READ,WRITE) DKA100:
    

    DKA100:ボリュームの読み込みおよび書き込みをすべて行った後,データ・ チェックを行うよう要求している。

  2.      $ SET VOLUME/LABEL=LICENSES DKA100:
    

    DKA100:ボリュームにLICENSESというラベルを書き込んでいる。/LABEL 修飾子があるため,ラベルの文字が小文字で入力されても,大文字に変換される。

8.5.7 ディスクのマウントの高速化

DISKMOUNT.Cプログラムは,システムのスタートアップ時に,ディスクのマウントを高速化するのに役立ちます。$MOUNT システム・サービスを直接呼び出すことにより,MOUNT イメージの起動時間を短縮します。


注意
DISKMOUNT.Cは,Infoserverに接続したディスク,DFS でサーブされたディスク,あるいはストライプ・ セットのマウントはサポートしません

このプログラムにはVAX Cコンパイラが必要です。次の手順にしたがって実行してください。

  1. SYS$EXAMPLESのファイルDISKMOUNT.H,DISKMOUNT.C, DISKMOUNT_CHILD.Cを任意のディレクトリにコピーする。

  2. このディレクトリを指す論理名SRC$を定義する。

  3. DISKMOUNT.CファイルとDISKMOUNT_CHILD.Cファイルをアセンブルする。

  4. DISKMOUNT.OBJとDISKMOUNT_CHILD.OBJをリンクして, DISKMOUNT.EXEとDISKMOUNT_CHILD.EXEの実行可能イメージ・ファイルを作成する。

  5. これらの実行可能イメージをディレクトリにコピーする。このディレクトリは, ターゲット・システムのSYS$MANAGERが望ましい。

詳細は,DISKMOUNT.Hファイルのコメントを参照してください。

8.6 ディスク・ボリューム・セットの設定

この節では,ボリューム・セットに関連する概念と次の作業を行う方法について説明します。

作業 参照箇所
新規ディスク・ボリュームからのボリューム・セットの作成 第8.6.2項
シャドウ・ ディスク・ボリューム・セットの作成 第8.6.3項
既存ディスク・ボリュームからのボリューム・セットの作成 第8.6.4項
既存のディスク・ ボリューム・セットへのボリュームの追加 第8.6.5項

8.6.1 ディスク・ボリューム・セット

ボリューム・セットとは,DCLのMOUNT/BINDコマンドによって1 つのエンティティにまとめられたディスク・ボリュームのことです。ユーザから見ると, ボリューム・セットは,1つの大容量のボリュームに見えます。 こうしたボリューム・セットは次の特性をもちます。

大容量,同一種の公用ファイル空間を実現したい場合は,ボリューム・セットを使用してください。1 つの物理ディスク・ボリュームに収まらない大きなファイルを作成するためには, ボリューム・セットを使用する必要があります。 ファイル・システムは,たとえば,その時点で最も未使用空間の多いボリュームに新しいファイルを作成することによって, ボリューム・ セット全体の負荷のバランスを取ろうとします。

ユーザのグループが異なっていたり,あるいは管理方針が異なっていたりして, ファイルの格納場所を明確に分けたい場合は,それぞれに1つのボリュームまたはボリューム・ セットを使用する必要があります。たとえば, あるボリュームはユーザの恒久記憶用として,ディスク・クォータを設けて, 定期的にバックアップを取るようにし,また別のボリュームは, 制限を設けずに自由に使用させて,バックアップを取らず,ファイルを定期的に削除するという「スクラッチ」用に使用します。 このとき,各ボリュームまたはボリューム・ セットには,そこにファイルを保管するユーザごとにトップレベルのユーザ・ ファイル・ディレクトリを作成する必要があります。

ボリュームを単独で使用することの利点は,その独立性にあります。ボリューム・ セットのディレクトリ構造はボリューム間で相互に関連していますから, それを装填している装置が1台でも故障すると,セット全体が使用できなくなります。 しかし,ボリュームを単独で使用している場合は, ボリュームを装填している装置が動かなくなっても,使用できなくなるのは, そのボリュームのファイルだけです。

ボリューム・セットの欠点は,マルチボリューム・セットのイメージ・バックアップのサイズが大きくなることです。 これは,ユーザのバックアップ・ スケジュールにも影響を与えます。たとえば,5つの異なるボリュームをそれぞれバックアップするのに5 時間必要であると仮定します。これと同じボリューム・ セットをバックアップしようとすると,25時間かかってしまいます。 これでは,1日たっても終わりません。つまり,スケジューリングの問題にまで発展してしまいます。

8.6.1.1 ディスク・ボリューム・セットを作成するときのガイドライン

ディスク・ボリューム・セットを作成するにあたっては,次の点に留意してください。

ディスク・ボリューム・セットをマウントするためには,そのリストに指定されているボリューム・ ラベルが装置名リストの同じ位置の装置名と対応している必要があります。

複数のディスク・ボリュームをバインドして, 1つのボリューム・セットを作成した場合, セットの先頭ボリュームをルート・ボリューム と呼びます。セットを構成する各ボリュームは,ルート・ボリューム, すなわち,ボリューム1を基準にしたボリューム番号で識別されます。

ディスク・ボリューム・セットのディレクトリ構造は1つだけです。マスタ・ ファイル・ディレクトリ(MFD)はセット中の第1ボリューム上にあります。

ディスク・ボリューム・セットをオンラインにして,マウントすると,次のいずれかを指定することによって, セットに含まれるすべてのファイルとディレクトリにアクセスすることができます。

8.6.1.2 /BIND修飾子の使用法

ディスク・ボリューム・セットを作成する場合は,MOUNTコマンドに/BIND 修飾子を使用します。次の形式で使用します。

MOUNT/BIND=ボリューム・セット名

ただしボリューム・セット名には,ボリューム・セットを識別する1 から12文字までの英数字の名前を指定します。

ボリューム・セットの名前には,セット内のすべてのボリューム・ラベルと異なる名前を指定する必要があります。 また,ボリューム・セット内のラベルは一意でなければなりません。

/BINDが使用されると,MOUNTコマンドは,ボリューム・セットを構成するすべてのボリュームに適用される名前をボリューム・ セットに割り当てることによって, そのボリューム・セットを識別します。 またこの修飾子によって, ルート・ボリュームが識別され,ボリュームのディレクトリ構造が作成されます。

ボリューム・セットに新たにファイルが作成された場合,ファイル・システムはセットの最も多くの未使用空間がある場所にファイル用の空間を確保します。 ボリューム・セットを構成する任意のボリュームのファイルが拡張された場合は, 物理的に空きがあるかぎり,同じボリューム上で拡張を行います。

さらに空間が必要な場合は,ボリューム・セットに新しいボリュームを追加することができます。 たとえば,マウントされるすべてのディスク・ボリュームを毎日ボリューム・ セットに組み入れていくといったことも行うことができます。 ボリューム・セットには,すべてのユーザ・ファイル・ ディレクトリが含まれるため,セットを構成するボリュームのファイルにアクセスするとき, ユーザがファイル指定に装置名を指定する必要はありません。 つまり,ユーザはファイルの物理的な位置を意識する必要はありません。


注意
ソフトウェアのアップデートやオプション製品のインストールにおいて, システムがボリューム・セットをサポートすることはありません。 したがって,システム・ディスクをボリューム・ セットに含めないでください。システム・ファイルが移動していたり, 他のボリュームにバインドしていたりすると,システムをブートできないことがあります。

ボリューム・セットを使用するときには,特別な特権は必要ありません。 ただし,バインドするためには,対象となるすべてのボリュームの索引ファイルに対する書き込みアクセス権を持っている必要があります。 つまり, 通常は,システムUICかSYSPRV特権を持っているか,あるいはボリュームの所有者である必要があります。

この後の節では,これらの作業方法について説明します。

作業 参照箇所
新規ボリュームからディスク・ボリューム・セットを作成する 第8.6.2項
シャドウ・ディスク・ ボリューム・セットを作成する 第8.6.3項
既存のボリュームと新しいボリュームからディスク・ ボリューム・セットを作成する 第8.6.4項
既存のディスク・ボリューム・セットにボリュームを追加する 第8.6.5 項

8.6.2 新規ディスク・ボリュームからのボリューム・ セットの作成

新しいディスク・ボリュームからディスク・ボリューム・セットを作成する手順は次のとおりです。

  1. 必要な装置を割り当て,物理的にボリュームをセットする。

  2. ボリューム・セットに含めるボリュームを個々に初期化する。

    INITIALIZEコマンドによるボリューム・セット用のボリュームの初期化では, 修飾子を使ってボリュームの所有権と保護を定義することができる。 ボリューム・セットの保護および所有権情報はルート・ボリューム( 先頭ボリューム)から取得され,その他のボリュームの情報は無視される。

  3. MOUNT/BINDコマンドを入力し,ボリューム・セットを作成する。MOUNT/BIND コマンドは,ボリューム・セットを作成し,そのボリュームをマウントする。 このコマンドが成功終了すると,そのセットのすべてのボリュームが使用可能状態になる。 つまり,ユーザ・ファイル・ ディレクトリを作成することができる。

  4. ボリューム・セットの作成では,/BIND修飾子を1回だけ使用する。 以降は,MOUNTコマンド1つだけでボリューム・セット全体をマウントすることができる。

  1.      $ INITIALIZE DUA1: PAYVOL1
         $ INITIALIZE DUA2: PAYVOL2
         $ INITIALIZE DUA3: PAYVOL3
         $ MOUNT/BIND=MASTER_PAY DUA1:, DUA2:, DUA3: PAYVOL1,PAYVOL2,PAYVOL3
    

    この例では,最初にINITIALIZEコマンドでボリューム・セットに含めるボリュームを初期化している。MOUNT/BIND コマンドはボリューム・ セットにMASTER_PAYという名前を設定し,PAYVOL1,PAYVOL2,PAYVOL3 の3つのボリュームに相対ボリューム番号を割り当てる。

    装置名とボリューム・ラベルは対応するため,PAYVOL1がDUA1:, PAYVOL2がDUA2:,PAYVOL3がDUA3:に物理的にロードされている必要がある。

    ボリューム・セットのルート・ボリュームになるのは,ラベル・リストの最初に指定されているPAYVOL1 である。PAYVOL1のマスタ・ファイル・ ディレクトリ(MFD)には,ボリューム・セット全体のディレクトリ構造が含まれる。

  2.      $ MOUNT DUA1:,DUA2:,DUA3: PAYVOL1,PAYVOL2,PAYVOL3
    

    MOUNTコマンドを使って,上記のボリューム・セットをマウントしている例。

8.6.3 シャドウ・ディスク・ ボリューム・ セットの作成

次の例は,シャドウ・ディスク・ボリューム・セットを作成する方法の1 つです。

     $ MOUNT/BIND=TEST3013 DSA3011/SHADOW=($1$DUA402:,$1$DUA403:),
     DSA3012/SHADOW=($1$DUA404:,$1$DUA405:) TEST3011,TEST3012 TEST3013

上記のコマンドでは,TEST3013論理名のボリューム・セットが作成されます。 ボリューム・セットTEST3013はシャドウで,シャドウセット(TEST3011 およびTEST3012)の各要素もボリューム・セットです。

8.6.4 既存ディスク・ボリュームからのボリューム・ セットの作成

既存のボリュームおよび新規のボリュームからディスク・ ボリューム・セットを作成するには,次の手順で行います。

  1. DISMOUNTコマンドで既存のボリュームをディスマウントする。/NOUNLOAD 修飾子でそのボリュームをドライブから論理的にディスマウントする。 しかしそのボリュームは,物理的には,ドライブにロードされたままである。

  2. INITIALIZEコマンドでマウントされる装置とボリューム・ラベルを指定し, 新しいボリュームを初期化する。

  3. MOUNT/BINDコマンドでボリューム・セット名,マウントされるボリューム, ボリューム・ラベルを指定し,新しいボリュームを既存の ボリュームにバインドする。

    まず,既存のボリュームのボリューム・ラベルを指定する。ここで指定したボリューム・ ラベルが,このセットのルート・ボリュームとなる。 既存のボリュームからボリューム・セットを作成する場合, 既存のボリュームのラベルを指定しなければならない。 これは,ファイル・システムが既存のディレクトリ構造に構築されなければならないからである。

次の例は,既存のボリュームからのディスク・ボリューム・セット(USERS) の作成方法を示しています。この例では,ボリュームUSERFILESがすでにディレクトリ構造とファイルを持ち, そのボリュームが現在DUA1: 装置上にあると仮定しています。

     $ DISMOUNT/NOUNLOAD DUA1:
     $ INITIALIZE DUA2: USERFILES2
     $ MOUNT/BIND=USERS DUA1:, DUA2: USERFILES, USERFILES2

MOUNT/BINDコマンドでは,ボリューム・ラベルUSERFILES2より前に既存のボリューム・ ラベルUSERFILESを指定しなければなりません。USERFILES は,このセットのルート・ボリュームになります。


重要
すでにファイルとデータを含んでいる複数のボリュームをバインドをして, ボリューム・セットを作成しようとしても, ファイル・システムからエラー・メッセージが出されることはありません。 ただし,ディレクトリ構造が正しくバインドされていないので, それらボリュームをボリューム・セットとして使用することはできません。

8.6.5 既存のディスク・ボリューム・ セットへのボリュームの追加

既存のボリューム・セットへのボリュームの追加はいつでも行うことができます。 ボリューム・セットに含むことができるボリューム数は最高で255 個です。

この後の例では,既存のボリューム・セットへのボリュームの追加例を紹介します。

  1.      $ INITIALIZE DUA4: PAYVOL4
         $ MOUNT/BIND=MASTER_PAY DUA4: PAYVOL4
    

    この例では,MASTER_PAYというボリューム・セットがオンラインでマウントされていること, また,そのボリューム・セットがPAYVOL1, PAYVOL2,PAYVOL3という3つのボリュームから構成されていることを前提にしている。

    MOUNT/BINDコマンドはPAYVOL4というボリュームをこのボリューム・セットにバインドし, 使用可能な状態にする。MASTER_PAYボリューム・ セットを/SYSTEM,/GROUP,または/SHARE修飾子付きでマウントしている場合は,MOUNT/BIND コマンドには,それに合わせて修飾子を指定する必要がある。

    既存のボリューム・セットへのボリュームの追加でマウントする必要があるのは, 相対ボリューム番号が1のルート・ボリューム(この例ではDUA4:) だけである。他のボリュームをマウントする必要はない。

  2.      $ INITIALIZE DUA4: PAYVOL4
         $ MOUNT/BIND=MASTER_PAY DUA1:, DUA2:, DUA3:, DUA4: -
         _$ PAYVOL1, PAYVOL2, PAYVOL3, PAYVOL4/SYSTEM
    

    この例では,MASTER_PAYというボリューム・セットがすでに存在していて,PAYVOL1 ,PAYVOL2,PAYVOL3という3つのボリュームから構成されていることを前提にしている。

    この例に見られるように,ボリュームの追加とボリューム・セットのマウントは同時に行うことができる。 ルート・ディレクトリになるのは,MOUNT/BIND コマンドに最初に指定されているボリュームのDUA1:である。 ボリューム・セットをマウントしながら,ボリュームを追加しようとする場合は, ルート・ボリュームにするボリュームを最初に指定する必要がある。

8.7 ISO 9660ボリューム・セットとグループのマウント

ISO 9660形式のCD-ROMにアクセスするためには,次の2つのいずれかの方法でボリュームをマウントします。

MOUNTユーティリティは,ISO 9660ディレクトリとファイルにアクセスするのに必要な入出力データベース構造を構築します。 また,MOUNTは,ISO 9660に固有の$QIO機能を実行するための適切なACPが存在するか検証します。 現在,ISO9660媒体をシステム・ディスクとしてマウントすることはできません。 詳細は『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。CD-ROM 媒体のISO 9660ボリューム構造についての詳細は, 『Guide to OpenVMS File Applications』を参照してください。

8.7.1 ISO 9660ボリューム・セットのマウント

ISO 9660は,65,535ボリューム・セット・メンバまでのボリューム・セットをサポートします。 どのような時でも,ユーザは一度に65,535の総計ボリューム・ セットの255のメンバ・サブセットをマウントできます。

ユーザのボリューム・セットが,ユーザが使用できるCD-ROMリーダの数より大きい場合は, ボリューム・セット・メンバをスワップできます。たとえば, 複数のボリューム・セット・メンバで1つのリーダを使用する場合などです。

8.7.2 ISO 9660ボリューム・グループのマウント

ボリューム・グループは,ボリューム・セット内の連続した番号を持つボリュームから構成されます。 ボリューム・グループのメンバ間の関係は, そのボリュームがいっしょに記録されていて,同じ最大ボリューム・ セット・サイズ・パラメータの影響を受けることによって確立されます。

ボリューム・グループ内の各ボリュームには,ボリューム・セット中のすべてのボリューム( 他のボリューム・グループのメンバも含む)に記録されたすべてのファイルとディレクトリについての情報が入っています。 たとえば, あるボリューム・セットに2つのボリューム・グループがあると仮定します。

作業方法

ボリューム・セットをマウントするには,まず,一番大きい番号を持つボリューム・ グループ(一番最後に記録されたグループのことで前の例では,3 ,4,5)をマウントしなければなりません。なぜなら,一番大きい番号を持つグループだけが, ボリューム・セットのすべてのメンバをマウントするのに必要な情報を持っているからです。

このように行わない場合は,すべてのボリュームをディスマウントし,一番大きい番号を持つボリューム・ グループのメンバを一番最初にマウントするボリュームとして指定し, 再起動しなければなりません。

8.7.3 部分マウントされたISO 9660ボリューム・セットの処理

OpenVMSシステムは,部分マウントされたISO 9660ボリューム・セットをサポートします。 データは通常どおりすべてのマウントされたボリュームから, ユーザ・プログラムに透過的な方法で読み込むことができます。

ボリューム・セットが部分マウントされているためにボリューム・セット・ メンバがマウントされなかった場合は,OPCOMはOPERATORクラスDISK に,アンマウントされたボリュームをマウントするようメッセージを送信します。 指定された時間内に要求を満たされない,または直接ボリュームをマウントするためのオプションを有効にできない場合は, 入出力プロセスが失敗しエラー・ メッセージが発行されます。

8.7.4 SVDの使用によるISO 9660ボリュームのマウント

ISO 9660ボリュームにはすべて,一次ボリューム記述子(PVD)が格納されており, 文字セットとしてASCII (ISO 646-IRV)を使用します。ISO 9660 とOpenVMSのファイル命名規約はどちらも,ボリュームのディレクトリ名とファイル名を表示したときに, 同じASCII文字セットを使用します。

省略時のPVDを使用してISO 9660ボリュームをマウントする他に,補助ボリューム記述子(SVD) を使用してISO 9660ボリュームをマウントすることもできます。

この機能を使用すると,ISO 9660の限定された文字セット以外の文字セットの文字を含むディレクトリ名とファイル名を使用しているISO 9660 ボリュームにアクセスできます。 限定された文字セットにはA〜Z,アンダースコア(_) ,ピリオド(.),セミコロン(;)だけしか含まれていません。

ISO 9660ボリューム・セットの作成者は,ボリュームを記録するときに必須のPVD も記録しなければならず,また,オプションとして1つ以上のSVD も記録できます。各SVDには固有のボリューム・ラベルとエスケープ・シーケンスを含まなければなりません。

SVDを使用してISO 9660装置をマウントするには,次のコマンド構文を使用します。

MOUNT 装置名 ボリュームラベル/UCS_SEQUENCE=エスケープ・シーケンス

装置名 ISO 9660ボリュームがマウントされる装置の物理装置名または論理装置名を指定する。
ボリューム・ラベル CD- ROMの作成者のラベルから取得したSVDボリューム・ラベルを指定する。
エスケープ・シーケンス CD-ROMの作成者のラベルから取得したエスケープ・ シーケンスを指定する。

ISO 9660ボリュームのSVDにエスケープ・シーケンスが指定されていない場合には, 省略時の文字セットがISO 646 (ASCII)であるものと解釈されます。 この省略時の文字セットを使用すると,OpenVMSでサポートされるファイル指定文字セットを使用できます。 この文字セットには,追加文字としてドル記号($) とダッシュ(-)も含まれています。

エスケープ・シーケンスが指定されていないときに,SVDボリューム・ラベルを使用してボリュームをマウントするには, 次のコマンド構文を使用します。

MOUNT 装置名ボリューム・ラベル /UCS_SEQUENCE=""


注意
ISO 9660ボリュームのSVDに, ISO 646,ISO 2022,ISO 13646 (CD上のフォーマット)以外のエスケープ・ シーケンスが含まれている場合には,その文字セットはOpenVMSファイル指定の構文と連携動作できません。

CD-ROM媒体上のISO 9660ボリューム構造についての詳細は,『Guide to OpenVMS File Applications』を参照してください。

8.7.5 ISO 9660制限の取り扱い

表 8-15は,OpenVMSにおけるISO 9660 規格のサポートの問題点および制限事項とその解決方法を説明しています。

表 8-15 ISO 9660制限事項

影響を受ける媒体 説明および解決方法
ボリューム・ラベル 1文字から32 文字まで使用できる。最初の12文字は一意のボリュームIDである。 ラベルの最初の12文字が一意でないと,ボリュームはマウントされず, 次のメッセージが表示される。
     %SYSTEM-F-VOLALRMNT, another volume of the same label already mounted

解決方法:

ボリューム・ラベルを変更してマウントする。 /OVERRIDE=IDENTIFICATIONコマンド修飾子を使用する。これでボリュームのラベルが上書され, マウント済みのボリュームのラベルと一致しなくてもマウントできる。

ボリューム・ セット・ラベル 1文字から128文字まで使用できる。最初の12 文字は一意のボリューム・セットIDである。ラベルの最初の12文字が一意でないと, ボリュームはマウントされず,次のいずれかのメッセージが表示される。
     %SYSTEM-F-VOLINSET, volume is already part of another volume set

     %MOUNT-F-DUPRVN, duplicate volume number already mounted

解決方法:

ボリューム・セット・ラベルを変更し,コマンド修飾子/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レコード・フォーマットにする。

MOUNT/MEDIA=CDROM/UNDEFINED=(STREAM:512) 装置 ラベル

RMSレコード・フォーマットについての詳細は,『OpenVMS Record Management Utilities Reference Manual』および『OpenVMS Record Management Services Reference Manual』を参照。

8.8 テープ・ボリューム・セットのマウント

テープ・ボリューム・セットをマウントする手順は,第8.5節で説明したテープ・ ボリュームのマウント手順に似ています。 ただし,指定する装置名の数とボリューム識別子の個数が同じである必要はありません。 つまり,テープ・ボリューム・セットをマウントするとき, 装置名より多くのボリューム識別子,またボリュームより多くの装置名を指定することができます。

ボリューム・セットに含まれるボリュームの継続ボリュームを処理するときにテープ・ ファイル・システムが取る処置は,指定された装置の台数によって異なります。 たとえば,指定された装置の個数がボリューム数より多い場合, テープ・ファイル・システムは,リストに挙げられている装置のうちの, まだボリュームがマウントされていない最初の装置に継続ボリュームをマウントするよう要求します。

ユーザがセットを構成するボリュームに書き込みを行う予定がある場合は, テープ・ボリューム・セットをマウントするとき,必ず,すべてのボリュームに書き込みリングをセットしておいてください。 マウントするときにボリュームの1 つでも書き込みリングがセットされていないと,システムはどのボリュームにも書き込みを行うことができません。 またボリュームは, 割り当て済みでオンラインになっている装置にセットしてください。

以降の項では,次の作業を行う方法について説明します。

作業 参照箇所
テープ・ボリューム・セットの作成 第8.8.1項
ボリューム・セットの継続ボリュームのマウント 第8.8.2項
自動切り換え無効時のテープ・ボリューム・セットのマウント 第8.8.2.3項

8.8.1 テープ・ボリューム・セットの作成

ボリューム・セットが明示的に作成されていない場合,オペレーティング・ システムは必要に応じてボリューム・セットを作成します。マウントされているボリューム・ セットがなく,継続ボリュームが必要な場合,テープ・ ファイル・システムは継続ボリュームをマウントするよう要求し, 暗黙にボリューム・セットを作成します。たとえば,ボリュームへの書き込み中にEOT マークを検出した場合,テープ・ファイル・システムは別のボリュームのマウントを要求するメッセージをオペレータ・ コンソールに送ります。

継続ボリュームがマウントされると,テープ・ファイル・システムはボリューム・ ラベルとヘッダ・ラベルを書き込み,保留中の書き込み要求を継続ボリュームに再発行します。 継続ボリュームのファイルの先頭ファイル・ ヘッダ・ラベルに書き込まれるファイル・セット識別子コードはすべて, 先頭ボリュームの先頭ファイルの識別子コードと同じです。つまり, ボリューム・セットに対するファイル・セット識別子コードは,常に,最初にマウントされたボリュームの先頭ファイルの識別子コードです。

作業方法

たとえば,3つのテープ・ボリュームから明示的にボリューム・セットを作成する場合は, 次の手順に従ってください。

  1. ボリュームをロードする装置を割り当てる。

  2. ボリュームを初期化する。INITIALIZEコマンドには,装置名とボリューム識別子の他, 密度とアクセス保護コードも指定する。

  3. ボリュームをマウントする。装置名とボリューム識別子は必ず指定する。 ボリューム・セットの論理名は省略することができる。システムはマウントしたボリュームを確認するだけでなく, 各ボリュームがどの装置にマウントされているかも示す。

    システムがマウントおよび検証するのは,マウント時に物理的に装置にロードされているボリュームだけである。 余分に指定されたボリュームのボリューム識別子は, そのボリュームへのアクセスが行われないかぎり検証されない。

  4. 装置にマウントされたボリュームの密度,ボリューム・ラベル,UIC ,相対ボリューム番号を確認したい場合は,SHOW DEVICES /FULLコマンドを使用する。テープ装置にMUなどの汎用装置コードを指定すると, システムで構成されているそのタイプのすべての装置情報が表示される。

    特定の装置にマウントされているボリューム情報を表示したい場合は, その装置の物理装置コードを指定する。物理装置コードは,汎用装置コード, コントローラ指定,ユニット番号を指定し,最後にコロンを付ける。

    SHOW DEVICESコマンドについての詳細は,第7.2 節または『OpenVMS DCLディクショナリ』を参照。

  1.      $ ALLOCATE MUA0:
         %DCL-I-ALLOC, _MARS$MUA0: allocated
    
         $ ALLOCATE MUA1:
         %DCL-I-ALLOC, _MARS$MUA1: allocated
    
         $ ALLOCATE MUA2:
         %DCL-I-ALLOC, _MARS$MUA2: allocated
    

    ボリュームをロードする装置の割り当ての例。

  2.      $ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA0: TAPE1
         $ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA1: TAPE2
         $ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA2: TAPE3
    

    ボリュームの初期化例。コマンドには,装置名とボリューム識別子に加えて, 密度とアクセス保護コードも指定している。

  3.      $ 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:
    

    ボリュームのマウント例。コマンドには,装置名とボリューム識別子が指定されている。

8.8.2 テープ・ボリューム・セットの継続ボリュームのマウント

第8.8.1項では, テープ・ボリューム・ セットをマウントするときの一般的な手順を紹介しました。作成したボリューム・ セットをマウントするときは,それぞれのボリュームを初期化する必要はありません。

また,ボリューム・セットのボリュームごとに装置を割り当てる必要もありません。 テープ・ファイル・システムは,継続ボリュームが必要になると, ボリュームを適当な装置に切り換えるよう要求します。

オペレーティング・システムは,マウント時に指定されたボリュームの識別子を記憶しますが, 物理的に装置にマウントされていない識別子を検証することはできません。 システムがボリューム識別子を検証するのは,それらボリュームにアクセスしたときです。

オペレーティング・システムには,ボリュームの自動切り換え機能と自動ボリューム・ ラベル作成(AVL)機能があり,テープ・ボリューム・セットを構成するマウント済みボリュームを連続して処理することができます。

8.8.2.1 ラベルの作成

ファイル・システムがラベルを作成するかどうかは,次に示すように条件によって異なります。

第8.4.2項で説明したように, テープ・ ファイル・システムは,継続ボリュームを処理する前にそのボリュームの保護検査を行い, ユーザがボリュームに対するアクセス権をもっていないと判断した場合は, オペレータにメッセージを送ります。

ラベルは,6文字の長さのボリューム識別子フィールドに埋め込まれます。

システムが1つのボリューム・セットに対して作成可能な一意的なラベル数は99 個だけです。

ボリュームの自動切り換えが有効な場合,オペレータは,処理されているボリュームのEOT マークに達する前であれば,ボリューム・セットに割り当てられている次の装置へのテープのロードをいつでも行えます。 テープ・ ファイル・システムは,ボリューム・セットの次のテープをマウントし, 初期化して,切り換えを行ったことをオペレータに通知します。テープの初期化が行われるは, 最初にそのように指定されていた場合だけです。

8.8.2.2 ボリュームの自動切り換え機能の有効化

ボリュームの自動切り換え機能を使用するためには,ボリューム・セットに複数のテープ装置を割り当てる必要があります。 これが行われると,テープ・ ファイル・システムは,ボリューム・セットに割り当てられた次のテープ装置を選択することによって, 自動的にボリュームを切り換えます。 ただし,正しく切り換えを行うためには,ボリューム・セットの次のボリュームをその装置にロードしておく必要があります。

  1.      $ MOUNT MUA0:,MUA1:,MUA2: TAPE
    

    この例では,TAPEという識別子のボリュームをMUA0:装置にマウントしている。 テープ装置への継続ボリュームのロードは,MUA1:,MUA2:, MUA0:,MUA1:,MUA2:という順番で行う。

  2.      $ INITIALIZE MUA0: MAIN
         $ MOUNT/OVERRIDE=IDENTIFICATION/INITIALIZE=CONTINUATION MUA0:,MUA1:
    

    ボリューム・セットをマウントするときの/INITIALIZE=CONTINUATION 修飾子の使用例。また,システムに継続ボリュームのボリューム識別子を作成させる方法も示してある。

    MAINというラベルのボリュームは,MUA0:装置にマウントされる。ボリューム・ セットの2つ目のボリュームは,ボリューム識別子としてMAIN02 を取り,MUA1:装置にマウントされる。また,3つ目のボリュームは, ボリューム識別子としてMAIN03を取り,MUA0:装置にマウントされる。

    テープ・ボリューム・セットに追加するボリュームが書き込みの前に初期化されるようにするためには,/INITIALIZE=CONTINUATION 修飾子を使ってボリュームをマウントすること。省略時の設定は/NOINITIALIZE 。

  3.      $ MOUNT MUA0:,MUA1: SUN
    

    この例では,ボリューム・セットの先頭ボリュームにSUNというラベルを付け, これをMUA0:装置にマウントしている。2つ目のボリュームは識別子としてSUN_02 を取り,MUA1:装置にマウントされる。また,3つ目のボリュームは識別子としてSUN_03 を取り,MUA0:装置にマウントされる。

  4.      $ MOUNT MUA0:,MUA1: SUN,MOON
    

    この例では,SUNとMOONという2つのボリューム識別子をもつ継続ボリューム1 つをそれぞれMUA0:とMUA1:にマウントしている。3つ目のボリュームが追加された場合は, 識別子としてMOON03が与えられ,MUA0:装置にマウントされる。

8.8.2.3 自動切り替え機能の無効化

ユーザのサイトでボリューム・ラベルを事前に設定している場合は,これらのラベルの上書きを避けるために, 自動ボリューム切り替え機能を無効にしておく必要があります。 ボリュームの自動切り換えを明示的に無効にする場合は, テープ・ボリュームをマウントするときに/NOAUTOMATIC修飾子を使用します。 省略時の設定は/AUTOMATICです。テープ・ボリューム・ セットに1台しか装置を割り当てていない場合,ボリュームの自動切り換え機能は暗黙で無効になります。

磁気テープに読み込みまたは書き込みを行っていて,テープの終端に達した場合は, システムは処理を中断し,ボリューム・セットの次のボリュームのマウントを要求します。 このとき出される要求を次に示します。

     %%%%%%%%%%%  OPCOM, 28-MAY-1998 15:23:31.78  %%%%%%%%%%%
     request 3, from user PLAW
     MOUNT new relative volume 2 (DW0QT2) on MUA1:

ユーザがこのメッセージを見ることはありませんから,最後まで読み込みまたは書き込みをするために別のテープが必要なことに気付かないことがあります。

     $ MOUNT/NOAUTOMATIC MUA0: ABCD,EFGH

この例は,2つ目のボリュームに専用のラベルを設定せずに,指定されているラベルを使用するようMOUNT コマンドに指示している例です。

8.8.2.4 ユーザへのメッセージ返信

マウント要求に指定された装置に継続ボリュームをロードした後,表 8-16 に示す3つの修飾子のいずれかを指定したREPLY コマンドを入力することによって,ボリュームをマウントします。 これらの修飾子については,『OpenVMS DCLディクショナリ』を参照してください。

表 8-16 継続ボリュームに対するREPLYコマンドの修飾子

修飾子 説明
/BLANK_TAPE= 識別番号 フォーマットされていないボリュームに書き込みを行うときに使用する。 すなわち,この修飾子はボリュームを初期化するので, テープの故障やタイムアウト条件の発生を避けるためには,VOLPRO 特権とOPER特権が必要(第8.1.4.2項を参照)。REPLY コマンドは次のどちらも有効。
     $ REPLY/BLANK_TAPE=3
     $ REPLY/BLANK_TAPE=3 "DW0QT2"

最初のコマンドにはボリューム識別子を指定していない。2番目のコマンドにはボリューム識別子を指定している。

/INITIALIZE_TAPE=識別番号 継続ボリュームのボリューム識別子が, マウント要求で指定されているボリューム識別子と一致しない場合, 書き込み操作のためにフォーマットされたボリュームに対して使用する。 ファイル・システムはテープを初期化し直し,新しいボリューム識別子を使ってボリュームをマウントする。 またさらに,アクセス検査を行って,INITIALIZE コマンドが指定されているかのようにボリュームを初期化する。 このとき,/INITIALIZE_TAPEコマンドを指定する前にテープに存在していたデータは失われる。 現在のターミナルは,TAPE に対してのオペレータ・ターミナルでなければならない。
     $ REPLY/INITIALIZE_TAPE=3
     $ REPLY/INITIALIZE_TAPE=3 "DW0QT2"

最初のコマンドにはボリューム識別子を指定していない。2番目のコマンドにはボリューム識別子を指定している。

/TO=識別番号 フォーマットされたボリュームで読み込みと書き込み操作の両方に使用する。 書き込み操作で,マウント要求に指定されているボリューム識別子を継続ボリュームに書き込みたい場合は,/TO 修飾子を使用すること。

たとえば,マウント要求3に応答して,MTA1:装置にDW0QT2ボリュームをマウントするときに入力するREPLY コマンドは,次のいずれかになる。

     $ REPLY/TO=3
     $ REPLY/TO=3 "DW0QT2"

最初のコマンドにはボリューム識別子を指定していない。2番目のコマンドにはボリューム識別子を指定している。

MOUNTコマンドでのボリューム識別子の指定

書き込み操作では,MOUNTコマンドに必ずボリューム識別子を指定してください。 指定することによって,装置への正しいボリュームのマウント, ボリューム・セットへの継続ボリュームのリンクが保証されます。

REPLY/TOコマンドでのボリューム識別子の省略

ボリューム上のアクセス制御文字を保持するためには,書き込み操作時にREPLY/TO コマンドでボリューム識別子を省略しなければなりません。テープからの読み込みの場合は, ボリューム識別子を任意に指定することができます。

各ボリュームのアクセス制御文字が一意なボリューム・セットを初期化し, マウントするときに,それらアクセス制御文字を残したい場合は,ボリューム識別子を使用しないでください。 ボリューム識別子を使用すると, ボリューム・セットの先頭ボリュームのアクセス制御文字によって, 継続ボリュームのアクセス制御文字が無効になります。

たとえば,アクセス制御文字を残したい場合は,次のような形式でREPLY /TOコマンドを入力します(3は要求識別子番号)。

     $ REPLY/TO=3

REPLYコマンドを受信したテープ・ファイル・システムは,継続ボリュームが正しいボリュームかチェックします。 そして,正しいアクセス・コードをもつ正しいボリュームの場合は, 継続ボリュームをマウントして,そのボリュームに保留中の読み込み要求または書き込み要求を再発行します。 そうでない場合の処理はボリュームが空きボリュームであるかどうかによって異なります。 空きテープでない場合はマウントを行わず,空きテープの場合は初期化してマウントします。

8.8.3 磁気テープ特性の変更

特定のテープ装置の省略時の特性を定義する場合は,DCLのSET MAGTAPEコマンドを使用します。SET MAGTAPE コマンドは,磁気テープ装置がフォーリン・ ボリュームとしてマウントされているときにだけ有効です。

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

SET MAGTAPE 装置名

装置名 特性を設定するテープ装置の名前を指定する。 他のユーザに割り当てられている装置を指定しない。

次に,SET MAGTAPEコマンドとMOUNTコマンドの組み合せ例を紹介します。

  1.      $ MOUNT MUB1:/FOREIGN
         $ SET MAGTAPE MUB1:/DENSITY=800
    

    MOUNTコマンドで,MUB1:ドライブにフォーリン・テープをマウントし,SET MAGTAPE コマンドで,磁気テープへの書き込み密度を800 bpi と定義している。すでに書き込みが行われているテープの密度を設定し直すことはできない。

  2.      $ MOUNT MUA0: USER_VOL
         $ SET MAGTAPE MUA0:/SKIP=FILES:4
    

    MOUNTコマンドで,MUA0:ドライブにUSER_VOLというテープをマウントし,SET MAGTAPE コマンドで,テープ・マーク4つをスキップした位置にテープを位置付けるよう入出力サブシステムに指示している。

    ローカルなSCSIテープ・ドライブでは,/FAST_SKIP=オプション 修飾子を使うと,ファイル・マークごと,または,レコードごとに読み飛ばすことができる。 詳細は『OpenVMS DCLディクショナリ』を参照。

  3.      $ MOUNT MUA1:/FOREIGN
         $ SET MAGTAPE/REWIND MUA1:
    

    MOUNTコマンドで,MUA1:ドライブにフォーリン・テープをマウントし,SET MAGTAPE コマンドで,ボリュームを巻き戻している。

8.9 ボリュームとボリューム・セットのディスマウント

ディスクまたはテープ・ボリュームのファイルやデータの処理を終えたら,DISMOUNT コマンドを使用して,明示的に1つのボリュームまたはボリューム・ セット全体をディスマウントすることができます。

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

DISMOUNT 装置名

装置名 ボリュームがロードされている装置の名前を指定する。 論理名または物理名のどちらでも使用することができる。 物理名が指定された場合,省略時の設定ではコントローラがA ,ユニットが0になる。

装置にマウントされているボリュームがディスクまたはテープ・ボリューム・ セットの1つで,/UNIT修飾子が使用されなかった場合は,そのセットのすべてのボリュームがディスマウントされる。

システム管理者は,ローカル・ノードのボリューム,クラスタのすべてのノードのボリュームをディスマウントすることができます。

ボリュームまたはボリューム・セットをディスマウントする前に, DISMOUNTコマンドはディスマウントを妨げる次の条件が存在するかチェックします。

これら4つのいずれの条件も存在しない場合,DISMOUNTコマンドはボリュームをディスマウント対象にします。 どれか1つでも条件が存在する場合は, ボリュームをディスマウント対象にせず,条件が存在するという事実と各条件のインスタンス数, そしてボリュームのディスマウントが不可能であることを示すエラー・ メッセージを表示します。

システム・ディスクを共用でマウントした後に,これをディスマウントしようとすると, ユーザ・ファイルがオープンされていなくても,次のようなメッセージが出ることがあります。

     %DISM-W-CANNOTDMT, AXP27$DKA300: cannot be dismounted
     %DISM-W-USERFILES, 1 user file open on volume

このメッセージが出るのは,ディスマウントの途中で,DISMOUNT.EXEファイルが" ユーザ"ファイルとしてオープンされるからです。このエラー・メッセージが表示されないようにするには,DISMOUNT.EXE ファイルをインストールします。

場合によっては,オープンしているファイルがあってもそのボリュームをディスマウント対象にしたい場合があります。 ディスマウント対象にしておけば, ユーザはファイルを新たにオープンできないので,ファイルに対するアクセスは次第に減っていきます。 ファイルがオープンしていてもボリュームをディスマウント対象にしたい場合は,/OVERRIDE=CHECKS 修飾子を使用してください。

情報キャッシュ時のディスマウント

性能向上の一環として,システムは,ディスク・ボリュームの未使用空間, ファイル識別子,クォータ・ファイル・エントリ,ファイル・ヘッダなどのボリューム情報をメモリに格納します。 これは,キャッシング と呼ばれる処理です。キャッシュには,ファイルには割り当てられていないブロックや, ディレクトリには作成されていないファイルが含まれることがあります。

ディスクのディスマウント時やシステムのシャットダウン時,システムはキャッシュの情報をディスクに書き出します。 この書き出しの前にドライブからディスクを取り出した場合, キャッシュの情報は失われます。そのため, キャッシュ情報を残す場合は,次のガイドラインを守る必要があります。

ボリュームの既知ファイル・リストにエントリがある場合は,ボリュームをディスマウントしないでください。 既知ファイル・リストでボリュームが参照されている場合は, 次の手順を踏んでから,ボリュームをディスマウントする必要があります。

  1. インストール・ユーティリティのDELETEコマンドを使用して, ボリュームに関係する既知イメージをすべて削除する(第16.9.14項参照)

  2. 次のイベントの発生を待つ

    1. イメージを使用するすべてのプロセスによるイメージの解放

    2. システムによる書き込み可能なイメージのファイルへの書き戻し

      ファイルのステータスを知りたい場合は,DCLのSHOW DEVICES /FILESコマンドを使用する。

次の節では,以下の作業を行う方法について説明します。

作業 参照箇所
ボリュームのディスマウント 第8.9.1項
ボリューム・セットのディスマウント 第8.9.2 項
フォーリン・ボリュームのディスマウント 第8.9.3項
クラスタ上のボリュームのディスマウント 第8.9.4項

8.9.1 ボリュームのディスマウント

ここでは,1つのボリュームをディスマウントするときの手順,およびDISMOUNT コマンドで使用可能な修飾子の一部を説明します。

8.9.1.1 ボリュームのディスマウントとアンロード

ボリュームやボリューム・セットは必ず, DISMOUNTコマンド,またはDISMOUNT コマンドを含むコマンド・プロシージャを使用してディスマウントしてください。 また,ボリュームは必ず,ドライブをディスマウントしてからアンロードしてください。 ディスマウントが終了したかどうかは, DCLのSHOW DEVICESコマンドを使って確認することができます。

私用ボリュームは,それをマウントしたジョブからログアウトすると,自動的にディスマウントされアンロードされます。 ただし,システムに障害があった場合は, ドライブの自動ディスマウントは行われません。

ボリュームを明示的にディスマウントしない場合,システムに障害が発生すると, データが失われることがあります。テープ・ボリュームの場合は, ファイル・トレーラ・ラベルが書き込まれていない,オープンしているファイルがボリュームに存在しているとデータが失われる可能性があります。 このとき,ボリュームを再マウントして,ファイル・トレーラ・ラベルのないファイルにアクセスしようとすると, 次のエラー・メッセージが出されます。

     %MTACP-magnetic tape position lost

ファイル・トレーラ・ラベルが書き込まれていないファイルより前のすべてのファイルにアクセスすることができますが, ファイル・トレーラ・ラベルのないファイルにアクセスすることはできません。

8.9.1.2 割り当て装置のディスマウント

ALLOCATEコマンドで割り当てた装置をDISMOUNTコマンドでディスマウントしても, 装置の割り当ては解除されません。MOUNTコマンドで暗黙に割り当てられた装置の場合は,DISMOUNT コマンドによって割り当て解除されます。

8.9.1.3 DISMOUNTコマンドの修飾子の使用法

次の表は,DISMOUNTコマンドの修飾子のうちの/UNITと/NOUNLOAD修飾子をまとめたものです。

のディスマウント
修飾子 説明
/UNIT ボリューム・セット全体をディスマウントせずに, 明示的にセットのボリュームを1つだけディスマウントする。ボリューム・ セットの1つのボリュームが明示的にディスマウントされた場合, 省略時の設定では,システムはセットのすべてのボリュームをディスマウントする。

この修飾子を指定した場合,ボリュームはディスマウントされるが, ボリューム・セットからはアンバインドされない。したがって, ボリュームを再度マウントすると,再びボリューム・セットの一部となる。

/NOUNLOAD ドライブからのボリュームの自動アンロード( 省略時の設定)を無効にする。論理的にはボリュームはディスマウントされているが, 物理的にはドライブにロードされたままである。

この修飾子を使用してテープ・ボリュームをディスマウントすると,ボリュームはテープ・ ドライブにロードされたままになり,BOTマークまでテープが巻き戻される。

ディスマウントしようとするボリュームを再マウントあるいは再初期化する場合は, この修飾子を使用することによって,時間を節約したり,ボリュームを操作する手間を省いたりすることができる。

ここでは,/NOUNLOAD修飾子を指定したDISMOUNTコマンドの使用例を紹介します。

     $ DISMOUNT/NOUNLOAD MUA1:

このコマンドによって,論理的にはテープ・ボリュームはディスマウントされますが, 物理的にはMUA1:装置にロードされたままになり,テープの始まり位置まで巻き戻されます。 この後,制御ははDCLレベルに戻ります。

8.9.2 ボリューム・セットのディスマウント

DISMOUNTコマンドを使い,ボリューム・セット全体をディスマウントすることができます。 すなわち,ディスクまたはテープ・ボリューム・セットの任意のボリュームを明示的にディスマウントすると, そのボリューム・ セット全体が自動的にディスマウントされます。たとえば,DUA3: とDUA4:からなるボリューム・セットがあり,次のコマンドが入力されると,DUA4: を含むボリューム・セット全体がディスマウントされます。

     $ DISMOUNT DUA3:

8.9.3 フォーリン・ボリュームのディスマウント

DISMOUNTコマンドを使い,フォーリン・ボリュームをディスマウントすることもできます。/FOREIGN 修飾子を使って, DUA0:ドライブにマウントされたボリュームをディスマウントしている例を次に示します。

     $ DISMOUNT DUA0:

この例では,ボリュームがディスマウントされるとともに,自動的にアンロードされます。 その後,制御はDCLレベルに戻ります。

8.9.4 OpenVMS Clusterシステムのボリュームのディスマウント

次の例のように,DISMOUNTコマンドに/CLUSTER修飾子を指定すると, OpenVMS Clusterシステムのボリュームをディスマウントすることができます。 この例のコマンドを実行するためには,SYSNAM特権が必要です。

     $ DISMOUNT/CLUSTER $10$DJA100:

DISMOUNT/CLUSTERコマンドは,まず,ボリュームのディスマウントを妨げる条件がローカル・ ノードに存在するか調べます。存在しない場合は,クラスタを構成するすべてのノードについて, ディスマウントを妨げる条件が存在するか調べます。 条件が存在する場合は,装置とエラーが発生したノード, およびそのエラー内容を示すエラー・メッセージを送ります。

DISMOUNTコマンドに関するさらに詳しい内容については,『OpenVMS DCLディクショナリ』を参照してください。

8.10 コマンド・プロシージャによる媒体の設定

ディスクやテープ媒体に対して行う操作の大半は日常的なものです。したがって, サイトで日常的に行う作業をよく認識してコマンド・プロシージャを設計すれば, コマンド・プロシージャにこれらの作業を行わせることができます。 コマンド・プロシージャの設計と実行に用いる構文についての詳細は, 『OpenVMSユーザーズ・マニュアル』を参照してください。

この節で紹介するコマンド・プロシージャの例はあくまで一般的なものです。 ただし,私用ディスクやテープ・ボリュームを設定するプロシージャを設計するような場合は, ガイドラインとなります。それぞれのサイトの設定作業に合わせて, コマンド・プロシージャを変更してください。

8.10.1 ディスク・ボリュームの設定用のコマンド・ プロシージャ例

この節で紹介するコマンド・プロシージャは,ディスク・ボリュームの割り当て, 初期化,およびマウントを行います。次の手順に従って,プロシージャを作成してみてください。

  1. テキスト・エディタを使い,SETUP.COMという名のファイルを作成する。

  2. 実行されるとディスクを割り当て,マウントする次のコマンド・ プロシージャを入力する。
         $ ! Place a disk in the drive
         $ IF P1 .EQS. "" THEN INQUIRE P1 "enter device name"
         $ IF P2 .EQS. "" THEN INQUIRE P2 "enter volume label"
         $ IF P3 .EQS. "" THEN INQUIRE P3 "enter logical name"
         $ ALLOCATE 'P1'
         $ MOUNT 'P1' 'P2' 'P3'
    

    このコマンド・プロシージャは非常に簡単で,ディスクを割り当てマウントするという作業を行う。 実行すると,割り当ておよびマウントしようとするディスク装置の装置名, ボリューム・ラベル,および論理名の入力を求める。 ディスクに論理名を割り当てておけば,装置を繰り返し割り当て, マウントすることもできる。

    この他の処理を加えると,コマンド・プロシージャはさらに有用になる。 たとえば,ディスクの割り当てを解除して, ディスマウントする処理を追加する方法もある。第8.10.2項で紹介する磁気テープの設定用のコマンド・ プロシージャ例には,そうした機能がいくつか追加されている。

  3. SETUP.COMコマンド・プロシージャを実行する場合は,次のコマンドを入力する。
         $ @SETUP
    

8.10.2 テープ・ボリュームの設定用のコマンド・ プロシージャ例

例 8-1で紹介するコマンド・ プロシージャは磁気テープの設定用であり, 前節の例より複雑で,もっと細かい処理を行います。 このコマンド・プロシージャには,ALLOCATEとMOUNT/FOREIGNコマンドが含まれています。 テキスト・エディタを使ってコマンド・プロシージャを作成してみてください。

例 8-1 テープ・ボリューム設定用のコマンド・ プロシージャ

$ ! First mount the tape on the drive
$ ON CONTROL_Y THEN GOTO EXIT
$ ON ERROR THEN GOTO EXIT
$ WRITE SYS$OUTPUT "Welcome to FETCH."
$ WRITE SYS$OUTPUT " "
$ L1:  INQUIRE/NOPUNC PHYS "Have you placed the volume in the drive? "
$ IF .NOT. PHYS THEN GOTO L1
$ INQUIRE/NOPUNC DRIVE "Which drive is the volume mounted on? "
$ DRIVE = DRIVE - ":"
$ ALLOCATE 'DRIVE'
$ MOUNT/FOREIGN 'DRIVE'
$ ON ERROR THEN GOTO COMMAND_LOOP
$ !
$ COMMAND_LOOP:  INQUIRE/NOPUNC OPTION "FETCH> "
$ IF OPTION .EQS. "DIR" THEN GOTO DIR
$ IF OPTION .EQS. "EXIT" THEN GOTO EXIT
$ IF OPTION .EQS. "FETCH" THEN GOTO FETCH
$ IF OPTION .EQS. "HELP" THEN GOTO HELP
$ IF OPTION .EQS. "LIST" THEN GOTO LIST
$ GOTO COMMAND_LOOP
$ !
$ DIR:  INQUIRE SPEC "Filespec"
$ DIR 'SPEC'
$ GOTO COMMAND_LOOP
$ HELP:
$ WRITE SYS$OUTPUT "Enter any of the following commands at the prompt:"
$ WRITE SYS$OUTPUT " "
$ WRITE SYS$OUTPUT " "
$ WRITE SYS$OUTPUT "DIR         (To search for a file)"
$ WRITE SYS$OUTPUT " "
$ WRITE SYS$OUTPUT "EXIT        (To exit this program)"
$ WRITE SYS$OUTPUT " "
$ WRITE SYS$OUTPUT "FETCH       (To perform a BACKUP RESTORE operation)"
$ WRITE SYS$OUTPUT " "
$ WRITE SYS$OUTPUT "HELP        (To read this text)"
$ WRITE SYS$OUTPUT " "
$ WRITE SYS$OUTPUT "LIST        (To perform a BACKUP LIST operation)"
$ GOTO COMMAND_LOOP
$ !
$ FETCH:  INQUIRE FILE "Filespec"
$ INQUIRE SAVESET "Save set name"
$ LINE := BACKUP/LOG 'DRIVE':'SAVESET'/SELECT='FILE'
$ INQUIRE EXCLUDE "Enter any filespecs you want excluded"
$ IF EXCLUDE .EQS. "" THEN GOTO L2
$ LINE := 'LINE'/EXCLUDE=('EXCLUDE')
$ !
$ L2:  INQUIRE/NOPUNC TO "Where do you want the file(s)? (<RET> for current directory)"
$ IF TO .EQS. "" THEN GOTO REPLACE
$ LINE := 'LINE' 'TO'
$ GOTO L3
$ REPLACE:  LINE := 'LINE' []
$ !
$ L3:  INQUIRE/NOPUNC NEW "Create a new version if file already exists? "
$ IF .NOT. NEW THEN GOTO NOT
$ LINE := 'LINE'/NEW_VERSION
$ !
$ NOT:  LINE := 'LINE'/OWNER_UIC=ORIGINAL
$ LINE
$ GOTO COMMAND_LOOP
$ !
$ LIST:  INQUIRE SPEC "Filespec"
$ INQUIRE SAVESET "Save set name"
$ INQUIRE/NOPUNC OUTPUT "What do you want to call the list file? (<RET> for SYS$OUTPUT )"

$ IF OUTPUT .EQS. "" THEN GOTO NOOUT
$ LINE := BACKUP/LIST='OUTPUT' 'DRIVE':'SAVESET'/SELECT=('SPEC')
$ GOTO L4
$ NOOUT:  LINE := BACKUP/LIST 'DRIVE':'SAVESET'/SELECT=('SPEC')
$ !
$ L4:  INQUIRE EXCLUDE "Enter any filespecs you want excluded"
$ IF EXCLUDE .EQS. "" THEN GOT L5
$ LINE := 'LINE'/EXCLUDE=('EXCLUDE')
$ !
$ L5:  LINE
$ GOTO COMMAND_LOOP
$ !
$ EXIT:
$ DISMOUNT 'DRIVE'
$ DEALLOCATE 'DRIVE'

このコマンド・プロシージャのファイル名がFETCH.COMであると仮定します。 このプロシージャを実行するためには,次のコマンドを入力します。

     $ @FETCH

前節の例と異なり,FETCH.COMには,割り当てやマウント以外の入力を求める機能もあります。 具体的には,たとえばテープがドライブに装填されているかどうかの問い合わせを行います。 また,FETCH.COMはBACKUP復元処理も行い, いくつのオプションの指定を求めます。最後の処理としてFETCH.COM は,ユーザが作業を終えた後,明示的に磁気テープ・ボリュームをディスマウントし, ドライブの割り当てを解除します。

8.11 ディスク空間の管理

ファイルに使用できるディスク空間には限りがあります。システム管理者はユーザと協力して, ディスク空間を最適に利用する必要があります。

次の項では,ディスク・クォータと,ディスク空間を節約および監視するための手段について説明します。

作業 参照箇所
ディスク・クォータの設定 第8.11.2項
ファイルのパージ 第8.11.3 項
ファイルに対するバージョン制限の設定 第8.11.4 項
ファイル満了日の設定 第8.11.5項
ANALIZE/DISK_STRUCTUREユーティリティによるディスクの検査と修復 第8.12 節

8.11.1 ディスク・クォータ

ディスク・クォータは,公用ボリューム上でユーザが使用可能なディスク空間の量に制限を設け, 実施する手段です。システム管理者は, 公用ボリュームごとにクォータ・ファイルを作成し,保守することによって, ボリュームまたはボリューム・セット上で個々のユーザが使用可能な空間の量を制限します。 同様に,ユーザは私用ボリュームの使用方法を制限することができます。

ディスク・クォータは,ボリューム単位で管理,設定することができます。 クォータが設けられているボリュームまたはボリューム・セットは個々に専用のクォータ・ ファイルをもちますが,クォータが設けられていないボリュームにはクォータ・ ファイルはありません。またボリューム・ セットの場合は,ボリューム1にクォータ・ファイルが作成されます。

OPER特権がある場合は,システム管理者あるいはボリュームを保守するユーザは,SYSMAN ユーティリティを使用して,識別子コードを指定し,クォータと超過値を設定します。 通常のファイル処理中,システムは自動的に使用量を管理します。

ファイルの作成中にディスク空間が不足したユーザには,システム・メッセージが送られます。 そして,不要なファイルをパージまたは削除しても, 十分が空間が得られない場合は,通常,ディスク・クォータを増やすようユーザがシステム管理者に要請することになります。 スプール・プリンタにファイルを書き込む場合, ユーザはプリンタに対応するディスクに対する書き込みアクセス権を持ち, かつ十分なクォータを持っている必要があります。

ディスク・クォータ・ファイル

クォータ・ファイルは,そのディスクの使用が許されているユーザ全員の記録を取り, 現在のディスク使用状況と最大のディスク割り当て量を示すファイルです。 このファイル名はQUOTA.SYSであり,他のシステム・ ファイルとともにディレクトリ[000000]に格納されます。また, このファイルは,16個のエントリごとに1ブロック分のディスク空間を必要とします。

クォータ・ファイルの形式は次のとおりです。

        UIC【1】       Usage【2】       Permanent Quota【3】Overdraft Limit 【4】
     [0,0]             0               333333              3333
     [TTD,DAVIS]       15590           333333              3333
     [TTD,MORGAN]      1929            333333              3333
     [MKT,MORSE]       7650            333333              3333
     .
     .
     .
【1】
ボリュームのファイルを保守する権限を付与されている各ユーザの利用者識別子コード(UIC) 。UICの[0,0]はすべてのクォータ・ ファイルに含まれる。省略時のクォータと超過値を設定するときのテンプレートとして使用する。
【2】
1ユーザのファイルが実際に占有しているディスク・ ブロック数。これには,割り当てブロック数と,そのユーザが所有するすべてのファイルに対する索引ファイルの少なくとも1 ブロックが含まれる。割り当てブロック数は,DCLのDIRECTORY/SIZE=ALL /BY_OWNER= uicコマンドを使って確認することができる。
【3】
ボリューム上で1 ユーザのファイルが占有可能な最大ブロック数。ファイルの作成時にこの値を超えた場合, システムはエラー・メッセージを発行する。
【4】
1ユーザがクォータを超えることが可能なブロック数。

クォータ・ファイルの各エントリに含まれる情報は,表 8-17 のとおりです。

表 8-17 クォータ・ファイルの内容

項目 説明
一般識別子またはUIC ボリュームのファイルを保守する権限を付与されているユーザの利用者識別子コード(UIC) 。
使用状況 ボリューム上で1ユーザのファイルが占有しているブロック数。
クォータ ボリューム上で1ユーザのファイルが占有可能な最大ブロック数。この値を超えるとエラー・ メッセージが出される。
超過値 クォータを超えてユーザのファイルが占有可能なブロック数。

ボリューム上で1ユーザが占有可能な最大ブロック数は,クォータと超過値の合計です。

クォータ・ファイルは,UIC [0,0]エントリを使って初期化されます。このUIC の使用量が0から変化することはありません。言い替えれば,UIC [0,0]がファイルを所有することはできません。UIC [0,0]のクォータと超過値は省略時の値として役立てることができます。 他のUICに対するクォータおよび超過値として, 最もよく使用されると思われる値を設定してください。

クォータの管理方法

クォータ・ファイルを持つボリュームの通常の使用中,システムは,ユーザによるファイルの作成, 削除,拡張,切り詰めに応じて自動的に使用量を更新します。EXQUOTA 特権がないかぎり,クォータ・ファイルにエントリを持たないユーザが, ボリュームにファイルを作成したり,空間を割り当てたりすることはできません。

新しいファイルを作成する場合,ユーザのディスク空間の使用量は,超過値ではなく, クォータ以下にします。新しいファイルの追加,あるいは現在のファイルの拡張によってユーザのクォータを超えた場合, システムは操作を禁止し, エラー・メッセージを発行します。

たとえば編集などのセッション中,超過値をもつユーザは,使用量がクォータと超過値の合計を超えないかぎり, ディスク・クォータを超えた後でもオープンしているファイルを拡張することができます。 システムがファイルの拡張を禁止するのは, ユーザの使用量が合計に達した時点です。

EXQUOTA特権を持つユーザにクォータ制限が設定されることはありません。 ただし,使用量の管理そのものは行われます。

リビルドによるクォータ・ファイルの保全

前回使用されたときに正しくディスマウントされていなかったボリュームがマウントされると, システムは自動的にリビルド処理を行います。ボリュームにクォータが設定されている場合は, この処理により,次の条件の下でも, ディスクの使用量が正確にクォータ・ファイルに反映されるようになります。

8.11.2 ディスク・クォータの設定

省略時の設定では,ディスク・クォータは有効です。ディスクの使用量は,SYSMAN のDISKQUOTAコマンドを使って制御してください。ODSレベル2 または5のディスクでは,ユーザにディスク・クォータを割り当て,ディスク使用量の正確な記録を管理することができます。 クォータ・ファイルは, システム・ディスク以外のすべてのディスクに作成します。そして作成されたファイルには, すべてのユーザについて現在の使用量と最大ディスク使用量が記録されます。

SYSMANでは,通常はローカル・ノードからはアクセスできないディスクにもアクセスすることができます。 したがって,個人的にマウントされたディスク, あるいはシステム・ディスクとして使用されているディスクも含めて, 他のノードのすべてのディスクの使用状況に関する情報を得ることができます。 使用可能なディスクにDISKQUOTAを実行するにあたって,そのディスクが存在するノードにログインする必要はありません。

8.11.2.1 クォータ・ファイルの作成

ディスク空間の割り当ての第1ステップは,空間を割り当てようとするボリュームまたはボリューム・ セットにクォータ・ファイルを作成することです。 ユーザは,クォータと超過値の合計である絶対最大ブロック数を超えるディスク空間を占有することはできません。 ディスク・クォータを免れるのは,EXQUOTA 特権をもつユーザだけです。

作業方法

クォータ・ファイルを作成するためには,SYSPRV,BYPASS,またはGRPPRV 特権が必要です。次に,SYSMANコマンドでディスクにクォータ・ファイルを作成する手順を示します。

  1. 次の形式でSYSMANのDISKQUOTA CREATEコマンドを入力する。 /DEVICE修飾子には,クォータ・ファイルを作成するディスクを指定する。

    DISKQUOTA CREATE /DEVICE=装置名


    注意
    クラスタ内の複数のノードでマウントされているディスクに対してDISKQUOTA ENABLE コマンドを使用するときには, まずSET ENVIRONMENTコマンドでノードを指定する必要があります。

  2. 次の形式でDISKQUOTA MODIFYコマンドを使用して,目的の装置の[0,0] に適切な値を設定する。

    DISKQUOTA MODIFY /DEVICE=装置名/PERMQUOTA=値


    注意
    すでにファイルをもつディスクに対してクォータ・ ファイルを作成する,またはディスク・クォータを有効にした場合は,DISKQUOTA REBUILD コマンドを使用して,現在の使用情報に基づくディスク・ クォータ・エントリの更新を行ってください。

  3. 次の形式でSYSMANのDISKQUOTA SHOWコマンドを使用して,クォータ・ ファイルの内容を表示する。

    DISKQUOTA SHOW 所有者名/DEVICE=装置名

  1.      $ MCR SYSMAN
         SYSMAN> SET ENVIRONMENT/CLUSTER
         SYSMAN> DISKQUOTA CREATE/DEVICE=DUA12:
    

    この例の1番目のSYSMANコマンドは,クラスタ内のすべてのノードに対して環境を設定している。2 番目のSYSMANコマンドは,DUA12:装置のディレクトリ [000000]にQUOTA.SYSというクォータ・ファイルを作成している。

    この時点でのクォータ・ファイルのエントリは1つ,省略時のクォータと超過値の入ったUIC [0,0] だけである。

  2.      SYSMAN> DISKQUOTA MODIFY/DEVICE=DUA12: [0,0]/PERMQUOTA=3000
    

    DUA12:装置のクォータ・ファイルQUOTA.SYSのUIC [0,0]エントリを変更している例。 省略時のパーマネント・クォータとして3,000ブロックを設定している。

  3.      SYSMAN> DISKQUOTA SHOW [0,0]/DEVICE=DUA12:
    

    DUA12:装置のUIC [0,0]のクォータと超過値,使用量を求めている例。

8.11.2.2 ディスク・クォータの監視

システム管理者は,ユーザが消費しているディスク空間量を監視する必要があります。

コマンド 説明
MOUNT/QUOTA 特定のディスク・ボリュームにクォータを設定する。MOUNT/QUOTA を使用するためには,VOLPRO特権を持っているか, ボリュームに書き込まれているUICが自分のUICと一致していることが必要。
SHOW QUOTA 特定のディスクの特定のユーザにクォータが設定されているかを調べる。 このコマンドによって,クォータの使用量,使用許可量,使用可能残量を知ることができる。

DCLのSHOW QUOTAコマンドの形式は次のとおり。

SHOW QUOTA/USER=uic (または識別子)

SHOW QUOTAコマンドによって得られる結果は,クォータ・ファイルに対する読み込み権の有無によって異なります。

  • 読み込み権がある場合は,システムのすべてのユーザに関するディスク空間割り当て量が表示される。

  • 読み込み権がない場合は,そのユーザの割り当て量だけが表示される。

  1.      $ SHOW QUOTA
         User [DOCUMENTATION,MALCOLM] has 2780 blocks used, 7220 available,
         of 10000 authorized and permitted overdraft of 500 blocks on DISK$
    

    SHOW QUOTAコマンドを使い,現在の省略時のディスクに関する現在のユーザについて, クォータの使用許可量と使用量,使用可能残量を表示している。 使用可能な超過値は500ブロック。

  2.      $ SHOW QUOTA/USER=[DOCUMENTATION,JONES]/DISK=XXX1:
         %SYSTEM-F-NODISKQUOTA, no disk quota entry for this UIC
    

    UICが[DOCUMENTATION,JONES]のユーザは,XXX1:という装置のディスク・ クォータを持っていないことがわかる。

  3.      $ SHOW QUOTA/USER=[DOCUMENTATION,ELAINE]
         User [DOCUMENTATION,ELAINE] has 27305 blocks used, 2305 OVERDRAWN,
         of 25000 authorized and permitted overdraft of 4000 blocks on DISK$
    

    ユーザがクォータを超えていることがわかる。

8.11.2.3 クォータの一時解除

SYSMANのDISKQUOTA DISABLEコマンド(使用するにはSYSPRV特権,システムUIC ,ボリュームの所有権のいずれかが必要)を使用すると,現在の管理環境でボリュームのクォータを一時的に解除できます。DISKQUOTA ENABLE コマンドはこの一時的な解除を取り消します。 また,DCLのMOUNTコマンドに/NOQUOTA 修飾子を指定すれば,マウント時にボリュームのクォータを一時的に解除することもできます。 クォータを解除するには,特権が必要です。

MOUNTコマンドによって暗黙に,あるいはDISKQUOTA ENABLEコマンドによって明示的にボリュームのクォータを有効にした場合は, 必ず, DISKQUOTA REBUILDコマンドを使ってディスク・クォータ情報を更新する必要があります。 クォータ・ファイルの更新では,システムは新しいUIC を追加し,各ユーザの使用量を修正します。詳細は,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照してください。

作業方法

ボリュームのクォータを一時解除する手順は次のとおりです。

  1. SYSMANを起動する。

  2. ボリュームをマウントしているクラスタの各メンバーに対して, 次の形式でDISKQUOTA DISABLEコマンドを実行する。

    SYSMAN> DISKQUOTA DISABLE

  3. SYSMANを終了する。

  4. トップ・レベル・ディレクトリdisk: [000000]のQUOTA.SYS ファイルを削除する。

QUTOA.SYSファイルを削除しないかぎり,次のディスク・マウントでシステムがクォータを解除することはありません。

8.11.3 ファイルのパージ

ディスク空間を節約する最良の方法の1つは,次のファイルをパージすることです。

必要ならば,システム管理者がファイルをパージできます。しかし,使用している領域やディレクトリのファイルは, できるだけユーザがパージするようにしてください。 次に,PURGEコマンドの使用例を紹介します。

  1.      $ PURGE/LOG $DISK1:[JONES...]
    

    $DISK1:装置にある[JONES]ディレクトリとその下のすべてのサブディレクトリにあるすべてのファイルをパージしている例。 ファイルが削除されると, ターミナルにその名前が表示され,ログ・ファイルに記録される。

  2.      $ PURGE/KEEP=3 $DISK1:[*...]
    

    この例では,ワイルドカード文字を使用してグローバル・パージを行い,/KEEP 修飾子を使用して各ファイルの3つのバージョンだけを残すようにしている。

8.11.4 ファイルに対するバージョン制限の設定

ディスク空間を節約するもう1つの方法は,SET DIRECTORYまたはCREATE DIRECTORYコマンドに次の形式で/VERSION_LIMITを指定することです。これにより, ユーザがディレクトリに作成できるファイルのバージョン数を制限できます。

SET DIRECTORY /VERSION_LIMIT= n

     $ CREATE/DIRECTORY $DISK1:[JONES]/OWNER_UIC=[200,1]/VERSION_LIMIT=3

この例では,[JONES]というアカウントに含まれるファイルが3つのバージョンを超えることを禁止しています。 このディレクトリのユーザが制限を超えるバージョンを作成しようとすると, システムはファイルの古いバージョンを削除し, 最新の3つのバージョンだけ残します。


注意
マスタ・ファイル・ディレクトリ(MFD) にバージョンの制限を設定するときには注意が必要です。システムは,MFD に対して設定されたバージョンの制限を,MFD以下に作成されたすべてのディレクトリに適用するため, 誤って重要なデータが失われる可能性があります。

8.11.5 ファイル満了日の設定

Files-11ディスク構造は各ファイルの満了日に基づいて,ファイルの使用状況の記録を取ります。 したがって満了日は,DCLのBACKUP/DELETEコマンドで, めったに使わないファイルを廃棄するときに役立ちます。

ファイル満了は,Files-11構造レベル2ディスクに対してのみ使用できるファイル・ システム機能です。

ボリュームに満了日を設定すると,ファイルの保持期間は次のようになります。

頻繁にアクセスされるファイルの満了日は,現在の日付に最小期間を加えて求められる日付と最大期間を加えて求められる日付の間を行き来します。 したがって,満了日を管理するときの正確さと効率性のバランスは, 最小と最大保持期間を適切な間隔に設定ことによって保つことができます。 満了日の設定には注意が必要です。かなり具体的にするか,最も簡単な方法で設定するかのいずれかにしてください。

DIRECTORYコマンドやBACKUPユーティリティのように,コマンドやユーティリティの中には, 満了したファイルに対して選択的に働くものがあります。 たとえば,次のようにコマンドを発行したと仮定します。

     $ BACKUP/DELETE PUBLIC:[*...]/BEFORE=TODAY/EXPIRED  MUA0:ARCH20JUN

このBACKUPコマンドは,満了したすべてのファイルを,テープにコピーしてから削除します。 ユーザがファイル満了日を知らないこともありますから, テープはかなりの期間残しておくようにしてください。

BACKUPコマンドについては,第10.13.2項で詳しく説明します。

作業方法

満了日の設定を有効にする場合は,DCLのSET VOLUMEコマンドを次の形式で使用します。

SET VOLUME 装置名[:][,...]/RETENTION=(最小,最大)

最小と最大には,ボリューム上のファイルの最小および最大保持期間を示すデルタ時間値を指定します。

SET VOLUME/RETENTIONコマンドに値が1つしか指定されなかった場合,システムはその値を最小保持期間と見なします。 また最大保持期間は,最小値の2 倍,または最小値に7日を加えた期間のいずれか小さい方に設定します。 次の例を参照してください。

     $ SET VOLUME PAYVOL1:/RETENTION=(3)

この場合,システムは3を最小保持期間と見なします。このとき最小の2倍は6 ,最小に7を加えた値は10です。システムは小さい方を使用しますから, 最大保持期間は6ということになります。

保持期間に1時間といった非常に小さな値を設定することにより,他のオペレーティング・ システムに用意されている「アクセス日付」の管理をシミュレートすることができます。 ただし,これを行うと,ファイル・システムのオーバヘッドがかなり大きくなります。

ファイル満了日管理機能によって,不要なファイルが自動的に削除されることはありません。 そうではなく,システムはファイル満了日を管理することによって, ほとんど,またはまったく操作されることのないファイルを独自の方法で処理するのを手助けします。


注意
既存のボリュームに対して満了日管理機能を有効にしたとしても, ファイルの満了日は,アクセスが行われないかぎりゼロです。 満了日が0のファイルは満了と見なされます。

SET VOLUMEコマンドのパラメータと修飾子については,『OpenVMS DCLディクショナリ』で詳しく説明しています。

     $ SET VOLUME DUA0:/RETENTION=(15-0:0,20-0:0)

最小保持期間を15日,最大保持期間を20日に設定しています。

8.12 ANALYZE/DISK_STRUCTUREユーティリティによるディスクの検査と修復

ANALYZE/DISK_STRUCTUREユーティリティを使用すると,紛失ファイルや削除対象のファイルを発見, 削除して,ディスク空間を再生することができます。 このユーティリティを定期的に使用して,矛盾やエラーの有無の検査や紛失ファイルの回復を行ってください。

ANALYZE/DISK_STRUCTUREユーティリティは,ハードウェア・エラー,システム・ エラー,またはユーザ・エラーによって引き起こされたFiles-11ディスク構造(ODS) ディスクの問題を検出します。このユーティリティが行う処理は次のとおりです。

ANALYZE/DISK_STRUCTUREユーティリティは,明確に8つの段階に分けて, ボリュームまたはボリューム・セットの検査を行い,エラーの報告や修復に使用する情報を収集します。 ただし,このうちエラーの修復が行われるのは,/REPAIR 修飾子が指定された場合だけです。

ANALYZE/DISK_STRUCTUREユーティリティは次の2段階に分けて実行することをおすすめします。

  1. すべてのエラーの報告

  2. /REPAIRと/CONFIRM修飾子を用いた選択的なエラーの修復

ANALYZE/DISK_STRUCTUREの出力の指定

省略時の設定では,ANALYZE/DISK_STRUCTUREの出力はすべて使用しているターミナルで行われます。/LIST 修飾子を使用することにより,ディスク上の各ファイルについて, 次のような情報を含むファイルを作成することができます。

次に,このANALYZE/DISK_STRUCTUREユーティリティを使って以下の作業を行う方法を説明します。

作業 参照箇所
エラーの報告( 修復なし) 第8.12.1項
エラーの報告と修復 第8.12.2 項
紛失ファイルの回復 第8.12.3項
ディスク使用ファイルの作成 第8.12.5項

ANALYZE/DISK_STRUCTUREユーティリティについては,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』でさらに詳しく解説しています。

8.12.1 エラーの報告

省略時の設定では,ANALYZE/DISK_STRUCTUREユーティリティはエラーの報告をするだけで, 修復は行いません。このモードでは,ANALYZE/DISK_ STRUCTUREユーティリティは8つのデータ収集段階を経た後,省略時の設定で, ターミナルにすべてのエラーと紛失ファイルのリストを出力します。

このユーティリティが発見する問題の1つに,ディレクトリ・バックリンク・ エラーがあります。バックリンクは,ファイルが存在するディレクトリに対するポインタであり, ディスクにディレクトリ・バックリンク・ エラーをもつファイルがあった場合,ANALYZE/DISK_STRUCTURE ユーティリティは,エラーの発生とそれが存在するファイルを示すメッセージを表示します。

     %VERIFY-I-BACKLINK, incorrect directory back link [SYSEXE]SYSBOOT.EXE;1

作業方法

ANALYZE/DISK_STRUCTUREコマンドの形式は次のとおりです。

ANALYZE/DISK_STRUCTURE 装置名:[修飾子]

次のコマンドは,DUA1:という装置に関するすべてのディスク構造エラーを報告します。

     $ ANALYZE/DISK_STRUCTURE DUA1:

8.12.2 エラーの報告と修復

検出したエラーの修復をANALYZE/DISK_STRUCTUREに指示する場合は,次の形式で/REPAIR 修飾子を使用します。

ANALYZE/DISK_STRUCTURE 装置名/REPAIR

また,修復するエラーを選択したい場合は,次の形式で/REPAIR修飾子と/CONFIRM 修飾子の両方を使用します。

ANALYZE/DISK_STRUCTURE 装置名/REPAIR /CONFIRM

このコマンドが入力されると,ANALYZE/DISK_STRUCTUREユーティリティはエラーごとに説明文を表示し, 修復を行うか確認を求めるプロンプトを表示します。

  1.      $ ANALYZE/DISK_STRUCTURE DUA1:/REPAIR
    

    この例では,DUA1:という装置のすべてのエラーを報告,修復させている。

  2.      $ ANALYZE/DISK_STRUCTURE DUA1:/REPAIR/CONFIRM
    

    この例では,たとえば次のようなメッセージとプロンプトが表示される。

         %VERIFY-I-BACKLINK, incorrect directory back link [SYS0]SYSMAINT.DIR;1
    
         Repair this error? (Y or N): Y
    
         %VERIFY-I-BACKLINK, incorrect directory back link [SYSEXE]SYSBOOT.EXE;1]
    
         Repair this error? (Y or N): N
    

エラーとそれに対して推奨される処置については,『OpenVMS Command Definition, Librarian, and Message Utilities Manual』を参照してください。

8.12.3 紛失ファイルの回復

紛失ファイルとは,ディレクトリにリンクされていないファイルのことです。 通常,ファイルが紛失ファイルになることはありませんが, ディスクの破損やハードウェア上の問題,ユーザ・エラーなどがあると, ファイルがディレクトリ・リンクを失うことがあります。

たとえば,ファイルやディレクトリを整理するときに,まだファイルをポイントしているディレクトリを削除してしまったと仮定します。 ファイル・ タイプが.DIRのディレクトリ・ファイルの従属ファイルを削除する前に, ディレクトリ・ファイルを削除した場合,そのディレクトリが示すファイルは紛失ファイルになります。 紛失と呼ばれるとはいえ,現実にはファイルはディスク上に残り, 空間を消費しています。

定期的にANALYZE/DISK_STRUCTUREユーティリティを使用して,紛失ファイルなどのディスク構造エラーがあるかディスクを検査してください。/REPAIR 修飾子が指定された場合,ANALYZE/DISK_STRUCTUREユーティリティはディスク:[SYSLOST] に紛失ファイルを書き込み,各ファイルに関する( この後の例に示すようなメッセージを)表示します。詳細は『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照してください。

     $ ANALYZE/DISK_STRUCTURE/REPAIR/CONFIRM DDA0:

この例では,DDA0:という装置のすべてのエラーと紛失ファイルを解析, 修復しています。

ディスクに紛失ファイルがあると,ANALYZE/DISK_STRUCTUREユーティリティから次のようなメッセージが表示されます。

     %VERIFY-W-LOSTHEADER, file (16,1,1) []X.X;1
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (17,1,1) []Y.Y;1
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (18,1,1) []Z.Z;1
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (19,1,1) []X.X;2
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (20,1,1) []Y.Y;2
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (21,1,1) []Z.;1
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (22,1,1) []Z.;2
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (23,1,1) LOGIN.COM;163
             not found in a directory
     %VERIFY-W-LOSTHEADER, file (24,1,1) MANYACL.COM;1
             not found in a directory

これらの紛失ファイルは自動的にDDA0:[SYSLOST]に移されます。

システムに紛失ファイルが存在するかどうかの検査は,バックアップ処理でも行うことができます。 詳細は第10.13.3 項を参照してください。

8.12.4 古いホーム・ブロックの消去

ボリュームを初期化する場合には,古いホーム・ブロックが消去されないことがあります。 これは,以前の初期化処理で作成されたブロックです。 古いホーム・ブロックを含むボリュームが破損すると,そのブロックを消去しない限り, ボリュームを復元できないことがあります。

次のように,ANALYZE/DISK_STRUCTUREコマンドに/HOMEBLOCKS修飾子を指定して, 古いホーム・ブロックを手作業で消去することができます。

     $ ANALYZE/DISK_STRUCTURE/REPAIR/HOMEBLOCKS

この作業には,最高30分かかることがありますので注意してください。

8.12.5 ディスク使用ファイルの作成

/USAGE修飾子を使用して,ディスク使用ファイルを作成することができます。 このファイルのファイル・ヘッダの識別子レコードには, ディスクとボリューム特性の要約情報が含まれ,このレコードの後に, ディスク上の各ファイルに1つの割合で一連の要約情報レコードが続きます。 要約情報レコードに含まれる情報は,ファイルの所有者,サイズ, およびファイル名情報です。

     $ ANALYZE/DISK_STRUCTURE/USAGE=[ACCOUNT]USAGE_DDA0.DAT DDA0:

この例では,/USAGE修飾子を使用してディスク使用ファイル USAGE_ DDA0.DATを[ACCOUNT]ディレクトリに作成しています。

8.13 マウント・チェックによるエラー回復

マウント・チェックは,ディスクやテープの操作時のエラー回復機構です。 マウント・チェックが有効なときに装置がオフラインになっている場合, または装置が書き込み禁止になっている場合も,問題を解決してから, 運用を継続することができます。

マウント・チェックが無効なときに書き込み禁止またはオフラインになった場合, ボリュームはただちにディスマウントされます。したがって, 保留中の入出力処理はすべて取り消され,オープンされていたファイルはすべてクローズされることになります。 また,書き込み前のデータはすべて失われます。

8.13.1 マウント・チェック

装置がオフラインになった後,システムまたはユーザが装置にアクセスしようとするとマウント・ チェックが始動します。通常,装置がオフラインになるのは, ハードウェア・エラーかユーザ・エラーが原因です。装置がオフラインになると, ハードウェア・システム(ディスクの場合はソフトウェアのこともある) はディスクまたはテープに"invalid "のマークを付けるため, その装置に対する入出力要求は処理されずに終わります。

マウント・チェックが有効なときに行われる処理は次のとおりです。

  1. ソフトウェアが,マウント・チェック中であることを示すマークをボリュームに付ける。

  2. 問題が解決されるまで,ソフトウェアがボリュームに対するすべての入出力処理を保留にする。

  3. オペレータ通信マネージャ(OPCOM)が,DISKSとDEVICESまたはTAPES とDEVICESの操作が可能なオペレータにメッセージを送る。このメッセージは次の形式でディスクまたはテープが使用不可能であることを通知する。
         %%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
         Device <device-name> is offline.
         Mount verification in progress.
    

装置がオフラインか書き込み禁止の場合,マウント・チェック機能は次の2 つのメッセージを送信します。

2つ目のメッセージは,OPCOMが使用不可能なときのいわば保険です。このメッセージがあるために, たとえば,システム・ディスクがマウント・ チェックを受けていたり,OPCOMがシステムに存在しなくても,少なくとも%SYSTEM-I-MOUNTVER 接頭辞の付いたメッセージは受け取ることができます。 通常,オペレータ・ターミナルは%SYSTEM-I-MOUNTVERメッセージを最初に, それからOPCOM宛のメッセージを受信します。

これらのメッセージは問題があることを告げるものであり,このときシステム管理者またはオペレータは問題を解決して, 運用を継続することができます。 タイムアウトによってマウント・チェックが取り消された場合, OPCOMは次の形式のメッセージを表示します。

     %%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
     Mount verification aborted for device <device-name>.

マウント・チェックがタイムアウトになった場合は,保留中のものも含めてボリュームに対する入出力要求は処理されません。 再度ユーザがアクセスできるようにするためには, いったんディスマウントする必要があります。


注意
書き込み禁止が原因のマウント・ チェックがタイムアウトになることはありません。

マウント・チェックと書き込み禁止

たとえば,書き込み禁止がオフになっている装置にボリュームがマウントされていて,WRITE LOCK スイッチをオンにしたと仮定します。このときマウント・ チェックが有効な場合,ボリュームはマウント・チェックを受けますが, ボリュームに対するすべての入出力操作は,そのエラーが解決されるまで保留になります( 第8.13.2.4 項参照)。

ボリュームが最後に使用されたときにキャッシュ内容が書き戻されていないことをマウント時に検出した場合, システムはボリュームの内容を読み取ることによって, ファイル情報を自動的に再構築します。ただし,誤った方法でディスマウントされたボリュームに書き出されたファイルは, その一部または全体が失われることがあります。 こうした問題の解析と修復方法については, 第8.12節を参照してください。

ディスクやテープの操作時にマウント・チェック機能を使用することによって, ディスクやテープがオフラインからオンラインになったり,アクセス不能な状態からアクセス可能な状態になったりしても, 一般的にユーザがそれに気付くことはありません。

8.13.2 マウント・チェックの使用

この項では,次の作業を行う方法について説明します。

作業 参照箇所
マウント・チェックのオンまたはオフ設定 第8.13.2.1項
マウント・チェックのタイムアウト時間の設定 第8.13.2.2項
オフライン・ エラーからの回復 第8.13.2.3項
書き込み禁止エラーからの回復 第8.13.2.4 項
DISMOUNTコマンドによるマウント・ チェックの取り消し 第8.13.2.5 項

8.13.2.1 マウント・チェックのオンまたはオフ設定

ディスクまたはテープのマウント時,省略時の設定ではマウント・チェックは有効です。 無効にしたい場合は,マウントするときに/NOMOUNT_ VERIFICATIONを指定する必要があります。

この機能は,標準テープ,フォーリン・テープ,およびFiles-11ディスクに適用されます。

8.13.2.2 マウント・チェックのタイムアウト時間の設定

マウント・チェックを自動的に取り消す前のマウント・チェック猶予時間( 単位:秒)を設定することができます。この設定を行うときは,ディスクであればMVTIMEOUT システム・パラメータ,テープであればTAPE_ MVTIMEOUTシステム・パラメータを使用します。

省略時の時間制限は,テープでは600秒(10分)であり,ディスクでは3600 秒(1時間)です。システム・パラメータについての詳細は,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照してください。

これらのパラメータには,サイトの状況に従った適切な値を設定してください。 パラメータ値を変更しても,現在行われているマウント・チェックには影響ありません。

8.13.2.3 オフライン・エラーからの回復

マウント・チェックが有効なときに,マウントしたディスクやテープ・ボリュームがオフラインになった場合は, 次の方法で修復を試みたり,マウント要求を取り消したりすることができます。

装置をオンラインに戻すことに成功すると,ディスクまたはテープ・ドライブにポーリングを行うマウント・ チェック・ソフトウェアは,次の順序で検査を開始します。

  1. 現在マウントされているディスクまたはテープと,前にマウントされていたディスクまたはテープの識別子が同じか調べる。 これによりマウント・ チェック機能は,ディスクが前と同じものであり,ディスクの交換が行われていないことを確認することができる。

    装置にロードされているボリュームが正しくない場合は,OPCOMが次の形式のメッセージを表示する。

         %%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
         Device <device-name> contains the wrong volume.
         Mount verification in progress.
    

  2. マウント・チェックが終了すると,ディスクには有効のマークが付けられ,OPCOM は次の形式のメッセージを表示する。
         %%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
         Mount verification completed for device <device-name>.
    

  3. 次の例に示すように,ディスクまたはテープに対する入出力処理が再開する。
         %%%%%%%%%%% OPCOM, 28-MAY-1998 11:54:54.12 %%%%%%%%%%%
         Device DUA0: is offline.
         Mount verification in progress.
    
         %%%%%%%%%%% OPCOM, 28-MAY-1998 11:57:34.22 %%%%%%%%%%%
         Mount verification completed for device DUA0:.
    

    この例ではOPCOMは,装置DUA0:がオフラインで,マウント・チェックが始まったことをオペレータに通知している。 オペレータは,誤ってドライブがオフになったが, 再度オンになったことがわかる。

    最後のメッセージは,エラーの前のボリュームと同じであることというマウント・ チェックの条件が満たされていることを示す。このため, ボリュームに対するすべての入出力処理が再開する。

8.13.2.4 書き込み禁止エラーからの回復

書き込みを行おうとしてディスクまたはテープ・ボリュームをマウントしているときに, ハードウェア・エラーやユーザ・エラーが発生すると,装置はライト・ ロックになります。たとえば,ディスクがライト・ロックであるとか, テープに書き込みリングがないといったときがそうです。こうしたライト・ ロック・エラーで入出力処理に失敗した場合,ソフトウェアはディスクまたはテープがライト・ ロックになっていることを検出し,ただちにマウント・ チェックを開始します。

OPCOMはこのとき,DISKSとDEVICESまたはTAPESとDEVICESの操作が可能なオペレータに次の形式のメッセージを送り, ディスクまたはテープが使用不可能なことを通知します。

     %%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
     Device <device-name> has been write-locked.
     Mount verification in progress.

これに対しオペレータは,次のいずれかの方法でエラーを解決するか,マウント・ チェックを終了させることができます。

マウント・チェック・ソフトウェアによって,ボリュームが書き込み許可状態になったことが確認されると, メッセージなしで,テープまたはディスクに対する入出力処理が再開されます。

8.13.2.5 マウント・チェックの取り消し

マウント・チェック要求は,次のいずれかの方法で取り消すことができます。

次の項で,1番目に挙げたDISMOUNTコマンドを使用する方法をさらに詳しく説明します。 最後に挙げた,IPCを使ってマウント・チェックを取り消す方法の詳細については, 第8.14.2項を参照してください。

DISMOUNTコマンドの使用

ボリュームをディスマウントして,マウント・チェックを取り消す手順は次のとおりです。

  1. 別のターミナルからログインする。ボリュームに対するアクセス権を持つ, ログイン中のターミナルがあれば,そのターミナルを使用することができる。 オペレータ・ターミナルである必要はない。

  2. ボリュームに対してDISMOUNT/ABORTコマンドを入力する。(グループやシステム・ ボリューム以外のボリュームに/ABORT修飾子を使用するためには, そのボリュームの所有権か,ユーザ特権のVOLPROを所有している必要がある。)

    システムがOpenVMS Cluster環境のメンバの場合は,/CLUSTER修飾子も指定すること。

    ボリュームをディスマウントすることによって保留中のマウント・チェックを取り消すと,OPCOM から次のメッセージが表示される。

         %%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
         Mount verification aborted for device <device-name>.
    

    ボリュームに対するアクセス権がない場合は,エラー・メッセージが表示される。 その場合は,適当なプロセスを見つけて,再度試みる。 プロセスがハングした場合は,システム・ファイルのACPがハングするので, この方法を使ってマウント・チェックを取り消すことはできない。

  3. 取り消されたら,ドライブからボリュームを取り出す。

8.14 IPC (割り込み優先順位レベルC)の使用

IPCは,ソフトウェア割り込みを発行してコンソール・ターミナルのアテンションを取得する特殊なプログラムです。IPC コマンドを使用すると, OpenVMSクラスタ内でのクォーラムの調整,マウント・チェックの取り消し, デバッガに入ること,ができます(ここでいうデバッガとは,システムレベル・ デバッガXDELTAのことです)。


注意
IPCコマンドは,デバッグと試験環境で使用するだけのために用意されています。 このコマンドを使用すると, 予期しない結果を引き起こす可能性があります。

IPCプログラムは小文字を大文字に変換し,複数のスペースを圧縮して, 先行するゼロを無視します。また,不正な文字を受け取ると,ターミナル・ ベル文字を発行します。大部分の制御文字は不正な文字と見なされます。

IPCの起動方法

  1. OpenVMS VAXシステムとAlphaシステムの両方で,次のコマンドをコンソール・ ターミナルから入力する。
         $ <Ctrl/P>
    

    このコマンドはエコー・バックしない。このコマンドへの応答は,それぞれの実装によって異なる。 この例ではその部分を省略記号で示す。 . . .

  2. 使用しているハードウェアに固有である次のコマンドを入力する。

  3. Ctrl/Zを押してIPCを終了する。
         IPC> <Ctrl/Z>
    

8.14.1 クォーラムの再計算

次のコマンドをコンソールで入力すると,クォーラムの再計算ができます。

IPC QコマンドはOpenVMS Clusterでクォーラムを再計算しますが,これらのコマンドは使用しないでください。 その代わりに,次に示すいずれかを使用してクラスタ・ クォーラムを再計算してください。

8.14.2 マウント・チェックの取り消し

IPCを使ってマウント・チェックを取り消すには, IPC>プロンプトが表示されているときにコンソール・ ターミナルから次のコマンドを入力してください。

     IPC> C 装置名

このコマンドは,指定された装置に対して保留中のマウント・チェックをすべて取り消します ( 指定された装置に対して進行中のマウント・チェックがない場合には, 警告が表示されます)。次の例を参照してください。

     IPC> C MUA1:

保留中のマウント・チェックが取り消されると,OPCOMは次のメッセージを表示します。

     %%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
     Mount verification aborted for device <device-name>.

この方法で保留中のマウント・チェックを取り消してから,ボリュームにアクセスするためには, いったんディスマウントする必要があります。

     %%%%%%%%%%% OPCOM, 28-MAY-1998 10:54:54.12 %%%%%%%%%%%
             Device DUA0: is offline.
             Mount verification in progress.

VAXシステムの場合,次のコマンドを入力します。

     $ <Ctrl/P>
        .
        .
        .
     >>> D/I 14 C
     >>> CONT
     IPC> C DUA0:
     IPC> (<Ctrl/Z>)
     %SYSTEM-I-MOUNTVER, _DUA0: has aborted mount verification.
     %%%%%%%%%%% OPCOM, 28-MAY-1998 10:56:26.13 %%%%%%%%%%%
     Mount verification aborted for device DUA0:

Alphaシステムの場合,次のコマンドを入力します。

     $ <Ctrl/P>
        .
        .
        .
     >>> D SIRR C
     >>> CONT
     IPC> C DUA0:
     IPC> (<Ctrl/Z>)
     %SYSTEM-I-MOUNTVER, _DUA0: has aborted mount verification.
     %%%%%%%%%%% OPCOM, 28-MAY-1998 10:56:26.13 %%%%%%%%%%%
     Mount verification aborted for device DUA0:

両方の例で,DUA0:はオフラインになっていて,ディスクのバックアップを行えない状態にあります。 また同じコントローラで使用できる装置がないため,2 台のドライブのユニット・セレクト・プラグを入れ換えることができません。

このボリュームが私用ボリュームとしてマウントされていたからといって,DISMOUNT コマンドは入力しないでください。また,このディスクにはアクセス権はありません。 コンソール・ターミナルのため,%SYSTEM-I- MOUNTVERメッセージが表示されています。

8.14.3 デバッガに入る

XDELTAデバッガを使用するには,コンソール・ターミナルから次のコマンドを入力します。

     IPC> X

これでデバッガに入りました。Xコマンドはデバッグ用ツールXDELTAに制御を転送します ( ブート・ファイルで適切な値を設定することで,システムにロードされていた場合) 。XDELTAがロードされない場合には,プロンプトIPC> が再度発行されます。次の例を参照してください。

     IPC> X
     IPC>

デバッガを終了するには,次のようにCtrl/Zを押します。

      <Ctrl/Z>)

XDeltaデバッガの詳細については,『OpenVMS Delta/XDelta Debugger Manual』を参照してください。

8.15 BADユーティリティによる媒体エラーの検出

DCLのANALYZE/MEDIAコマンドは,オプションのBAD (Bad Block Locator) ユーティリティを起動し,ブロック・アドレシング方式の装置を解析して, 正常なデータ記憶が行えないと思われるブロックの位置を記録します。


注意
最近の装置の多くは不良ブロックを自動的にチェックします。 しかし,古い装置では,不良ブロックのチェックが行われないため,BAD ユーティリティが役に立ちます。

ボリューム上のブロックを検査するため,ANALYZE/MEDIAは次のことを行います。

データが正確に一致しない場合,そのブロックはデータを正常に記憶できないと見なされます。

不良ブロックがあると,BADユーティリティはそのブロックのアドレスを記録します。 ラスト・トラック型装置でない場合,連続して不良ブロックは1 エントリとして記録されます。そして,ディスクの検査を終えると, 記録したアドレスをDBBF (Detected Bad Block File)というファイルに書き出します。


重要
BADを起動すると,DBBFの内容が破壊されます。 ボリュームの内容を消去せずにDBBFを更新したい場合は,ANALYZE/MEDIA に/NOEXERCISEと/BAD_BLOCKS修飾子を指定してください。

作業方法

BADを使用する手順は次のとおりです。

  1. DCLのALLOCATEコマンドを使って装置を割り当て,他のプログラムからアクセスされないようにする。

  2. DCLのMOUNT/FOREIGNコマンドを入力する。

    装置をフォーリン・ボリュームとしてマウントすると,システムがFiles-11 ボリュームとして認識することがないので,BADの実行が可能になる。

  3. DCLコマンドANALYZE/MEDIAを入力する。

BADユーティリティの使用法についての詳細は,オンライン・ヘルプ,またはオプションのマニュアルの『OpenVMS Bad Block Locator Utility Manual』を参照してください。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]