|
≫ |
|
|
|
この章では,次の事項について説明します。
-
-
ボリュームとボリューム・セット:
ディスクと磁気テープ・デバイス両方の設定に関係する作業である割り当てと初期化,マウントについて。
-
ディスク:
ディスクの保守に関係する作業であるディスク空間の管理と,ディスク・エラーの検出および修復方法について。
この章の内容この章では次の作業について説明します。
さらに,次の項目について説明します。 記憶媒体に関する次の用語を理解してください。
用語 | 定義 |
---|
デバイスまたはドライブ | 記憶媒体へのアクセスを可能にするハードウェア。 |
媒体 | データの記憶が可能なアイテム。 |
ボリューム | 論理的なデータ格納ユニット。
媒体 1 つのこともあれば,複数のこともある。
オペレーティング・システムが,
ディスクまたはテープをボリュームとして認識するためには,
それらの媒体をデバイスにマウントする必要がある。 |
以降ではこれらの用語を使ってメディアの概念を説明します。
9.1.1 ディスクと CD-ROM の概念 | |
この節ではディスクとCD-ROM関係の用語の意味をまず説明し,続いて,
ディスク・ファイル構造と ISO 9660 規格について説明します。
ディスクはファイルが格納されている物理メディアです。
オン・ディスク構造 (ODS) は,ディスクに格納された情報に与えられた論理構造を参照します。
これはファイル,そのデータ,それらにアクセスするために必要なディレクトリの階層構造的な組織です。
OpenVMS ファイル・システムは ODS を実装しており,
ディスクに配置されたファイルへのアクセス制御を提供しています。
コンピュータとともに使用される コンパクト・ディスク読み出し専用メモリ (CD-ROM) とその読み出しデバイスは,オーディオで使われる CD-ROM と非常によく似ています。
大きな違いは CD-ROM デバイスが (オーディオではなく)デジタル・インタフェースをもっていること,またエラー訂正とデータ・ブロックをエンコードするためのフォーマッティングのための追加層を持っていることです。
テープ・デバイスやほかの取外し可能メディアよりも大容量のデータを格納できる CD-ROM の利点:
-
テープ・デバイスでは不可能なでーたけはのダイレクト・アクセスができる。
-
CD-ROM は他のダイレクト・アクセス・メディアに比べて価格的に割安である。
出版や配布での使用が典型的な使用方法である。
-
CD-ROM は非常に大容量の格納領域を持っている。
1枚のCD-ROM は,約 650 MB のデータを格納することができる。
表 9-1 「ディスク とCD-ROM の用語」 は,
ディスクと CD-ROM についての用語を定義しています。
表 9-1 ディスク とCD-ROM の用語 用語 | 定義 |
---|
セクタ | 固有にアドレス可能な単位。
CD-ROM の各セクタは 2048 の 8-ビット バイトからなる。
ほとんどのディスクでは,1 セクタはブロック(512 バイト)と同等。 |
論理ブロック | ボリューム領域の組織的な単位。
512 の 8-ビット バイトからなる。
CD-ROM のセクタは 4 ブロックからなる。 |
論理ブロック番号 |
論理ブロック番号は 0 から始まり n-1まで。 |
クラスタ
[1] | ディスク空間が割り当てられる基本単位となる,ブロックの論理的なグループ。 |
エクステント | 特定の 1 つのファイルに割り当てられた連続ブロック。 |
ファイル | 1 から始まり n-1 までの番号に一群の属性値を加えた番号を持つ連続する仮想ブロック
[2]
の配列。
ファイルはデータ・ファイルかディレクトリ・ファイルのいずれかであり,
ディレクトリはデータ・ファイルとディレクトリ・ファイルの両方を含むことができる。 |
ボリューム | 新しいファイル構造を作成することによって使用可能になったディスク。 |
ボリューム・セット | 複数ボリュームの一団。
外見上は,大きな 1 つのボリュームになる。 |
ディスクまたは CD-ROM 上の情報は,ディスクまたは CD-ROM 上の論理ブロック,またはディスク上の仮想ブロックとしてアクセスすることができます。
9.1.1.2 ディスクおよび CD-ROM ファイル構造
ディスク構造 (ODS) はディスクまたは CD-ROM 上の情報に与えられた論理構造を参照します。
この構造は,ファイル,そのデータ,ディレクトリの階層的組織であり,
これらにアクセスをするために必要なものです。
OpenVMS ファイル・システムはディスク構造を実装し,
ディスク上に配置されたファイルへのアクセスを制御します。
図 9-1 「ファイルのディスク構造階層構造」 は,ディスク構造内のブロック,クラスタ,エクステント,ファイルの階層構造を示しています。
任意の1エクステントのブロックの数はクラスタ・サイズの倍数です。
図中では,クラスタ・サイズを2と仮定しています。
OpenVMS ファイル構造の種類オン・ディスク構造には レベル 1,2,5 があります (レベル 3,4 は,ISO 9660 と ハイシエラ CD 形式の内部で使用する名称)。
ODS-1, ODS-2 構造は OpenVMS システムで従来から使用されてきました。
Alpha システム (および I64 システム) での OpenVMS バージョン 7.2 からは,ディスクのフォーマットに ODS-5 も使用できます。
OpenVMS Alpha オペレーティング・システムおよび I64 オペレーティング・システムでは,
ODS-1 を除き,表 9-2 「OpenVMS システムでのファイル構造の種類」 に示すディスクと CD-ROM の構造のすべてを認識することができます。
VAX システムでは,
ODS-5 が有効化されたボリュームをマウントすることはできますが,
ODS-5 固有の機能を使用することはできません。
システムが使用する入出力処理と互換性を持つボリュームとファイル構造を組み込むために,1 つまたは複数の形式が使用できます。
表 9-2 OpenVMS システムでのファイル構造の種類 構造 | ディスクまたは CD-ROM | 説明 |
---|
ODS-1 | 両方 |
VAX のみ。
RSX との互換性のために使用される。
RSX-11M, RSX-11D, RSX-11M-PLUS, IAS オペレーティング・システム |
ODS-2 | 両方 |
VAX,Alpha,I64 間で完全な互換性を持ってデータを共有するために使用する。
これは OpenVMS オペレーティング・システムの省略時の設定である。 |
ODS-5 | 両方 | ODS-2のスーパー・セット。
Alpha システムおよび I64 システムで,Windows NT のように 拡張文字セット,または ODS-2 よりも深いディレクトリが必要なオペレーティング・システムと連携する場合に使用する。 |
ISO 9660 CD
| CD | ISO 形式ファイル。
他のシステムでサポートされるプラットホームに拠らない出版と配布に使用する。 |
ハイシエラ | CD | ISO 9660 の一種。 |
2 重形式 | CD |
ISO 9660 CD と ODS 形式の2つを1つのボリュームで持つ。
ファイルにアクセスするには,
同じデータを指す,2つのディレクトリのどちらも使用できます。
|
フォーリン | 両方 | Unknownファイル構造。
フォーリン構造を指定すると,システムに対して既知のボリュームの目次を作成する。
しかし,システムはそのファイル構造については前提となる情報を持たない。
アプリケーション側は構造についての情報を提供する責任がある。 |
ファイルを作成する場合,
OpenVMS の レコード管理サービス(RMS) に対してファイル名を指定し,この名前は ディスク・ボリューム上のファイルに割り当てられます。
RMS は,その新規に作成されたファイルのファイル名とファイルIDをディレクトリに配置します。
そのディレクトリには,それぞれのファイルのロケーションを定義するエントリが含まれます。
ファイルにアクセスする場合,
ファイル名を指定しますが,このファイル名がディレクトリ・エントリを通じてファイル識別子へのパスを与えます。
次にファイル識別子は,ファイル・ヘッダの位置を示します。
ファイル・ヘッダには実際のデータの位置を示すエクステント(単数あるいは複数)のリストがあります。
OpenVMS システムでの予約ファイル予約ファイルは,ディスク構造(ODS) レベル2,5 ボリュームも構造を制御します(これらの ファイルのうちの5つが レベル1 ボリュームに使われます)。
表 9-3 「予約ファイル」は,すべての予約ファイルを掲げており,
どの ODS レベルが関係しているかおを示しています。
表 9-3 「予約ファイル」のファイルは,
マスタ・ファイル・ディレクトリ (MFD),[000000]にあるものです。
『OpenVMS システム管理者マニュアル (下巻)』にあるそれぞれの予約ファイルについての説明を参照してください。
表 9-3 予約ファイル 予約ファイル | ファイル名 | 構造レベル 1[1]
| 構造レベル 2 と 5 |
---|
インデックス・ファイル | INDEXF.SYS;1 | Yes | Yes |
ストレージ・ビットマップ・ファイル | BITMAP.SYS;1 | Yes | Yes |
バッド・ブロック・ファイル | BADBLK.SYS;1 | Yes | Yes |
マスタ・ファイル・ディレクトリ | 000000.DIR;1 | Yes | Yes |
コア・イメージ・ファイル | CORIMG.SYS;1 | Yes | Yes |
ボリューム・セット・リスト・ファイル | VOLSET.SYS;1 | | Yes |
継続ファイル | CONTIN.SYS;1 | | Yes |
バックアップ・ファイル | BACKUP.SYS;1 | | Yes |
ペンディング・バッド・ブロック | BADLOG.SYS;1 | | Yes |
ボリューム機密保護プロファイル | SECURITY.SYS;1 | | Yes |
ストレージ・ビットマップと索引ファイル・ビットマップの制限
OpenVMS のこれまでのバージョンでは,ストレージ・ビットマップと索引ファイル・ビットマップの大きさが,255 ブロックまでに制限されていました。
このサイズは,
約 100 万割り当てユニットまたはクラスタにボリュームを制限していました。
大規模なディスクでは,この制限に適応するためにより大きなクラスタ・ファクタを持つ必要がありました。
たとえば,9 GB のディスクはクラスタ・ファクタを 18 にする必要がありました。
OpenVMS バージョン 7.2 からは,
ストレージ・ビットマップと索引ファイル・ビットマップのこの制限が,
次のように拡大されました。
ビットマップのタイプ | 制限 |
---|
ストレージ・ビットマップ | 65535 ブロック |
索引ファイル・ビットマップ | 4095 ブロック |
ビットマップ制限が拡大したおかげで,次の利点が得られます。
-
小さなファイルでより効率的に領域を使えるようになる。
-
1 つのボリュームで使用できるファイルの数が,
アーキテクチャ上の最大値である約 1600 万に増やされている。
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 修飾子を使ってください。
9.1.1.3 ODS-1 (VAX のみ),ODS-2,ODS-5 (Alpha および I64) 形式の比較
表 9-4 「ODS-1, ODS-2, ODS-5 形式の比較」
は,ディスク構造(ODS) レベル 1, 2, 5のそれぞれの固有の特徴について説明しています。
表 9-4 ODS-1, ODS-2, ODS-5 形式の比較 特徴 | ODS-1 (VAX のみ) | ODS-2 | ODS-5 (Alpha および I64) |
---|
ファイル名の長さ | 9.3 | 39.39 | 238 バイト。
ドットとファイルタイプを含む。
Unicode の 236 バイト は 119 文字。
ドットとファイルタイプを含む。 |
文字セット | 大文字英数字 | 大文字英数字とハイフン,ドル記号($),アンダースコア(_) | ISO Latin-1, Unicode (『OpenVMS ユーザーズ・マニュアル』を参照) |
ファイル・バージョン | 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.3-1 以降でサポートされている。 |
ページ・ファイル, スワップ・ファイル,ダンプ・ファイル,パラメー
タ (.PAR) ファイルなどのシステム・ファイル。 | サポートされる。 | サポートされる。 | サポートされない。 |
OpenVMS クラスタ・アクセス | ローカル・アクセスのみ。
ファイルは クラスタを越えて共有できない。 | ファイルは クラスタを越えて共有できる。 | ファイルは クラスタを越えて共有できる。
ただし,バージョン7.2 またはそれ以降の OpenVMS だけが ODS-5 ディスクをマウントできる。
バージョン 7.2 またはそれ以降の VAX では,
ODS-2 スタイルのファイル名のみを見ることができる。 |
ディスク | サポートされないオブジェクト | 保護されるオブジェクト | 保護されるオブジェクト |
ディスク・クオータ | サポートされない。 | サポートされる。 | サポートされる。 |
マルチ・ボリューム・ファイルとボリューム・セット | サポートされない。 | サポートされる。 | サポートされる。 |
配置制御 | サポートされない。 | サポートされる。 | サポートされる。 |
キャッシュ | ファイル識別スロットまたはエクステント・エントリ | ファイル・ヘッダ・ブロック,ファイル識別スロット,
エクステント・エントリのキャッシング | ファイル・ヘッダ・ブロック,ファイル識別スロット,
エクステント・エントリのキャッシング |
クラスタ化した割り当て | サポートされない。 | サポートされる。 | サポートされる。 |
バックアップ・ホーム・ブロック | サポートされない。 | サポートされる。 | サポートされる。 |
保護コードE | E は RSX-11M オペレーティング・システムの “extend” を意味するが,OpenVMS はこれを無視する。 | E は “execute アクセス”を意味する。 | E は “execute アクセス”を意味する。 |
強化保護機能 (たとえば,アクセス制御リスト) | サポートされない。 | 強化保護機能がサポートされる。 | 強化保護機能がサポートがサポートされる。 |
9.1.1.4 CD-ROM の ISO 9660 規格
OpenVMS でのディスク構造の実装は,ISO 9660
規格で定義されたファイル構造に準拠します。
表 9-5 「ISO 9660 用語」 は,ISO 9660 規格に関連する用語を定義しています。
表 9-5 ISO 9660 用語 要素 | 説明 |
---|
ボリューム領域 | ボリュームの情報を収めているボリューム上のあうべての論理ブロックのセット。 |
システム領域 | CD-ROM ボリューム領域の中の2つの区画の1つ。
論理セクタ0~15を含む。
システムのために予約されている。 |
データ領域 |
CD-ROM ボリュームの2つの区画のうちの1つ。
ボリューム領域の残りの部分を含む。
論理セクタ16。 |
ISO 9660 ファイル構造を OpenVMS 環境で実装するには,
部分記録データ・ブロックとデータ・インタリーブが必要です。
-
部分記録データ・ブロック
ISO 9660 ファイルは,ブロックからなるエクステントを使って,
媒体のデータ領域に記録される。
ブロックは,データで埋められていない場合もあり,
また,データの最後のブロックでない場合もある。
OpenVMS の Files-11 の場合,
データで埋められていないブロックをファイルの終端としては扱わない。
ただし,実際にファイル・ブロックの最後である場合は除く。
ファイルの終端ブロックはユーザには見えない。
-
データ・インタリーブ
エクステント内では,
インタリーブ・ギャップで区切られるファイル単位でデータは記録されます。
インタリーブ・ギャップは指定された個数のブロックで構成されます。
データ・インタリーブにより,
ファイル・データへのアクセス速度を制御することができます。
9.1.2 OpenVMS Alpha システムおよび I64 システム上での Extended File Specifications | |
Extended File Specifications では,
Windows 95 スタイルまたは Windows NT スタイルのファイル名と属性をファイルが持つことができ,OpenVMS Alpha システムまたは I64 システムから管理することができます。
Extended File Specifications を適用するかどうかは,ボリューム単位で選択できます。
従来のファイル名,および拡張ファイル名
Extended File Specifications 環境では,ファイル指定について次の命名スタイルを選択できます。
-
従来のファイル名は ODS-2, ODS-5 (Alpha および I64) の両ボリューム上で使用できる。
-
拡張ファイル名は ODS-5 (Alpha および I64) ボリューム上では使用できるが,
ODS-2 ボリューム上では使用できない。
従来のファイル名,拡張ファイル名,あるいは Extended File Specifications についての詳細は 『OpenVMS ユーザーズ・マニュアル』を参照してください。
以降の節では,OpenVMS システム上での Extended File Specifications のディスク,混在バージョン,デュアル・アーキテクチャ,ネットワークの現在のサポートについて説明します。
9.1.2.1 システムおよびユーザ・ディスクのサポート
システムでの Extended File Specifications の使用について,
制限事項と使い方のヒントは次のとおりです。
-
ODS-5 ボリュームは,VAX または Alpha のバージョン7.2以降のシステム,および I64 システムにマウントできる
(VAX システムでは,ほとんどのアプリケーションは従来のファイル名にしかアクセスできない)。
-
システム・ディスクを ODS-5 (Alpha および I64) ボリュームとして作成することは,インストール時のみサポートされている。
バージョン 7.2 以降の OpenVMS システムでは,
Extended File Specifications の機能を使用することができます。
逆に,OpenVMS の過去のバージョンが稼働しているシステムでは,
ODS-5 ボリュームをマウントすることができない,
または正しく拡張ファイル名を処理することができません。
以降の節では,OpenVMS バージョン 7.2と OpenVMS のそれ以前のバージョンとの混在バージョン・クラスタでのサポートについて説明します。
OpenVMS バージョン 7.2 システムのユーザ
OpenVMS バージョン 7.2 システムのユーザは,
バージョン 7.2 以前のファイルとディレクトリにアクセスすることができます。
たとえば,次の操作をすべて行うことができます。
-
ODS-2 ボリューム上で,深いディレクトリ構造を作成,あるいはアクセスする。
-
以前のバージョンの OpenVMS 上で作成されたセーブ・セットを読む。
-
ODS-5 ファイル名を持つファイルを DECnet を使って,
以前のバージョンの OpenVMS が稼働しているシステムへ,
ODS-2 ファイル名を持つファイルとしてコピーする。
OpenVMS 7.2 以前のバージョンのシステム
混在バージョン・クラスタには制限事項があります。
7.2 よりも以前のバージョンの OpenVMSには制限事項があります。
-
ODS-5 ボリューム上のファイルにはアクセスできない。
これは,ボリュームが物理的に CI または SCSI のどちらに接続されているか,
MSCP,あるいは QIO サーバのどちらに接続されているかに拠らない。
-
ODS-5 イメージ・セーブ・セットを正しく作成あるいは復元できない。
ただし,ODS-5 セーブ・セットから ODS-2 対応ファイル名は復元することができる。
9.1.2.3 デュアル・アーキテキチャ・サポート
OpenVMS Alpha システムおよび I64 システムでは,すべての Extended File Specifications 機能が使用できます。
現状のほとんどすべての ODS-2 ディスクとファイル管理機能は VAX と Alpha バージョン 7.2 システムに同じように残されています。
ただし,拡張ファイル名と解析は VAX システムでは使用できません。
以降の節ではデュアル・アーキテキチャ・クラスタでの OpenVMS VAX と Alpha システムまたは I64 システムのサポートについて説明します。
VAX システム上で制限される Extended File Specifications
OpenVMS バージョン 7.2 クラスタのデュアル・アーキテキチャ環境では,
次の制限があります。
OpenVMS VAX システムでは,次に掲げる制限つきの Extended File Specifications が使用できます。
-
-
ODS-5 ディスク上の ODS-2 対応ファイルを書き込んだり管理できる。
BACKUPの制限事項
OpenVMS VAX システムでは,
ユーザは ODS-5 イメージ・セーブ・セットを正しく作成,
復元することができません。
ただし,ODS-5 セーブ・セットから 正しく ODS-2 対応ファイル名を復元することができます。
ユーザは,/IMAGE 修飾子を指定しない限り,
ODS-5 から ODS-2 へディスクからディスクへのコピーをすることができます。
詳しくは『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル(上巻)』を参照してください。
OpenVMS バージョン 7.2 以降では,
DECnet を介してネットワークに送られるファイル指定の長さはネットワークを使用しない場合の最大サイズに比べて短くなります。
9.1.2.5 Extended File Specifications 機能の有効化
OpenVMS Alpha システムまたは I64 システムで Extended File Specifications オン・ディスク構造の機能を使用するには,次の操作を行います。
ODS-5 ボリューム の有効化により,
HP Advanced Server for OpenVMS 7.2 clients で拡張ファイル名が使用できるようになり, OpenVMS Alpha システムまたは I64 システムからこれらの名前を見たり管理したリすることができます。
9.1.3 テープ | |
磁気テープのファイル記憶システムは,ANSI X3.27-1987 などのいくつかの米国規格と互換性を持つ ISO 1001-1986 規格の標準磁気テープ構造に準拠しています。
テープの概念そのものについては,
『Guide to OpenVMS File Applications』 を参照してください。
磁気テープに関連する用語を表 9-6 「磁気テープ関連用語」 に示します。
表 9-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 本) に収まらなかったときの追加ボリューム。 |
ボリューム・セット | 一連のファイルが記録されたボリューム。 |
レコードのブロック化によってどのように空間が節約されるかを 図 9-2 「レコードのブロック化」 に示します。
たとえば,1600bpi の磁気テープで,ブロック化されていないレコードが 10 個あると仮定します。
この場合,
各レコードは 160 文字の長さ (1600bpi では 0.1 インチ) で,それぞれ後ろに 0.6 インチの IRG が付きますから,使用されるテープは 7 インチです。
一方,同じ 10 個のレコードを 1 つのブロックにまとめると,データ・レコードに 1 インチ,IRG に 0.6 インチの 1.6 インチだけになります。
ブロック化はまた,コンピュータへのデータの流れを効率化します。
たとえば,ブロック化していない 10 個のレコードは,物理転送を 10 回行う必要がありますが,1 つのブロックにまとめると,1 回の物理転送ですみます。
さらに,同じ量のデータについて使用されるテープが短くなりますから,操作も短い時間で終わります。
ただし,ブロック化では,プログラムに割り当てるバッファ空間が大きくなります。
1 ブロック当たりのレコード数が多いほど,必要となるバッファも大きくなります。
このためブロック化にあたっては分岐点を判断する必要があります。
この判断は,使用しているコンピュータ・システムの構成と環境に基づいて行ってください。
9.1.3.2 複数テープ密度 (Alpha および I64)
バージョン 7.2 よりも前の OpenVMS Alpha では,
ユーザが磁気テープ・デバイスに設定できる密度の範囲が制限されていました。
Alpha システムおよび I64 システムの OpenVMS バージョン 7.2 以降では,その範囲が拡張され,
特定のテープ・ドライブをサポートする任意の密度を含められるようになりました。
この機能強化のおかげで,さまざまな省略時設定の密度を持つテープ・ドライブ間でテープを交換することがさらに簡単になりました。
密度は次の DCL コマンドで設定できます。
これらの DCL コマンドで /DENSITY 修飾子を使用することの詳細については,
『OpenVMS DCL ディクショナリ』を参照してください。
また,次に示すシステム管理ユーティリティを使用して密度を設定することもできます。
-
$ MOUNT (マウントされるテープには /FOREIGN 修飾子付きで)
-
/DENSITY 修飾子の使用については,『OpenVMS DCL ディクショナリ』 の MOUNT コマンド,『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』 の BACKUP ユーティリティを参照してください。
また,BACKUP での /DENSITY 修飾子の使用についての詳細は,第11章 「BACKUP の使用法」を参照してください。 例
$ 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.
|
9.1.4 公用ディスク・ボリュームと私用ディスク・ボリューム | |
ボリュームとは,デバイスにマウントできる記憶媒体の 1 つまたは複数の単位です。
ボリュームは,ディスク・ファイル構造の最も大きな論理単位です。
この節では,公用ディスク・ボリュームと私用ディスク・ボリュームの概念を説明します。
公用ボリュームは,私用ファイルと公用ファイルの両方を含むことが可能なファイル構造化ディスク・ボリュームです。
公用ボリュームは次のいずれかです。
ボリュームのタイプ | 説明 |
---|
システム・ボリューム | システム上のすべてのユーザが使用可能 |
グループ・ボリューム | グループのすべてのユーザが使用可能 |
ファイル保護によって禁止されていないかぎり,すべてのユーザは公用ボリュームとそこに含まれるファイルにアクセスすることができます。
公用ボリュームに対するファイルの作成,格納をユーザに許可する 1 つの方法は,権限を与えるユーザの 1 人 1 人についてボリューム上に省略時のディレクトリを作成することです。
公用ファイルとボリュームに対するアクセスの制御は,保護コードを設定することによって行います。
ユーザは,次の条件を満たす場合にのみ,公用ボリュームのファイルの作成,書き込み,操作を行うことができます。
-
ボリューム保護とファイル保護によってアクセスが許可されている。
またはそのファイルにアクセスが許可される特権を持つ。
-
ボリュームのディレクトリに対するアクセス権を持つ。
-
次に,公用ファイルと公用ボリュームを設定,操作するときのガイドラインを紹介します。
公用ボリュームを設定するときの考慮事項
システム管理者は,ユーザが必要とするディスク空間量と,
システムで使用可能な大容量記憶デバイスとのバランスを取る必要があります。
そして,そのバランスの取り方は,システムの大容量記憶デバイスの記憶容量によって異なります。
次に,この 2 つの比較を示します。
構成 | 説明 |
---|
大容量記憶域が小さい | システム・ファイルとユーザ・ファイルの両方を同じ 1 つの公用ボリュームに常駐させる。
ディスク・クォータを設けて,ユーザ・ファイルによってディスク・ボリュームの空間が使い切られないようにする。 |
大容量記憶域が大きい | システム・ファイルとユーザ・ファイルを完全に分けて,別のボリュームに常駐させる。
システム・ファイルが常駐するボリュームをシステム・ディスク,またはシステム・ボリュームと呼ぶ。 システム・ディスクはアクティブにしておき,常時システム・イメージの読み込みやページング,スワッピング,ファイルのスプール,
システム・ログの保守などが行えるようにする。 |
最もよく行なわれるのは,1 つの公用ボリュームをシステム・ファイルと特権ユーザのディレクトリ用にして,残りをサイトで必要なユーザ・ディレクトリ,データベース,そしてアプリケーション専用にする形態です。
いずれの形態を選択する場合も,すべての公用ボリュームについて使用計画を立て,システムを起動させてディスク性能を監視してください。
そのとき注意すべきことは次のとおりです。
-
システム・ディスクには,OpenVMS オペレーティング・システムのブートとアップデートを行うのに十分な空間を確保する。
-
システムを起動させたら,
MONITOR ユーティリティを使ってディスクの使用状況を解析し,
システム全体でディスク入出力のバランスが保たれているかどうか判断する。
このユーティリティについての詳細は,
『OpenVMS システム管理者マニュアル (下巻)』を参照のこと。
システム・ファイルをシステム・ディスクに置かずに,検索リストまたは論理名を使って,システム・ファイルにアクセスすることもできます。
詳細は『OpenVMS システム管理者マニュアル (下巻)』を参照してください。
また,システムが大規模な場合は,2 次ページング・ファイルと2 次スワップ・ファイルを他のデバイスに置いて,ディスク負荷のバランスを取ることもできます。
詳細は『OpenVMS システム管理者マニュアル (下巻)』を参照してください。
『Guide to OpenVMS Performance Management』では,システム・ファイルの再分散およびバランスのとれたディスク負荷のアーカイブについて詳しく説明しています。
私用ディスク・ボリュームは,私有ファイルだけから構成されるファイル構造化ディスク・ボリュームです。
ある状況下では,権限のないユーザがアクセスできないデバイス上で作業を行いたい場合があります。
私用ボリュームを作成し,ユーザのプロセス専用のデバイスにマウントすると,
他のユーザの影響を受けずに,確実に自分の作業を行うことができます。
私用ボリュームは何度も使用できます。
しかし,コンピュータや周辺デバイスが立入禁止区域や遠隔の位置にあるときはだれかの支援が必要です。
このようにだれかの支援が必要な場合は,
OPCOM (オペレータ通信マネージ) を使ってオペレータと通信します。
ユーザの支援要求に応えるための命令については,
9.5.3 項 「マウント中のユーザのマウント支援」 を参照してください。
この節では,ドライブの割り当てと割り当て解除について説明します。
しかし,ALLOCATE コマンドが唯一必要な状況は,
ディスマウントしてもそのボリュームにアクセスが残っていなければならないときです。
たとえば,テープを /FOREIGN と /NOFOREIGN で交互に使用するときなどです。
9.2.1 デバイスの割り当て | |
私用ボリュームを作成するためには,DCL の ALLOCATE コマンドを使い,
最初にユーザ・プロセスにデバイスを割り当てる必要があります。
これを使用するのは,エラーの可能性があり,そのエラーを修復するときにディスクを保存しておきたいときなどです。
ALLOCATE コマンドが複数のデバイスをプロセスに割り当てることはありません。
複数のデバイスを割り当てるには,複数のコマンドを使用しなければなりません。
作業方法ディスク・デバイスまたはテープ・デバイスをユーザ・プロセスに論理的に割り当てる場合は,次の形式で ALLOCATE コマンドを使用します。
例-
$ ALLOCATE DUA2:
%DCL-I-ALLOC, _MARS$DUA2: allocated
|
この例の ALLOCATE コマンドでは,DUA2:,すなわち,
コントローラ A のユニット 2 という物理デバイスを指定して,
RK10 ディスク・デバイスの割り当てを要求している。
ALLOCATE コマンドからの応答は,デバイスの割り当てが成功したことを示す。
-
$ ALLOCATE/GENERIC RA90 MYDISK
|
この例では,ALLOCATE コマンドの /GENERIC 修飾子を使って特殊なデバイスの割り当てを行っている。
この場合,
システムは最初に使用可能になった RA90 デバイスをプロセスに割り当てる。
ALLOCATE コマンドで使用可能な /GENERIC その他の修飾子については,
『OpenVMS DCL ディクショナリ』を参照してください。
また,『OpenVMS ユーザーズ・マニュアル』では,ALLOCATE コマンドのその他の例を取り上げています。
9.2.2 デバイスの割り当て解除 | |
ALLOCATE コマンドで割り当てたデバイスは,
特定のユーザ・プロセス専用として確保されます。
明示的に割り当てを解除するか,ログアウトしないかぎり,
そのデバイスがプロセスから解放されることはありません。
デバイスを割り当てたプロセスを終了させると,
明示的および暗黙に割り当てられたすべてのデバイスが自動的に割り当て解除されます。
このため,プロセスに割り当てたディスクやテープ・デバイスを明示的に割り当て解除する必要はありません。
ただし,特に理由のないかぎり,ALLOCATE コマンドで割り当てたデバイスは,必ず,DEALLOCATE コマンドを使って明示的に割り当て解除することをお勧めします。
作業方法
プロセスに割り当てたディスク・デバイスやテープ・デバイスを明示的に割り当て解除する場合は,DCL の DEALLOCATE コマンドを使用します。
DEALLOCATE コマンドは,プロセスから論理的にデバイスを切り離し,
デバイス・プールに戻します。
DEALLOCATE コマンドの形式は次のとおりです。
例次は,テープ・デバイスまたはディスク・デバイスを明示的に割り当て解除している例です。
この DEALLOCATE コマンドは,プロセスからテープ・デバイス MUA1: を論理的に切り離します。
この後,OpenVMS オペレーティング・システムは DCL レベルに戻ります。
ディスク・ボリュームやテープ・ボリューム,CD-ROM ボリュームを初期化する目的は,次のとおりです。
-
ボリュームに含まれている古い情報をすべて削除する。
-
OpenVMS オペレーティング・システムが認識する構造をボリュームに与える。
この構造により,ボリュームに対するデータの読み書きが可能になり,
OpenVMS オペレーティング・システムが容易にデータの記憶場所を見つけることができる。
ディスク・ボリュームやテープ・ボリューム,CD-ROM ボリュームにファイルやデータを書き込むためには,
最初にボリュームをセットアップする必要があります。
この処理を実行するための手順は,以下の 2 つの項で説明するように,ディスク・ボリュームおよびテープ・ボリュームと,CD-ROM ボリュームでは,多少異なります。 ディスク・ボリュームやテープ・ボリュームのセットアップディスク・ボリュームやテープ・ボリュームをセットアップするには,
次の順番で DCL コマンドを実行します。
9.3.1 項 「INITIALIZE コマンドの使用」ではボリュームを初期化する手順を説明します。
9.5 項 「ボリュームのマウント」 では,ボリュームのマウントについて説明します。
ボリュームの初期化を行う前に,
9.4 項 「ボリュームの保護」 のボリュームの保護についての説明をお読みください。
CD-ROM ボリュームのセットアップOpenVMS CD-RW ドライブを使用して CD-ROM ボリュームをセットアップするには,次の手順に従います。
1. CDRECORD.COM の実行 | 「ディスク・ボリュームやテープ・ボリュームのセットアップ」の項の INITIALIZE コマンドの代わり。 |
2. MOUNT | ボリュームのファイルやデータをユーザのプロセスからアクセスできるようにする。 |
CDRECORD.COM の実行についての詳細は,10.11 項 「CD-ROM の作成」を参照してください。 ワークステーション上の媒体のセットアップ取り外し可能な媒体があるワークステーションでは,
表 9-7 「オペレータ支援なしでもできるユーザの作業」 のように,オペレータ支援なしでもユーザが行える作業があります。
表 9-7 オペレータ支援なしでもできるユーザの作業 作業 | 説明 |
---|
ロード | 媒体をドライブに挿入する。 |
初期化 | 媒体の以前の内容をすべて削除する (ほとんどの操作では VOLPRO 特権が必要)。 |
マウント | 媒体を論理マウントし,
デバイスに割り当てる (SYSNAM,GRPNAM,VOLPRO 特権が必要)。
ボリュームをデバイスにマウントするには,そのデバイスに対し,
読み込み (R),書き込み (W),制御 (C) 特権が必要である。 |
ファイル操作の実行 | ファイルにアクセスし,さまざまな操作を行う。 |
ディスマウント | 媒体を論理ディスマウントし,
デバイスを割り当て解除する。
グループとシステム・ボリュームをディスマウントするには,GRPNAM と SYSNAM ユーザ特権が必要。 |
アンロード | 媒体をドライブから取り外す。 |
ワークステーションの取り外し可能な媒体については,
使用しているワークステーションのハードウェアのマニュアル)
を参照してください。
VAX システムの場合,アップグレードおよびインストールの補助ドキュメントも参照してください。
9.3.1 INITIALIZE コマンドの使用 | |
ボリュームをフォーマットし,ラベルを書き込む,すなわち,
初期化する場合は,DCL の INITIALIZE コマンドを使用します。
ディスク・ボリュームやテープ・ボリュームを初期化するには,
INITIALIZE コマンドを次の形式で使用してください。
INITIALIZE デバイス名[:] ボリューム・ラベル
公用ボリュームを初期化する場合は,次のように /SYSTEM 修飾子を指定する必要があります。
INITIALIZE/SYSTEM デバイス名[:] ボリューム・ラベル
INITIALIZE コマンドのさらに詳しい内容については,
『OpenVMS DCL ディクショナリ』を参照してください。
例-
ディスク・ボリューム DUA2: を初期化し,TEMP というボリューム・ラベルを付けている。
-
MUB2: のテープ・ボリュームを初期化し,TEST というボリューム・ラベルを付けている。
INITIALIZE コマンドの例は,その他『OpenVMS ユーザーズ・マニュアル』でも取り上げています。
9.3.2 INITIALIZE コマンドの修飾子の使用法 | |
表 9-8 「INITIALIZE コマンドの修飾子」 は,INITIALIZE コマンドで使用可能な修飾子をまとめたものです。
ボリュームの効率性は,索引ファイルの位置とその他修飾子の設定によって,良くなったり悪くなったりします。
詳細は『OpenVMS DCL ディクショナリ』を参照してください。
表 9-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= (所有者権 =[:アクセス][,...]) | ボリュームの保護コードを指定する。
詳細は9.4 項 「ボリュームの保護」 を参照。 |
/WINDOWS=n | ファイル・ウィンドウに割り当てる省略時のマッピング・ポインタ数を設定する。
ファイルがオープンされると,ファイル・システムはマッピング・ポインタを使用して,
そこに含まれるデータにアクセスする。
用意されているポインタごとに,
ファイル・セグメント 1 つをメモリに読み込むことができる。 |
例-
$ INITIALIZE/HEADERS=100000 DUA3:
|
大容量ディスクの索引ファイルへの登録エントリ数の設定例。
小容量ディスクの場合は,2000 エントリほどになる。
-
$ INITIALIZE/MAXIMUM_FILES=20000 DUA3:
|
小容量ディスクの特性の指定例。
MAXIMUM_FILES では,各ディレクトリ,およびマルチヘッダ・ファイルの各拡張ヘッダが 1 つのファイルとしてカウントされる。
-
$ INITIALIZE/WINDOWS=10 DUA3:
|
500 MB の大容量ディスクに大量のポインタを指定している例。
9.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 であることを示しています。
9.3.4 ボリュームのアクセスおよび初期化におけるユーザ支援 | |
ボリュームを初期化する必要があるのは,次のような場合です。
-
以前に使用されていたボリュームであり,保護コードが設定されている。
この場合,ユーザはボリュームにアクセスできない。
-
テープ・ボリュームの先頭ファイル・セクションが満了日になっていない。
この場合,ユーザはボリュームを初期化することができない。
-
ボリュームが [0,0] 以外のだれかに所有されている場合,
ボリューム保護を上書きするには VOLPRO 特権が必要である。
VOLPRO 特権を持っていない場合は,そのボリュームの前の所有者かシステム管理者に,初期化を依頼しなければならない。
-
テープが空の場合,そのテープにアクセスして初期化するには,
VOLPRO と OPER 特権が必要である。
UIC (利用者識別コード) に基づく保護は,ユーザのボリュームへのアクセスを制限するものです。
ボリュームへのアクセスのタイプを割り当てることによって,ユーザのグループがボリューム上で実行できる動作を決定することができます。
9.4.1 項 「ディスク・ボリュームの保護」 にディスク・ボリュームにおける UIC ベース保護,9.4.2 項 「テープ・ボリュームの保護」 にテープ・ボリュームにおける UIC ベース保護について説明しています。
アクセス制御のために,ACL をボリュームにセットすることもできます。
ボリューム ACL は,VOLUME.DEFAULT 機密保護クラス・テンプレートからコピーします。
ACL についての詳細は,12.6 項 「ACL (アクセス制御リスト) の作成」 を参照してください。
表 9-9 「ディスク・ボリュームとテープ・ボリューム用のアクセス・タイプ」 に,ディスクとテープ・ボリュームに割り当てることができるアクセスのタイプを示します。
表 9-9 ディスク・ボリュームとテープ・ボリューム用のアクセス・タイプ アクセス・タイプ | 与えられる権利 |
---|
読み込み | ボリューム上のファイルのファイル名の検査,
ファイルの印刷,ファイルのコピーの権利。
システムと所有者は常にテープ・ボリュームへの読み込みアクセス権を持つ。 |
書き込み | ボリューム上の既存のファイルの変更または書き込みの権利。
ファイルの保護は,ファイルに関して特定の操作を実行できるかどうかを決定する。
書き込みアクセス権には,読み込みアクセス権が必要である。
システムと所有者は,常に,テープ・ボリュームの書き込みアクセス権を持つ。 |
作成 | ディスク・ボリューム上にファイルを作成し,後でそれらのファイルを変更する権利。
作成アクセス権には,読み込みと書き込みのアクセス権が必要である。
このタイプのアクセス権は,テープ・ボリュームには無効である。 |
削除 | ディレクトリ・レベルやファイル・レベルに適切なアクセス権がある場合,ディスク・ボリューム上のファイルを削除するためのアクセス権。
削除アクセス権には,読み込みアクセス権が必要である。
このタイプのアクセス権はテープ・ボリュームには無効である。 |
制御 | ボリュームの保護と所有者特権を変更するためのアクセス権。
VOLPRO 特権を持つユーザは,次の例外を除き,常にディスク・ボリュームへの制御アクセス権を持つ。
-
ファイル構造化されたボリュームをフォーリンとしてマウントするには,制御アクセス権または VOLPRO 特権が必要である。
-
保護されたサブシステムを持つボリュームをマウントするには,
SECURITY 特権が必要である。
制御アクセス権はテープには無効である。 |
保護コードの指定についての詳細は,
『OpenVMS システム・セキュリティ・ガイド』を参照してください。
第12章 「機密保護上の注意事項」 には,保護についての概論が述べられています。
これから,次の事項について説明します。
9.4.1 ディスク・ボリュームの保護 | |
ファイル構造 ODS-2 ボリュームの場合,OpenVMS オペレーティング・システムは,表 9-9 「ディスク・ボリュームとテープ・ボリューム用のアクセス・タイプ」 に示すアクセス・タイプをサポートします。
システムは,ODS-2 ディスクの保護を,ボリューム,ディレクトリ,ファイルのレベルで提供します。
適切なアクセス権のないボリューム上のディレクトリとファイルにアクセス権を持っていても,ボリュームのどこにもアクセスすることはできません。
ディスク・ボリューム所有者 [0,0] に対する省略時のアクセス・タイプは,
次のとおりです。
S:RWCD,O:RWCD,G:RWCD,W:RWCDこの保護は,INITIALIZE コマンドの省略時の修飾子 /SHARE により設定されます。
指定しなかった属性は,現在の省略時の保護からは外されます。
保護の指定方法次のようにして,恒久的に格納された保護情報を変更することができます。
-
ACL を使用する。
機密保護プロファイル (所有者 UIC,保護コード,ACL) 全体が,
ボリュームに格納されている。
クラスタ単位でマウントされているボリュームの機密保護プロファイルを変更すると,
この変更はクラスタの全ノードに分散される。
ボリュームをディスマウントして再マウントしても,
そのボリュームの機密保護プロファイルは保持される。
-
ボリュームをマウントした後,
DCL の SET SECURITY コマンドを使って,省略時の機密保護プロファイル,UIC ベース保護,ACL ベース保護を変更する。
-
ボリュームを初期化するときに,UIC ベース保護を指定する修飾子を DCL の INITIALIZE コマンドに使用する。
ディスク・ボリュームを指定するときにも保護を指定することができる。
しかし,通常はこの方法は使用しない。
これは,ユーザが指定した保護は,
そのボリュームがマウントされたときだけ有効だからである。
詳細は『OpenVMS DCL ディクショナリ』の MOUNT コマンドを参照。
-
ボリュームをマウントした後,DCL の SET VOLUME コマンドを使って,
UIC ベースのボリューム保護を変更する。
これから,次の事項について説明します。
9.4.1.1 ディスク・ボリューム初期化時に保護を指定する
この項では,ボリュームを初期化するときに,UIC ベースのボリューム保護と ISO 9660 形式の媒体保護を指定する方法について説明します。
UIC ベース保護の指定方法次に示すいずれかの操作を行うと,
ボリュームを初期化するときに保護を指定できます。
-
INITIALIZE コマンドに /PROTECTION 修飾子を指定する。
次の例を参照してください。
$ INITIALIZE DUA7: ACCOUNT1/PROTECTION=(S:RWCD,O:RWCD,G:R,W:R)
|
この例は,DUA7: デバイス上のディスク・ボリューム ACCOUNT1 に対して保護コードを設定する例である。
このボリュームの UIC にはユーザ・プロセスの UIC が設定されている。
-
INITIALIZE コマンドに 表 9-10 「INITIALIZE コマンドの保護用修飾子」 に示す修飾子(複数化)
を指定する。
ただし,/PROTECTION 修飾子を使って設定した保護は,
他の修飾子を使って設定した省略時のセットをすべて上書きする。
INITIALIZE コマンド修飾子を使った保護通常,ボリュームを初期化した後にはボリュームの保護は変更しません。
INITIALIZE コマンドの保護修飾子を指定すると,
ボリュームに省略時の保護を設定することができます。
(INITIALIZE コマンドの省略時の修飾子は /SHARE です。
この修飾子は,すべてのアクセス・タイプをすべての所有者タイプに与えます。)
ディスク・ボリュームの初期化時に,
ディスク・ボリューム保護を指定できる修飾子を 表 9-10 「INITIALIZE コマンドの保護用修飾子」 に示します。
表 9-10 INITIALIZE コマンドの保護用修飾子 修飾子 | 説明 |
---|
/PROTECTION | この修飾子で指定した保護は,
他の修飾子で指定した保護をすべて上書きする。 |
/SYSTEM | すべてのプロセスが,ボリュームに対する読み込み,書き込み,作成,削除アクセス権を持つ。
ただし,最初のレベルのディレクトリはシステム・プロセスしか作成できない ([1,1] がボリュームを所有する)。
この表の次に示す注意を参照。 |
/GROUP | システム,所有者,グループのプロセスが,
ボリュームに対する読み込み,書き込み,削除アクセス権を持つ。
ワールド・ユーザはアクセスできない。 |
/NOSHARE | システムと所有者のプロセスが,ボリュームに対する読み込み,書き込み,削除アクセス権を持つ。
ワールド・ユーザはアクセスできない。
グループ・ユーザも,/GROUP 修飾子が指定されないかぎりアクセスできない。 |
省略時の修飾子 (/SHARE) と他の修飾子を INITIALIZE コマンドに指定したとき,
システムがディスク・ボリュームに対して設定する UIC と保護を 表 9-11 「INITIALIZE コマンド修飾子で与えられる保護」に示します。
表 9-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 |
ISO 9660 形式媒体保護の指定方法
OpenVMS の ISO 9660 形式の場合,ボリュームとボリューム・セットの保護が含まれていません。
媒体がマウントされたデバイスに対して指定した保護が,
ISO 9660 ボリュームやボリューム・セットのアクセス制御を決定します。
省略時の設定では,デバイス保護は ISO 9660 ファイルとディレクトリに割り当てられます。
ボリュームをマウントするときに,各ファイルに付随する拡張属性レコード (XAR) の中の UIC と PERMISSION 保護フィールドを使って,他のファイル保護を指定することもできます。
次のようにして,保護フィールドを指定します。
-
XAR マウント・オプション。
次の形式で指定する。
付随する XAR を持つファイルに XAR オプションを指定すると,
XAR の保護フィールドが有効になる。
-
デジタル・システム識別子 (DSI) マウント・オプション。
次の形式で指定する。
DSI オプションを指定する場合,
DSI を持つ XAR の Owner と Group XAR 許可が有効になる。
XAR と DSI オプションについての詳細は,
『OpenVMS Record Management Utilities Reference Manual』を参照してください。
9.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 識別子のユーザに,
読み込み,書き込み,実行アクセス権を与えます。
9.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) が入っています。
9.4.2 テープ・ボリュームの保護 | |
磁気テープは,ボリューム・レベルでしか保護されません。
磁気テープに保護を確立するのは,テープ・ボリュームを初期化するときです。
この後,MOUNT ユーティリティはユーザが確立した保護を使用します。
テープ・ボリュームの保護には 2 種類あります。
保護のレベル | 説明 |
---|
ISO 規格のガイドライン | ISO 規格 (保護の最初のレベル) は,磁気テープ上に書き込まれた最初のボリューム・ラベルのアクセス制御フィールドにコード化される。
この保護スキームでは,OpenVMS システムと非 OpenVMS オペレーティング・システムの間に交換が存在する環境でテープ・ボリュームを保護することが可能。 |
システム・ソフトウェアがサポートする UIC ベース保護スキーム | この 2 番目の保護は,磁気テープに書き込まれた第 2 ボリューム・ラベルにコード化される。
OpenVMS システムだけが,このスキームをチェックできる。
非 OpenVMS システムの交換では無視される。 |
標準ラベル付きテープ保護
OpenVMS テープ・ファイル・システムは,ISO 規格のアクセス制御保護に基づきます。
この保護によって,インストール・ルーチンがボリューム・ヘッダ・ラベルのアクセス制御フィールドを解釈することができます。
インストール・ルーチンについての詳細は,『OpenVMS System Services Reference Manual』の $MTACCESS システム・サービスを参照してください。
省略時の保護のアクセス・タイプテープ・ボリュームを初期化するときに保護コードを指定しないと,ユーザは,
表 9-12 「テープ・ボリューム保護のアクセス・タイプ」 に示す読み込みおよび書き込みアクセス権を持ちます。
表 9-12 テープ・ボリューム保護のアクセス・タイプ アクセス・タイプ | 与えられる権利 |
---|
読み込み | ボリューム上のファイルの検査,印刷,コピーの権利。 |
書き込み | ボリューム上のファイルの追加,書き込みの権利。 |
テープ・ボリュームの機密保護プロファイルは,
磁気テープ上のANSIボリューム 1 と 2 のラベルに格納されます。
ボリューム 2 には,システム固有の情報が入ります。
この情報が作成されるのを上書きするには,
INITIALIZEコマンドに/INTERCHANGE 修飾子を指定するか,
$INIT_VOL システム・サービスで INIT$_INTERCHANGE 項目コードを指定します。
フォーリン・ボリューム保護オペレーティング・システムは,
フォーリン・テープ・ボリュームもサポートします (フォーリン・ボリュームは,標準ボリューム・ラベルがないか,/FOREIGN でマウントされたテープ・ボリュームです)。
テープ・ボリュームが /FOREIGN 修飾子でマウントされると,
指定した保護コードに関係なく,
システム中のユーザと所有者には,
常にすべてのアクセス権 (読み込み,書き込み,論理,物理)
が与えられます。
9.4.2.1 テープ・ボリュームでの /PROTECTION 修飾子の使用
テープ・ボリュームを初期化するときに /PROTECTION 修飾子を使用すると,
保護コードはシステム固有のボリューム・ラベルに書き込まれます。
/PROTECTION 修飾子を使用すると,システムは読み込み (R),書き込み (W) のアクセス制限だけを適用します (実行 (E) と削除 (D) アクセスは適用されません)。
指定した保護コードに関係なく,
システムと所有者には,読み込み (R) と書き込み (W) のアクセス権が与えられます。
9.4.2.2 交換環境におけるテープ・ボリュームの保護
OpenVMS と 他のオペレーティング・システム間で相互交換されるテープ・ボリュームを保護することができます。
磁気テープの保護に関するガイドラインを次に示します。
-
バージョン 3 より新しい ANSI 規格をサポートするオペレーティング・システムでは,
システムは,最初のボリューム・ラベル中のアクセス制御情報を処理する。
-
OpenVMS 以外の弊社のオペレーティング・システムで作成した磁気テープを処理するためには,VOLPRO 特権が必要であり,また次のいずれかの方法で保護のチェックを明示的に無効にする必要がある。
-
テープ・ボリュームにアクセス制御情報が設定されている場合は,
その情報のチェックを明示的に無効にする必要があり,またそのための特権を所有している必要がある。
-
テープ・ボリュームにそうしたアクセス制御情報が設定されていない場合は,テープに対する読み込みアクセス権と書き込みアクセス権が自動的に付与される。
-
OpenVMS テープ・ファイル・システムでは,弊社の他のオペレーティング・システムが保護情報を書き込むフィールドに値を設定することができる。
上記 2 つの項目で挙げた条件を除けば,OpenVMS がアクセス制御フィールドを処理することはない。
したがって,ユーザはこのフィールドを使い,
特定のボリュームの OpenVMS 保護特性に影響を与えることなく,
他のシステムの保護値を設定することができる。
9.4.3 ボリューム・アクセスの監査 | |
ボリューム・オブジェクト・クラスの監査が可能になります。
次の例外を除き,システムはディスク・ボリューム・アクセスの監査をします。
-
システムはボリューム作成または削除の監査をしない。
-
システムはテープ,ODS-1,フォーリン・マウントのボリュームの監査をしない。
ボリュームと,それが物理的にセットされているデバイスの関係は,
ディスクまたはテープ・ボリュームをマウントすることによって確立されます。
ボリュームがマウントされると,システムはその存在を認識するため,
ユーザは初めてボリュームにアクセスすることができます。
これ以降は,マウント操作を自分で行うものと仮定して説明を行います。
ファイル構造化とフォーリン・ボリューム通常,ボリュームをマウントするとき,システムは各ボリュームに対して,
ファイルの読み込み,書き込み,作成 (または実行),削除を許可するフォーマットをかけます。
このようにマウントされたボリュームは,OpenVMS オペレーティング・システムのフォーマットを持ちます。
ボリュームをマウントするときに /FOREIGN 修飾子を指定すると,
システムはその媒体にフォーマットをかけないので,
マウントされたボリューム上のファイルにアクセスできません。
OpenVMS 以外のオペレーティング・システムのフォーマットか私用フォーマットを持つボリュームをマウントする場合には,
/FOREIGN 修飾子を使用します。
フォーリン・ボリュームはファイル構造化されていないので,
次のようにしてアクセスしなければなりません。
たとえば,ディスク全体を復元するときなど,
BACKUP ユーティリティでボリュームをマウントするときに /FOREIGN 修飾子を使用することもあります。
詳細は『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照してください。
作業方法ボリュームをマウントする手順は次のとおりです。
-
すべてのディスクを物理的にマウントして,オンライン状態にする。
-
次のフォーマットで MOUNT コマンドを入力する (MOUNT ユーティリティを起動する)。
MOUNT デバイス名 ボリューム・ラベル 論理名
起動された MOUNT ユーティリティは次のことを行う。
-
デバイスの割り当て
-
デバイスが正しくロードされているかどうかのチェック
-
ボリューム識別子の読み込みと検証
MOUNT コマンドでの修飾子の使用方法次に示すように,MOUNT コマンドに修飾子を指定しなければならない場合もあります。
-
公用ボリュームをマウントする場合は,次の形式で /SYSTEM 修飾子を使用する。
MOUNT/SYSTEM デバイス名 ボリューム・ラベル 論理名
-
OpenVMS Cluster 環境では,/SYSTEM の他に /CLUSTER 修飾子も使用する。
MOUNT/SYSTEM/CLUSTER デバイス名 ボリューム・ラベル 論理名
ディスクとテープのマウントで使用可能な修飾子については,
この後の 表 9-13 「ディスクのマウントで使用可能な MOUNT コマンドの修飾子」 と 表 9-14 「テープのマウントで使用可能な MOUNT コマンドの修飾子」 にまとめてあります。
この節では,次の作業について説明します。
9.5.1 ディスクのマウントで使用可能な MOUNT コマンドの修飾子 | |
表 9-13 「ディスクのマウントで使用可能な MOUNT コマンドの修飾子」 は,MOUNT コマンドでディスクをマウントするときに使用可能な修飾子の一部をまとめたものです。
すべての修飾子については,『OpenVMS DCL ディクショナリ』を参照してください。
表 9-13 ディスクのマウントで使用可能な MOUNT コマンドの修飾子 修飾子 | 説明 |
---|
/ACCESSED=n | OPER 特権が必要。
ボリューム上で同時に使用されるディレクトリの概数を指定する (この修飾子は ODS-2 では意味がない)。
たとえば,大容量 500 M バイト (MB) のディスク上では 40 という値を指定できるが,小容量のディスクでは次のように指定する。 |
/ASSIST
| マウント操作時,マウント要求が失敗すれば,オペレータまたはユーザの介入を許す。
/ASSIST 修飾子は,システム・スタートアップ時を除き省略時の値である。
この機能は,マウント要求が満たされるまでオペレータに繰り返し警告するので便利である。 オペレータ支援付きマウントを無効にするには,
次のようなコマンドを入力する。
$ MOUNT/SYSTEM/NOASSIST DUA1: SALES_98
|
|
/BIND= ボリューム・セット名
| 1 つまたは複数のディスク・ボリュームのボリューム・セットを作成する。
あるいは,1 つまたは複数のボリュームを既存のボリューム・セットに追加する。
次の例を参照。
$ MOUNT/SYSTEM/BIND=CLIENTS DUA0:,DUA1: EUROPE,ASIA
|
詳細は9.6.1.2 項 「/BIND 修飾子の使用法」 を参照。 |
/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 を論理名として使用する場合)。 |
/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 のみ)。
詳細は9.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 コマンドで設定される。
次の例では,適当なポインタ数を指定している。
|
9.5.2 テープのマウントで使用可能な MOUNT コマンドの修飾子 | |
表 9-14 「テープのマウントで使用可能な MOUNT コマンドの修飾子」 は,
テープ・ボリュームをマウントするときに使用可能なMOUNTコマンド修飾子の一部について説明したものです。
MOUNTコマンド修飾子のすべてについては,
『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照してください。
ボリュームが標準ラベルでボリュームへのアクセスが許可されていない場合は,
特に指定しない限り,これらの修飾子を使用するためには VOLPRO 特権が必要です。
表 9-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=コード
| マウント中,ボリュームに割り当てられる保護コードを指定する。
詳細は9.4.2 項 「テープ・ボリュームの保護」 を参照。 |
/RECORDSIZE=n
| 磁気テープ・ボリュームの各レコード中の文字数を指定する。
ボリュームが第 2 ヘッダ・ラベルのないファイルを持つ場合 (RT-11 ボリュームなど) や,/FOREIGN 修飾子でボリュームをマウントしている場合に,この修飾子を使って RMS に固定長レコードのサイズと可変長レコードの最大サイズを提供する。 |
テープ・ボリュームのマウントでは,その他,/INITIALIZE と /AUTOMATIC の 2 つの修飾子が重要であり,これら修飾子については,それぞれ 9.9.2.2 項 「ボリュームの自動切り換え機能の有効化」 と 9.9.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 に送ります。
何らかの理由で失敗すると,エラー・メッセージを表示します。
9.5.3 マウント中のユーザのマウント支援 | |
大規模なサイトでは,しばしば,ユーザがボリュームをマウントするのを支援するオペレータが存在します。
ユーザがオペレータに要求を送る方法については,2.4.6 項 「オペレータへの要求の送信」 で説明しています。
また2.4.7 項 「オペレータ要求に対する応答」 では,
そうした要求に対するオペレータの応答方法についても説明しています。
特定のディスクまたはテープをデバイスにマウントするようユーザから要求があると,オペレータ・ターミナルには次のようなメッセージが表示されます。
%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss:cc> %%%%%%%%%%%
request <request-id>, from user <user-name>
|
以下はそうしたときのイベントを発生順にまとめたものです。
-
ユーザが次のコマンドを入力し,デバイス DUA2: に TEST_FILES ボリュームをマウントするよう要求する。
$ MOUNT DUA2: TEST_FILES/COMMENT="Shelf slot 6B"
|
-
OPCOM は,オペレータ・ターミナルに次のようなメッセージを表示し要求を通知する。
%%%%%%%%%%% OPCOM, 28-MAY-2000 15:47:50.26 %%%%%%%%%%%
request 5, from user MALCOLM
Please mount volume TEST_FILES in device _DUA2:
Shelf slot 6B
|
-
要求を受け取ると,OPCOM が次のような形式で受信確認通知を出す。
%MOUNT-I-OPRQST, Please mount volume TEST_FILES in device _DUA2:
Shelf slot 6B
|
-
ボリュームがデバイスに装填されると,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 をマウントするよう要求します。
ユーザへのメッセージ返信システム管理者またはオペレータは,
ディスクまたはテープをマウントしてから,次の作業を行います。
-
オペレータ通信マネージャ (OPCOM) を使い,システム・ユーザと交信する。
OPCOM は,オペレータに何らかの状態を通知しようとするプロセスから入力を受け取るシステム・プロセスであり,
受け取ったメッセージをオペレータに渡して,トラッキングする。
OPCOM を使用する場合は,オペレータ・ターミナルに指定されているターミナルを使用する必要がある。
詳細は2.4.5 項 「オペレータ・ターミナルの指定」 を参照。
-
次のいずれかの形式の REPLY コマンドを入力する。
REPLY コマンドの形式 | 説明 |
---|
/ABORT=識別番号 "メッセージ" | ユーザ要求を取り消したことを通知するときに使用する。
この場合,ユーザの MOUNT コマンドはエラー終了する。 |
/PENDING=識別番号 "メッセージ"
| 要求が最後まで処理されずに待ち状態になったときに使用する。
これは,元の要求が REQUEST/REPLY か MOUNT コマンドのいずれかで行われたことを示す。
ユーザは,オペレータが要求を処理し終えるか,
または強制終了させるまで他のコマンドを入力できない。 |
/TO=識別番号 "メッセージ" | 要求を処理し終えたときに使用する。
この後,処理は継続する。 |
ユーザから MOUNT/ASSIST コマンドが入力されたが,
目的のデバイスが使用できない場合は,代わりのデバイスを使用することができる。
デバイスを置き換えるときは,必ず,要求されたボリュームを代替デバイスにセットし,デバイスを使用可能な状態にしてから,REPLY コマンドを入力すること。
このときの REPLY コマンドの形式は次のとおり。
REPLY/TO= 識別番号 “SUBSTITUTE デバイス名”
SUBSTITUTE は S 一字に短縮することができる。
また,大文字または小文字のどちらでも入力できる。
スペースの後,メッセージ・テキスト・スペースの残りを使って,
代替デバイスに名前を付けること。
例-
$ REPLY/TO=24 "SUBSTITUTE DUA1:"
|
この例では,オペレータが DUB2: デバイスから DUA1: デバイスに対するマウント操作を指示し直している。
-
$ 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 コマンドの入力手順については,9.9.2.4 項 「ユーザへのメッセージ返信」 を参照してください。
9.5.4 保護されたサブシステムでのボリュームのマウント | |
通常は,機密保護はユーザに与えられた特権に基づきます。
しかし,保護されたサブシステムでは,
機密保護は,サブシステムに割り当てられたアクセス制御に基づきます。
サブシステムは,サブシステムに属するオブジェクトへのユーザのアクセスを認めたり拒否したりする門番のような役目を果たします。
特権の無いユーザも,
保護されたサブシステムを構築し管理することができます。
このためには,次の 2 点を実行しなければなりません。
-
サブシステムに必要な識別子を作成する。
詳細は『OpenVMS システム・セキュリティ・ガイド』を参照。
-
ボリュームを保護されたサブシステムでマウントする。
次の項を参照。
保護ボリューム上で保護されたサブシステムを有効にする省略時の設定では,システムは保護されたサブシステムをシステム・ディスク上でのみ有効にします。
他のディスクの場合,ボリュームをマウントするたびにサブシステムを有効にしなければなりません。
SECURITY 特権を持つユーザは,/SUBSYSTEM 修飾子を MOUNT コマンドに指定することで,サブシステムをボリューム上で有効にできます。
DCL の SET VOLUME/SUBSYSTEM コマンドを使って,
直接サブシステム ACE の処理をオンまたはオフにすることができます。
このコマンドは,MOUNT コマンドでマウントしていないシステム・ディスクの場合,特に便利です。
例次の例のコマンドは,DOC というラベルの付いたボリュームを DUA0: デバイスにマウントします。
このボリューム上のサブシステムはアクセス可能です。
また,このMOUNT コマンドで,論理名 WORK8 が割り当てられます。
$ MOUNT/SUBSYSTEM/SYSTEM DUA0: DOC WORK8
|
9.5.5 既存のボリュームの ODS 形式を他の ODS 形式に変換 | |
以降の節では,ある ODS ファイル形式を持つ既存のボリュームを他の形式に変換する手順を説明します。
9.5.5.1 ODS-2 から ODS-5 への変換
ODS-2 ボリュームを ODS-5 ボリュームに変換するには次の手順を行います。
-
クラスタからボリュームをディスマウントする。
たとえば,次のように入力する。
$ DISMOUNT /CLUSTER DKA300:
|
-
ボリュームを私用ボリュームとして次のようにマウントする。
$ 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 であることを示している。
-
ボリュームのバックアップは必ず行うこと。
9.5.5.3 項 「ODS-5 ファイルから ODS-2 への変換」で説明されているとおり,
一旦 ODS-5 に変換された後は,復元を行う他に,ODS-2 に戻る方法がない。
たとえば次のように入力する。
$ BACKUP /IMAGE DKA300: SAV.BCK /SAVE_SET
|
-
次の形式で コマンドを入力し,ディスクの特性を設定する。
SET VOLUME /STRUCTURE_LEVEL=5 デバイス名
たとえば,次のように入力する。
$ SET VOLUME /STRUCTURE_LEVEL=5 DKA300:
|
SET VOLUME コマンドを入力すると,
システムは次の項目を確認して,
ボリュームが変換できるかどうかを検査する。
-
デバイスがディスクであるか。
ディスク構造が ODS-2,または ODS-5 であるか。
この検査がパスしない場合,
システムは次のようなメッセージを表示する。
%SET-E-NOTMOD, DKA300: not modified
-SET-E-NOTDISK, device must be a Files-ll format disk
%SET-E-NOTMOD, DKA300: not modified
-SET-W-INVODSLVL, Invalid on-disk structure level
|
-
ディスクが私用ディスクであるか。
オーナ・プロセス ID (PID) は SET VOLUME コマンドを入力した親プロセスと同じであるか。
ボリュームが検査にパスしなかった場合,
システムは次のようなメッセージを表示する。
%SET-E-NOTMOD, DKA300: not modified
-SET-W-NOTPRIVATE, device must be mounted privately
|
-
クラスタ内で他の誰かがデバイスをマウントをしないようにディスクを保護するため,
デバイスがただ1回だけマウントされているかどうかをマウント数の表示をみて確認する。
ボリュームが検査にパスしなかった場合,
システムは次のようなメッセージを表示する。
%SET-E-NOTMOD, DKA300: not modified
-SET-W-NOTONEACCR, device must be mounted with only one accessor
|
-
次のようなコマンドを入力して,
私用ボリュームをディスマウントし,公用ボリュームとして再マウントする。
$ 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 コマンドを入力してから,ディスクをディスマウントして再マウントします。
最後の手段として,作成しておいたバックアップを復元することもできます。
9.5.5.2 ODS-1 から ODS-2 への変換
ODS-1 形式から ODS-2 形式への変換は,次の手順で行います。
-
変換するディスクをすべてバックアップする。
-
ODS-2 ファイル形式で初期化する。
-
ディスクをすべて復元する。
9.5.5.3 ODS-5 ファイルから ODS-2 への変換
ファイルとイメージという 2 種類の BACKUP 操作は,ファイル名の ODS-5 から ODS-2 への変換をサポートします (ファイル操作とイメージ操作の詳細については,第11章 「BACKUP の使用法」を参照してください)。
これ以降の説明の例を見ると,セーブ・セットとの変換の際に,
変換されたファイルに対して created as または copied as メッセージが表示されているのがわかります。
-
イメージ操作実行中の変換
-
ODS-5 イメージ・セーブ・セットの ODS-2 ディスクへの復元
この手法は,ODS-5 ディスクのイメージ・バックアップがあり,
かつ,それを ODS-2 ディスクに復元するときに使用する。
次に示す例のコマンド行では,IMAGE.BCK が ODS-5 セーブ・セットであり,
DKA200: が ODS-2 ディスクである。
この変換手法を使用する際,
出力側のディスクを事前に ODS-2 に初期化しておき,
コマンド行に /NOINIT 修飾子を追加することで,
ODS-2 構造レベルを保持する必要がある。
|
$ BACKUP/LOG/IMAGE/CONVERT DKA500:[000000]IMAGE.BCK/SAVE DKA200:/NOINIT
%BACKUP-I-ODS5CONV, structure level 5 files will be converted to structure
level 2 on DKA200:
-BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
file attributes
%BACKUP-S-CREATED, created DKA200:[000000]000000.DIR;1
%BACKUP-S-CREATED, created DKA200:[000000]BACKUP.SYS;1
%BACKUP-S-CREATED, created DKA200:[000000]CONTIN.SYS;1
%BACKUP-S-CREATED, created DKA200:[000000]CORIMG.SYS;1
%BACKUP-S-CREATED, created DKA200:[000000]SECURITY.SYS;1
%BACKUP-S-CREATED, created MDA2:[000000]TEST_FILES.DIR;1
%BACKUP-S-CREATEDAS, created DKA200:[TEST_FILES]SUB^_^{DIR^}.DIR;1 as
DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
%BACKUP-S-CREATEDAS, created
DKA200:[TEST_FILES.SUB^_^{DIR^}]SUB^&_~_FILE_~.DAT;1 as
DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
%BACKUP-S-CREATEDAS, created
DKA200:[TEST_FILES]THIS^_IS^_A^_TEST^{_FILE_^}.DAT;1 as
DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
%BACKUP-S-CREATED, created DKA200:[000000]VOLSET.SYS;1
|
|
-
ODS-5 ディスクの ODS-2 イメージ・セーブ・セットへの保存
この手法は,7.2 よりも前のバージョンの OpenVMS を稼働しているシステム上で読み込むことができるように,ODS-5 ディスクの ODS-2 イメージ・セーブ・セットを作成するときに使用する。
次に示す例では,DKA500: が ODS-5 ディスクであり,IMAGE.BCK が DKA200: ディスク上にある ODS-2 セーブ・セットである。
|
$ BACKUP/LOG/CONVERT/IMAGE DKA500: DKA200:[000000]IMAGE.BCK/SAVE
%BACKUP-I-ODS5CONV, structure level 5 files will be converted to
structure level 2 on DKA200:
-BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
file attributes
%BACKUP-S-COPIED, copied DKA200:[000000]000000.DIR;1
%BACKUP-S-COPIED, copied DKA200:[000000]BACKUP.SYS;1
%BACKUP-S-HEADCOPIED, copied DKA200:[000000]BADBLK.SYS;1 header
%BACKUP-S-HEADCOPIED, copied DKA200:[000000]BADLOG.SYS;1 header
%BACKUP-S-HEADCOPIED, copied DKA200:[000000]BITMAP.SYS;1 header
%BACKUP-S-COPIED, copied DKA200:[000000]CONTIN.SYS;1
%BACKUP-S-COPIED, copied DKA200:[000000]CORIMG.SYS;1
%BACKUP-S-HEADCOPIED, copied DKA200:[000000]INDEXF.SYS;1 header
%BACKUP-S-COPIED, copied DKA200:[000000]SECURITY.SYS;1
%BACKUP-S-COPIED, copied DKA200:[000000]TEST_FILES.DIR;1
%BACKUP-S-COPIEDAS, copied DKA200:[TEST_FILES]Sub^_^{Dir^}.DIR;1 as
DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
%BACKUP-S-COPIEDAS, copied
DKA200:[TEST_FILES.Sub^_^{Dir^}]Sub^&_~_File_~.Dat;1 as
DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
%BACKUP-S-COPIEDAS, copied
DKA200:[TEST_FILES]This^_is^_a^_Test^{_File_^}.Dat;1 as
DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
%BACKUP-S-COPIED, copied DKA200:[000000]VOLSET.SYS;1
|
|
-
ODS-5 ディスクから ODS-2 ディスクへの内容のコピー
この手法は,中間のセーブ・セットを作成せずに,
ODS-5 ディスクから ODS-2 ディスクを作成するときに使用する。
この変換手法を使用する際,
出力側のディスクを事前に ODS-2 に初期化しておき,
コマンド行に /NOINIT 修飾子を追加することで,
ODS-2 構造レベルを保持する必要がある。
次の例で,DKA500: が ODS-5 ディスク,DKA200: が ODS-2 ディスクである。
$ BACKUP/LOG/CONVERT/IMAGE DKA500: DKA200:/NOINIT
%BACKUP-I-ODS5CONV, structure level 5 files will be converted to
structure level 2 on DKA200:
-BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
file attributes
%BACKUP-S-CREATED, created DKA200:[000000]000000.DIR;1
%BACKUP-S-CREATED, created DKA200:[000000]BACKUP.SYS;1
%BACKUP-S-CREATED, created DKA200:[000000]CONTIN.SYS;1
%BACKUP-S-CREATED, created DKA200:[000000]CORIMG.SYS;1
%BACKUP-S-CREATED, created DKA200:[000000]SECURITY.SYS;1
%BACKUP-S-CREATED, created DKA200:[000000]TEST_FILES.DIR;1
%BACKUP-S-CREATED, created DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
%BACKUP-S-CREATED, created DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
%BACKUP-S-CREATED, created DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
%BACKUP-S-CREATED, created DKA200:[000000]VOLSET.SYS;1
|
-
ファイル操作実行中の変換
-
個々の ODS-5 ファイルから ODS-2 ディスクへのコピー
この変換手法では,
ODS-5 ディスクと ODS-2 ディスクとのファイルの相互交換ができる。
たとえば,ディスク間の“コピー”操作に,
あるディレクトリ・ツリー構造を選択できる。
次の例では,
DKA500: が ODS-5 ディスクであり,DKA200: が ODS-2 ディスクである。
$ BACKUP/LOG/CONVERT DKA500:[*...]*.*;* DKA200:[*...]*.*;*
%BACKUP-I-ODS5CONV, structure level 5 files will be converted to
structure level 2 on DKA200:
-BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
file attributes
%BACKUP-S-CREDIR, created directory DKA200:[TEST_FILES.SUB$$DIR$]
%BACKUP-S-CREATED, created DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
%BACKUP-S-CREATED, created DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
|
-
個々の ODS-5 ファイルから 1 つの ODS-2 セーブ・セットへの保存
この手法は,7.2 よりも前のバージョンの OpenVMS を稼働しているシステム上で読み込むことができるように,ODS-5 ファイルをセーブ・セットに保存するときに使用する。
次に示す例では,DKA500: が ODS-5 ディスクであり,DKA200: が ODS-2 ディスクである。
FILES.BCK は ODS-2 セーブ・セットである。
$ BACKUP/LOG/CONVERT DKA500:[*...]*.*;* DKA200:FILES.BCK/SAVE
%BACKUP-I-ODS5CONV, structure level 5 files will be converted to
structure level 2 on DKA200:
-BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
file attributes
%BACKUP-S-COPIED, copied DKA200:[000000]000000.DIR;1
%BACKUP-S-COPIED, copied DKA200:[000000]TEST_FILES.DIR;1
%BACKUP-S-COPIEDAS, copied DKA200:[TEST_FILES]Sub^_^{Dir^}.DIR;1 as
DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
%BACKUP-S-COPIEDAS, copied
DKA200:[TEST_FILES.Sub^_^{Dir^}]Sub^&_~_File_~.Dat;1 as
DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
%BACKUP-S-COPIEDAS, copied
DKA200:[TEST_FILES]This^_is^_a^_Test^{_File_^}.Dat;1 as
DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
|
もし 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 ログ・メッセージを参照してください。
9.5.6 ディスク・ボリューム特性の変更 | |
マウントした Files-11 ディスク・ボリュームの特性を変更する場合は,
DCL の SET VOLUME コマンドを使用します。
このコマンドを使用するためには,
ボリュームの索引ファイルに対する書き込みアクセス権が必要です。
また,ボリュームの所有者でない場合は,システム UIC かユーザ特権の SYSPRV を所有している必要があります。
コマンドには,Files-11 ボリュームの名前を指定します。
次の例は,SET VOLUME コマンドの使用例です。
例-
$ SET VOLUME/DATA_CHECK=(READ,WRITE) DKA100:
|
DKA100: ボリュームの読み込みおよび書き込みをすべて行った後,
データ・チェックを行うよう要求している。
-
$ SET VOLUME/LABEL=LICENSES DKA100:
|
DKA100: ボリュームに LICENSES というラベルを書き込んでいる。
/LABEL 修飾子があるため,ラベルの文字が小文字で入力されても,
大文字に変換される。
9.5.7 ディスクのマウントの高速化 | |
DISKMOUNT.C プログラムは,システムのスタートアップ時に,ディスクのマウントを高速化するのに役立ちます。
$MOUNT システム・サービスを直接呼び出すことにより,
MOUNT イメージの起動時間を短縮します。
このプログラムには DEC C コンパイラが必要です。
次の手順に従って実行してください。
-
SYS$EXAMPLES のファイル DISKMOUNT.H,DISKMOUNT.C,
DISKMOUNT_CHILD.C を任意のディレクトリにコピーする。
-
このディレクトリを指す論理名 SRC$ を定義する。
-
DISKMOUNT.C ファイルと DISKMOUNT_CHILD.C ファイルをアセンブルする。
-
DISKMOUNT.OBJ と DISKMOUNT_CHILD.OBJ をリンクして,
DISKMOUNT.EXE と DISKMOUNT_CHILD.EXE の実行可能イメージ・ファイルを作成する。
-
これらの実行可能イメージをディレクトリにコピーする。
このディレクトリは,ターゲット・システムの SYS$MANAGER が望ましい。
詳細は,DISKMOUNT.H ファイルのコメントを参照してください。
この節では,ボリューム・セットに関連する概念と次の作業を行う方法について説明します。
9.6.1 ディスク・ボリューム・セット | |
ボリューム・セットとは,DCL の MOUNT/BIND コマンドによって 1 つのエンティティにまとめられたディスク・ボリュームのことです。
ユーザから見ると,ボリューム・セットは,1 つの大容量のボリュームに見えます。
こうしたボリューム・セットは次の特性をもちます。
-
ファイルは,ボリューム・セット上の任意の未使用空間に自動的に割り当てられる。
-
ディスク・クォータはボリューム・セット全体に有効になる。
-
ボリューム・セット全体が 1 つのディレクトリ構造でカバーされる。
大容量,同一種の公用ファイル空間を実現したい場合は,
ボリューム・セットを使用してください。
1 つの物理ディスク・ボリュームに収まらない大きなファイルを作成するためには,ボリューム・セットを使用する必要があります。
ファイル・システムは,たとえば,その時点で最も未使用空間の多いボリュームに新しいファイルを作成することによって,ボリューム・セット全体の負荷のバランスを取ろうとします。
ユーザのグループが異なっていたり,あるいは管理方針が異なっていたりして,ファイルの格納場所を明確に分けたい場合は,それぞれに 1 つのボリュームまたはボリューム・セットを使用する必要があります。
たとえば,あるボリュームはユーザの恒久記憶用として,
ディスク・クォータを設けて,定期的にバックアップを取るようにし,また別のボリュームは,
制限を設けずに自由に使用させて,バックアップを取らず,ファイルを定期的に削除するという「スクラッチ」用に使用します。
このとき,各ボリュームまたはボリューム・セットには,そこにファイルを保管するユーザごとにトップレベルのユーザ・ファイル・ディレクトリを作成する必要があります。
ボリュームを単独で使用することの利点は,その独立性にあります。
ボリューム・セットのディレクトリ構造はボリューム間で相互に関連していますから,それを装填しているデバイスが 1 台でも故障すると,
セット全体が使用できなくなります。
しかし,ボリュームを単独で使用している場合は,ボリュームを装填しているデバイスが動かなくなっても,
使用できなくなるのは,そのボリュームのファイルだけです。
ボリューム・セットの欠点は,
マルチボリューム・セットのイメージ・バックアップのサイズが大きくなることです。
これは,ユーザのバックアップ・スケジュールにも影響を与えます。
たとえば,5 つの異なるボリュームをそれぞれバックアップするのに 5 時間必要であると仮定します。
これと同じボリューム・セットをバックアップしようとすると,25 時間かかってしまいます。
これでは,1 日たっても終わりません。
つまり,スケジューリングの問題にまで発展してしまいます。
9.6.1.1 ディスク・ボリューム・セットを作成するときのガイドライン
ディスク・ボリューム・セットを作成するにあたっては,
次の点に留意してください。
-
新たに初期化したボリュームとバインドすることによって,任意の 1 つのボリュームをボリューム・セットにすることができる。
同様に,新たに初期化したボリュームを既存のボリューム・セットに追加することもできる。
-
システム・ディスクをボリューム・セットに含めてはいけない。
-
ファイルを含む既存の 2 つの独立したボリュームをボリューム・セットにすることはできない。
外見上は行えるように見えるが,実際には正しいボリューム・セットになっていない。
-
ボリューム・セットの作成では,MOUNT/BIND コマンドを 1 回だけ使用する。
それで,すべてのボリュームにボリューム・セット関係付け情報が記録される (9.5 項 「ボリュームのマウント」 参照)。
-
2 つ以上のボリュームをバインドして,ボリューム・セットを作成した後,それらボリュームを切り離すことはできない。
ボリューム・セットを切り離す唯一の方法は,
BACKUP ユーティリティを使って,選択的にディレクトリをコピーすること (11.13 項 「ファイルとディレクトリのバックアップ」 参照)。
ディスク・ボリューム・セットをマウントするためには,そのリストに指定されているボリューム・ラベルがデバイス名リストの同じ位置のデバイス名と対応している必要があります。
複数のディスク・ボリュームをバインドして,
1 つのボリューム・セットを作成した場合,
セットの先頭ボリュームをルート・ボリュームと呼びます。
セットを構成する各ボリュームは,ルート・ボリューム,
すなわち,ボリューム 1 を基準にしたボリューム番号で識別されます。
ディスク・ボリューム・セットのディレクトリ構造は 1 つだけです。
マスタ・ファイル・ディレクトリ (MFD) はセット中の第 1 ボリューム上にあります。
ディスク・ボリューム・セットをオンラインにして,マウントすると,
次のいずれかを指定することによって,セットに含まれるすべてのファイルとディレクトリにアクセスすることができます。
-
ルート・ボリュームがマウントされているデバイスのデバイス名
-
マウントしたときにボリューム・セットに付けた論理名
ディスク・ボリューム・セットを作成する場合は,
MOUNT コマンドに /BIND 修飾子を使用します。
次の形式で使用します。
ただしボリューム・セット名には,
ボリューム・セットを識別する 1 から 12 文字までの英数字の名前を指定します。
ボリューム・セットの名前には,
セット内のすべてのボリューム・ラベルと異なる名前を指定する必要があります。
また,ボリューム・セット内のラベルは一意でなければなりません。
/BIND が使用されると,MOUNT コマンドは,
ボリューム・セットを構成するすべてのボリュームに適用される名前をボリューム・セットに割り当てることによって,そのボリューム・セットを識別します。
またこの修飾子によって,ルート・ボリュームが識別され,
ボリュームのディレクトリ構造が作成されます。
ボリューム・セットに新たにファイルが作成された場合,
ファイル・システムはセットの最も多くの未使用空間がある場所にファイル用の空間を確保します。
ボリューム・セットを構成する任意のボリュームのファイルが拡張された場合は,物理的に空きがあるかぎり,同じボリューム上で拡張を行います。
さらに空間が必要な場合は,ボリューム・セットに新しいボリュームを追加することができます。
たとえば,マウントされるすべてのディスク・ボリュームを毎日ボリューム・セットに組み入れていくといったことも行うことができます。
ボリューム・セットには,すべてのユーザ・ファイル・ディレクトリが含まれるため,セットを構成するボリュームのファイルにアクセスするとき,ユーザがファイル指定にデバイス名を指定する必要はありません。
つまり,ユーザはファイルの物理的な位置を意識する必要はありません。
ボリューム・セットを使用するときには,特別な特権は必要ありません。
ただし,バインドするためには,対象となるすべてのボリュームの索引ファイルに対する書き込みアクセス権を持っている必要があります。
つまり,通常は,システム UIC か SYSPRV 特権を持っているか,
あるいはボリュームの所有者である必要があります。
この後の節では,これらの作業方法について説明します。
9.6.2 新規ディスク・ボリュームからのボリューム・セットの作成 | |
新しいディスク・ボリュームからディスク・ボリューム・セットを作成する手順は次のとおりです。
-
必要なデバイスを割り当て,物理的にボリュームをセットする。
-
ボリューム・セットに含めるボリュームを個々に初期化する。
INITIALIZE コマンドによるボリューム・セット用のボリュームの初期化では,修飾子を使ってボリュームの所有権と保護を定義することができる。
ボリューム・セットの保護および所有権情報はルート・ボリューム (先頭ボリューム) から取得され,その他のボリュームの情報は無視される。
-
MOUNT/BIND コマンドを入力し,ボリューム・セットを作成する。
MOUNT/BIND コマンドは,ボリューム・セットを作成し,
そのボリュームをマウントする。
このコマンドが成功終了すると,
そのセットのすべてのボリュームが使用可能状態になる。
つまり,ユーザ・ファイル・ディレクトリを作成することができる。
-
ボリューム・セットの作成では,/BIND 修飾子を 1 回だけ使用する。
以降は,MOUNT コマンド 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) には,ボリューム・セット全体のディレクトリ構造が含まれる。
-
$ MOUNT DUA1:,DUA2:,DUA3: PAYVOL1,PAYVOL2,PAYVOL3
|
MOUNT コマンドを使って,上記のボリューム・セットをマウントしている例。
9.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)の各要素もボリューム・セットです。
9.6.4 既存ディスク・ボリュームからのボリューム・セットの作成 | |
既存のボリュームおよび新規のボリュームからディスク・ボリューム・セットを作成するには,次の手順で行います。
-
DISMOUNT コマンドで既存のボリュームをディスマウントする。
/NOUNLOAD 修飾子でそのボリュームをドライブから論理的にディスマウントする。
しかしそのボリュームは,物理的には,ドライブにロードされたままである。
-
INITIALIZE コマンドでマウントされるデバイスとボリューム・ラベルを指定し,新しいボリュームを初期化する。
-
MOUNT/BIND コマンドでボリューム・セット名,
マウントされるボリューム,ボリューム・ラベルを指定し,
新しいボリュームを既存のボリュームにバインドする。
まず,既存のボリュームのボリューム・ラベルを指定する。
ここで指定したボリューム・ラベルが,このセットのルート・ボリュームとなる。
既存のボリュームからボリューム・セットを作成する場合,
既存のボリュームのラベルを指定しなければならない。
これは,ファイル・システムが既存のディレクトリ構造に構築されなければならないからである。
例次の例は,既存のボリュームからのディスク・ボリューム・セット (USERS)
の作成方法を示しています。
この例では,ボリューム USERFILES がすでにディレクトリ構造とファイルを持ち,そのボリュームが現在 DUA1: デバイス上にあると仮定しています。
$ DISMOUNT/NOUNLOAD DUA1:
$ INITIALIZE DUA2: USERFILES2
$ MOUNT/BIND=USERS DUA1:, DUA2: USERFILES, USERFILES2
|
MOUNT/BIND コマンドでは,ボリューム・ラベル USERFILES2 より前に既存のボリューム・ラベル USERFILES を指定しなければなりません。
USERFILES は,このセットのルート・ボリュームになります。
9.6.5 既存のディスク・ボリューム・セットへのボリュームの追加 | |
既存のボリューム・セットへのボリュームの追加はいつでも行うことができます。
ボリューム・セットに含むことができるボリューム数は最高で 255 個です。
この後の例では,既存のボリューム・セットへのボリュームの追加例を紹介します。
例-
$ 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:) だけである。
他のボリュームをマウントする必要はない。
-
$ 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: である。
ボリューム・セットをマウントしながら,ボリュームを追加しようとする場合は,ルート・ボリュームにするボリュームを最初に指定する必要がある。
動的ボリューム拡張 (DVE) は,OpenVMS バージョン 7.3-2 で導入されました。
DVE を使用すると,対応するストレージ・コンテナに予備の領域があり,その領域が拡張用に初期化されている場合,ファイル・システムを動的に拡張できます。
動的ボリューム拡張を使用すると,アプリケーションで突然追加の領域が必要になっても,アプリケーションをオフラインにする必要はありません。
アプリケーションはオンライン状態のまま,ファイル・システムの拡張が可能です。
ファイル・システムの拡張は,次の手順で行ないます。
-
ディスク上での拡張用のビットマップ・スペースの予約
-
ストレージ・コンテナの拡大
-
ボリュームの動的拡張
これらの手順について,以降の項で説明します。
9.7.1 拡張用のビットマップ・スペースの予約 | |
ファイル・システムを動的に拡張するには,まず拡張用のビットマップ・スペースをあらかじめ割り当てておく必要があります。
この処理として,ボリューム上で使用できる最大サイズのスペースを割り当てます。
OpenVMS での上限は,1 TB です。
次のいずれかの方法で,拡張用のビットマップ・スペースを割り当てることができます。
-
ディスクの初期化時
ディスクの初期化時に追加のビットマップ・スペースを割り当てるには,INITIALIZE /LIMIT コマンドを入力します。
例を次に示します。
$ INITIALIZE /LIMIT $1$DGAnnn volume_label !Allocates 1TB bitmap space
|
-
ボリュームが私用でマウントされている場合 追加のビットマップ・スペースを後で割り当てるには,私用でマウントされているボリュームに対して SET VOLUME /LIMIT コマンドを入力します。
例を次に示します。
$ SET VOLUME /LIMIT $1$DGAnnn volume_label !Allocates 1TB bitmap space
|
割り当てが終わると,共用可能 (MOUNT /SHARE) でマウントされているディスクでは,ボリュームを拡張できます。 これらのコマンドを使用する場合は,以下のことに注意してください。
-
上記の例の両方のコマンドの /LIMIT の省略時のサイズは,1 TB (OpenVMS で現在サポートされている最大サイズ) です。
特別な状況下では,小さなサイズを指定することもできます。
-
ディスクの拡張制限値を増加させるには,SET VOLUME /LIMIT コマンドを入力します。
-
DCL コマンドを入力してビットマップ・スペースを拡張すると,将来の拡張に備えて十分な大きさのある BITMAP.SYS ファイルが作成されます。
-
物理ボリュームに拡張用のスペースがあるかどうかにかかわらず,追加のビットマップ・スペースを割り当てることができます。
拡張用のビットマップ・サイズを割り当てるコマンドと,ボリューム・サイズを拡張するためのコマンドは,OpenVMS Alpha バージョン 7.3-2 で導入されました。
-
動的なボリューム拡張を行なったボリュームは,OpenVMS バージョン 7.2 またはそれ以降を実行している任意の AlphaServer や VAX システムで使用できます。
9.7.2 ストレージ・コンテナの拡張 | |
次のいずれかの方法で,ストレージ・コンテナを拡張できます。
-
HSV コントローラを使用してストレージを追加する。
HSV コントローラは,オンライン状態でボリュームのサイズを拡張できます。
-
Volume Shadowing の DDS (Dissimilar Device Shadowing) 機能を使用する。
DDS により,1 つのシャドウ・セット内で異なるサイズのディスクの組み合わせ可能。
OpenVMS バージョン 7.3-2 で導入された DDS を使用すると,あるディスクを,そのディスクよりも大きな別のディスクにシャドウイングすることができます。
たとえば,RA90 ディスクを Fibre Channel ディスクにシャドウイングするようなこともできます。
唯一の制限事項は,追加するシャドウ・メンバの大きさが,オリジナルのシャドウ・メンバ以上の大きさでなければならないという点です。
追加するディスクがオリジナルのシャドウ・メンバと同じか,またはそれよりも大きければ,追加するディスクのサイズに制限はありません。
DDS についての詳細は,『Volume Shadowing for OpenVMS 説明書』を参照してください。
9.7.2.1 動的ボリューム拡張用の追加の INITIALIZE 修飾子の使用
性能を向上させるために,ボリュームの現在の物理サイズよりも小さいファイル・システムを作成することもできます。
たとえば,Volume Shadowing を利用する環境で 36 GB のディスクがあり,将来それとは別の 18 GB ディスクをシャドウ・メンバとして追加する予定であれば,36 GB ディスクを INITIALIZE /LIMIT コマンドで初期化してから下記の例のようなコマンドを入力し,将来追加する 18 GB ディスクのためのビットマップ・スペースを確保しておくことができます。
$ INITIALIZE /SIZE=35500000 $1$DGAnnn volume_label
|
このコマンドは,18 GBを若干下回るサイズの領域を持ったファイル・システムとして 38GB ディスクを初期化します。
必要であれば,このファイル・システムは後で拡張することができます。
すでに使用中のボリュームの拡張制限値を大きくするには,次にメンテナンスを行う際に SET VOLUME /LIMIT コマンドを使用して大きくすることを計画してください。
INITIALIZE または SET VOLUME コマンドで /LIMIT 修飾子を使用すると,BITMAP.SYS ファイルが数百ブロック大きくなります。
これにより,将来の柔軟性が大幅に高まります。
ストレージの必要量が予想外に大きくなった場合でも,後でボリュームを (SET VOLUME /SIZE コマンドを使用して) 素早く拡張できます。
9.7.2.2 クラスタ内のボリュームの拡張制限値の増加
クラスタ内のボリュームの拡張制限値を大きくするには,次の手順に従います。 -
クラスタ内のすべてのシステムが OpenVMS バージョン 7.2 またはそれ以降を実行していることを確認します。 -
共用可能でディスクがマウントされている場合 (マウント時に /CLUSTER,/GROUP,/SYSTEM,または /SHARE の修飾子を指定した場合),ディスクをディスマウントし,私用で再マウントします。
/CLUSTER,/GROUP,/SYSTEM,または /SHARE は指定しないでください。 -
ディスクを共用可能で再マウントします。
次の例に,クラスタ内にマウントされているボリュームの拡張制限値を大きくする方法を示します。
$ DISMOUNT /CLUSTER /NOUNLOAD $252$DUA716:
|
$ MOUNT $252$DUA716: TST716
|
$ SET VOLUME /LIMIT $252$DUA716:
|
$ DISMOUNT /NOUNLOAD $252$DUA716:
|
$ MOUNT /CLUSTER $252$DUA716: TST716
|
ISO 9660 形式の CD-ROM にアクセスするためには,
次の 2 つのいずれかの方法でボリュームをマウントします。
-
-
間接: DCL の MOUNT コマンドを使用する。
MOUNT ユーティリティは,
ISO 9660 ディレクトリとファイルにアクセスするのに必要な入出力データベース構造を構築します。
また,MOUNT は,
ISO 9660 に固有の $QIO 機能を実行するための適切な ACP が存在するか検証します。
現在,ISO9660 媒体をシステム・ディスクとしてマウントすることはできません。
詳細は『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照してください。
CD-ROM 媒体の ISO 9660 ボリューム構造についての詳細は,
『Guide to OpenVMS File Applications』 を参照してください。
9.8.1 ISO 9660 ボリューム・セットのマウント | |
ISO 9660 は,65,535 ボリューム・セット・メンバまでのボリューム・セットをサポートします。
どのようなときでも,ユーザは一度に 65,535 の総計ボリューム・セットの 255 のメンバ・サブセットをマウントできます。
ユーザのボリューム・セットが,
ユーザが使用できる CD-ROM リーダの数より大きい場合は,
ボリューム・セット・メンバをスワップできます。
たとえば,複数のボリューム・セット・メンバで1つのリーダを使用する場合などです。
9.8.2 ISO 9660 ボリューム・グループのマウント | |
ボリューム・グループは,ボリューム・セット内の連続した番号を持つボリュームから構成されます。
ボリューム・グループのメンバ間の関係は,そのボリュームがいっしょに記録されていて,同じ最大ボリューム・セット・サイズ・パラメータの影響を受けることによって確立されます。
ボリューム・グループ内の各ボリュームには,ボリューム・セット中のすべてのボリューム (他のボリューム・グループのメンバも含む) に記録されたすべてのファイルとディレクトリについての情報が入っています。
たとえば,あるボリューム・セットに 2 つのボリューム・グループがあると仮定します。
-
最初のグループは,2 番目のグループの前に,いっしょに記録されたボリューム 1 と 2 を持つ。
ボリューム 1 と 2 はそれぞれ,自分のボリューム・グループについての情報しか持っていない。
つまり,2 番目のボリューム・グループのボリュームについての情報は持っていない。
-
2 番目のグループは,後日いっしょに記録されたボリューム 3,4,5 を持つ。
ボリューム 3,4,5 はそれぞれ,
ボリューム 1 と 2 を含む,
そのボリューム・セット内のすべてのボリュームについての情報を持っている。
作業方法ボリューム・セットをマウントするには,
まず,一番大きい番号を持つボリューム・グループ (一番最後に記録されたグループのことで前の例では,3,4,5) をマウントしなければなりません。
なぜなら,一番大きい番号を持つグループだけが,
ボリューム・セットのすべてのメンバをマウントするのに必要な情報を持っているからです。
このように行わない場合は,すべてのボリュームをディスマウントし,
一番大きい番号を持つボリューム・グループのメンバを一番最初にマウントするボリュームとして指定し,
再起動しなければなりません。
9.8.3 部分マウントされた ISO 9660 ボリューム・セットの処理 | |
OpenVMS システムは,部分マウントされた ISO 9660 ボリューム・セットをサポートします。
データは通常どおりすべてのマウントされたボリュームから,ユーザ・プログラムに透過的な方法で読み込むことができます。
ボリューム・セットが部分マウントされているためにボリューム・セット・メンバがマウントされなかった場合は,
OPCOM は OPERATOR クラス DISK に,
アンマウントされたボリュームをマウントするようメッセージを送信します。
指定された時間内に要求を満たされない,または直接ボリュームをマウントするためのオプションを有効にできない場合は,
入出力プロセスが失敗しエラー・メッセージが発行されます。
9.8.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 ボリュームの SVD にエスケープ・シーケンスが指定されていない場合には,省略時の文字セットが ISO 646 (ASCII) であるものと解釈されます。
この省略時の文字セットを使用すると,OpenVMS でサポートされるファイル指定文字セットを使用できます。
この文字セットには,追加文字としてドル記号 ($) とダッシュ (-) も含まれています。
エスケープ・シーケンスが指定されていないときに,SVD ボリューム・ラベルを使用してボリュームをマウントするには,次のコマンド構文を使用します。
MOUNT デバイス名 ボリューム・ラベル /UCS_SEQUENCE="" CD-ROM 媒体上の ISO 9660 ボリューム構造についての詳細は,
『Guide to OpenVMS File Applications』 を参照してください。
9.8.5 ISO 9660 制限の取り扱い | |
表 9-15 「ISO 9660 制限事項」 は,OpenVMS における ISO 9660 規格のサポートの問題点および制限事項とその解決方法を説明しています。
表 9-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』 を参照。 |
テープ・ボリューム・セットをマウントする手順は,
9.5 項 「ボリュームのマウント」 で説明したテープ・ボリュームのマウント手順に似ています。
ただし,指定するデバイス名の数とボリューム識別子の個数が同じである必要はありません。
つまり,テープ・ボリューム・セットをマウントするとき,
デバイス名より多くのボリューム識別子,またボリュームより多くのデバイス名を指定することができます。
ボリューム・セットに含まれるボリュームの継続ボリュームを処理するときにテープ・ファイル・システムが取る処置は,指定されたデバイスの台数によって異なります。
たとえば,指定されたデバイスの個数がボリューム数より多い場合,テープ・ファイル・システムは,リストに挙げられているデバイスのうちの,まだボリュームがマウントされていない最初のデバイスに継続ボリュームをマウントするよう要求します。
ユーザがセットを構成するボリュームに書き込みを行う予定がある場合は,
テープ・ボリューム・セットをマウントするとき,必ず,すべてのボリュームに書き込みリングをセットしておいてください。
マウントするときにボリュームの 1 つでも書き込みリングがセットされていないと,
システムはどのボリュームにも書き込みを行うことができません。
またボリュームは,割り当て済みでオンラインになっているデバイスにセットしてください。
以降の項では,次の作業を行う方法について説明します。
9.9.1 テープ・ボリューム・セットの作成 | |
ボリューム・セットが明示的に作成されていない場合,
オペレーティング・システムは必要に応じてボリューム・セットを作成します。
マウントされているボリューム・セットがなく,継続ボリュームが必要な場合,
テープ・ファイル・システムは継続ボリュームをマウントするよう要求し,
暗黙にボリューム・セットを作成します。
たとえば,ボリュームへの書き込み中に EOT マークを検出した場合,テープ・ファイル・システムは別のボリュームのマウントを要求するメッセージをオペレータ・コンソールに送ります。
継続ボリュームがマウントされると,テープ・ファイル・システムはボリューム・ラベルとヘッダ・ラベルを書き込み,保留中の書き込み要求を継続ボリュームに再発行します。
継続ボリュームのファイルの先頭ファイル・ヘッダ・ラベルに書き込まれるファイル・セット識別子コードはすべて,
先頭ボリュームの先頭ファイルの識別子コードと同じです。
つまり,ボリューム・セットに対するファイル・セット識別子コードは,常に,
最初にマウントされたボリュームの先頭ファイルの識別子コードです。
作業方法たとえば,3 つのテープ・ボリュームから明示的にボリューム・セットを作成する場合は,次の手順に従ってください。
-
ボリュームをロードするデバイスを割り当てる。
-
ボリュームを初期化する。
INITIALIZE コマンドには,デバイス名とボリューム識別子の他,密度とアクセス保護コードも指定する。
-
ボリュームをマウントする。
デバイス名とボリューム識別子は必ず指定する。
ボリューム・セットの論理名は省略することができる。
システムはマウントしたボリュームを確認するだけでなく,各ボリュームがどのデバイスにマウントされているかも示す。
システムがマウントおよび検証するのは,
マウント時に物理的にデバイスにロードされているボリュームだけである。
余分に指定されたボリュームのボリューム識別子は,
そのボリュームへのアクセスが行われないかぎり検証されない。
-
デバイスにマウントされたボリュームの密度,ボリューム・ラベル,UIC,
相対ボリューム番号を確認したい場合は,SHOW DEVICES/FULL コマンドを使用する。
テープ・デバイスに MU などの汎用デバイスコードを指定すると,
システムで構成されているそのタイプのすべてのデバイス情報が表示される。
特定のデバイスにマウントされているボリューム情報を表示したい場合は,
そのデバイスの物理デバイスコードを指定する。
物理デバイスコードは,
汎用デバイスコード,コントローラ指定,ユニット番号を指定し,最後にコロンを付ける。
SHOW DEVICES コマンドについての詳細は,
8.3 項 「システムのデバイス情報の取得」または『OpenVMS DCL ディクショナリ』を参照。
例-
$ ALLOCATE MUA0:
%DCL-I-ALLOC, _MARS$MUA0: allocated
$ ALLOCATE MUA1:
%DCL-I-ALLOC, _MARS$MUA1: allocated
$ ALLOCATE MUA2:
%DCL-I-ALLOC, _MARS$MUA2: allocated
|
ボリュームをロードするデバイスの割り当ての例。
-
$ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA0: TAPE1
$ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA1: TAPE2
$ INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MUA2: TAPE3
|
ボリュームの初期化例。
コマンドには,デバイス名とボリューム識別子に加えて,密度とアクセス保護コードも指定している。
-
$ MOUNT MUA0:,MUA1:,MUA2: TAPE1,TAPE2,TAPE3 TEST
%MOUNT-I-MOUNTED, TAPE1 mounted on _MUA0:
%MOUNT-I-MOUNTED, TAPE2 mounted on _MUA1:
%MOUNT-I-MOUNTED, TAPE3 mounted on _MUA2:
|
ボリュームのマウント例。
コマンドには,デバイス名とボリューム識別子が指定されている。
9.9.2 テープ・ボリューム・セットの継続ボリュームのマウント | |
9.9.1 項 「テープ・ボリューム・セットの作成」 では,
テープ・ボリューム・セットをマウントするときの一般的な手順を紹介しました。
作成したボリューム・セットをマウントするときは,
それぞれのボリュームを初期化する必要はありません。
また,ボリューム・セットのボリュームごとにデバイスを割り当てる必要もありません。
テープ・ファイル・システムは,継続ボリュームが必要になると,ボリュームを適当なデバイスに切り換えるよう要求します。
オペレーティング・システムは,マウント時に指定されたボリュームの識別子を記憶しますが,物理的にデバイスにマウントされていない識別子を検証することはできません。
システムがボリューム識別子を検証するのは,それらボリュームにアクセスしたときです。
オペレーティング・システムには,ボリュームの自動切り換え機能と自動ボリューム・ラベル作成 (AVL) 機能があり,
テープ・ボリューム・セットを構成するマウント済みボリュームを連続して処理することができます。
ファイル・システムがラベルを作成するかどうかは,次に示すように条件によって異なります。
-
ボリューム・セットに書き込みを行う場合,システムは磁気テープのラベルを作成し,そのラベルと,ボリューム・セットの先頭ボリュームに設定されている保護特性を使ってテープを初期化する。
-
ボリューム・セットの読み込みを行う場合,
テープ・ファイル・システムはそのラベルを使いボリューム・セットの次のテープをマウントしようとする。
-
デバイスにテープがロードされていない,
または間違ったテープがデバイスにロードされている場合,
テープ・ファイル・システムはオペレータ・コンソールにメッセージを送り,
テープをマウントするか,正しいテープに入れ換えてマウントするよう要求する。
9.4.2 項 「テープ・ボリュームの保護」 で説明したように,
テープ・ファイル・システムは,継続ボリュームを処理する前にそのボリュームの保護検査を行い,ユーザがボリュームに対するアクセス権をもっていないと判断した場合は,オペレータにメッセージを送ります。
ラベルは,6 文字の長さのボリューム識別子フィールドに埋め込まれます。
-
フィールドの文字 1 から 4 の部分には,ボリューム・セットの前のボリュームに指定されているラベルの最初の 4 文字が入る。
ラベルが 4 文字より短い場合,ボリューム識別子フィールドには,アンダスコアが詰められる。
たとえば,ボリューム識別子が XXX の場合,フィールドの文字 1 から 4 は XXX_ になる。
-
文字 5 と 6 の部分には,ボリューム・セットのその磁気テープ・リールの相対ボリューム・番号が入る。
システムが 1 つのボリューム・セットに対して作成可能な一意的なラベル数は 99 個だけです。
ボリュームの自動切り換えが有効な場合,オペレータは,処理されているボリュームの EOT マークに達する前であれば,ボリューム・セットに割り当てられている次のデバイスへのテープのロードをいつでも行えます。
テープ・ファイル・システムは,ボリューム・セットの次のテープをマウントし,初期化して,切り換えを行ったことをオペレータに通知します。
テープの初期化が行われるは,最初にそのように指定されていた場合だけです。
9.9.2.2 ボリュームの自動切り換え機能の有効化
ボリュームの自動切り換え機能を使用するためには,ボリューム・セットに複数のテープ・デバイスを割り当てる必要があります。
これが行われると,
テープ・ファイル・システムは,ボリューム・セットに割り当てられた次のテープ・デバイスを選択することによって,自動的にボリュームを切り換えます。
ただし,正しく切り換えを行うためには,
ボリューム・セットの次のボリュームをそのデバイスにロードしておく必要があります。
例-
$ MOUNT MUA0:,MUA1:,MUA2: TAPE
|
この例では,TAPE という識別子のボリュームを MUA0: デバイスにマウントしている。
テープ・デバイスへの継続ボリュームのロードは,
MUA1:,MUA2:,MUA0:,MUA1:,MUA2: という順番で行う。
-
$ INITIALIZE MUA0: MAIN
$ MOUNT/OVERRIDE=IDENTIFICATION/INITIALIZE=CONTINUATION MUA0:,MUA1:
|
ボリューム・セットをマウントするときの /INITIALIZE=CONTINUATION 修飾子の使用例。
また,システムに継続ボリュームのボリューム識別子を作成させる方法も示してある。
MAIN というラベルのボリュームは,MUA0: デバイスにマウントされる。
ボリューム・セットの 2 つ目のボリュームは,ボリューム識別子として MAIN02 を取り,MUA1: デバイスにマウントされる。
また,3 つ目のボリュームは,ボリューム識別子として MAIN03 を取り,MUA0: デバイスにマウントされる。
テープ・ボリューム・セットに追加するボリュームが書き込みの前に初期化されるようにするためには,/INITIALIZE=CONTINUATION 修飾子を使ってボリュームをマウントすること。
省略時の設定は /NOINITIALIZE。
-
この例では,ボリューム・セットの先頭ボリュームに SUN というラベルを付け,
これを MUA0: デバイスにマウントしている。
2 つ目のボリュームは識別子として SUN_02 を取り,MUA1: デバイスにマウントされる。
また,3 つ目のボリュームは識別子として SUN_03 を取り,MUA0: デバイスにマウントされる。
-
$ MOUNT MUA0:,MUA1: SUN,MOON
|
この例では,SUN と MOON という 2 つのボリューム識別子を持つ継続ボリューム 1 つをそれぞれ MUA0: と MUA1: にマウントしている。
3 つ目のボリュームが追加された場合は,識別子として MOON03 が与えられ,
MUA0: デバイスにマウントされる。
ユーザのサイトでボリューム・ラベルを事前に設定している場合は,
これらのラベルの上書きを避けるために,
自動ボリューム切り替え機能を無効にしておく必要があります。
ボリュームの自動切り換えを明示的に無効にする場合は,
テープ・ボリュームをマウントするときに /NOAUTOMATIC 修飾子を使用します。
省略時の設定は /AUTOMATIC です。
テープ・ボリューム・セットに 1 台しかデバイスを割り当てていない場合,
ボリュームの自動切り換え機能は暗黙で無効になります。
磁気テープに読み込みまたは書き込みを行っていて,
テープの終端に達した場合は,システムは処理を中断し,
ボリューム・セットの次のボリュームのマウントを要求します。
このとき出される要求を次に示します。
%%%%%%%%%%% OPCOM, 28-MAY-2000 15:23:31.78 %%%%%%%%%%%
request 3, from user PLAW
MOUNT new relative volume 2 (DW0QT2) on MUA1:
|
ユーザがこのメッセージを見ることはありませんから,最後まで読み込みまたは書き込みをするために別のテープが必要なことに気付かないことがあります。
例
$ MOUNT/NOAUTOMATIC MUA0: ABCD,EFGH
|
この例は,2 つ目のボリュームに専用のラベルを設定せずに,指定されているラベルを使用するよう MOUNT コマンドに指示している例です。
マウント要求に指定されたデバイスに継続ボリュームをロードした後,
表 9-16 「継続ボリュームに対する REPLY コマンドの修飾子」 に示す 3 つの修飾子のいずれかを指定した REPLY コマンドを入力することによって,
ボリュームをマウントします。
これらの修飾子については,『OpenVMS DCL ディクショナリ』を参照してください。
表 9-16 継続ボリュームに対する REPLY コマンドの修飾子 修飾子 | 説明 |
---|
/BLANK_TAPE=
識別番号 | フォーマットされていないボリュームに書き込みを行うときに使用する。
すなわち,この修飾子はボリュームを初期化するので,テープの故障やタイムアウト条件の発生を避けるためには,VOLPRO 特権と OPER 特権が必要 (9.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 コマンドを受信したテープ・ファイル・システムは,
継続ボリュームが正しいボリュームかチェックします。
そして,正しいアクセス・コードを持つ正しいボリュームの場合は,継続ボリュームをマウントして,そのボリュームに保留中の読み込み要求または書き込み要求を再発行します。
そうでない場合の処理はボリュームが空きボリュームであるかどうかによって異なります。
空きテープでない場合はマウントを行わず,
空きテープの場合は初期化してマウントします。
9.9.3 磁気テープ特性の変更 | |
特定のテープ・デバイスの省略時の特性を定義する場合は,DCL の SET MAGTAPE コマンドを使用します。
SET MAGTAPE コマンドは,磁気テープ・デバイスがフォーリン・ボリュームとしてマウントされているときにだけ有効です。
このコマンドの形式は次のとおりです。
次に,SET MAGTAPE コマンドと MOUNT コマンドの組み合せ例を紹介します。
例-
$ MOUNT MUB1:/FOREIGN
$ SET MAGTAPE MUB1:/DENSITY=800
|
MOUNT コマンドで,MUB1: ドライブにフォーリン・テープをマウントし,
SET MAGTAPE コマンドで,磁気テープへの書き込み密度を 800 bpi と定義している。
すでに書き込みが行われているテープの密度を設定し直すことはできない。
-
$ MOUNT MUA0: USER_VOL
$ SET MAGTAPE MUA0:/SKIP=FILES:4
|
MOUNT コマンドで,MUA0: ドライブに USER_VOL というテープをマウントし,
SET MAGTAPE コマンドで,テープ・マーク 4 つをスキップした位置にテープを位置付けるよう入出力サブシステムに指示している。
ローカルな SCSI テープ・ドライブでは,
/FAST_SKIP=オプション 修飾子を使うと,
ファイル・マークごと,またはレコードごとに読み飛ばすことができる。
詳細は『OpenVMS DCL ディクショナリ』を参照。
-
$ MOUNT MUA1:/FOREIGN
$ SET MAGTAPE/REWIND MUA1:
|
MOUNT コマンドで,MUA1: ドライブにフォーリン・テープをマウントし,
SET MAGTAPE コマンドで,ボリュームを巻き戻している。
ディスクまたはテープ・ボリュームのファイルやデータの処理を終えたら,
DISMOUNT コマンドを使用して,明示的に 1 つのボリュームまたはボリューム・セット全体をディスマウントすることができます。
DISMOUNT コマンドの形式は次のとおりです。
システム管理者は,ローカル・ノードのボリューム,
クラスタのすべてのノードのボリュームをディスマウントすることができます。
ボリュームまたはボリューム・セットをディスマウントする前に,
DISMOUNT コマンドはディスマウントを妨げる次の条件が存在するかチェックします。
-
スワップ・ファイルとページ・ファイルがインストールされている
-
-
-
ユーザ・ファイル (上記 3 つの条件のどれにも当てはまらないすべてのファイル)がオープンしている
これら 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 修飾子を使用してください。
情報キャッシュ時のディスマウント性能向上の一環として,システムは,ディスク・ボリュームの未使用空間,ファイル識別子,クォータ・ファイル・エントリ,ファイル・ヘッダなどのボリューム情報をメモリに格納します。
これは,キャッシングと呼ばれる処理です。
キャッシュには,ファイルには割り当てられていないブロックや,ディレクトリには作成されていないファイルが含まれることがあります。
ディスクのディスマウント時やシステムのシャットダウン時,システムはキャッシュの情報をディスクに書き出します。
この書き出しの前にドライブからディスクを取り出した場合,キャッシュの情報は失われます。
そのため,キャッシュ情報を残す場合は,次のガイドラインを守る必要があります。
ボリュームの既知ファイル・リストにエントリがある場合は,ボリュームをディスマウントしないでください。
既知ファイル・リストでボリュームが参照されている場合は,次の手順を踏んでから,ボリュームをディスマウントする必要があります。
-
インストール・ユーティリティの DELETE コマンドを使用して,ボリュームに関係する既知イメージをすべて削除する (『OpenVMS システム管理者マニュアル (下巻)』参照)
-
次のイベントの発生を待つ
-
イメージを使用するすべてのプロセスによるイメージの解放
-
システムによる書き込み可能なイメージのファイルへの書き戻し
ファイルのステータスを知りたい場合は,DCL の SHOW DEVICES/FILES コマンドを使用する。
次の節では,以下の作業を行う方法について説明します。
9.10.1 ボリュームのディスマウント | |
ここでは,1 つのボリュームをディスマウントするときの手順,および DISMOUNT コマンドで使用可能な修飾子の一部を説明します。
9.10.1.1 ボリュームのディスマウントとアンロード
ボリュームやボリューム・セットは必ず,
DISMOUNT コマンド,または DISMOUNT コマンドを含むコマンド・プロシージャを使用してディスマウントしてください。
また,ボリュームは必ず,
ドライブをディスマウントしてからアンロードしてください。
ディスマウントが終了したかどうかは,
DCL の SHOW DEVICES コマンドを使って確認することができます。
私用ボリュームは,それをマウントしたジョブからログアウトすると,
自動的にディスマウントされアンロードされます。
ただし,システムに障害があった場合は,
ドライブの自動ディスマウントは行われません。
ボリュームを明示的にディスマウントしない場合,
システムに障害が発生すると,データが失われることがあります。
テープ・ボリュームの場合は,ファイル・トレーラ・ラベルが書き込まれていない,
オープンしているファイルがボリュームに存在しているとデータが失われる可能性があります。
このとき,ボリュームを再マウントして,
ファイル・トレーラ・ラベルのないファイルにアクセスしようとすると,
次のエラー・メッセージが出されます。
%MTACP-magnetic tape position lost
|
ファイル・トレーラ・ラベルが書き込まれていないファイルより前のすべてのファイルにアクセスすることができますが,ファイル・トレーラ・ラベルのないファイルにアクセスすることはできません。
9.10.1.2 割り当てデバイスのディスマウント
ALLOCATE コマンドで割り当てたデバイスを DISMOUNT コマンドでディスマウントしても,
デバイスの割り当ては解除されません。
MOUNT コマンドで暗黙に割り当てられたデバイスの場合は,DISMOUNT コマンドによって割り当て解除されます。
9.10.1.3 DISMOUNT コマンドの修飾子の使用法
次の表は,DISMOUNT コマンドの修飾子のうちの /UNIT と /NOUNLOAD 修飾子をまとめたものです。
例ここでは,/NOUNLOAD 修飾子を指定した DISMOUNT コマンドの使用例を紹介します。
$ DISMOUNT/NOUNLOAD MUA1:
|
このコマンドによって,論理的にはテープ・ボリュームはディスマウントされますが,物理的には MUA1: デバイスにロードされたままになり,テープの始まり位置まで巻き戻されます。
この後,制御はは DCL レベルに戻ります。
9.10.2 ボリューム・セットのディスマウント | |
DISMOUNT コマンドを使い,ボリューム・セット全体をディスマウントすることができます。
すなわち,ディスクまたはテープ・ボリューム・セットの任意のボリュームを明示的にディスマウントすると,そのボリューム・セット全体が自動的にディスマウントされます。
たとえば,DUA3: と DUA4: からなるボリューム・セットがあり,次のコマンドが入力されると,DUA4: を含むボリューム・セット全体がディスマウントされます。
9.10.3 フォーリン・ボリュームのディスマウント | |
DISMOUNT コマンドを使い,
フォーリン・ボリュームをディスマウントすることもできます。
/FOREIGN 修飾子を使って,
DUA0: ドライブにマウントされたボリュームをディスマウントしている例を次に示します。
この例では,ボリュームがディスマウントされるとともに,
自動的にアンロードされます。
その後,制御は DCL レベルに戻ります。
9.10.4 OpenVMS Cluster システムのボリュームのディスマウント | |
次の例のように,DISMOUNT コマンドに /CLUSTER 修飾子を指定すると,
OpenVMS Cluster システムのボリュームをディスマウントすることができます。
この例のコマンドを実行するためには,
SYSNAM 特権が必要です。
$ DISMOUNT/CLUSTER $10$DJA100:
|
DISMOUNT/CLUSTER コマンドは,まず,
ボリュームのディスマウントを妨げる条件がローカル・ノードに存在するか調べます。
存在しない場合は,クラスタを構成するすべてのノードについて,
ディスマウントを妨げる条件が存在するか調べます。
条件が存在する場合は,デバイスとエラーが発生したノード,
およびそのエラー内容を示すエラー・メッセージを送ります。
DISMOUNT コマンドに関するさらに詳しい内容については,
『OpenVMS DCL ディクショナリ』を参照してください。
ディスクやテープ媒体に対して行う操作の大半は日常的なものです。
したがって,
サイトで日常的に行う作業をよく認識してコマンド・プロシージャを設計すれば,
コマンド・プロシージャにこれらの作業を行わせることができます。
コマンド・プロシージャの設計と実行に用いる構文についての詳細は,
『OpenVMS ユーザーズ・マニュアル』を参照してください。
この節で紹介するコマンド・プロシージャの例はあくまで一般的なものです。
ただし,私用ディスクやテープ・ボリュームを設定するプロシージャを設計するような場合は,ガイドラインとなります。
それぞれのサイトの設定作業に合わせて,
コマンド・プロシージャを変更してください。
9.11.1 ディスク・ボリュームの設定用のコマンド・プロシージャ例 | |
この節で紹介するコマンド・プロシージャは,
ディスク・ボリュームの割り当て,初期化,およびマウントを行います。
次の手順に従って,
プロシージャを作成してみてください。
-
テキスト・エディタを使い,SETUP.COM という名のファイルを作成する。
-
実行されるとディスクを割り当て,マウントする次のコマンド・プロシージャを入力する。
$ ! 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'
|
このコマンド・プロシージャは非常に簡単で,
ディスクを割り当てマウントするという作業を行う。
実行すると,割り当ておよびマウントしようとするディスク・デバイスのデバイス名,
ボリューム・ラベル,および論理名の入力を求める。
ディスクに論理名を割り当てておけば,デバイスを繰り返し割り当て,
マウントすることもできる。
この他の処理を加えると,コマンド・プロシージャはさらに有用になる。
たとえば,ディスクの割り当てを解除して,
ディスマウントする処理を追加する方法もある。
9.11.2 項 「テープ・ボリュームの設定用のコマンド・プロシージャ例」 で紹介する磁気テープの設定用のコマンド・プロシージャ例には,
そうした機能がいくつか追加されている。
-
SETUP.COM コマンド・プロシージャを実行する場合は,
次のコマンドを入力する。
9.11.2 テープ・ボリュームの設定用のコマンド・プロシージャ例 | |
例 9-1 「テープ・ボリューム設定用のコマンド・プロシージャ」 で紹介するコマンド・プロシージャは磁気テープの設定用であり,前節の例より複雑で,もっと細かい処理を行います。
このコマンド・プロシージャには,ALLOCATE と MOUNT/FOREIGN コマンドが含まれています。
テキスト・エディタを使ってコマンド・プロシージャを作成してみてください。
例 9-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.COM には,割り当てやマウント以外の入力を求める機能もあります。
具体的には,たとえばテープがドライブに装填されているかどうかの問い合わせを行います。
また,FETCH.COM は BACKUP 復元処理も行い,いくつのオプションの指定を求めます。
最後の処理として FETCH.COM は,ユーザが作業を終えた後,明示的に磁気テープ・ボリュームをディスマウントし,
ドライブの割り当てを解除します。
ファイルに使用できるディスク空間には限りがあります。
システム管理者はユーザと協力して,ディスク空間を最適に利用する必要があります。
次の項では,ディスク・クォータと,
ディスク空間を節約および監視するための手段について説明します。
9.12.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 ユーザがクォータを超えることが可能なブロック数。
|
クォータ・ファイルの各エントリに含まれる情報は,
表 9-17 「クォータ・ファイルの内容」 のとおりです。
表 9-17 クォータ・ファイルの内容 項目 | 説明 |
---|
一般識別子
または UIC | ボリュームのファイルを保守する権限を付与されているユーザの利用者識別子コード (UIC)。 |
使用状況 | ボリューム上で 1 ユーザのファイルが占有しているブロック数。 |
クォータ | ボリューム上で 1 ユーザのファイルが占有可能な最大ブロック数。
この値を超えるとエラー・メッセージが出される。 |
超過値 | クォータを超えてユーザのファイルが占有可能なブロック数。 |
ボリューム上で 1 ユーザが占有可能な最大ブロック数は,
クォータと超過値の合計です。
クォータ・ファイルは,UIC [0,0] エントリを使って初期化されます。
この UIC の使用量が 0 から変化することはありません。
言い替えれば,UIC [0,0] がファイルを所有することはできません。
UIC [0,0] のクォータと超過値は省略時の値として役立てることができます。
他の UIC に対するクォータおよび超過値として,
最もよく使用されると思われる値を設定してください。
クォータの管理方法クォータ・ファイルを持つボリュームの通常の使用中,
システムは,ユーザによるファイルの作成,削除,拡張,切り詰めに応じて自動的に使用量を更新します。
EXQUOTA 特権がないかぎり,クォータ・ファイルにエントリを持たないユーザが,ボリュームにファイルを作成したり,空間を割り当てたりすることはできません。
新しいファイルを作成する場合,ユーザのディスク空間の使用量は,
超過値ではなく,クォータ以下にします。
新しいファイルの追加,あるいは現在のファイルの拡張によってユーザのクォータを超えた場合,
システムは操作を禁止し,エラー・メッセージを発行します。
たとえば編集などのセッション中,超過値を持つユーザは,使用量がクォータと超過値の合計を超えないかぎり,
ディスク・クォータを超えた後でもオープンしているファイルを拡張することができます。
システムがファイルの拡張を禁止するのは,
ユーザの使用量が合計に達した時点です。
EXQUOTA 特権を持つユーザにクォータ制限が設定されることはありません。
ただし,使用量の管理そのものは行われます。
リビルドによるクォータ・ファイルの保全
前回使用されたときに正しくディスマウントされていなかったボリュームがマウントされると,システムは自動的にリビルド処理を行います。
ボリュームにクォータが設定されている場合は,この処理により,次の条件の下でも,
ディスクの使用量が正確にクォータ・ファイルに反映されるようになります。
-
-
ディスマウント前にボリュームが物理的に取り出された。
-
9.12.2 ディスク・クォータの設定 | |
省略時の設定では,ディスク・クォータは有効です。
ディスクの使用量は,SYSMAN の DISKQUOTA コマンドを使って制御してください。
ODS レベル 2 または 5 のディスクでは,ユーザにディスク・クォータを割り当て,
ディスク使用量の正確な記録を管理することができます。
クォータ・ファイルは,
システム・ディスク以外のすべてのディスクに作成します。
そして作成されたファイルには,すべてのユーザについて現在の使用量と最大ディスク使用量が記録されます。
SYSMAN では,通常はローカル・ノードからはアクセスできないディスクにもアクセスすることができます。
したがって,個人的にマウントされたディスク,あるいはシステム・ディスクとして使用されているディスクも含めて,他のノードのすべてのディスクの使用状況に関する情報を得ることができます。
使用可能なディスクに DISKQUOTA を実行するにあたって,そのディスクが存在するノードにログインする必要はありません。
ディスク空間の割り当ての第 1 ステップは,空間を割り当てようとするボリュームまたはボリューム・セットにクォータ・ファイルを作成することです。
ユーザは,クォータと超過値の合計である絶対最大ブロック数を超えるディスク空間を占有することはできません。
ディスク・クォータを免れるのは,EXQUOTA 特権を持つユーザだけです。
作業方法
クォータ・ファイルを作成するためには,SYSPRV,
BYPASS,または GRPPRV 特権が必要です。
次に,SYSMANコマンドでディスクにクォータ・ファイルを作成する手順を示します。
-
次の形式で SYSMAN の DISKQUOTA CREATE コマンドを入力する。
/DEVICE 修飾子には,クォータ・ファイルを作成するディスクを指定する。
DISKQUOTA CREATE /DEVICE= デバイス名
-
次の形式で DISKQUOTA MODIFY コマンドを使用して,
目的のデバイスの [0,0] に適切な値を設定する。
DISKQUOTA MODIFY /DEVICE= デバイス名/PERMQUOTA= 値
-
次の形式で SYSMAN の DISKQUOTA SHOW コマンドを使用して,
クォータ・ファイルの内容を表示する。
DISKQUOTA SHOW 所有者名 /DEVICE= デバイス名
例-
$ MCR SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> DISKQUOTA CREATE/DEVICE=DUA12:
|
この例の 1 番目の SYSMAN コマンドは,クラスタ内のすべてのノードに対して環境を設定している。
2 番目の SYSMAN コマンドは,
DUA12: デバイスのディレクトリ [000000] に QUOTA.SYS というクォータ・ファイルを作成している。
この時点でのクォータ・ファイルのエントリは 1 つ,省略時のクォータと超過値の入った UIC [0,0] だけである。
-
SYSMAN> DISKQUOTA MODIFY/DEVICE=DUA12: [0,0]/PERMQUOTA=3000
|
DUA12: デバイスのクォータ・ファイル QUOTA.SYS の UIC [0,0] エントリを変更している例。
省略時のパーマネント・クォータとして 3,000 ブロックを設定している。
-
SYSMAN> DISKQUOTA SHOW [0,0]/DEVICE=DUA12:
|
DUA12: デバイスの UIC [0,0] のクォータと超過値,
使用量を求めている例。
システム管理者は,ユーザが消費しているディスク空間量を監視する必要があります。
例-
$ 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 ブロック。
-
$ SHOW QUOTA/USER=[DOCUMENTATION,JONES]/DISK=XXX1:
%SYSTEM-F-NODISKQUOTA, no disk quota entry for this UIC
|
UIC が [DOCUMENTATION,JONES] のユーザは,
XXX1: というデバイスのディスク・クォータを持っていないことがわかる。
-
$ 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$
|
ユーザがクォータを超えていることがわかる。
SYSMAN の DISKQUOTA DISABLE コマンド (使用するには SYSPRV 特権,
システム UIC,ボリュームの所有権のいずれかが必要) を使用すると,
現在の管理環境でボリュームのクォータを一時的に解除できます。
DISKQUOTA ENABLE コマンドはこの一時的な解除を取り消します。
また,DCL の MOUNT コマンドに /NOQUOTA 修飾子を指定すれば,
マウント時にボリュームのクォータを一時的に解除することもできます。
クォータを解除するには,特権が必要です。
MOUNT コマンドによって暗黙に,あるいは DISKQUOTA ENABLE コマンドによって明示的にボリュームのクォータを有効にした場合は,必ず,
DISKQUOTA REBUILD コマンドを使ってディスク・クォータ情報を更新する必要があります。
クォータ・ファイルの更新では,システムは新しい UIC を追加し,
各ユーザの使用量を修正します。
詳細は,『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照してください。
作業方法ボリュームのクォータを一時解除する手順は次のとおりです。
-
SYSMAN を起動する。
-
ボリュームをマウントしているクラスタの各メンバに対して,
次の形式で DISKQUOTA DISABLE コマンドを実行する。
SYSMAN> DISKQUOTA DISABLE
-
SYSMAN を終了する。
-
トップ・レベル・ディレクトリ disk: [000000] の QUOTA.SYS ファイルを削除する。
QUTOA.SYS ファイルを削除しないかぎり,次のディスク・マウントでシステムがクォータを解除することはありません。
9.12.3 ファイルのパージ | |
ディスク空間を節約する最良の方法の 1 つは,次のファイルをパージすることです。
-
古いバージョンのファイル
ファイルをパージする前に,最新バージョンだけ残しておけばよいのか確認する。
-
システムが自動的に作成する,オペレータ・ログ・ファイルや会計情報ログ・ファイルなどのシステム・ログ・ファイル
-
PRINT コマンドと SUBMIT コマンドによって作成されたログ・ファイル
必要ならば,システム管理者がファイルをパージできます。
しかし,使用している領域やディレクトリのファイルは,
できるだけユーザがパージするようにしてください。
次に,PURGE コマンドの使用例を紹介します。
例-
$ PURGE/LOG $DISK1:[JONES...]
|
$DISK1: デバイスにある [JONES] ディレクトリとその下のすべてのサブディレクトリにあるすべてのファイルをパージしている例。
ファイルが削除されると,
ターミナルにその名前が表示され,ログ・ファイルに記録される。
-
$ PURGE/KEEP=3 $DISK1:[*...]
|
この例では,ワイルドカード文字を使用してグローバル・パージを行い,
/KEEP 修飾子を使用して各ファイルの 3 つのバージョンだけを残すようにしている。
9.12.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 つのバージョンだけ残します。
9.12.5 ファイル満了日の設定 | |
Files-11 ディスク構造は各ファイルの満了日に基づいて,ファイルの使用状況の記録を取ります。
したがって満了日は,DCL の BACKUP/DELETE コマンドで,めったに使わないファイルを廃棄するときに役立ちます。
ファイル満了は,Files-11 構造レベル 2 ディスクに対してのみ使用できるファイル・システム機能です。
ボリュームに満了日を設定すると,ファイルの保持期間は次のようになります。
-
ファイルの作成時,ファイルの満了日は,そのときの時刻と,
ボリュームに設定された最大時間の加算結果に基づいて決定される。
-
読み込みまたは書き込みでファイルがアクセスされると,
そのときの時刻が最小時間に加算され,その合計が満了日を超えた場合は,新しい満了日が適用される。
新しい満了日は最大保持期間から計算される。
頻繁にアクセスされるファイルの満了日は,現在の日付に最小期間を加えて求められる日付と最大期間を加えて求められる日付の間を行き来します。
したがって,満了日を管理するときの正確さと効率性のバランスは,
最小と最大保持期間を適切な間隔に設定ことによって保つことができます。
満了日の設定には注意が必要です。
かなり具体的にするか,最も簡単な方法で設定するかのいずれかにしてください。
DIRECTORY コマンドや BACKUP ユーティリティのように,コマンドやユーティリティの中には,満了したファイルに対して選択的に働くものがあります。
たとえば,次のようにコマンドを発行したと仮定します。
$ BACKUP/DELETE PUBLIC:[*...]/BEFORE=TODAY/EXPIRED MUA0:ARCH20JUN
|
この BACKUP コマンドは,満了したすべてのファイルを,テープにコピー
してから削除します。
ユーザがファイル満了日を知らないこともありますから,テープはかなりの期間残しておくようにしてください。
BACKUP コマンドについては,11.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 時間といった非常に小さな値を設定することにより,
他のオペレーティング・システムに用意されている「アクセス日付」の管理をシミュレートすることができます。
ただし,これを行うと,ファイル・システムのオーバヘッドがかなり大きくなります。
ファイル満了日管理機能によって,不要なファイルが自動的に削除されることはありません。
そうではなく,システムはファイル満了日を管理することによって,ほとんど,または全く操作されることのないファイルを独自の方法で処理するのを手助けします。
SET VOLUME コマンドのパラメータと修飾子については,
『OpenVMS DCL ディクショナリ』で詳しく説明しています。
例
$ SET VOLUME DUA0:/RETENTION=(15-0:0,20-0:0)
|
最小保持期間を 15 日,最大保持期間を 20 日に設定しています。
ANALYZE/DISK_STRUCTURE ユーティリティを使用すると,
紛失ファイルや削除対象のファイルを発見,削除して,
ディスク空間を再生することができます。
このユーティリティを定期的に使用して,
矛盾やエラーの有無の検査や紛失ファイルの回復を行ってください。
ANALYZE/DISK_STRUCTURE ユーティリティは,ハードウェア・エラー,
システム・エラー,または ユーザ・エラーによって引き起こされた Files-11 ディスク構造 (ODS) ディスクの問題を検出します。
このユーティリティが行う処理は次のとおりです。
-
ディスク・ボリュームの Files-11 構造の検査
-
-
エラーの修復 (/REPAIR 修飾子が指定された場合)
ANALYZE/DISK_STRUCTURE ユーティリティは,明確に 8 つの段階に分けて,
ボリュームまたはボリューム・セットの検査を行い,エラーの報告や修復に使用する情報を収集します。
ただし,このうちエラーの修復が行われるのは,/REPAIR 修飾子が指定された場合だけです。
ANALYZE/DISK_STRUCTURE ユーティリティは次の 2 段階に分けて実行することをお勧めします。
-
すべてのエラーの報告
-
/REPAIR と /CONFIRM 修飾子を用いた選択的なエラーの修復
ANALYZE/DISK_STRUCTURE の出力の指定省略時の設定では,ANALYZE/DISK_STRUCTURE の出力はすべて使用しているターミナルで行われます。
/LIST 修飾子を使用することにより,ディスク上の各ファイルについて,
次のような情報を含むファイルを作成することができます。
次に,この ANALYZE/DISK_STRUCTURE ユーティリティを使って以下の作業を行う方法を説明します。
ANALYZE/DISK_STRUCTURE ユーティリティについては,
『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』でさらに詳しく解説しています。
9.13.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:
|
9.13.2 エラーの報告と修復 | |
検出したエラーの修復を ANALYZE/DISK_STRUCTURE に指示する場合は,
次の形式で /REPAIR 修飾子を使用します。
ANALYZE/DISK_STRUCTURE デバイス名 /REPAIR
また,修復するエラーを選択したい場合は,次の形式で /REPAIR 修飾子と /CONFIRM 修飾子の両方を使用します。
ANALYZE/DISK_STRUCTURE デバイス名 /REPAIR /CONFIRM
このコマンドが入力されると,ANALYZE/DISK_STRUCTURE ユーティリティはエラーごとに説明文を表示し,修復を行うか確認を求めるプロンプトを表示します。
例-
$ ANALYZE/DISK_STRUCTURE DUA1:/REPAIR
|
この例では,DUA1: というデバイスのすべてのエラーを報告,修復させている。
-
$ 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』を参照してください。
9.13.3 紛失ファイルの回復 | |
紛失ファイルとは,ディレクトリにリンクされていないファイルのことです。
通常,ファイルが紛失ファイルになることはありませんが,ディスクの破損やハードウェア上の問題,
ユーザ・エラーなどがあると,ファイルがディレクトリ・リンクを失うことがあります。
たとえば,ファイルやディレクトリを整理するときに,まだファイルをポイントしているディレクトリを削除してしまったと仮定します。
ファイル・タイプが .DIR のディレクトリ・ファイルの従属ファイルを削除する前に,ディレクトリ・ファイルを削除した場合,
そのディレクトリが示すファイルは紛失ファイルになります。
紛失と呼ばれるとはいえ,現実にはファイルはディスク上に残り,空間を消費しています。
定期的に ANALYZE/DISK_STRUCTURE ユーティリティを使用して,
紛失ファイルなどのディスク構造エラーがあるかディスクを検査してください。
/REPAIR 修飾子が指定された場合,
ANALYZE/DISK_STRUCTURE ユーティリティはディスク:[SYSLOST] に紛失ファイルを書き込み,
各ファイルに関する(この後の例に示すようなメッセージを)表示します。
詳細は『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照してください。
システムに紛失ファイルが存在するかどうかの検査は,バックアップ処理でも行うことができます。
詳細は11.13.3 項 「ファイルの比較」を参照してください。
例
$ 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] に移されます。
[SYSLOST] ディレクトリ内のファイルの再番号付け
紛失ファイルが [SYSLOST] ディレクトリに置かれた場合,ANALYZE/DISK/REPAIR は,元のバージョン番号と異なる番号になるようにファイルを再番号付けすることがあります。
再番号付けする理由は,ファイルがどのディレクトリから来たか VERIFY には分からないためです。
たとえば,異なるディレクトリから来た 2 つのファイルが,同じ名前であることもあります。
同じ名前,タイプ,およびバージョンのファイルを入力した場合にエラーが発生しないようにするために,ファイルは新しい (大きい) バージョン番号で作成されます。 ファイルが [SYSLOST] に移動されると,システム管理者は (ユーザの助けが必要な場合もあります) これらのファイルを調べて,各ファイルに対して適切なアクションをとる必要があります。
多くの場合,システム管理者はファイルを適切なディレクトリに移動するか削除します。
9.13.4 古いホーム・ブロックの消去 | |
ボリュームを初期化する場合には,古い ホーム・ブロック が消去されないことがあります。
これは,以前の初期化処理で作成されたブロックです。
古いホーム・ブロックを含むボリュームが破損すると,そのブロックを消去しない限り,ボリュームを復元できないことがあります。
次のように,ANALYZE/DISK_STRUCTURE コマンドに /HOMEBLOCKS 修飾子を指定して,古いホーム・ブロックを手作業で消去することができます。
$ ANALYZE/DISK_STRUCTURE/REPAIR/HOMEBLOCKS
|
この作業には,最高 30 分かかることがありますので注意してください。
9.13.5 ディスク使用ファイルの作成 | |
/USAGE 修飾子を使用して,ディスク使用ファイルを作成することができます。
このファイルのファイル・ヘッダの 識別子レコードには,ディスクとボリューム特性の要約情報が含まれ,このレコードの後に,
ディスク上の各ファイルに 1 つの割合で一連の要約情報レコードが続きます。
要約情報レコードに含まれる情報は,ファイルの所有者,サイズ,およびファイル名情報です。
例
$ ANALYZE/DISK_STRUCTURE/USAGE=[ACCOUNT]USAGE_DDA0.DAT DDA0:
|
この例では,/USAGE 修飾子を使用してディスク使用ファイル USAGE_DDA0.DAT を [ACCOUNT] ディレクトリに作成しています。
マウント・チェックは,ディスクやテープの操作時のエラー回復機構です。
マウント・チェックが有効なときにデバイスがオフラインになっている場合,
またはデバイスが書き込み禁止になっている場合も,
問題を解決してから,運用を継続することができます。
マウント・チェックが無効なときに書き込み禁止 またはオフラインになった場合,
ボリュームはただちにディスマウントされます。
したがって,保留中の入出力処理はすべて取り消され,オープンされていたファイルはすべてクローズされることになります。
また,書き込み前のデータはすべて失われます。
また,マウント・チェックを使用して,マルチパス・ファイバ・チャネル,SCSI ディスク,またはテーブ・デバイス上でパス・スイッチを実行することもできます。
『OpenVMS Cluster 構成ガイド』で,OpenVMS のマルチパス・フェールオーバ実行方法を参照してください。
9.14.1 マウント・チェック | |
デバイスがオフラインになった後,システムまたはユーザがデバイスにアクセスしようとするとマウント・チェックが始動します。
通常,デバイスがオフラインになるのは,ハードウェア・エラーかユーザ・エラーが原因です。
デバイスがオフラインになると,ハードウェア・システム (ディスクの場合はソフトウェアのこともある) はディスクまたはテープに "invalid " のマークを付けるため,
そのデバイスに対する入出力要求は処理されずに終わります。
マウント・チェックが有効なときに行われる処理は次のとおりです。
-
ソフトウェアが,マウント・チェック中であることを示すマークをボリュームに付ける。
-
問題が解決されるまで,ソフトウェアがボリュームに対するすべての入出力処理を保留にする。
-
オペレータ通信マネージャ (OPCOM) が,DISKS と DEVICES
または TAPES と DEVICES の操作が可能なオペレータにメッセージを送る。
このメッセージは次の形式でディスクまたはテープが使用不可能であることを通知する。
%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
Device <device-name> is offline.
Mount verification in progress.
|
デバイスがオフラインか書き込み禁止の場合,
マウント・チェック機能は次の 2 つのメッセージを送信します。
-
-
システム・コンソール (OPA0:) 宛のメッセージ。
このメッセージには %SYSTEM-I-MOUNTVER という接頭辞が付けられ,OPCOM を経由せずに直接送られる。
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 スイッチをオンにしたと仮定します。
このときマウント・チェックが有効な場合,ボリュームはマウント・チェックを受けますが,ボリュームに対するすべての入出力操作は,そのエラーが解決されるまで保留になります (9.14.2.4 項 「書き込み禁止エラーからの回復」 参照)。
ボリュームが最後に使用されたときにキャッシュ内容が書き戻されていないことをマウント時に検出した場合,システムはボリュームの内容を読み取ることによって,ファイル情報を自動的に再構築します。
ただし,誤った方法でディスマウントされたボリュームに書き出されたファイルは,
その一部または全体が失われることがあります。
こうした問題の解析と修復方法については,9.13 項 「ANALYZE/DISK_STRUCTURE ユーティリティによるディスクの検査と修復」 を参照してください。
ディスクやテープの操作時にマウント・チェック機能を使用することによって,ディスクやテープがオフラインからオンラインになったり,アクセス不能な状態からアクセス可能な状態になったりしても,一般的にユーザがそれに気付くことはありません。
9.14.2 マウント・チェックの使用 | |
この項では,次の作業を行う方法について説明します。
9.14.2.1 マウント・チェックのオンまたはオフ設定
ディスクまたはテープのマウント時,
省略時の設定ではマウント・チェックは有効です。
無効にしたい場合は,マウントするときに /NOMOUNT_VERIFICATION を指定する必要があります。
この機能は,標準テープ,フォーリン・テープ,
および Files-11 ディスクに適用されます。
9.14.2.2 マウント・チェックのタイムアウト時間の設定
マウント・チェックを自動的に取り消す前のマウント・チェック猶予時間 (単位: 秒) を設定することができます。
この設定を行うときは,ディスクであれば MVTIMEOUT システム・パラメータ,テープであれば TAPE_MVTIMEOUT システム・パラメータを使用します。
省略時の時間制限は,テープでは 600 秒 (10 分) であり,ディスクでは 3600 秒 (1 時間) です。
システム・パラメータについての詳細は,
『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照してください。
これらのパラメータには,サイトの状況に従った適切な値を設定してください。
パラメータ値を変更しても,
現在行われているマウント・チェックには影響ありません。
マウント・チェックが有効なときに,
マウントしたディスクやテープ・ボリュームがオフラインになった場合は,次の方法で修復を試みたり,マウント要求を取り消したりすることができます。
-
ディスクの場合は START ボタンか RUN ボタン,テープの場合は LOAD ボタンを操作して,デバイスをオンラインに戻す試みをする。
戻せない場合は,マウント・チェックを終了する。
-
9.14.2.5 項 「マウント・チェックの取り消し」 に挙げる 3 つの方法のいずれかでマウント・チェックを終了することによって,
ディスクまたはテープのオフラインおよび検査保留状態を解消する。
この方法には,マウント要求のキャンセル,ボリュームのディスマウント,
タイムアウト用マウント・チェックの許可が含まれる。
デバイスをオンラインに戻すことに成功すると,
ディスクまたはテープ・ドライブにポーリングを行うマウント・チェック・ソフトウェアは,
次の順序で検査を開始します。
-
現在マウントされているディスクまたはテープと,
前にマウントされていたディスクまたはテープの識別子が同じか調べる。
これによりマウント・チェック機能は,ディスクが前と同じものであり,
ディスクの交換が行われていないことを確認することができる。
デバイスにロードされているボリュームが正しくない場合は,OPCOM が次の形式のメッセージを表示する。
%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
Device <device-name> contains the wrong volume.
Mount verification in progress.
|
-
マウント・チェックが終了すると,ディスクには有効のマークが付けられ,OPCOM は次の形式のメッセージを表示する。
%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
Mount verification completed for device <device-name>.
|
-
次の例に示すように,ディスクまたはテープに対する入出力処理が再開する。
%%%%%%%%%%% OPCOM, 28-MAY-2000 11:54:54.12 %%%%%%%%%%%
Device DUA0: is offline.
Mount verification in progress.
%%%%%%%%%%% OPCOM, 28-MAY-2000 11:57:34.22 %%%%%%%%%%%
Mount verification completed for device DUA0:.
|
この例では OPCOM は,デバイス DUA0: がオフラインで,
マウント・チェックが始まったことをオペレータに通知している。
オペレータは,誤ってドライブがオフになったが,再度オンになったことがわかる。
最後のメッセージは,エラーの前のボリュームと同じであることというマウント・チェックの条件が満たされていることを示す。
このため,ボリュームに対するすべての入出力処理が再開する。
書き込みを行おうとしてディスクまたはテープ・ボリュームをマウントしているときに,ハードウェア・エラーやユーザ・エラーが発生すると,
デバイスはライト・ロックになります。
たとえば,ディスクがライト・ロックであるとか,テープに書き込みリングがないといったときがそうです。
こうしたライト・ロック・エラーで入出力処理に失敗した場合,ソフトウェアはディスクまたはテープがライト・ロックになっていることを検出し,ただちにマウント・チェックを開始します。
OPCOM はこのとき,DISKS と DEVICES または TAPES と DEVICES の操作が可能なオペレータに次の形式のメッセージを送り,ディスクまたはテープが使用不可能なことを通知します。
%%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
Device <device-name> has been write-locked.
Mount verification in progress.
|
これに対しオペレータは,次のいずれかの方法でエラーを解決するか,
マウント・チェックを終了させることができます。
-
ディスクの WRITE LOCK スイッチを操作することによってデバイスを書き込み可能にするか,テープ・ボリュームに書き込みリングが付いているか確認する。
-
ディスクまたはテープ・デバイスに障害があるが,
同じコントローラで別に使用可能なドライブがある場合は,
ディスクまたはテープをそのドライブに移し,
ユニット・セレクト・プラグをスワップする (別のデバイスに移すと,ボリュームはオフライン・マウント・チェックを受け,
それが終わると,次にライト・ロック・マウント・チェックが行われる)。
-
9.14.2.5 項 「マウント・チェックの取り消し」 に挙げる 3 つの方法のいずれかでマウント・チェックを終了する。
マウント・チェック・ソフトウェアによって,
ボリュームが書き込み許可状態になったことが確認されると,
メッセージなしで,テープまたはディスクに対する入出力処理が再開されます。
マウント・チェック要求は,次のいずれかの方法で取り消すことができます。
-
ハングしていないプロセスから DCL の DISMOUNT コマンドを発行して,ボリュームをディスマウントする。
-
デバイスがオフラインの場合は,
マウント・チェックがタイムアウトするのを待つ。
省略時の時間制限は,テープでは 600 秒 (10 分) であり,ディスクでは 3600 秒 (1 時間) である。
ただし,この値は,ディスクであれば MVTIMEOUT,テープであれば TAPE_MVTIMEOUT システム・パラメータを使って変更することができる。
タイムアウト時間が経過すると,
システムは自動的に保留中のマウント・チェックを取り消す。
ライト・ロック・エラーで開始されたマウント・チェックがタイムアウトすることはない。
-
コンソール・ターミナルから特殊な取り消しルーチンである IPC を起動する。
次の項で,1 番目に挙げた DISMOUNT コマンドを使用する方法をさらに詳しく説明します。
最後に挙げた,IPC を使ってマウント・チェックを取り消す方法の詳細については,
9.15.2 項 「マウント・チェックの取り消し」 を参照してください。
DISMOUNT コマンドの使用ボリュームをディスマウントして,
マウント・チェックを取り消す手順は次のとおりです。
-
別のターミナルからログインする。
ボリュームに対するアクセス権を持つ,ログイン中のターミナルがあれば,そのターミナルを使用することができる。
オペレータ・ターミナルである必要はない。
-
ボリュームに対して DISMOUNT/ABORT コマンドを入力する。
(グループやシステム・ボリューム以外のボリュームに /ABORT 修飾子を使用するためには,そのボリュームの所有権か,ユーザ特権の VOLPRO を所有している必要がある。)
システムが OpenVMS Cluster 環境のメンバの場合は,/CLUSTER 修飾子も指定すること。
ボリュームをディスマウントすることによって保留中のマウント・チェックを取り消すと,OPCOM から次のメッセージが表示される。
%%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
Mount verification aborted for device <device-name>.
|
ボリュームに対するアクセス権がない場合は,エラー・メッセージが表示される。
その場合は,適当なプロセスを見つけて,再度試みる。
プロセスがハングした場合は,システム・ファイルの ACP がハングするので,
この方法を使ってマウント・チェックを取り消すことはできない。
-
取り消されたら,ドライブからボリュームを取り出す。
9.14.2.6 マウント・チェック・メッセージの制御
Storage Area Network (SAN) では,マウント・チェックは次のようなさまざまな理由で実行されます。
-
-
ファイバ・チャネル・パケットの紛失 (まれに発生) -
SAN のゾーン再編成による,実行中の I/O の紛失
マウント・チェックは現在,以前は表示されていた,すぐに回復したデバイスからのマウント・チェック・イベントのメッセージを抑制しています。
これらのメッセージは,一部のユーザにとっては過度な警告になっていました。 オペレータのログに記録されるメッセージの数は,2 つのシステム・パラメータで制御できるようになりました。
MVSUPMSG_NUM。
マウント・チェック・メッセージの数を指定します。 |
MVSUPMSG_INTVL。
持続時間を秒数で指定します。 |
特定のデバイスで抑制されたマウント・チェック・メッセージの数が,MVSUPMSG_INTVL で指定された時間内に MVSUPMSG_NUM で指定された数になるか超えた場合,OPCOM メッセージが,次の例のように表示されます。
%SYSTEM-I-MOUNTVER, $1$DGA9999: 5 Mount verification messages have been suppressed in past 51 seconds.
%%%%%%%%%%% OPCOM 18-MAY-2003 13:50:09.72 %%%%%%%%%%%
$1$DGA9999: 5 Mount verification messages have been suppressed in past 51 seconds.
*********************************************************************************************
%SYSTEM-I-MOUNTVER, $1$DGA9999: 5 Mount verification messages have been suppressed in past 3 seconds.
%%%%%%%%%%% OPCOM 18-MAY-2003 13:50:13.17 %%%%%%%%%%%
$1$DGA9999: 5 Mount verification messages have been suppressed in past 3 seconds.
|
以前の動作の方が良い場合や,記録されるメッセージの数を増減したい場合は,このシステム・パラメータの設定を調整できます。 これらの新しいシステム・パラメータの詳細は,『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照してください。 IPC は,ソフトウェア割り込みを発行してコンソール・ターミナルのアテンションを取得する特殊なプログラムです。
IPC コマンドを使用すると,OpenVMS クラスタ内でのクォーラムの調整,
マウント・チェックの取り消し,デバッガに入ること,ができます (ここでいうデバッガとは,システム・レベル・デバッガ XDELTA のことです)。
IPC プログラムは小文字を大文字に変換し,複数のスペースを圧縮して,先行するゼロを無視します。
また,不正な文字を受け取ると,ターミナル・ベル文字を発行します。
大部分の制御文字は不正な文字と見なされます。
IPC の起動方法-
OpenVMS VAX システム,Alpha システム,I64 システムで,
次のコマンドをコンソール・ターミナルから入力する。
このコマンドはエコー・バックしない。
このコマンドへの応答は,それぞれの実装によって異なる。
この例ではその部分を省略記号で示す。
⋮
-
使用しているハードウェアに固有である次のコマンドを入力する。
-
VAX システムの場合,次のコマンドを入力する。
>>> D/I 14 C
>>> CONT
IPC>
|
最初のコマンドは,ハードウェアに対して,
レベル C (12) のソフトウェア割り込みを生成するように命令している。
-
Alpha システムおよび I64 システムの場合,次のコマンドを入力する。
>>> D SIRR C
>>> CONT
IPC>
|
-
Ctrl/Z を押して IPC を終了する。
9.15.1 クォーラムの再計算 | |
次のコマンドをコンソールで入力すると,クォーラムの再計算ができます。
-
VAX システムの場合 :
>>> D/I 14 C
>>> CONT
IPC> Q
IPC> Ctrl/Z
|
-
Alpha システムおよび I64 システムの場合 :
>>> D SIRR C
>>> CONT
IPC> Q
IPC> Ctrl/Z
|
IPC Q コマンドは OpenVMS Cluster でクォーラムを再計算しますが,
これらのコマンドは使用しないでください。
その代わりに,次に示すいずれかを使用してクラスタ・クォーラムを再計算してください。
-
OpenVMS VAX システムでは DECamds
-
OpenVMS Alpha システムおよび I64 システムでは Availability Manager
9.15.2 マウント・チェックの取り消し | |
IPC を使ってマウント・チェックを取り消すには,
IPC> プロンプトが表示されているときにコンソール・ターミナルから次のコマンドを入力してください。
このコマンドは,指定されたデバイスに対して保留中のマウント・チェックをすべて取り消します (指定されたデバイスに対して進行中のマウント・チェックがない場合には,
警告が表示されます)。
次の例を参照してください。
保留中のマウント・チェックが取り消されると,
OPCOM は次のメッセージを表示します。
%%%%%%%%%%% OPCOM, <dd-mmm-yyyy hh:mm:ss.cc> %%%%%%%%%%%
Mount verification aborted for device <device-name>.
|
この方法で保留中のマウント・チェックを取り消してから,
ボリュームにアクセスするためには,
いったんディスマウントする必要があります。
例
%%%%%%%%%%% OPCOM, 28-MAY-2000 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-2000 10:56:26.13 %%%%%%%%%%%
Mount verification aborted for device DUA0:
|
Alpha システムおよび I64 システムの場合,次のコマンドを入力します。
$ Ctrl/P
⋮
>>> D SIRR C
>>> CONT
IPC> C DUA0:
IPC> Ctrl/Z
%SYSTEM-I-MOUNTVER, _DUA0: has aborted mount verification.
%%%%%%%%%%% OPCOM, 28-MAY-2000 10:56:26.13 %%%%%%%%%%%
Mount verification aborted for device DUA0:
|
両方の例で,DUA0: はオフラインになっていて,
ディスクのバックアップを行えない状態にあります。
また同じコントローラで使用できるデバイスがないため,2 台のドライブのユニット・セレクト・プラグを入れ換えることができません。
このボリュームが私用ボリュームとしてマウントされていたからといって,
DISMOUNT コマンドは入力しないでください。
また,このディスクにはアクセス権はありません。
コンソール・ターミナルのため,%SYSTEM-I-MOUNTVER メッセージが表示されています。
9.15.3 デバッガに入る | |
XDELTA デバッガを使用するには,
コンソール・ターミナルから次のコマンドを入力します。
これでデバッガに入りました。
X コマンドはデバッグ用ツール XDELTA に制御を転送します (ブート・ファイルで適切な値を設定することで,
システムにロードされていた場合)。
XDELTA がロードされない場合には,プロンプト IPC> が再度発行されます。
次の例を参照してください。
デバッガを終了するには,Ctrl/Z を押します。
XDelta デバッガの詳細については,
『OpenVMS デバッガ説明書』を参照してください。
DCL の ANALYZE/MEDIA コマンドは,
オプションのBAD (Bad Block Locator) ユーティリティを起動し,
ブロック・アドレシング方式のデバイスを解析して,正常なデータ記憶が行えないと思われるブロックの位置を記録します。
ボリューム上のブロックを検査するため,ANALYZE/MEDIA は次のことを行います。
データが正確に一致しない場合,そのブロックはデータを正常に記憶できないと見なされます。
不良ブロックがあると,BAD ユーティリティはそのブロックのアドレスを記録します。
ラスト・トラック型デバイスでない場合,
連続して不良ブロックは 1 エントリとして記録されます。
そして,ディスクの検査を終えると,記録したアドレスを DBBF (Detected Bad Block File) というファイルに書き出します。
作業方法BAD を使用する手順は次のとおりです。 -
DCL の ALLOCATE コマンドを使ってデバイスを割り当て,
他のプログラムからアクセスされないようにする。
-
DCL の MOUNT/FOREIGN コマンドを入力する。
デバイスをフォーリン・ボリュームとしてマウントすると,システムが Files-11 ボリュームとして認識することがないので,
BAD の実行が可能になる。
-
DCL コマンド ANALYZE/MEDIA を入力する。
BAD ユーティリティの使用法についての詳細は,
オンライン・ヘルプ,またはオプションのマニュアルの 『OpenVMS Bad Block Locator Utility Manual』 を参照してください。
|