OpenVMS
システム管理者マニュアル


前へ 次へ 目次 索引


9.11 ディスク空間の管理

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

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

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

9.11.1 ディスク・クォータ

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

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

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

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

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

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

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


   UIC (1)         Usage (2)       Permanent Quota (3)  Overdraft Limit (4)
[0,0]             0               333333              3333 
[TTD,DAVIS]       15590           333333              3333 
[TTD,MORGAN]      1929            333333              3333 
[MKT,MORSE]       7650            333333              3333 
. 
. 
. 

  1. ボリュームのファイルを保守する権限を付与されている各ユーザの利用者識別子コード (UIC)。 UIC の [0,0] はすべてのクォータ・ファイルに含まれる。省略時のクォータと超過値を設定するときのテンプレートとして使用する。

  2. 1 ユーザのファイルが実際に占有しているディスク・ブロック数。これには,割り当てブロック数と,そのユーザが所有するすべてのファイルに対する索引ファイルの少なくとも 1 ブロックが含まれる。割り当てブロック数は, DCL の DIRECTORY/SIZE=ALL/BY_OWNER= uic コマンドを使って確認することができる。

  3. ボリューム上で 1 ユーザのファイルが占有可能な最大ブロック数。ファイルの作成時にこの値を超えた場合,システムはエラー・メッセージを発行する。

  4. 1 ユーザがクォータを超えることが可能なブロック数。

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

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

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

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

クォータの管理方法

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

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

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

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

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

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

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

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

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

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

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

作業方法

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

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


    DISKQUOTA CREATE /DEVICE= 装置名 
    

    注意

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

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


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

    注意

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

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


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



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


    この例の 1 番目の SYSMAN コマンドは,クラスタ内のすべてのノードに対して環境を設定している。2 番目の SYSMAN コマンドは, DUA12: 装置のディレクトリ [000000] に QUOTA.SYS というクォータ・ファイルを作成している。
    この時点でのクォータ・ファイルのエントリは 1 つ,省略時のクォータと超過値の入った UIC [0,0] だけである。


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


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


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


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

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

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

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

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

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

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

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

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



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


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


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


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


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


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

9.11.2.3 クォータの一時解除

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

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

作業方法

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

  1. SYSMAN を起動する。

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


    SYSMAN> DISKQUOTA DISABLE 
    

  3. SYSMAN を終了する。

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

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

9.11.3 ファイルのパージ

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

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



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


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


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


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


前へ 次へ 目次 索引