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

12 デバイス:プライベート・テープとプライベート・ ディスクの使用方法

本章では,デバイスを個人的に使用するために割り当てたり,初期化したり, マウントしたりする方法を説明します。以下の情報が含まれています。

補足説明については,以下を参照してください。

12.1 デバイスの概要

作成するファイルや使用するファイルがすべてシステム管理者によって管理されるデバイス上にあれば, テープやディスク・ドライブにアクセスする方法を学習する必要はありません。 使用するデバイスを表す論理名 をシステム管理者が設定してくれるので,その論理名を使用して, デバイスとの間でファイルを読み書きしたり,コピーしたりすることができます。 ほとんどの場合,シテスム管理者は,ユーザをグループに分け, そのグループごとに共用されるデバイスを設定して管理しています。

個人的に使用できるテープやディスク・ドライブがある場合(たとえば, 私用のワークステーションにテープ・ドライブやディスケット・ドライブが直結されている場合) には,そのようなデバイスにアクセスするためのコマンドを知っておいた方がよいでしょう。 ディスケットとディスケット・ ドライブはディスク・デバイスの一種です。説明の便宜上,本章では, 一般的な「ディスク」という用語をすべてのタイプのディスクに当てることにします。


注意
ディスクやテープ装置は,占有して使用する装置ですが, メディアに物理的に触れることができるユーザであれば内容を読めるシステムもあります。 ディスクやテープ・メディアは安全な場所に保管し, 再利用するときはあらかじめ機密データを消去して, 他のユーザが内容を読めないようにしてください。

本章では,場合によっては,記憶メディアのことをボリューム と称しています。記憶メディアという言葉自体はハードウェアの一部分を指しますが, 記憶メディアをそこに格納されたデータという意味でとらえても差し支えないでしょう。 ディスクまたはテープは,ボリュームと呼ばれるデータの集合です。

他のユーザがアクセスできないデバイス上で作業を行うには,プライベート・ ボリュームを作成して,自分専用のデバイスにそれをマウントします。 プライベート・ボリュームを設定するには,次の手順に従ってください。

手順 操作
1 DCLのALLOCATEコマンドを使用して,デバイス( ディスクまたはテープ)ドライブをユーザのプロセスに割り当てる。
2 DCLのINITIALIZEコマンドを使用して, ディスクまたはテープ・ボリュームをフォーマットしてから, そのボリュームに識別用のラベルを書き込む。
3 DCLのMOUNTコマンドを使用して,ボリュームまたはボリュームに含まれているファイルやデータをプロセスがアクセスできるようにする。

個人的に所有されているボリュームからでもファイルを印刷することはできますが, ファイルの印刷が完了するまで,印刷しようとするファイルが格納されているボリュームを, マウント状態にしておかなくてはなりません。 ファイルが印刷を完了する前にボリュームをディスマウントしたい場合には, 次のようにして,ファイルを直接プリンタで印刷します。

     $ COPY MYPHILE.DAT LPA0:

12.2 デバイス情報の表示

システム上にあるボリュームについての情報を表示するには,SHOW DEVICESコマンドを使用します。さらに詳しい情報や特定のデバイスについての情報を得るには, 次のいずれかの方法でSHOW DEVICESコマンドを入力します。

次の例では,SHOW DEVICESコマンドは使用可能なデバイスDMA1:とMTA1:を表示しています。

     $ SHOW DEVICES

     Device           Device         Error    Volume         Free  Trans Mnt
      Name            Status         Count     Label        Blocks Count Cnt
     DMA2:           Mounted            0     BACKUP_FILE    4442     7   1
     MTA1:           Online             0
        .
        .
        .

12.3 デバイスの割り当て

デバイスを割り当てると,そのデバイスはそのユーザ・プロセス専用となります。 このデバイスは,DCLコマンドのDEALLOCATEによって明示的にデバイスの占有を解除するまで, またはログアウトするまでプロセスに割り当てられたままになります。

プライベート・ボリュームでファイルやデータを使用するには,DCLコマンドのALLOCATE を使用してディスクやテープ・ドライブを自分のプロセスに割り当てなくてはなりません( ローカル割り当て)。ALLOCATEコマンドの形式は, 次のとおりです。

ALLOCATEデバイス名[:] [論理名]

要素の意味は次のとおりです。

デバイス名 ボリュームをロードするドライブを表す。 デバイス名には物理名,汎用名,または論理名を指定できる。
論理名 デバイスに関連付ける論理名を指定する。 この名前は省略可能である。

表 12-1は,デバイスを割り当てる方法についてまとめたものです。

表 12-1 デバイスの割り当て

説明
特定の物理デバイスを割り当てる:
     $  ALLOCATE DMB2:
     %DCL-I-ALLOC, _MARS$DMB2: allocated
物理デバイス名(DMB2)を使用して,特定のディスク・ドライブRK06 またはRK07 (コントローラBのユニット2)の割り当てを要求する。


最初の使用可能なデバイスを割り当てる:
     $  ALLOCATE DM: DISK
     %DCL-I-ALLOC, _MARS$DMB1: allocated
汎用デバイスコードDMを使用して,最初に使用可能なRK06 またはRK07ディスク・デバイスを割り当てる。また,プロセス論理名テーブルに論理名DISK を作成して,割り当てたデバイスの名前にそれを割り当てる。


論理名によってデバイスを割り当てる:
     $  ALLOCATE DRIVE1: D1
     %DCL-I-ALLOC, _MARS$DBA3: allocated
DRIVE1 (物理デバイスDBA3に対応する論理名)を割り当て, そのデバイスに新しい論理名D1を割り当てる。


特定のデバイス・ タイプを選択する:
     $  ALLOCATE/GENERIC RK07  MYDISK
/GENERIC修飾子を使用して,特定タイプのデバイス(RK07 ディスク)を割り当てる。


汎用デバイスのリストを指定する:
     $  ALLOCATE MF,MT,MS DRIVE
     %DCL-I-ALLOC, _MARS$MTA0: allocated
汎用デバイス名のリストを指定する。最初に使用可能なデバイス(MTA0) だけが割り当てられる。また,論理名DRIVEをMTA0に割り当てる。

ALLOCATEコマンドは1つのプロセスに1つのデバイスだけを割り当てるため, リスト内の各要素が固有の汎用デバイス・タイプを表していても,指定された汎用デバイスのうちの1 つだけが割り当てられる。

12.4 ボリュームの初期化

ファイルをディスクやテープに書き込むには,そのディスクやテープ・ボリュームを初期化しておく必要があります。 ボリュームを初期化するには,DCL コマンドのINITIALIZEを使用します。INITIALIZEコマンドは次の処理を行います。


注意
INITIALIZEコマンドを使用すると, 別のユーザのボリュームを初期化することも可能です。このため, このコマンドを使用するときには,あらかじめ目的のデバイスを割り当ててから自分専用のボリュームを初期化するようにしてください。

別のユーザにボリュームを初期化してもらう場合(たとえば,そのボリュームを初期化するのに十分な特権がない場合) には,そのボリュームのボリューム・ ラベル,所有者UIC,保護コードをそのユーザに知らせなければなりません。

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

INITIALIZEデバイス名[:] ボリューム・ラベル

フィールドの意味は次のとおりです。

デバイス名 ボリュームを物理的にマウントするデバイスの名前を表す。
ボリューム・ラベル ボリュームを識別するためのものである。ディスク・ ボリュームには最大12文字の英数字,磁気テープ・ボリュームには最大6 文字の英数字のラベルを指定できる。

12.4.1 ディスク・ボリュームの初期化

省略時の設定では,INITIALIZEコマンドは新しいボリューム上にFiles-11 構造を作成します。OpenVMSオペレーティング・システム用に,またはOpenVMS オペレーティング・システムによって初期化されたディスク・ボリュームの省略時の形式を, Files-11 ディスク構造レベル2 と呼びます。INITIALIZE コマンドは,Files-11ディスク構造レベル1形式でディスク・ ボリュームを初期化することもできます。

ブランクのディスク・ボリューム(すなわち,書き込みが一切行われていないボリューム) や現在のUICまたはUIC [0,0]によって所有されたディスク・ ボリューム上での論理保護を変更にするには,特別な特権は必要ありません。 これ以外の場合,ディスク・ボリュームを初期化するには,ユーザ特権VOLPRO が必要です。

次の例は,DMA1上でボリュームを初期化し,そのボリュームにACCOUNTSというラベルを付けています。

     $ INITIALIZE DMA1: ACCOUNTS

12.4.2 磁気テープ・ボリュームの初期化

INITIALIZEコマンドによって作成される磁気テープ・ボリュームの省略時の形式は, 米国標準規格協会(ANSI) X3.27-87のLevel 3と,磁気テープ・ ラベルおよび情報交換のためのファイル構造に関する国際標準化機構(ISO) 標準に基づいています。

磁気テープのボリューム・ラベルにANSI文字セットの英数字以外の文字を使用する場合には, ボリューム名を引用符で囲まなければなりません。

次の例は,MTB1上のボリュームを初期化して,ボリュームにSOURCEというラベルを付けます。

     $ INITIALIZE MTB1: SOURCE

12.5 ボリュームのマウント

割り当てられたディスクやテープ・ボリューム上でファイルやデータを使用するには, そのボリュームがマウントされていなければなりません。 DCLのMOUNTコマンドは,ボリュームとボリュームに格納されているファイルやデータがプロセスにアクセスできるようにします。

MOUNTコマンドを入力すると,システムは,次の条件が満足されているかどうかを検証します。

単独のボリュームをマウントすることもできますし,ボリューム・セットをマウントすることもできます。 複数のボリュームをボリューム・セットにバインドしておくと, 複数のボリュームを新たに定義しなくても,同じボリューム・ セットにボリュームを追加するだけで,ファイルの格納領域を拡張することができます。 ボリューム・セットの作成とマウントの手順については, 『OpenVMSシステム管理者マニュアル』を参照してください。

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

MOUNTデバイス名[:][,...] [ボリューム・ラベル[,...]] [論理名[:]]

要素の意味は次のとおりです。

デバイス名 ボリュームをマウントするデバイスの物理デバイス名または論理名を表す。
ボリューム・ラベル ボリュームを初期化するときに使用したラベルを表す。MOUNT 修飾子の/FOREIGN,/NOLABEL, /OVERRIDE=IDENTIFICATIONのいずれかを使用する場合には,ボリューム・ ラベルを指定する必要はない。
論理名 デバイスに関連付ける名前を表す。論理名を省略すると,MOUNT コマンドは,ディスク・ドライブとテープ・ドライブに省略時の論理名DISK$ ボリューム・ラベルとTAPE$ボリューム・ラベルをそれぞれ割り当てる。

12.5.1 オペレータの手助けが必要な場合

オペレータは,システム・ボリュームとプライベート・ボリュームの両方の物理マウント( およびディスマウント)を行うことができます。MOUNT要求を受信してそれに応答できるオペレータがいない( オペレータにその権限がない) 場合には,その状況を知らせるメッセージが表示されます。要求されたドライブ上のボリュームは, それ以上オペレータの手助けを必要としません。 オペレータの手助けが必要なければ,/NOASSIST修飾子を指定します。

MOUNTメッセージは,TAPEおよびDISKメッセージを受信する権限のあるすべてのオペレータに送信されます。 したがって,ディスク・デバイスをマウントするのにオペレータの手助けが必要な場合には, ディスク・オペレータにメッセージを送信します。

MOUNTコマンドを出すと,オペレータにマウント要求が通知され,ターミナルにメッセージが表示されます。

     $ MOUNT DMA1: DISK VOL1
     %MOUNT-I-OPRQST, PLEASE MOUNT DEVICE _MARS$DMA1:

デバイスが正しくマウントされると,次のメッセージが出されます。

     %MOUNT-I-MOUNTED, DISK mounted on _DMA1:

次の例は,ディスク・ボリュームを割り当てて,初期化し,マウントする方法を示しています。

     $ ALLOCATE DMA2:  TEMP
     %DCL-I-ALLOC, _MARS$DMA2: allocated
     $ INITIALIZE  TEMP:  BACKUP_FILE
     $ MOUNT  TEMP:  BACKUP_FILE
     %MOUNT-I-MOUNTED, BACKUP_FILE mounted on _DMA2:
     $ CREATE/DIRECTORY  TEMP:[ARCHIE]

ボリューム上にファイルを格納するには,上記の例のCREATE/DIRECTORYコマンドの部分に示されているように, ディレクトリを作成しなければなりません。

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

フォーリン・ディスク・ボリューム(すなわち,Files-11以外のファイル構造を持つディスク・ ボリューム)をマウントするには,次のように, /FOREIGN修飾子を指定します。

     $ MOUNT/FOREIGN DISK
     %MOUNT-I-MOUNTED, BACKUP_FILE      mounted on DISK$DMA2:

MOUNT/FOREIGNコマンドは,フォーリン・ディスクのボリュームの内容をシステムで使用できるようにしますが, ファイル構造に関しては特別な処理は行いません。 前の例では,MOUNTはボリューム・ラベルを表示して, フォーリン・デバイスとしてマウントされているにもかかわらず,ディスクがFiles-11 構造であることを示しています。ディスクが認識されたファイル構造を持たない場合には,MOUNT はラベルを表示しません。

/FOREIGN修飾子を指定してFiles-11構造のディスクをマウントするには, 所有者UICが自分のUICと一致する場合を除いて,ユーザ特権VOLPROが必要です。

12.5.3 磁気テープ・ボリュームのマウント

MOUNTコマンドを使用して磁気テープ・ボリュームをマウントする際には, ボリュームがANSIラベル形式を持つかどうかがチェックされます。 ANSIラベル形式の場合には,さらに次の点がチェックされます。

次のコマンドは,ANSIラベル・ボリュームをマウントして,論理名を割り当てています。

     $ MOUNT  MT:  SYSTPV ET
     %MOUNT-I-OPRQST, please mount volume SYSTPV in device $MTA1:
     %MOUNT-I-MOUNTED, SYSTPV mounted on MTA1:
     %MOUNT-I-RQSTDON, operator request canceled -- mount completed successfully

MOUNTは使用可能なMTドライブMTA1を見つけた後,オペレータの手助けを要求しています。 表示されたメッセージに,どのドライブが選択されたかが示されています。 この時点で,ユーザ自身で(またはオペレータが)ドライブ上に磁気テープをロードすれば, マウント要求は完了します。オペレータからの応答は必要ありません。SYSTPV というボリュームがMTA1ドライブにマウントされたことがメッセージから分かります。MOUNT は論理名を必要としませんが, この例では,論理名ETがSYSTPVボリュームに割り当てられています。

12.6 プライベート・デバイス上のファイルのアクセス

プライベート・デバイス上にあるファイルをアクセスするには,デバイス名を指定するか,SET DEFAULT コマンドを使用してそのデバイスを省略時のデバイスに設定しなければなりません。 ディスク上のファイルでは,ディレクトリ名も指定しなければなりません。

デバイスを参照するには,次の各項に示すように物理名,論理名,または汎用名が使用できます。 さらにシステムがOpenVMS Clusterの一部である場合,OpenVMS Cluster のすべてのメンバが特定のデバイスをアクセスできます。OpenVMS Cluster デバイス名の構文についての詳細は,第12.6.4項を参照してください。

12.6.1 物理デバイス名の使用

システムが認識する物理デバイスは,それぞれ物理デバイス名によって別々のものとして識別されます。 物理デバイス名は,記憶ディスクかターミナルかなど, デバイスの種類を識別します。

ほとんどの物理デバイス名は,次の項目からできています。

個々のデバイス名についての詳細は,『OpenVMSシステム管理者マニュアル』を参照してください。

システムは,デバイスにマウントされたディスクまたはテープをボリュームとして認識します。 システムは,ボリューム・セットも認識します。 ボリューム・セットは,2つ以上の関連するボリュームからできています。 テープ・ボリューム・セット上のファイルにアクセスするには, そこに割り当てられている任意のデバイスを指定します。

ディスク・ボリューム・セット上のファイルにアクセスするには,次の方法があります。

デバイス名を指定しない場合,システムが現在の省略時のデバイス名を用意します。 ボリュームとボリューム・セットについての詳細は,『OpenVMSシステム管理者マニュアル』を参照してください。

出力ファイル指定を使用できるコマンドもあります。この場合,出力ファイル指定をプリンタやターミナルなどのレコード単位取り扱いデバイスの名前に置き換えられます。 次に例を示します。

     $ COPY DISFILE.DAT TTB4:

上記のCOPYコマンドは,TTB4というターミナルにDISFILE.DATを送ります。 ターミナルはファイルを受け取り,1レコードずつ表示します。デバイス名をファイル指定として使用する場合, デバイス名の後にコロン(:) をつけます。

12.6.2 論理デバイス名の使用

システム管理者は,システム上のデバイスを表す論理デバイス名を設定できます。 論理デバイス名を使用すると,複雑なデバイス名を短くて分かりやすい名前に対応させることができます。 そして,物理デバイス名の代わりにこの論理デバイス名を使用してデバイスを参照できます。

ファイル指定で論理デバイス名を使用する場合,論理デバイス名の後にコロンをつけます。

論理名の使用法についての詳細は,第13章を参照してください。

次の例では,COD1は,ファイル[NOAH]ANIMALS.LISを持つディスク・ボリュームが入っているデバイスの論理名です。

     $ TYPE COD1:[NOAH]ANIMALS.LIS

システム管理者が論理名COD1を正しく定義していれば,システムは,ボリュームがどこにマウントされていてもそのファイルにアクセスできます。

12.6.3 汎用デバイス名の使用

汎用デバイス名はデバイス・コードからできており,個々のコントローラやユニット番号は省略されています。MOUNT コマンドやALLOCATE コマンドで汎用デバイス名を使用した場合,システムは,指定された汎用デバイス名の部分を満足する物理名を持つ最初に利用できるコントローラまたはデバイス・ ユニットを探します。

他のコマンドで汎用デバイス名を指定する場合,次の省略時の値が使用されます。

12.6.4 OpenVMS Clusterデバイス名の使用

OpenVMS Clusterデバイス名には,デバイスが接続されているノードの名前と物理デバイス名を指定します。2 つの名前はドル記号($)で区切ります。 たとえば,ROXXY$DUA1は,ノードROXXY上のディスクDUA1を表します。

デュアル・パスのOpenVMS Clusterディスクには,割り当てクラスのデバイス名を使用するのが普通です。 このデバイス名は,すべてのOpenVMS Clusterノードが常に認識できる唯一の名前です。

OpenVMS Clusterの環境におけるデバイス名の形式についての詳細は, 『VMScluster Systems for OpenVMS』を参照してください。

デバイスがデュアル・パスの(2つのノードに接続されている)場合,次の形式のOpenVMS Cluster デバイス名を指定します。

$ノード割り当てクラス$ddcu

要素の意味は次のとおりです。

ノード割り当てクラス デュアル・パス・デバイスに接続されているノードに割り当てられた値。 たとえば,$1$DJA16 は,両方ともクラス値1を持つ2つのノードに接続されたディスクを識別する。
dd ハードウェア・デバイス・ タイプのデバイス・コードを表す。たとえば,デバイス・コードDK はRZ23ディスクを表す。
c デバイスが接続されているハードウェア・コントローラを識別する。 コントローラ・デスティネーションは,ユニット番号といっしょにシステムのハードウェア構成内のデバイスの場所を識別する。 コントローラは英字A からZによって指示される。
u 個々のコントローラ上のデバイスのユニット番号を識別する。 ユニット番号は,0から65535までの10進数であり,重複しない値を持つ。

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

ディスクやテープ・ボリュームでのファイル操作が終了したら,DISMOUNT コマンドを使用して,ボリュームをディスマウントできます。DISMOUNTコマンドは, ボリュームをディスマウントする前に,ディスマウント操作を妨げる条件がないかどうかをチェックします。 たとえば,ボリュームにインストール済みのスワップ・ ファイルやページ・ファイル,インストール済みのイメージ, オープンされたユーザ・ファイルが含まれる場合には, ボリュームをディスマウントできないことを知らせるエラー・メッセージを出します。

省略時の設定では,DISMOUNTコマンドは,ドライブからボリュームを自動的にアンロードします。 ボリュームをもう一度マウントしたり初期化したりする予定があるときには, 次に示すように,ボリュームをディスマウントした後で,/NOUNLOAD 修飾子を使用すれば,ボリューム処理に要する無駄な時間を節約できます。

     $  DISMOUNT/NOUNLOAD MTA1:

この例では,磁気テープ・ボリュームは論理的にディスマウントされ,テープが巻き戻されますが, 物理的にはテープはMTA1ドライブにロードされたままです。

ボリュームを物理的にアンロードする場合には,DISMOUNTコマンドによってボリュームを明示的にディスマウントしなければなりません。 ドライブがアンロードされるのを待ってから, ボリュームを取り出すようにしてください。DCL コマンドSHOW DEVICESを入力すれば,ディスマウント操作が完了したかどうかを確認できます。

ボリュームをマウントしたジョブからログアウトすれば,ボリュームは自動的にディスマウントされてアンロードされます。 ただし,システムに障害が生じた場合には, ボリュームは自動的にはディスマウントされません。

ディスマウントしているデバイスが,ALLOCATEコマンドによって割り当てられたデバイスである場合には,DISMOUNT コマンドを使用してディスマウントしても, 割り当ては解除されません。MOUNTコマンドによってデバイスを暗黙に割り当てた場合には,DISMOUNT コマンドによって割り当てが解除されます。


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