管理の手引き


ボリュームの管理

この章では、ファイル・サーバー・マシンに保管されているボリュームを管理する方法について説明します。このボリュームは、AFS 内の指定管理ユニットであるため、その管理は管理者の仕事の大部分を占めます。


命令の一覧

本章では、次に示されるコマンドを使用したタスクの実行方法について説明します。
読み取り / 書き込みボリュームの作成 vos create
読み取り専用ボリュームの作成 vos addsite および vos release
バックアップ・ボリュームの作成 vos backup
多くのバックアップ・ボリュームの同時作成 vos backupsys
VLDB 項目の検査 vos listvldb
ボリューム・ヘッダーの検査 vos listvol
VLDB 項目およびボリューム・ヘッダーの検査 vos examine
ボリューム名の表示 fs listquota または fs examine
ボリューム ID 番号の表示 fs examine または vos examine または vos listvol
使用可能なパーティションのサイズおよびスペースの表示 vos partinfo
ボリュームの位置表示 fs whereis または vos examine
マウント・ポイントの作成 fs mkmount
マウント・ポイントの取り外し fs rmmount
マウント・ポイントの表示 fs lsmount
読み取り / 書き込みボリュームの移動 vos move
ボリューム・ヘッダーとの VLDB の同期化 vos syncvldb および vos syncserv
ボリューム割り当て量の設定 fs setvol または fs setquota
ボリューム割り当て量の表示 fs quota または fs listquota または fs examine
ボリュームの現行サイズ表示 fs listquota または fs examine
マシン / パーティション上のボリュームのリスト表示 vos listvol
読み取り / 書き込みボリュームの削除 vos remove および fs rmmount
読み取り専用ボリュームの削除 vos remove
バックアップ・ボリュームの削除 vos remove および fs rmmount
ボリュームの削除。VLDB 変更なし。 vos zap
読み取り専用サイト定義の削除 vos remsite
VLDB 項目の削除。ボリューム変更なし。 vos delentry
ボリュームのダンプ vos dump
ダンプ済みボリュームの復元 vos restore
ボリュームの名前変更 vos renamefs rmmount および fs mkmount
ボリュームのロック解除 vos unlock
複数ボリュームのロック解除 vos unlockvldb
ボリュームのロック vos lock


ボリュームについて

AFS ボリューム は、ディスク・スペースの論理装置で、 AFS ディレクトリー内のファイル用のコンテナーのように機能し、ファイル・サーバー・マシンの 1 つのパーティション上にそれらのすべてのファイルを保持します。ボリュームの内容をセルのファイル・ツリー内に表示させて、ユーザーがアクセスできるようにするには、 AFS ファイル・スペース内のディレクトリーの位置にそのボリュームを取り付けます。ファイル・スペース内のボリュームとそのロケーション間の関連は、 マウント・ポイント と呼ばれます。また、AFS の内部の動作により、それは標準ディレクトリー要素と全く同じように見え、同じように機能します。したがって、ユーザーは標準 UNIX ディレクトリーの内容にアクセスして操作するのと同じように、ボリュームの内容にアクセスし操作することができます。ボリュームおよびディレクトリー間の関連についての詳細は、 ボリュームの取り付けについて を参照してください。

ボリュームは、AFS の基本記憶機構および管理ユニットであるため、管理者は日常的な活動のなかで、ボリュームを操作することがよくあります。ボリュームを使用してジョブを容易にする方法については、 ボリュームを使用して AFS 効率性を向上させる方法 を参照してください。

3 つのタイプのボリューム

AFS には、以下に示す 3 つのタイプのボリュームがあります。

既述のとおり、3 つのタイプのボリュームは互いに関連しています。読み取り専用およびバックアップのボリュームは、どちらも複製という処理を介して読み取り / 書き込みボリュームから派生しています。作成時点での読み取り専用およびバックアップのボリュームは、読み取り / 書き込みソースの同一コピーです。

ボリュームを使用して AFS 効率性を向上させる方法

ボリュームを使用して、セルの管理を容易にし、効率的にするには、次の 3 つの方法があります。

VLDB のボリューム情報

ボリューム・ロケーション・データベース (VLDB) には、セル内のすべてのボリュームに関する項目が含まれています。おそらく、項目の内で最も重要な情報は、ボリュームの位置であり、これは AFS データへの透過的アクセスへの鍵となるものです。ユーザーがファイルをオープンしたら、キャッシュ・マネージャーは、 VLDB を保守するボリューム・ロケーション (VL) サーバーに相談して、そのファイルを含むボリュームを格納するファイル・サーバー・マシンのリストを探します。次に、キャッシュ・マネージャーは、関連するファイル・サーバー・マシンのうちの 1 つで実行されているファイル・サーバーからファイルを要求します。このファイル・ロケーションの手順は、ファイルのパス名しか知る必要のないユーザーには見えません。

読み取り / 書き込みボリュームの VLDB ボリューム項目には、読み取り専用およびバックアップ・バージョンに関する持続情報も含まれますが、独自の VLDB 項目自体は含まれません (まれに例外として、読み取り / 書き込みソースが削除されたために、読み取り専用ボリュームが独自の VLDB 項目を持つ場合があります)。ボリュームの VLDB 項目は、ボリューム名、バージョン (読み取り / 書き込み、読み取り専用、バックアップ、および releaseClone) ごとの固有なボリューム ID 番号、読み取り / 書き込みバージョンまたは読み取り専用バージョンを収納するサイト数カウント、およびサイトのリストを記録します。

1 つまたは複数のボリュームの VLDB 項目を表示するには、 VLDB 項目の表示 で説明する vos listvldb コマンドを使用します。ボリューム・ヘッダーとともに単一のボリュームの VLDB 項目を表示するには、 1 つのボリュームの VLDB 項目およびボリューム・ヘッダーの表示 で説明する vos examine コマンドを使用します (ボリューム・ヘッダーについての説明は、以下のセクションを参照してください)。

ボリューム・ヘッダーの情報

すべてのバージョンのボリュームが 1 つの VLDB 項目を共有するのに対し、AFS サーバー・パーティション上の各ボリュームは、独自の ボリューム・ヘッダーを保持しています。これは、ボリューム内のファイルおよびディレクトリーを、それらを保管するパーティション上の物理メモリー・アドレスへマップさせるデータ構造です。ボリューム・ヘッダーは、ボリュームの内容を論理装置へ結合するため、隣接するメモリー・ブロックに内容を保管する必要はありません。ボリューム・ヘッダーはまた、ボリュームについての情報を記録します。たとえば、名前、ボリューム ID番号、タイプ、サイズ、状態 (オンライン、オフライン、またはビジー)、スペース割り当て量、作成日付および最終変更日付のタイム・スタンプ、およびその終日のアクセス数を記録し、いくつかの VLDB 項目 と重複するボリュームもあります。

1 つまたは複数のパーティション上でボリューム・ヘッダーを表示するには、 ボリューム・ヘッダーの表示 で説明する vos listvol コマンドを使用します。ボリューム・ヘッダーとともに単一のボリュームの VLDB 項目を表示するには、1 つのボリュームの VLDB 項目およびボリューム・ヘッダーの表示 で説明する vos examine コマンドを使用します。

VLDB およびボリューム・ヘッダーの同期化を保持する

VLDB の情報が、(ボリューム・ヘッダーに記録された) サーバー上の実際のボリュームの状況に、可能な限り長時間対応することが重要です。 VLDB 内のボリューム位置情報が誤っていると、キャッシュ・マネージャーはその内容が見つけられずアクセスできません。ボリュームの状況を変更する vos コマンドを発行する度に、ボリューム・サーバーと VL サーバーは、ボリューム・ヘッダーおよび VLDB の同期化を維持するために協力します。まれに、vos 操作が早期に停止する場合などに、ヘッダーおよび VLDB が分かれてしまう可能性があります。再び同期化させるための詳細は、VLDB およびボリューム・ヘッダーの同期化 を参照してください。

ボリュームの取り付けについて

ボリュームの内容をセルのファイル・ツリー内に表示させて、ユーザーがアクセスできるようにするには、AFS ファイル・スペース内のディレクトリーの位置に、そのボリュームを取り付けます。ファイル・スペース内のボリュームとそのロケーション間の関連は、 マウント・ポイント と呼ばれます。 AFS マウント・ポイントは、通常の UNIX ファイル・システム・ディレクトリーのように見え、そのように機能します。しかし、構造的にはむしろ記号のリンクであり、ディレクトリーに関連するボリューム名をキャッシュ・マネージャーに伝える働きをします。キャッシュ・マネージャーがその解釈方法を知っているというだけの理由で、マウント・ポイントは、ディレクトリーのように見えそのように作用します。

アプリケーション・プログラムが要求するファイルをキャッシュ・マネージャーが検索しなければならない、という一般的な場合について考慮します。キャッシュ・マネージャーは、ファイルの完全なパス名を考慮し、 AFS ルート ( /afs ディレクトリーに取り付けられた規則) からスタートしてそのファイルまで横断します。横断中に、キャッシュ・マネージャーがマウント・ポイントに出会う ( 交差する) と、そのマウント・ポイントを読み取って、そのディレクトリー・ロケーションに取り付けられたボリューム名を入手します。ボリューム・ロケーション (VL) サーバーからボリュームの位置情報を入手したら、キャッシュ・マネージャーは、指示されたボリュームを取り出して、そのルート・ディレクトリーをオープンします。ボリュームの ルート・ディレクトリー は、ボリューム内に常駐するすべてのファイル、サブディレクトリー、およびマウント・ポイントをリストします。キャッシュ・マネージャーは、パス名の次のエレメントをリストするルート・ディレクトリーを走査します。キャッシュ・マネージャーは、出会う他のマウント・ポイントの解釈を続ける方法を使用して要求されたファイルを格納するボリュームに達するまでそのパスを走査し続けます。

マウント・ポイントは、ボリュームが異なる多くのファイル・サーバー・マシン上に常駐する場合でも、単一のシームレス・ファイル・ツリーのような錯覚を起こさせる AFS ファイル・スペースを接続するグルーのような役割を果たします。ボリュームがディレクトリー位置に取り付けられると、その内容を表示して、アクセスすることができます。ボリュームが取り付けられない場合、その内容には全くアクセスすることができません。

ボリュームを、ファイル・ツリー内の 1 つ以上の位置に取り付けることができますが、これは次の 2 つの理由でお勧めできません。まず、ファイル・スペースの階層特性が変更してしまいます。次に、ファイルに達するために従うパス名について、キャッシュ・マネージャーが混乱する可能性があります (たとえば、pwd コマンドから予想できない出力を起こす原因となります)。しかし、複数のディレクトリーでボリュームを取り付けた場合、ボリュームのルート・ディレクトリーに関連付けられたアクセス制御リスト (ACL) は、そのすべてのマウント・ポイントに適用されます。

マウント・ポイントには幾つかのタイプがあります。キャッシュ・マネージャーは、各タイプを異なる目的に適するものとして、異なる方法で処理します。 ボリュームの取り付け を参照してください。

ボリューム名について

読み取り / 書き込みボリューム名の長さは、最大 22 文字までとします。ボリューム・サーバーは、読み取り専用およびバックアップのボリュームそれぞれに .readonly および .backup の拡張子を自動的に追加します。たとえその拡張子が適切な場合であっても、拡張子を明示的にボリューム名に追加してはいけません。

規則として、ボリューム名は収納するデータのタイプを示します。たとえば、すべてのユーザー・ボリューム名を user.username (username はユーザーのログイン名) とすることは規則です。同様に、多くのセルはシステム・タイプ・コードから開始する名前を持つボリュームにシステム・バイナリーを入れることを選択します。その他の命名規則のリストについては、 管理を簡単にするためのボリュームの作成 を参照してください。


読み取り / 書き込みボリュームの作成

読み取り / 書き込みボリュームは、最も基本的なボリューム・タイプです。読み取り専用またはバックアップ・バージョンを作成するには、このボリュームがすでに存在していなければなりません。 vos createコマンドを発行して読み取り / 書き込みボリュームを作成したら、 VL サーバーはボリューム用の VLDB 項目を作成します。この項目では、ユーザーが指定する名前を記録し、読み取り / 書き込みボリューム ID番号を割り当て、次の 2 つの連続するボリューム ID 番号を、後に作成される可能性のある読み取り専用およびバックアップの各バージョン用に予約します。同時に、ボリューム・サーバーは、ユーザーが指示するサイトにボリューム・ヘッダーを作成し、ボリュームのルート・ディレクトリーの名前を記録するためにディスク上にスペースを割り振ります。ボリュームを取り付けるために fs mkmount コマンドを発行したら、その名前が埋められます。この名前はマウント・ポイント名と一致します。ボリューム・ヘッダーには、以下のものも記録されます。

読み取り / 書き込みボリュームの作成 (取り付け)

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ボリュームを取り付ける予定のディレクトリーの ACL 上に a (管理)、 i (挿入)、および l (ルックアップ) アクセス権があることを検証します。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  3. 新規ボリュームに対してサイト (ファイル・サーバー・マシン上のディスク・パーティション) を選択します。サイトがボリュームを格納するのに十分な空きスペースがあることを検証するには (現在、または割り当て量全体を使用するほど成長した場合) 、 vos partinfo コマンドを発行します。

    注:このコマンドの出力に含まれる区画関連の統計は、標準 UNIX の df コマンドの出力に含まれる対応する値と常に一致するとは限りません。キャッシュ・マネージャーは 5 分間隔でファイル・マネージャーをポーリングして区画情報を得るので、このコマンドによって報告される統計は 5 分前のものである可能性があります。また、オペレーティング・システムによっては、df コマンドの区画サイズ報告には、このコマンドによる計算には含まれない予約済みのスペースが含まれるので、約 10% 大きくなることがあります。

       % vos partinfo <machine name> [<partition name>]
       
    

    ここで、

    p
    は、partinfo の受け入れ可能な省略形です。

    machine name
    区画サイズおよび使用量を表示するファイル・サーバー・マシンを指定します。

    partition name
    区画サイズおよび使用量を表示するパーティションの名前です。これを省略すると、出力はマシンのすべてのパーティションで使用可能なサイズおよびスペースを表示します。
  4. ボリューム名について を参照してボリューム名を選択します。
  5. vos create コマンドを発行して、ボリュームを作成します。

       
       % vos create <machine name> <partition name> <volume name>  \
                    [-maxquota <initial quota (KB)>]
       
    

    ここで、

    cr
    create の受け入れ可能な最も短い省略形です。

    machine name
    ボリュームを配置するファイル・サーバー・マシンを指定します。

    partition name
    ボリュームを配置するディスク・パーティションを指定します。

    volume name
    ボリューム名。長さは 22 文字の英数字および句読文字までとします。セルには、ユーザー名がストリング user で始まる、または名前の部分を分離させるのにピリオドを使用するといった、ボリュームの命名規則がある場合があります。

    -maxquota
    ボリュームの割り当て量を K バイト・ブロックの数として設定します。この引き数を省略すると、割り当て量は 5000 K バイト・ブロックに設定されます。
  6. (オプション) fs mkmount コマンドを発行して、ボリュームをファイル・スペースに取り付けます。完全な構文は、正規または読み取り / 書き込みの各マウント・ポイントの作成 を参照してください。

       
       % fs mkmount <directory> <volume name> 
       
    
  7. (オプション) fs lsmount コマンドを発行して、マウント・ポイントが正しいボリュームを参照しているか検証します。詳細な説明が マウント・ポイントの表示方法 に示されています。

       
       % fs lsmount <directory>
       
    
  8. (オプション)fs setvol コマンドを、-offlinemsg 引き数を併用して発行し、ボリューム・ヘッダー内のボリュームに関する補助情報を記録します。たとえば、ボリュームの所有者またはファイル・スペース内の取り付け場所を記録することができます。この情報を表示するには、fs examine コマンドを使用します。

       % fs setvol <dir/file path> -offlinemsg <offline message>
    

    ここで、

    sv
    は、setvol の受け入れ可能な別名です (setv は受け入れ可能な最も短い省略形です)。

    dir/file path
    メッセージに関連するボリュームのマウント・ポイントを指定します。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。

    マウント・ポイントへの読み取り / 書き込みパスを指定し、読み取りボリュームの変更時に生じる障害を回避してください。通例、読み取り / 書き込みパスを指定するには、パス名の第 2 レベルのセル名の前にピリオドを挿入します (たとえば /afs/.abc.com)。ファイル・スペースにおける読み取り / 書き込みおよび読み取り専用パスの概念の詳細は、マウント・ポイント横断の規則 を参照してください。

    -offlinemsg
    ボリューム・ヘッダーに記録する補助情報を、最大 128 文字まで指定します。

複製について

バックアップまたは読み取り専用のボリュームを作成するには、ボリューム・サーバーは、まず、読み取り / 書き込みソース・ファイルを 複製して複製 を作成します。ボリューム・サーバーは、ユーザーが vos backup または vos backupsys の各コマンド (バックアップ・ボリューム用)、もしくは vos release コマンド (読み取り専用ボリューム用) を発行するときに自動的に複製を作成します。ユーザー側では特別な処置は必要ありません。

複製は、読み取り / 書き込みソース・ボリューム内のデータのコピーではなく、読み取り / 書き込みボリュームの vnode インデックス のコピーです。 vnode インデックスは、ボリューム内のファイルおよびディレクトリーと、パーティション上でそのデータが常駐する物理ディスク・ブロックとの間のポインター表です。複製から、次の方法でバックアップおよび読み取り専用の各ボリュームが作成されます。

図 1. 読み取り / 書き込みソースと複製ボリュームとの間のファイル共用


読み取り / 書き込みソースと複製ボリュームとの間のファイル共用


ボリュームの複写 (読み取り専用ボリュームの作成)

複写とは、読み取り / 書き込みボリュームの読み取り専用コピーを作成し、そのコピーを 1 つまたは複数の追加のファイル・サーバー・マシンへ配布するということを指します。複写によって、ボリュームの内容が複数のファイル・サーバー・マシン上でアクセス可能になるため、データ使用可能性が向上します。また、ネットワーク上およびファイル・サーバー上でロードを削減することによってシステム効率性が上がります。クライアント・マシンのサーバー設定の変更ランクにより、キャッシュ・マネージャーが、最も近いファイル・サーバー・マシン上に保管されたボリュームのコピーにアクセスする場合、ネットワーク・ロードは削減されます。読み取り / 書き込みボリュームから取り出されたファイルごとに 1 つのコールバックを発するのとは異なり、ファイル・サーバーは、読み取り専用ボリュームから取り出されたすべてのデータにただ 1 つのコールバックを発するため、ファイル・サーバー上のロードは削減されます。ボリュームは管理者の処置に応答する場合以外は変更されないため、単一のコールバックは読み取り専用ボリューム全体にとって重要です。それに対して、それぞれの読み取り / 書き込みファイルは任意の時間に変更される可能性があります。

ボリュームを複写するには、2 つのコマンドを発行する必要があります。最初に、vos addsite コマンドを使用して、 1 つまたは複数の読み取り専用サイト定義をボリュームの VLDB 項目へ追加します (サイトは、ファイル・サーバー・マシン上の特定部分です)。次に、vos release コマンドを発行して、読み取り / 書き込みソース・ボリュームの複製を作成し、定義されたサイトに複製を配布します。読み取り専用サイトに対して 1 度だけ vos addsite を発行しますが、読み取り / 書き込みボリューム内容が変更されたために読み取り専用ボリュームを更新したいときは、その都度、vos release コマンドを再発行しなければなりません。

ファイル・システムの一貫したビューを表示するには、読み取り専用サイトへ更新したボリューム内容のリリースがアトミックでなければなりません。つまり、すべての読み取り専用サイトがボリュームの新規バージョンを受け取るか、すべてのサイトが現在保持するバージョンを維持する必要があります。 vos release コマンドは、ボリュームの読み取り専用バージョンのすべてのコピーがお互いに一致し、かつ、読み取り / 書き込みソースと一致することを保証するように設計されています。マシンまたはサーバーのプロセス停止などの問題によってリリース操作が正常に完了しない場合は、 AFS は 2 つのマシンを使用してユーザーに警告を出します。

最初に、コマンド・インタープリターは、新規ボリューム・バージョンを受け取らなかったそれぞれの読み取り専用サイトを指名している標準エラー・ストリーム上で、エラー・メッセージを生成します。次に、リリース操作中に、ボリューム・ロケーション (VL)・サーバーは、サイトが新規ボリューム・バージョンを持っているかどうかを示すフラグ (New release および Old release) を使用して、 VLDB 項目内のサイト定義をマークします。操作が完了してもフラグが残される場合は、成功しなかったということです。キャッシュ・マネージャーは、Old release フラグでマークされた読み取り専用サイトにアクセスすることを拒否します。このフラグは、New release フラグでマークされたサイトよりも大きなロードが必要になる可能性があるためです。失敗の原因を調査して取り除き、エラーなしでリリースを完了するために、必要なだけ何度でも vos release コマンドを発行することが大切です。

失敗したリリース操作の後にボリュームの VLDB 項目内に残されるサイト・フラグのパターンは、操作が失敗したポイントを決定する助けとなります。 VLDB 項目を表示するには、vos examine または vos listvldb コマンドを使用します。 VL サーバーは、ボリューム・サーバーの操作と調和して、以下のようにフラグを設定します。

  1. 操作が始まる前に、VL サーバーは、VLDB 項目内の読み取り / 書き込みサイトの定義上に New release フラグを、読み取り専用サイトの定義上には Old release フラグを設定します (最後のリリース操作以来、読み取り専用サイトが定義されておらず実ボリュームがない場合、そのサイト・フラグは Not released になります)。
  2. 必要ならば、ボリューム・サーバーは、ReleaseClone と呼ばれる読み取り / 書き込みソースの一時的なコピー (複製) を作成します (ボリューム・サーバーが新規の ReleaseClone を作成または作成しない場合の説明は、以下を参照してください)。そして、ReleaseClone に独自のボリューム ID 番号を割り当てます。この番号は、VL サーバーがソース・ボリュームの VLDB 項目の RCloneフィールドに記録します。
  3. ボリューム・サーバーは、VLDB 項目で定義されたそれぞれの読み取り専用サイトへ ReleaseClone のコピーを配布します。サイトが正常に新規複製を受け取ったら、VL サーバーは VLDB 項目内のサイトのフラグを New release に設定します。
  4. すべての読み取り専用コピーが正常にリリースされたら、VL サーバーは、すべての New release サイト・フラグを消去します。 ReleaseClone は必要なくなるため、ボリューム・サーバーはこれを削除し、その ID を VLDB 項目から消去します。

デフォルトでは、ボリューム・サーバーは、新規の ReleaseClone を作成する必要があるかどうかを、以下のように自動的に判別します。

デフォルトの動作を上書きして、ボリューム・サーバーに強制的に新規の ReleaseClone を作成させ、読み取り専用サイトへリリースさせるには、-f フラグを組み込みます。これは、たとえば、直前の操作で既存の ReleaseClone が作成されてから、読み取り / 書き込みサイトのデータが変更された場合などに適します。

効果的な読み取り専用ボリュームの使用

最も効率を高めるためには、以下の 2 つの基準を満たすボリュームのみを複製します。

明示的に読み取り専用ボリュームを取り付ける (.readonly 拡張子の付いたボリュームのマウント・ポイントを作成する) ことは、普通は不要であり適当ではありません。キャッシュ・マネージャーには、可能な場合にいつでも複製したボリュームの読み取り専用バージョンにアクセスできる組み込まれたバイアスがあります。 マウント・ポイント横断の規則 で説明するとおり、キャッシュ・マネージャーはマウント・ポイントに出会うとその中のボリューム名を読み取り、そのボリュームを収納するサイトのリストを求めて VL サーバーと交信します。通常、マウント・ポイントが読み取り専用ボリューム内に常駐し読み取り / 書き込みボリュームを指定すると (.readonly または .backup の拡張子の付かない名前)、キャッシュ・マネージャーは常に、そのボリュームの読み取り専用コピーにアクセスしようと試みます。このため、普通、読み取り専用ボリュームにアクセスするために、キャッシュ・マネージャーを明示的にそのボリュームを取り付けるよう強制しなければならない理由はありません。

次にあげるいくつかの理由で、読み取り専用ボリュームを読み取り / 書き込みサイトに配置することは有益です。まず、読み取り / 書き込みサイトの読み取り専用ボリュームは、すべてのデータのコピーではなく 1 つの複製であるため、ディスク・スペースを少ししか必要としません (複製について を参照)。読み取り / 書き込みボリューム内で多数のファイルが削除され変更された場合にのみ、読み取り専用コピーは多くのディスク・スペースをとります。しかし、複写した読み取り / 書き込みボリューム内に変更を行う場合は、それを再複製することが適切な処置であるため、こういうケースはあまり起こりません。読み取り専用ボリュームを読み取り / 書き込みサイトに配置するもう 1 つの理由は、すべての読み取り専用コピーがアクセス不能になった場合に、キャッシュ・マネージャーは、複写したボリュームの読み取り / 書き込みバージョンにアクセスしようと試みないからです。読み取り / 書き込みボリュームを収納しているファイル・サーバー・マシンが唯一のアクセス可能マシンである場合、キャッシュ・マネージャーは、読み取り / 書き込みサイトに読み取り専用コピーがある場合にのみ、データにアクセスすることができます。

定義する読み取り専用サイト数は、いくつかの要因によって決まります。おそらく、主なトレードオフは、ボリューム内容の要求レベルと、ボリュームの複数のコピー用に使用しようとしているディスク・スペースの量との間にあります。もちろん、定義しようとする読み取り専用サイトにはそれぞれ、ボリュームを収納するために使用できる十分なスペースがなければなりません。ボリュームの読み取り専用コピーの制限数は、 AFS Release Notes で定義されるボリュームの VLDB 項目内のサイト定義最大数によって決まります。ボリュームの読み取り / 書き込みおよびバックアップのバージョンを収容するサイトは 1 つのサイトとして数えられ、読み取り専用サイトはそれぞれが追加のサイトとして数えられます (読み取り / 書き込みサイトと同じファイル・サーバー・マシンおよびパーティション上に定義された読み取り専用サイトでも別々のサイトとして数えます)。また、ボリューム・サーバーは、ファイル・サーバー・マシンごとにボリュームの読み取り専用コピーを 1 つしか許可しないということに注意してください。

複写シナリオ

次のセクションでは、読み取り専用サイトが現在定義されていないボリュームを複写する方法について説明します。しかし、その他の共通な場合にもこの説明を使用できます。

読み取り / 書き込みボリュームの複写 (読み取り専用ボリュームの作成)

  1. ユーザーが、/usr/afs/etc/UserListファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ボリュームを複写する 1 つまたは複数のサイトを選択します。以下に示すとおり、考慮すべきいくつかの要因があります。
  3. vos addsite コマンドを発行して、 VLDB 内にそれぞれ新規の読み取り専用サイトを定義します。

       
       % vos addsite <machine name> <partition name> <volume name or ID>
       
    

    ここで、

    ad
    は、addsite の受け入れ可能な省略形です。

    machine name
    新規のサイトに対するファイル・サーバー・マシンを定義します。

    partition name
    マシン machine name 上のディスク・パーティションの名前です。

    volume name or ID
    複写する読み取り / 書き込みボリュームを、その完全名またはボリューム ID 番号によって識別します。
  4. (オプション) fs プロセス (ボリューム・サーバーに組み込み) が、読み取り専用サイトを定義したそれぞれのファイル・サーバー・マシン上で正常に機能しているかどうか、および vlserver プロセス (ボリューム・ロケーション・サーバー) が各データベース・サーバー・マシン上で正しく機能しているかどうかを検査します。これらが機能していることが認識されると、リリースの失敗を引き起こす可能性がある 2 つの要因が除かれます。このボリューム用の読み取り専用サイトを収容する各ファイル・サーバー・マシン上、および各データベース・サーバー・マシン上で bos status コマンドを発行します。このコマンドについての詳細は、BosConfig ファイルのプロセス状況および情報の表示 を参照してください。

       
       % bos status <machine name> fs vlserver
       
    
  5. vos release コマンドを発行して、読み取り / 書き込みソース・ボリュームを複製し、それぞれの読み取り専用サイトへ複製を配布します。

       
       % vos release <volume name or ID> [-f]
       
    

    ここで、

    rel
    は、release の受け入れ可能な省略形です。

    volume name or ID
    複製する読み取り / 書き込みボリュームを、その完全名またはボリューム ID 番号によって識別します。読み取り専用バージョンは、 .readonly 拡張子が付いた同じ名前が付きます。すべての読み取り専用コピーは、同じ読み取り専用ボリューム ID 番号を共用します。

    -f
    完全に新規の複製を作成しリリースします。
  6. (オプション) vos examine コマンドを発行して、VLDB 項目内のサイト定義が、 Old release または New release のフラグでマークされていないことを検査します。このコマンドについての詳細は、1 つのボリュームの VLDB 項目およびボリューム・ヘッダーの表示 を参照してください

       
       % vos examine <volume name or ID>
       
    

6 のステップからの出力にフラグが表示される場合、ボリューム・サーバーがリリース操作中にエラー・メッセージを出さなくなり、フラグが表示されなくなるまで、 4 のステップおよび 5 を繰り返します。ネットワーク、マシン、またはサーバー・プロセス障害のために、読み取り / 書き込みサイトまたは読み取り専用サイトがアクセス不能だと分かっている場合には、 vos release コマンドを発行しないでください。


バックアップ・ボリュームの作成

バックアップ・ボリュームは、読み取り / 書き込みソースと同じサイトに常駐する複製です (複製の概念については、 複製について を参照)。ボリュームのバックアップ・バージョンを作成することには、次の 2 つの目的があります。

複数のボリュームを同時にバックアップする

vos backupsys コマンドにより、多数の読み取り / 書き込みボリュームのバックアップ・バージョンが一度に作成できます。このコマンドは、 AFS バックアップ・システムを使用してテープに記録する大規模なバックアップを準備する場合に役立ちます。

VLDB にリストされた読み取り / 書き込みボリュームを複製するには、すべてのコマンド・オプションを省略してください。また、さまざまなグループのボリュームを複製するには、コマンド・オプションを結合してください。オプションでは、ボリュームを選択するために 2 つある基本的基準のうちの 1 つを使用します。つまり、ロケーション (-server および -partition引き数)、または指定文字ストリングのセットのうちの 1 つの指定文字ストリングによるボリューム名の表示 (-prefix-exclude、および -xprefix オプション)です。

1 つのファイル・サーバー・マシン上にあるボリュームのみを複製するには、-server 引き数を組み込みます。1 つのパーティション上にあるボリュームのみを複製するには、-server および -partition 引き数を組み合わせます。また、-partition 引き数だけを使用して、すべてのファイル・サーバー・マシン上の指示されたパーティションに常駐するボリュームを複製することもできます。これらの引き数は、名前に基づいてボリュームを選択する引き数と結合することができます。

名前に含まれる文字ストリングに基づいてボリュームを選択するには、以下に指示する方法で -prefix-exclude、および -xprefix の各オプション (-server および -partition 引き数を使用または不使用) を結合します。

-prefix および -xprefix の引き数は両方とも、複数の値を受け入れます。これらの値は、互いに共通元を持たないボリュームのグループを定義するために使用できます。それぞれの値は、以下の 2 つのタイプのうちのいずれかです。

  1. 簡単な文字ストリング。ストリングで始まる名前を持つボリュームと突き合わせます。すべての文字は、文字どおり解釈されます (つまり、ピリオドなど、コマンド・シェルへの特別な意味を持つ可能性のある文字は、文字どおりの意味しか持ちません)。
  2. 正規の式。式を含む名前を持つボリュームと突き合わせます。式の先頭に脱字記号 ( ^ ) を置き、単一引用符 (' ') でストリング全体を囲みます。正規の式についての説明は、この解説ページの範囲外です。 UNIX 解説書ページの regexp(5) または (簡単な説明の場合は) ボリューム・セットおよびボリューム項目の定義および表示 を参照してください。たとえば、以下の式は、名前に aix を含むストリングを持つボリュームを見つける場合の例です。

       -prefix  '^.*aix'
    

実際には複製を行わずに、複製するボリュームのリストを表示するには、 -dryrun フラグを組み込みます。ボリューム選択の際に使用されている基準の要約文を表示するには、 -verbose フラグを組み込みます。

単一のボリュームをバックアップするには、単一のボリュームを検索するためにさらに高い能率の技法を用いる vos backupコマンドを使用します。

バックアップ・ボリュームを自動的に作成する

ほとんどのセルにとって、関連ボリュームの新規のバックアップ・バージョンを毎日作成することが最適の方法です。バックアップ・バージョンの作成には、使用頻度が少ないときが最適です。これは、バックアップ操作によって、読み取り / 書き込みボリュームが一時的に使用不可になるためです。

必要な vos backupsys または vos backup コマンドをコンソールで発行するか、ファイル・サーバー上の BosConfig ファイルに cron 項目を作成することができます。これによって、管理者はバックアップ操作を開始する必要がなくなります。

次のコマンド例では、 backupusers というcron プロセスを、 fs3.abc.com マシン上の /usr/afs/local/BosConfig ファイルに作成します。このプロセスは、毎日午前 1 時に実行され、 user というストリングで始まる名前が付いたセルに、すべてのボリュームのバックアップ・バージョンが作成されます。 -localauth フラグによって、未認証でもプロセスは特権の vos backupsys コマンドを呼び出すことができます。 -cmd 引き数には、 vos バイナリー用の完全なパス名を指定することに注意してください。これは、BOS サーバー (ローカルなスーパーユーザー root として稼働) の PATH 環境変数に、通常 AFS バイナリーへのパスが含まれないためです。

   
   % bos  create fs3.abc.com backupusers cron  \
     -cmd "/usr/afs/bin/vos backupsys  -prefix user -localauth" "1:00"
    

ユーザーが使用可能なバックアップ・ボリューム

既述のとおり、バックアップ・ボリュームは、その作成時における読み取り / 書き込みソースの状態を保存します。多くのセルはバックアップ・ボリュームの取り付けを選択します。これによって、管理者からヘルプを要求しなくても、最終バックアップを作成してから誤って削除または変更したデータにもアクセスでき、それを復元することができます。ユーザー・ボリュームのバックアップ・バージョンを取り付ける最も正しい位置は、ユーザーのホーム・ディレクトリーのサブディレクトリーです。このディレクトリーに対する適切な名前は、OldFiles および Backup などです。サブディレクトリーは、バックアップが作成された時点で、同じ相対的位置にすべてのファイルおよびサブディレクトリーを持つユーザーのホーム・ディレクトリーのように見えます。

ユーザーのバックアップ・ボリュームを作成して取り付ける場合、その存在をユーザーに知らせます。バックアップ・ボリュームを使用可能にするかどうかはオプションであるため、 AFS 使用者の手引き では、バックアップ・ボリュームについて記載していません。新規のバックアップを作成する頻度をユーザーに説明して、回復できる範囲が分かるようにします。また、バックアップ・ボリュームのデータが変更できないことについても念を押しておく必要があります。ただし、標準 UNIX cp コマンドを使用してデータをホーム・ボリュームにコピーして、そこで変更することは可能です。また、バックアップ・ボリュームのデータが、読み取り / 書き込みボリューム割り当て量に不利に作用したりしないことを、ユーザーに再度確認します。

バックアップ・ボリュームの作成および取り付け

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ボリュームを取り付けるディレクトリーの ACL 上に 挿入 (i) および 管理 (a) アクセス権があることを検証します。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  3. vos backup コマンドを発行して、読み取り / 書き込みボリュームのバックアップ・バージョンを作成します。表示されるメッセージが、バックアップ操作の成功を確認します。

       
       % vos backup <volume name or ID>
       Created backup volume for volume name or ID
       
    

    ここで、

    backup
    完全な形式で入力する必要があります。

    volume name or ID
    バックアップする読み取り / 書き込みボリュームを、その完全名またはボリューム ID 番号によって識別します。バックアップ・ボリュームは、同じ名前に .backup 拡張子を付けたものです。これには、独自のボリューム ID番号が付いています。
  4. (オプション) fs mkmountコマンドを発行して、バックアップ・ボリュームを取り付けます。このステップはオプションであり、ボリュームが取り付けられていない場合には、キャッシュ・マネージャーはボリュームの内容にアクセスできません。

       
       % fs mkmount <directory> <volume name>.backup
       
    

    ここで、

    mk
    は、mkmount の受け入れ可能な省略形です。

    directory
    作成するマウント・ポイントを指定します。前もって同じ名前のファイルまたはディレクトリーを作成してはなりません。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。ユーザー・ボリュームのバックアップ・バージョンを取り付ける位置は、通常、ユーザーのホーム・ディレクトリーです。

    volume name.backup
    バックアップ・ボリュームのフルネームです。
  5. (オプション) fs lsmount コマンドを発行して、マウント・ポイントが正しいボリュームを参照しているか検証します。詳細な説明が マウント・ポイントの表示方法 に示されています。

       
       % fs lsmount <directory>
       
    

複数のバックアップ・ボリュームの同時作成

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. vos backupsys コマンドを発行して、同じ接頭部またはサイトを共用するすべての読み取り / 書き込みボリュームのバックアップ・バージョンを作成します。 3 つの引き数を結合した場合の影響については、複数のボリュームを同時にバックアップするで説明しています。

       % vos backupsys [-prefix < common prefix on volume(s)>+]   \
            [-server <machine name>] [-partition <partition name>]  \
            [-exclude]   [-xprefix < negative prefix on volume(s)>+] 
            [-dryrun]  [-verbose]
       
    

    ここで、

    backups
    は、backupsys の受け入れ可能な省略形です。

    -prefix
    任意の長さの 1 つまたは複数の簡単な文字ストリングまたは正規式を指定します。名前にストリングが含まれるボリュームは、複製するボリュームのリストに配置されます。適切な場合は、フィールド区切り記号 (ピリオドなど) を含めます。この引き数は、-server-partition-exclude、および -xprefix オプションの組み合わせと結合することができます。

    -server
    バックアップするボリュームを格納するファイル・サーバー・マシンを指定します。この引き数は、-prefix-partition-exclude、および -xprefix オプションの組み合わせと結合することができます。

    -partition
    バックアップするボリュームを格納するパーティションを指定します。この引き数は、-prefix-server-exclude、および -xprefix オプションの組み合わせと結合することができます。

    -exclude
    -prefix 引き数によって示されるボリュームを除くすべてのボリュームがバックアップされることを示します。 -prefix 引き数は、これとともに使用する必要があります。これは、-prefix-server、および -partition の引き数の組み合わせと結合、または、 -prefix および -xprefix の引き数両方と結合することができますが、 -xprefix 引き数だけと結合することはできません。

    -xprefix
    任意の長さの 1 つまたは複数の簡単な文字ストリングまたは正規式を指定します。名前にストリングが含まれないボリュームは、複製するボリュームのリストに配置されます。これは、-prefix-server、および -partition の引き数の組み合わせと結合できます。さらに、-prefix および -exclude のオプションとも結合できますが、 -exclude フラグのみとは結合できません。

    -dryrun
    実際には複製を行わずに、複製されるボリュームのリストを標準出力ストリーム上に表示します。

    -verbose
    -dryrun フラグと結合すると、標準出力ストリーム上に、ボリューム選択の際に使用される基準を要約した文を表示します。 -dryrun フラグと結合しない場合は、各ボリュームの複製操作をトレースします。

ボリュームの取り付け

ボリュームの取り付けについて で説明するとおり、マウント・ポイントによって、 AFS ファイル・スペース内で AFS ボリュームの内容が見え、アクセス可能になります。このセクションでは、キャッシュ・マネージャーがファイル・スペースを横断するときのマウント・ポイントの取扱方法について詳しく説明します。このセクションには、3 つのタイプのマウント・ポイントについての説明、それらの目的と識別方法、およびマウント・ポイントの作成、除去、検査に関する指示が含まれています。

マウント・ポイント横断の規則

キャッシュ・マネージャーは、次の 3 つの基本規則を守りながら AFS ファイル・スペースを走査し、マウント・ポイントに遭遇します。

3 つのタイプのマウント・ポイント

AFS は、キャッシュ・マネージャーのマウント・ポイントの取扱方法に応じて、目的別に適切な 3 つのタイプマウント・ポイントを使用します。

マウント・ポイントを検査するには、マウント・ポイントの表示方法 で説明する fs lsmount コマンドを使用します。コマンドの出力では、正規、読み取り / 書き込み、およびセルラー・マウント・ポイントを識別するために独特な表記を使用します。マウント・ポイントを削除するには、 マウント・ポイントを除去する方法 で説明する fs rmmount コマンドを使用します。

外部セルでのマウント・ポイントの作成

マウント・ポイントを外部セルのファイル・スペースに作成する (外部ボリュームをローカル・セルに取り付けるのと反対) には、基本的にマウント・ポイントをローカル・ファイル・スペースに作成する場合と同じ方法を使用します。これらの違いは、 fs mkmount コマンドの directory 引き数がローカル・セルではなく外部セル内のパス名を指定すること、および、マウント・ポイントを作成する場所である外部ディレクトリーの ACL 上に必要なアクセス権がなければならないということです。 fs mkmount コマンドの -cell 引き数は、マウント・ポイントを作成するためのセルではなく、ボリュームが常駐するセルを常に指定します。

マウント・ポイントの表示方法

  1. fs lsmount コマンドを発行します。

       
       % fs lsmount <directory>
       
    

    ここで、

    ls
    は、lsmount の受け入れ可能な省略形です。

    directory
    表示させるマウント・ポイントを指定します。

指定したディレクトリーがマウント・ポイントである場合は、以下の形式で出力されます。

   'directory' is a mount point for volume 'volume name'
   

正規マウント・ポイントの場合は、以下のコマンド例のように、 volume name ストリングの前に番号記号 (#) が表示されます。以下は、abc.com セル内のクライアント・マシン上で発行されたコマンド例です。

   
   % fs lsmount /afs/abc.com/usr/terry
   '/afs/abc.com/usr/terry' is a mount point for volume '#user.terry'
      

読み取り / 書き込みマウント・ポイントの場合は、以下のコマンド例のように、 volume name ストリングの前にパーセント記号 (%) が表示されます。以下は、abc.com セル内のクライアント・マシン上で発行されたコマンド例です。セルの管理者は、読み取り / 書き込みマウント・ポイント名の前にピリオドを置く規則に従っています。

   
   % fs lsmount /afs/.abc.com 
   '/afs/.abc.com' is a mount point for volume '%root.cell'
   

セルラー・マウント・ポイントの場合は、セル名およびコロン (:) が、番号記号またはパーセント記号の後、かつ、 volume name ストリングの前に置かれます。以下は、 abc.com セル内のクライアント・マシン上で発行されたコマンド例です。

   
    % fs lsmount /afs/ghi.gov 
   '/afs/ghi.gov' is a mount point for volume '#ghi.gov:root.cell'
   

マウント・ポイントへつながる記号リンクの場合、 abc.com セル内のクライアント・マシン上で発行された以下のコマンド例で示される形式で出力されます。

   
   % fs lsmount /afs/abc
   '/afs/abc' is a symbolic link, leading to a mount point for volume '#root.cell'
   

ディレクトリーがマウント・ポイントではない、または AFS にない場合、その出力は以下のようになります。

   'directory' is not a mount point.
   

出力が混同している場合は、マウント・ポイントがローカル・キャッシュ内で破壊された可能性があります。 1 つ以上のマウント・ポイントをフラッシュする を参照して、 fs flushmount コマンドを使用してください。これによって、キャッシュ・マネージャーはマウント・ポイントを再び取って来るよう強制されます。

正規または読み取り / 書き込みの各マウント・ポイントの作成

  1. マウント・ポイントを配置するディレクトリーの ACL 上に i (挿入) および a (管理)アクセス権があることを検査します。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    
  2. マウント・ポイントを作成するには、fs mkmountコマンドを発行します。読み取り / 書き込みマウント・ポイントを作成するには、-rwフラグを組み込みます。

       
       % fs mkmount <directory> <volume name> [-rw]
       
    

    ここで、

    mk
    は、mkmount の受け入れ可能な省略形です。

    directory
    作成するマウント・ポイントを指定します。同じ名前のファイルまたはディレクトリーが存在してはいけません。部分的なパス名は、現行作業ディレクトリーに対する相対として解釈されます。

    マウント・ポイントへの読み取り / 書き込みパスを指定します。こうすると、読み取り専用ボリューム内に新規マウント・ポイントを作成しようとする際に生じる障害を回避することができます。規則では、パス名の第 2 レベルでセル名の前にピリオドを置いて、読み取り / 書き込みパスを示します (たとえば、/afs/.abc.com)。読み取り / 書き込みパスおよび読み取り専用パスの概念についての詳細は、 マウント・ポイント横断の規則 を参照してください。

    volume name
    バックアップ・ボリュームまたは読取専用ボリューム用の .backup または .readonly の拡張子付きのボリュームの完全名を指定します。

    -rw
    読み取り / 書き込みマウント・ポイントを作成します。

セルラー・マウント・ポイントを作成する方法

  1. マウント・ポイントを配置するディレクトリーの ACL 上に i (挿入) および a (管理)アクセス権があることを検査します。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    
  2. ファイル・スペースの第 2 レベルで 1 つまたは複数の外部セルの root.cell ボリュームを取り付ける場合に、ユーザーのセルの root.afs ボリュームが複写されていると、 ACL によってユーザーに i および a のアクセス権が与えられるディレクトリー内に、 root.afs ボリュームの読み取り / 書き込みバージョン用の一時的なマウント・ポイントを作成する必要があります。次のコマンドにより、ユーザーのセルの /afs/.cellname ディレクトリー (ユーザーのセル内の読み取り / 書き込みパスへの入り口地点) に、 new_cells と呼ばれるマウント・ポイントが作成されます。

    cellname に、ユーザーのセル名を代入します。

       
       % cd /afs/.cellname
       
       % fs  mkmount  new_cells  root.afs
     
       % cd  new_cells
       
    
  3. セルラー・マウント・ポイントを作成するには、-cell 引き数とともに fs mkmount コマンドを使用します。それぞれのセルラー・マウント・ポイントごとにコマンドを繰り返します。

       
       % fs mkmount <directory> <volume name> -cell <cell name>
       
    

    ここで、

    mk
    は、mkmount の受け入れ可能な省略形です。

    directory
    作成するマウント・ポイントを指定します。同じ名前のファイルまたはディレクトリーが存在してはいけません。部分的なパス名は、現行作業ディレクトリーに対する相対として解釈されます。外部セルの root.cell ボリュームを取り付ける場合、この引き数の標準値は、セルの完全なインターネット・ドメイン名です。

    volume name
    ボリュームの完全名を指定します。通常、セルラー・マウント・ポイントには root.cell です。

    -cell
    ボリュームが常駐するセルの完全なインターネット・ドメイン名を指定します。
  4. 2 のステップの指示を実行したら、 vos release コマンドを発行して、新規バージョンの root.afs ボリュームをその読み取り専用サイトへリリースします。 (このコマンドは、ユーザーのセルの /usr/afs/etc/UserList ファイルに、ユーザーがリストされていなければなりません。必要な場合には、 bos listusers コマンドを発行して検査します。このコマンドの詳細は、UserList ファイルのユーザーの表示 を参照してください。)

    また、ローカル・キャッシュ・マネージャーに root.afs ボリュームの新規複製へアクセスさせるには、 fs checkvolumes コマンドを発行します。場合に応じて、一時的な new_cells マウント・ポイントを、 /afs/.cellname ディレクトリーから除去することもできます。

         
       % vos release root.afs
       
       % fs checkvolumes
       
       % cd /afs/.cellname
        
       % fs rmmount new_cells
       
       
    

    新規に取り付けた外部セルに顧客ユーザーがアクセスするには、クライアント・マシンごとのローカルな /usr/vice/etc/CellServDB ファイル内でセル用の項目も作成しなければなりません。そして、マシンをリブートするか、または fs newcell コマンドを使用してその項目を直接そのカーネル・メモリーへ挿入してください。詳細は、データベース・サーバー・マシンの情報を保持する を参照してください。

マウント・ポイントを除去する方法

  1. マウント・ポイントを除去する先のディレクトリーの ACL 上に d (削除) アクセス許可があることを検証します。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  2. fs rmmount コマンドを発行し、マウント・ポイントを除去します。ボリュームはまだ存在しますが、これが唯一のマウント・ポイントである場合、その内容はアクセス不能です。

       
       % fs rmmount <directory>
       
    

    ここで、

    rm
    は、rmmount の受け入れ可能な省略形です。

    directory
    削除するマウント・ポイントを指定します。部分的なパス名は、現行作業ディレクトリーに対する相対として解釈されます。

    マウント・ポイントへの読み取り / 書き込みパスを指定します。こうすると、読み取り専用ボリュームからマウント・ポイントを削除しようとする際に生じる障害を回避することができます。規則では、パス名の第 2 レベルでセル名の前にピリオドを置いて、読み取り / 書き込みパスを示します (たとえば、/afs/.abc.com)。読み取り / 書き込みパスおよび読み取り専用パスの概念についての詳細は、 マウント・ポイント横断の規則 を参照してください。


ボリュームについての情報を表示する

このセクションでは、ボリュームについての情報を表示する方法を説明します。ボリューム名またはボリューム ID 番号が分かる場合は、その VLDB 項目またはボリューム・ヘッダー、もしくはその両方を表示させるコマンドがあります。指定したファイルまたはディレクトリーを含むボリュームの名前または位置を表示するには、他のコマンドを使用します。

ボリューム割り当て量を表示させるには、ボリューム割り当て量および現行サイズの設定および表示 の詳細を参照してください。

VLDB 項目の表示

vos listvldb コマンドは、提供する引き数の組み合わせによって示されたボリュームに対する VLDB 項目を表示します。最も包括的なものから、最も包括的でないものまでを含む可能性をここにリストします。

VLDB 項目の表示

  1. vos listvldb コマンドを発行します。

       
       % vos listvldb  [-name <volume name or ID>] [-server <machine name>] \
                      [-partition <partition name>] [-locked]
       
    

    ここで、

    listvl
    は、listvldb の受け入れ可能な省略形です。

    -name
    1 つのボリュームを、その完全名またはボリューム ID 番号によって識別します。この引き数を -server または -partition 引き数と結合してはいけません。

    -server
    ファイル・サーバー・マシンを指定します。この引き数は、-partition引き数と結合できますが、-name 引き数とは結合できません。

    -partition
    パーティションを指定します。この引き数は、-server 引き数と結合できますが、-name 引き数とは結合できません。

    -locked
    ロックされた VLDB 項目のみを表示します。このフラグを、他の任意のオプションに結合します。

各ボリュームの VLDB 項目には、以下の情報が含まれます。

New release および Old release フラグの詳細は、ボリュームの複写 (読み取り専用ボリュームの作成) を参照してください。

単一ボリュームに対するこのコマンドおよびその出力の例。

   
   % vos listvldb user.terry
   user.terry
       RWrite: 50489902    Backup: 50489904
       number of sites -> 1
          server fs3.abc.com partition /vicepc RW Site
  

ボリューム・ヘッダーの表示

vos listvol コマンドは、ファイル・サーバー・マシン上の 1 つまたはすべてのパーティションにあるすべてのボリュームに対してボリューム・ヘッダーを表示します。 vos コマンド・インタープリターは、指定したマシン上のボリューム・サーバーから情報を入手します。 -fast-long、または -extended フラグのうちの 1 つを組み込むことによって、表示する情報量を制御することができます。詳細は、以下の ボリューム・ヘッダーの表示 を参照してください。

1 つのボリュームだけの単一ボリュームのボリューム・ヘッダーを表示するには、1 つのボリュームの VLDB 項目およびボリューム・ヘッダーの表示 で説明する vos examineコマンドを使用します。

ボリューム・ヘッダーの表示

  1. vos listvol コマンドを発行します。

       
       % vos listvol <machine name> [<partition name>] [-fast] [-long] [-extended]
       
    

    ここで、

    listvo
    は、listvol の受け入れ可能な省略形です。

    machine name
    ボリューム・ヘッダーを表示するファイル・サーバー・マシンの名前です。この引き数を単独または パーティション名引き数付きで提供します。

    partition name
    この名前とともに提供する必要がある machine name 引き数が命名する、ファイル・サーバー・マシン上の 1 つのパーティションの名前です。

    -fast
    関係のあるボリュームのボリューム ID 番号のみを表示します。このフラグを -long または -extended フラグと結合しないでください。

    -long
    各ボリュームについての詳細を表示します。このフラグを -fast または -extended フラグと結合しないでください。

    -extended
    -long フラグによって示されるすべての情報に加えて、ボリュームのファイルの読み取り、書き込みに関する統計のテーブルを表示します。このフラグと-fast または -long フラグを結合しないでください。

出力はボリューム名のアルファベット順に表示され、デフォルトで、以下の情報がボリュームごとに単一行に示されます。

直前にリストした情報ではなく以下のようなメッセージが表示される場合は、複製が作成中であるなどの理由で、ボリュームは、キャッシュ・マネージャーまたは vos コマンド・インタープリターにアクセスできません。

   **** Volume volume_ID is busy ****

直前にリストした情報ではなく以下のようなメッセージが表示される場合は、ボリュームがひどく破壊されているなどの理由で、ファイル・サーバーはボリュームに接続することができません。ファイル・サーバー・マシンの /usr/afs/logs ディレクトリーの、 FileLog および VolserLog の各ログ・ファイルに追加情報がある場合があります。表示するには、bos getlog コマンドを使用します。

   **** Could not attach volume volume_ID ****

(破壊ボリュームまたは未連結ボリュームをサルベージするための詳細は、 ボリュームのサルベージ を参照してください。)

固有ボリュームの情報は、要約行で一括されます。出力の最初の行では、リスト内にあるボリューム数を指定します。出力の最終行では、オンライン、オフライン、および使用中のボリューム数の一覧を表示します。これは、以下のように表示されます。

   
   % vos listvol  fs2.abc.com /vicepb
   Total number of volumes on server fs2.abc.com \
                                       partition /vicepb: 66
   sys                  1969534847 RW       1582 K On-line
   sys.backup           1969535105 BK       1582 K On-line
         .                   .     .         .   .    .
         .                   .     .         .   .    .
   user.pat             1969534536 RW      17518 K On-line
   user.pat.backup      1969534538 BK      17537 K On-line
   Total volumes onLine 66 ; Total volumes offLine 0 ; Total busy 0
   

-fast フラグでの出力

-fast フラグを組み込むと、以下のように昇順に各ボリュームのボリューム ID 番号のみが表示されます。最終行 (オンライン、オフライン、および使用中ボリュームの一覧) は省略されます。

   
   % vos listvol fs3.abc.com /vicepa -f
   Total number of volumes on server fs3.abc.com  \
                                       partition /vicepa: 37
   50489902
   50489904
      .
      .
   35970325
   49732810
   

-long フラグでの出力

-long フラグを組み込むと、各ボリュームの出力には、デフォルトのリスト表示のすべての情報以外に以下の情報も含まれます。このリストの各アイテムは、別々の行に出力されます。

-long フラグが組み込まれた場合の出力例です。

   
   % vos listvol fs2.abc.com b -long
   Total number of volumes on server fs2.abc.com 
                                       partition /vicepb: 66
         .                   .      .         .   .    .
         .                   .      .         .   .    .
   user.pat             1969534536 RW      17518 K On-line
        fs2.abc.com /vicepb
        RWrite 1969534536 ROnly 0        Backup 1969534538 
        MaxQuota      20000 K
        Creation    Mon Jun 12 09:02:25 1989
        Last Update Thu Jan  4 17:39:34 1990
        1573 accesses in the past day (i.e., vnode references)
   user.pat.backup      1969534538 BK      17537 K On-line
        fs2.abc.com /vicepb
        RWrite 1969534536 ROnly 0        Backup 1969534538 
        MaxQuota      20000 K
        Creation    Fri Jan  5 06:37:59 1990
        Last Update Fri Jan  5 06:37:59 1990
        0 accesses in the past day (i.e., vnode references)
	    .               .         .     .       .
	    .               .         .     .       .
   Total volumes onLine 66 ; Total volumes offLine 0 ; Total busy 0
   

-extended フラグでの出力

-extended フラグを組み込むと、各ボリュームの出力には、 -long フラグで報告されたすべての情報に加えて、以下の 2 つの統計表も含まれます。

次は、-extended フラグが組み込まれた場合の出力例です。

   % vos listvol fs3.abc.com a -extended
   common.bboards   1969535592 RW    23149 K used 9401 files On-line
       fs3.abc.com /vicepa
       RWrite 1969535592 ROnly          0 Backup 1969535594
       MaxQuota      30000 K
       Creation    Mon Mar  8 14:26:05 1999
       Last Update Mon Apr 26 09:20:43 1999
       11533 accesses in the past day (i.e., vnode references)
   
                         Raw Read/Write Stats
             |-------------------------------------------|
             |    Same Network     |    Diff Network     |
             |----------|----------|----------|----------|
             |  Total   |   Auth   |   Total  |   Auth   |
             |----------|----------|----------|----------|
   Reads     |      151 |      151 |     1092 |     1068 |
   Writes    |        3 |        3 |      324 |      324 |
             |-------------------------------------------|
    
                      Writes Affecting Authorship
             |-------------------------------------------|
             |   File Authorship   | Directory Authorship|
             |----------|----------|----------|----------|
             |   Same   |   Diff   |    Same  |   Diff   |
             |----------|----------|----------|----------|
   0-60 sec  |       92 |        0 |      100 |        4 |
   1-10 min  |        1 |        0 |       14 |        6 |
   10min-1hr |        0 |        0 |       19 |        4 |
   1hr-1day  |        1 |        0 |       13 |        0 |
   1day-1wk  |        1 |        0 |        1 |        0 |
   > 1wk     |        0 |        0 |        0 |        0 |
             |-------------------------------------------|
   

1 つのボリュームの VLDB 項目およびボリューム・ヘッダーの表示

vos examine コマンドは、単一ボリュームに対する VLDB およびボリューム・ヘッダーの両方から情報を表示します。 VLDB およびボリューム・ヘッダーを比較できるようにする 2 つのソースからの情報には冗長度があります。

ボリュームのバージョン (読み取り / 書き込み、読み取り専用、およびバックアップ) ごとにボリューム・ヘッダーが異なるため、どれを表示するかを指定することができます。 volume name or ID 引き数に、適切に .readonly または .backup 拡張子を組み込みます。 VLDB からの情報は、3 つのどのバージョンでも同じです。

1 つのボリュームの VLDB 項目およびボリューム・ヘッダーの表示

  1. vos examine コマンドを発行します。

       
       % vos examine <volume name or ID>
       
    

    ここで、

    e
    examine の最も短い受け入れ可能な省略形です。

    volume name or ID
    1 つのボリュームを、その完全名またはボリューム ID 番号によって識別します。そのタイプは、読み取り / 書き込み、読み取り専用、またはバックアップです。適切な場合、.backup または .readonly 拡張子を使用します。

出力リストのトップ部分は、 -long フラグを使用して vos listvol コマンドを発行するときと同じボリューム・ヘッダーからの情報を表示します。このコマンドについての詳細は、ボリューム・ヘッダーの表示 を参照してください。ボリュームの読み取り専用バージョンを指定し、それが複数のサイトで存在する場合、その出力にはそれらのすべてが含まれます。出力のボトム部分は、 vos listvldb コマンドを発行するときと同じ VLDB からの情報をリストします。このコマンドの詳細については、VLDB 項目の表示 を参照してください。

次は、VLDB 項目がロック状態になっているボリュームの例です。

   
   % vos examine user.terry
   user.terry                    536870981 RW   3459 K On-line
       fs3.abc.com /vicepa
       Write 5360870981   ROnly          0  Backup 536870983
       MaxQuota      40000 K
       Creation    Mon Jun 12 15:22:06 1989
       Last Update Fri Jun 16 09:34:35 1989
       5719 accesses in the past day (i.e., vnode references)
       RWrite: 5360870981   Backup: 536870983
       number of sites -> 1
          server fs3.abc.com partition /vicepa RW Site 
       Volume is currently LOCKED
   

ファイルを含むボリューム名またはボリューム位置の表示

このセクションでは、ファイルやディレクトリーを含むボリュームの名前、ボリューム ID 番号、またはボリュームの位置を入手する方法について説明します。

また、ボリュームに関する 1 つの情報 (名前など) を使用して、そのボリュームのその他の情報 (位置など) を入手することもできます。以下に、関連情報をリストします。

ファイルを含むボリューム名の表示

  1. fs listquota コマンドを発行します。

       
       % fs listquota [<dir/file path>]
       
    

    ここで、

    lq
    listquota の受け入れ可能な別名です ( listqは受け入れ可能な最も短い省略形です)。

    dir/file path
    名前が表示されるボリューム内に収容されたディレクトリーまたはファイルの名前です。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

次は、出力の例です。

   
   % fs listquota /afs/abc.com/usr/terry
   Volume Name     Quota    Used    % Used   Partition 
   user.terry      15000    5071       34%         86%   
   

ファイルを含むボリュームの ID 番号の表示

  1. fs examine コマンドの発行

       
       % fs examine [<dir/file path>]
       
    

    ここで、

    exa
    examine の最も短い受け入れ可能な省略形です。

    dir/file path
    ボリューム ID を表示するボリューム内に収容されたディレクトリーまたはファイルの名前です。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

以下の例に、 vid フィールドにボリューム ID 番号が出力される形式を図示します。

   
   % fs examine /afs/abc.com/usr/terry
   Volume status for vid = 50489902 named user.terry
   Current maximum quota is 15000
   Current blocks used are 5073
   The partition has 46383 blocks available out of 333305  
   
注:このコマンドの出力に含まれる区画関連の統計は、標準 UNIX の df コマンドの出力に含まれる対応する値と常に一致するとは限りません。キャッシュ・マネージャーは 5 分間隔でファイル・マネージャーをポーリングして区画情報を得るので、このコマンドによって報告される統計は 5 分前のものである可能性があります。また、オペレーティング・システムによっては、df コマンドの区画サイズ報告には、このコマンドによる計算には含まれない予約済みのスペースが含まれるので、約 10% 大きくなることがあります。

ファイルを含むボリューム位置の表示

  1. fs whereis コマンドを発行して、ファイルまたはディレクトリーを含むボリュームを収容するファイル・サーバー・マシン名を表示します。

       
       % fs whereis [<dir/file path>]
       
    

    ここで、

    whe
    は、whereis の受け入れ可能な省略形です。

    dir/file path
    位置を報告するディレクトリーまたはファイルの名前です。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

    出力では、以下のように、ファイルを含むボリュームを収容するファイル・サーバー・マシンが表示されます。

       
       % fs whereis /afs/abc.com/user/terry
       File /afs/abc.com/usr/terry is on host fs2.abc.com
       
    
  2. ボリュームを収容するパーティションも知りたい場合は、まず fs listquota コマンドを発行し、そのボリューム名を表示します。完全な構文については、ファイルを含むボリューム名の表示 を参照してください。

       
       % fs listquota [<dir/file path>]
       
    

    次に、vos listvldb コマンドを発行して、 volume name or ID 引き数としてボリューム名を提供します。完全な構文および出力説明については、 VLDB 項目の表示 を参照してください。

       
       % vos listvldb <volume name or ID>
       
    

ボリュームの移動

ボリュームを移動する 3 つの主な理由を次に示します。

読み取り / 書き込みボリュームを移動するには、これから説明する vos move コマンドを使用します。ボリュームを移動する前に、vos コマンド・インタープリターは、移動先のパーティションに十分な空きスペースがあるかどうかを検証します。ない場合には、移動操作は行われず、次のメッセージが印刷されます。

   
   vos: no space on target partition destination_part to move volume volume
   

読み取り / 書き込みボリュームを移動するには、 ボリュームを除去して、取り外し解除する方法 で説明する vos remove コマンドを使用して、実際は現行サイトからボリュームを除去します。そして、 読み取り / 書き込みボリュームの複写 (読み取り専用ボリュームの作成) で説明する vos addsite および vos release のコマンドを発行して、新規サイトを定義し、そのサイトへボリュームをリリースします。

バックアップ・ボリュームは、常に読み取り / 書き込みソース・ボリュームと同じサイトに常駐します。したがって、読み取り / 書き込みソースを移動させる一環として以外では、バックアップ・ボリュームを移動させることはできません。 vos move コマンドは、読み取り / 書き込みボリュームを移動させる際に、自動的にバックアップ・バージョンを削除します。移動操作が完了してすぐに新規サイトで新規のバックアップ・ボリュームを作成するには、 バックアップ・ボリュームの作成および取り付け で説明する vos backup コマンドを発行します。

読み取り / 書き込みボリュームの移動

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. vos move コマンドを発行し、ボリュームを移動します。1 つの行にコマンドを入力します。ここでコマンドが複数行に表示されているのは、読みやすくするためです。

       
       % vos move <volume name or ID>  \
           <machine name on source>  <partition name on source >  \
           <machine name on destination>  <partition name on destination>
       
    

    ここで、

    m
    は、move の受け入れ可能な省略形です。

    volume name or ID
    移動させる読み取り / 書き込みボリュームの名前またはボリューム ID を指定します。

    machine name on source
    現在ボリュームを収容しているファイル・サーバー・マシンの名前を指定します。

    partition name on source
    ボリュームを格納するパーティションの名前です。

    machine name on destination
    ボリュームの移動先であるファイル・サーバー・マシンの名前です。

    partition name on destination
    ボリュームの移動先であるパーティションの名前です。

    注:ボリュームの一部がソースまたは移動先のマシンの両方に残される可能性があるため、 vos move 操作を完了前に停止させないことが大切です。詳細については、AFS Administration Reference のコマンドの解説ページを参照してください。

  3. (オプション) 移動の成功を確認するためには、vos listvldb コマンドを発行します。詳細は、VLDB 項目の表示 を参照してください

       
       % vos listvldb <volume name or ID>
       
    
  4. バックアップ・バージョンが、以前の読み取り / 書き込みボリュームのサイトに存在した場合、 vos backup コマンドを発行して新規サイトで新規バックアップを作成します。これについての詳細は、バックアップ・ボリュームの作成および取り付け を参照してください。

       
       % vos backup <volume name or ID>
       
    

VLDB およびボリューム・ヘッダーの同期化

AFS は、ボリューム・ロケーション・データベース (VLDB) が定期的にボリュームの位置をトラックするため、透過的なファイル・アクセスを提供します。キャッシュ・マネージャーは、ファイルが必要な場合はボリューム・ロケーション (VL) サーバーと連絡をとります。すると、VL サーバーは VLDB を読み、そのファイルが含まれるボリュームの現行の位置を見つけます。したがって、VLDB は常に、ファイル・サーバー・マシン上のボリュームの状態を正確に反映する必要があります。ボリューム・サーバーおよび VL サーバーは、 vos オペレーション中にボリュームの状態が変更されると、自動的にボリュームの VLDB 項目を更新します。これには、以下の一連のステップを実行します。

  1. VL サーバーは、VLDB 項目をロックします。ロックは、任意のボリューム・バージョン (読み取り / 書き込み、読み取り専用、バックアップ) を操作しないよう他の操作に伝えて、複数の同時操作から生じる可能性がある混乱を防ぎます。
  2. VL サーバーは、実行する操作の種類を表す VLDB項目に 意図フラグ を設定します。 このフラグは内部使用専用であるため、 VLDB リストに表示されることは絶対にありません。操作が途中で終了してしまった場合に備えて、このフラグはどの操作に割り込みがあったかをサルベージャーに通知します。 (その場合、サルベージャーは、操作を完了させる、またはボリュームを直前の一貫した状態に戻すために必要なステップを決定します。サルベージについての詳細は、 ボリュームのサルベージ を参照してください。)
  3. ボリューム・サーバーは、ボリュームを操作します。通常このサーバーは、ボリューム・ヘッダーに Off-line フラグを設定し、操作中にボリュームをファイル・サーバーおよび他のボリューム・サーバー操作にアクセス不能にします。操作が完了すると、ボリュームは再び On-line というマークが付きます。
  4. VL サーバーは、VLDB 項目の操作の結果として生じる任意の変更を記録します。操作が完了すると、 2 のステップで設定される意図フラグを除去し、 1 のステップのロックをリリースします。

ボリューム・サーバーがボリュームを操作している際に、 vos オペレーションが失敗すると (3 のステップに対応)、ボリュームは、破壊 と呼ばれる中間状態に残されます。この場合、Off-line または Off-line**needs salvage** のマーカーは、普通、vos examine コマンドからの出力の最初の行の末尾に表示されます。破壊を修理するには、 VLDB およびボリューム・ヘッダーの再同期を試みる前に、サルベージャーを実行する必要があります。これについての詳細は、ボリュームのサルベージ を参照してください。

より一般的なものには、フラグが設定され取り除かれたときに中断によって (1 のステップ、2 のステップ、 4 のステップに対応)、 VLDB とボリューム・ヘッダーの間で矛盾が起こります。 VLDB およびボリュームを再同期するには、 vos syncvldb および vos syncserv コマンドを使用します。 VLDB の整合性を完全にするために最適な方法は、セル内のすべてのファイル・サーバー・マシン上で vos syncvldb コマンドを実行し、次に vos syncserv コマンドを実行します。

以下に、ボリューム操作が失敗したことを示すいくつかの症状を示します。

vos syncvldb コマンドは、ボリューム・ロケーション・データベース (VLDB) 内の情報を訂正します。この情報は、ファイル・サーバー・マシン上に収容されたすべてのボリュームに関する情報、ただ 1 つのパーティション上のボリュームに関する情報、または単一ボリュームに関する情報のいずれかです。 1 つまたは複数のパーティションについて検査する場合、コマンドはボリューム・サーバーと接触して、各パーティションに実際に常駐するボリュームのリストを入手します。次に、VL サーバーからボリュームごとの VLDB 項目を入手します。そして、パーティション上のボリュームの状態を反映させるために必要な VLDB 項目の変更を行います。たとえば、VLDB 項目が欠けていたり未完全なボリュームを見つけると、コマンドは VLDB 項目を作成または更新します。しかし、ボリュームに対して異なる位置が定義されている VLDB 項目がすでにある場合、または、他の VLDB 項目との調和不可能な衝突がある場合は、代わりに衝突に関するメッセージを標準エラー・ストリームへ書き込みます。コマンドによって、ファイル・サーバー・マシンからボリュームが取り除かれることはありません。

単一ボリュームの VLDB 項目を検査する場合にも、コマンドは自動的に vos syncserv コマンドによって起動される操作を実行します。これは、VLDB 項目が指定のボリューム・タイプ (読み取り / 書き込み、バックアップ、または読み取り専用) 用に正しいかどうかを検証するだけでなく、 VLDB 項目で言及される関連ボリューム・タイプが、項目内でリストされるサイトに実際に存在するかどうかを検査します。

vos syncserv コマンドは、 VLDB 項目内で言及される各ボリューム・タイプ (読み取り / 書き込み、読み取り専用、およびバックアップ) が、項目内に示されるサイトに実際に存在するかどうかを検査します。任意のファイル・サーバー・マシンの複数のパーティション上、または、 1 つのパーティション上においてサイトに言及するすべての VLDB 項目を検査します。ボリュームの読み取り専用バージョンが、読み取り / 書き込みサイト以外のサイトにある場合、コマンドは、指定したマシンまたはパーティション上以外のサイトを検査して終了する可能性があることに注意してください。

他の VLDB 項目との調和不可能な衝突がなければ、コマンドは VLDB 内の誤った情報を変更します。この場合、代わりに、標準エラー・ストリームへメッセージを書き込みます。コマンドによって、サイトからボリュームが取り除かれることはありません。

ボリューム・ヘッダーとの VLDB の同期化 headers

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. マシンまたはパーティション上のすべてのボリュームの正しい状態を VLDBに反映させるために、vos syncvldb コマンドを発行します。

    注:VLDB を完全に同期化するには、 3 のステップに進む前にコマンドを繰り返し発行し、セル内の各ファイル・サーバー・マシンを順番に -server 引き数の代わりに用いて、 -partition および -volume 引き数を省略します。

       % vos syncvldb -server <machine name> [-partition <partition name>]
                              [-volume <volume name or ID>]  [-verbose >> file]
       
    

    ここで、

    syncv
    は、syncvldb の受け入れ可能な省略形です。

    -server
    VLDB 項目を検査するボリュームを収納しているファイル・サーバー・マシンの名前を指定します。 -volume 引き数も提供している場合は、この引き数にはボリュームが実際に常駐するマシンを指定する必要があります。

    -partition
    VLDB 項目を検証するボリュームを収納しているパーティション (-server 引き数が指定したファイル・サーバー・マシン上の) を識別します。通常は、この引き数を省略することが最適です。そうすることによって、サーバー・マシン上のすべてのボリュームの VLDB 項目が訂正され (-volume 引き数を提供しない場合)、もしくは、パーティションが実際に -volume 引き数が指定したボリュームを含んでいるかどうかを保証する必要がなくなります。

    -volume
    VLDB 項目を検査する単一ボリュームの名前またはボリューム ID 番号を指定します。

    -verbose >> file
    AFS 内またはコマンドを発行しているマシンのローカル・ディスク上のいずれかにある、 file と呼ばれるファイルへ詳細なトレースを指示します。コマンドは、しばしば、大量の出力を標準出力ストリームへ書き込みます。これをファイルへ書き込むことによって、ユーザーはその出力をより詳細に検査することができます。
  3. VLDB によって指定のサイトにバージョンがリストされる各ボリュームを検査するには、 vos syncserv コマンドを発行します。

    注:VLDB を完全に同期化するには、繰り返しコマンドを発行し、セル内の各ファイル・サーバー・マシンを machine name 引き数の代わりに順番に用いて、 partition name 引き数を省略します。

       % vos syncserv <machine name> [<partition name>] [-v >> file]
       
    

    ここで、

    syncs
    は、syncserv の受け入れ可能な省略形です。

    machine name
    検査する各 VLDB 項目内で言及されるファイル・サーバー・マシン名です。

    partition name
    検査する各 VLDB 項目内で言及されるパーティションを識別します。 VLDB 全体を同期化する場合、この引き数は省略します。

    -v >> file
    AFS 内またはコマンドを発行しているマシンのローカル・ディスク上のいずれかにある、 file と呼ばれるファイルへ詳細なトレースを指示します。コマンドは、しばしば、大量の出力を標準出力ストリームへ書き込みます。これをファイルへ書き込むことによって、ユーザーはその出力をより詳細に検査することができます。

ボリュームのサルベージ

ボリューム・サーバーまたはファイル・サーバーがボリューム内のデータを操作しているときに予期しない中断が生じた場合、 VLDB およびボリューム・ヘッダー間で矛盾が発生するだけではなく、ボリュームは中間状態 (破壊) のまま残される可能性があります。たとえば、ファイルへの変更を保管する操作の失敗 (古いデータを新規のデータで上書きした場合) は、古いデータおよび新規のデータをディスク上で混合した状態で残す可能性があります。

ボリューム・サーバーまたはファイル・サーバーが予期せずに終了したために操作が停止されると、 BOS サーバーは、自動的に fs プロセスのすべてのコンポーネントをシャットダウンし、サルベージャーを起動します。サルベージャーは矛盾をチェックし、修正できるものは修正します。ただし、問題が発生する程度の深刻さはあっても、ファイル・サーバー・コンポーネントに障害を起こすほどではない破壊を示す症状があります。この場合、サルベージャーを bos salvage コマンドを発行することによって自分で起動することができます。

このような症状に気が付いた場合は、bos salvage コマンドを使用して破壊が広がる前にサルベージャーを起動してください。 (コマンドはボリューム上で稼働しますが、 bos スイートに含まれるものです。これは、サルベージャーを実行する際、BOS サーバーがボリューム・サーバーおよびファイル・サーバーの終了、および再始動を調整するためです。サルベージャーが開始する前に終了が行われ、サルベージ操作が終了すると自動的に再始動します。)

1 つ以上のパーティションのサルベージ中は、ファイル・サーバー・マシン上に保管された AFS データはすべてアクセス不能です。 1 つのボリュームのみのサルベージを行うのであれば、これのみがアクセス不能になります。

1 つまたは複数のパーティションの処理中に、コマンドは、破壊された読み取り / 書き込みボリュームへの整合性を復元できる場合は復元します。読み取り専用またはバックアップのボリュームの場合は、ボリューム・ヘッダーだけを検査します。

指示に従い、bos salvage コマンドの引き数を組み合わせることにより、異なる数のボリュームのサルベージを行います。

サルベージャーは常に、それが実行されているファイル・サーバー・マシンの /usr/afs/logs/SalvageLog ファイルにトレースを書き込みます。もう 1 つのファイル (AFS 内または bos salvage コマンドを発行するマシンのローカル・ディスク上) にもトレースを記録するには、そのファイルを -file 引き数を使用して指名します。または、/usr/afs/logs/SalvageLog ファイルに書き込まれるような標準出力ストリームにトレースを表示するには、-showlog フラグを組み込みます。

デフォルトでは、複数のサルベージャー・サブプロセス (各パーティションにつき 1 つのサブプロセスで最大 4 つまで、 4 つ以上のパーティションには 4 つのサブプロセス) が並列して実行されます。並列して実行するサブプロセスの数を増減するには、 -parallel 引き数に正の整数値を指定します。

物理ディスク上に複数のサーバー・パーティションが存在する場合、デフォルトでサルベージャーはこれを順次サルベージし、パーティション間で常時ディスク・ヘッドを移動することによる効率の悪化を避けます。ただし、パーティションが複数ディスクに及ぶ論理ボリュームとして構成されている場合、これは望ましい方法ではありません。サルベージャーが論理ボリュームを並列してサルベージするよう強制するには、 -parallel 引き数の値に文字列 all を指定します。並列して実行するサブプロセス数を指定するには、サルベージする論理ボリューム数に応じて、正の整数値を指定するか (例、-parallel 5all で 5 つのサブプロセスを指定)、整数を省略して最大 4 つのサブプロセスを実行します。

サルベージャーは、実行時に一時ファイルを作成します。これはデフォルトでは、サルベージするパーティションに書き込まれます。ファイル数が非常に多くなる場合があり、パーティションにファイルが入りきらないと、サルベージャーはサルベージ操作を完了せずに終了します。終了前に一時ファイルは削除されます。同時に実行されている他のサルベージャー・サブプロセスは、一時ファイル用に十分なディスク・スペースがある他のパーティションをすべて完了するまで継続されます。中断されたサルベージ操作を完了するには、該当のパーティションにコマンドを再度発行します。その際、-tmpdir 引き数を追加して、十分なスペースのあるローカル・ディスク・ディレクトリーに一時ファイルを指定変更します。

-orphans 引き数を使用すると、サルベージ中にサーバー・パーティションに検出された孤立ファイルおよびディレクトリーの処理方法を制御できます。 孤立 要素は、その親となるディレクトリー (ファイル・スペースの上位) の vnode による参照が行われないため、完全にアクセス不能です。孤立オブジェクトがサーバー・パーティションのスペースを占有しても、ボリューム割り当て量にはカウントされません。

サルベージ中は、bos status コマンドの出力により、 fs プロセスの以下の補助状況が報告されます。

   
   Salvaging file system
   

ボリュームのサルベージ方法

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. bos salvage コマンドを発行して、1 つ以上のボリュームをサルベージします。

       
       % bos salvage  -server <machine name>
                      [-partition <salvage partition>]  \
                      [-volume <salvage volume number or volume name>]  \
                      [-file salvage log output file]  [-all]  [-showlog]  \
                      [-parallel <# of max parallel partition salvaging>]  \
                      [-tmpdir <directory to place tmp files>]  \
                      [-orphans <ignore | remove | attach>] 
       
    

    ここで、

    -server
    ボリュームをサルベージするファイル・サーバー・マシンの名前です。この引き数は、-all フラグまたは-partition 引き数と結合できます。もしくは、-partition および -volume の引き数の両方と結合できます。

    -partition
    すべてのボリュームをサルベージする単一のパーティションの名前です。-server 引き数は、これとともに使用する必要があります。

    -volume
    サルベージする 1 つの読み取り / 書き込みボリュームの名前またはボリューム ID 番号を指定します。この引き数を -server および -partition 引き数と結合します。

    -file
    サーバー・マシン上の /usr/afs/logs/SalvageLog ファイルに加えて、サルベージ操作のトレースを書き込むファイルの完全なパス名を指定します。ファイルのパス名がローカルである場合、トレースは、 bos salvage コマンドが発行されるマシンのローカル・ディスク上の指定ファイルに書き込まれます。 -volume 引き数を組み込むと、ファイルを AFS に置けますが、サルベージ中のボリュームには配置できません。この引き数を -showlog フラグと結合してはいけません。

    -all
    -server 引き数で指定したマシン上のすべてのパーティションのすべてのボリュームをサルベージします。

    -showlog
    サルベージ操作のトレースを、 /usr/afs/logs/SalvageLog ファイルへ書き込むほか、標準出力ストリームに表示します。

    -parallel
    並列で実行するサルベージャー・サブプロセスの最大数を指定します。 3 つの値から 1 つを使用します。
    • 1 から 32 までの範囲の整数。値 1 は、単一のサルベージャー・プロセスがパーティションのサルベージを順次行うことを意味します。
    • 文字列 all。複数の物理ディスクに及ぶ論理ボリュームとしてフォーマットされたパーティションで、最大 4 つのサルベージャー・サブプロセスを並行で実行します。このような論理ボリュームについてのみ使用してください。
    • 文字列 all に続く (スペースなし) 1 から 32 までの範囲の整数。論理ボリュームとしてフォーマットされたパーティションで指定数のサルベージャー・サブプロセスを実行します。このような論理ボリュームについてのみ使用してください。

    BOS サーバーは、パーティション数よりも多くのサルベージャー・サブプロセスを開始することはなく、単一ボリュームのサルベージには常に 1 つのプロセスのみを開始します。この引き数を省略すると、最大 4 つまでのサルベージャー・サブプロセスが並列して実行されます。

    -tmpdir
    サルベージャー・プロセスの実行中に、一時ファイルを書き込むローカル・ディスク・ディレクトリーの全パス名を指定します。デフォルトでは、一時ファイルは現在サルベージを行っているパーティションに書き込まれます。

    -orphans
    サルベージャーによる孤立ファイルおよびディレクトリーの処理方法を制御します。以下の 3 つの値のいずれかを選択します。

    ignore
    ディスクに孤立オブジェクトを残しますが、 /usr/afs/logs/SalvageLog ファイルにメッセージを印刷し、孤立ファイル数およびその消費する K バイト数を報告します。これは -orphans 引き数を省略した場合、デフォルトです。

    remove
    孤立オブジェクトを除去し、/usr/afs/logs/SalvageLog ファイルにメッセージを印刷し、除去した孤立ファイル数およびその消費していた K バイト数を報告します。

    attach
    孤立オブジェクトへの参照を、ボリュームのルート・ディレクトリーの vnodeに作成し、これを接続します。それぞれのオブジェクトの実名は失われているため、サルベージャーは以下の形式の名前をそれぞれ割り当てます。

    _ _ORPHANFILE_ _.index (ファイルの場合)

    _ _ORPHANDIR_ _.index (ディレクトリーの場合)

    index は、それぞれのオブジェクトを固有に識別する 2 桁の数です。孤立オブジェクトは、ボリューム割り当て量に対して変換され、ボリュームのルート・ディレクトリーに発行した ls コマンドの出力に表示されます。


ボリューム割り当て量および現行サイズの設定および表示

すべての AFS ボリュームには、ボリュームのサイズを制限する関連した割り当て量があります。新規作成ボリューム用のデフォルトの割り当て量は、5,000 K バイト・ブロック (5 MB より少し少ない) です。ボリュームがその割り当て量に達すると、ファイル・サーバーは、新規ファイルまたはディレクトリーを作成を拒否します。アプリケーションが、データをフル・ボリューム内の既存ファイルへ書き込んでいる場合、ファイル・サーバーは定義された過多量を許可します (デフォルトでは 1 MB)。 (fileserver コマンドの -spare または -pctspare 引き数を使用して、デフォルトの過多量を変更できます。AFS Administration Reference のコマンドの解説ページを参照してください。)

ボリューム作成時に 5000 KB 以外の割り当て量を設定するには、 読み取り / 書き込みボリュームの作成 で説明するように、 -maxquota 引き数を vos create コマンドへ組み込みます。既存のボリューム割り当て量を変更するには、以下で説明する fs setquota または fs setvol コマンドを発行します。既存のボリューム割り当て量をその現行サイズよりも低く設定しないでください。

一般的には、ボリュームが大きいより小さい方が管理が簡単です。ロード・バランシングなどの目的で、ボリュームを移動する必要がある場合は、小さなボリューム用の他のパーティション上に十分な空きスペースを見つけることの方が簡単です。移動操作は、小さなボリュームほど迅速に完了します。これは、移動操作に割り込む障害やその他のエラーの可能性が少なくなるためです。 AFS は最大ボリューム・サイズをサポートしますが、これは AFS リリースごとに異なります。お使いのバージョンの AFS Release Notes を参照してください。また、ボリュームは複数のパーティションまたは論理ボリュームをスパンできないため、パーティションまたは論理のサイズによって、ボリューム・サイズに絶対制限が付きます。

通常、すべてのボリュームが最大割り当て量に達した場合、入りきらないほどのボリュームを入れてパーティションをオーバー・パックしても大丈夫です。ただし、セルをどの程度までオーバー・パックできるかは、経験によって判断するしかありません。ボリュームにどの種類の割り当て量を割り当てるか (特に、予測不能に成長するシステム・ボリュームより可能性があるユーザー・ボリューム)、および割り当て量に比較して生成および格納される情報の量によって決まります。

以下で説明するように、ボリュームの割り当て量を表示するコマンドがいくつかあります。作成される関連情報の量は、それぞれ異なります。

単一ボリューム用の割り当て量の設定

  1. ユーザーが system:administrators グループに属しているかどうかを検査します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

       % pts membership system:administrators
       
    
  2. fs setquota コマンドを発行して、ボリュームの最大割り当て量を設定します。

       
       % fs setquota [<dir/file path>] -max <max quota in kbytes>
       
    

    ここで、

    sq
    は、setquota に対する受け入れ可能なエイリアスです。

    dir/file path
    指示された割り当て量を設定するボリューム内のファイルまたはディレクトリーの名前を指定します。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

    読み取り専用ボリュームを変更しようとするときに生じる障害を回避するために、ファイルまたはディレクトリーへの読み取り / 書き込みパスを指定します。規則では、パス名の第 2 レベルでセル名の前にピリオドを置いて、読み取り / 書き込みパスを示します (たとえば、 /afs/.abc.com)。読み取り / 書き込みパスおよび読み取り専用パスの概念についての詳細は、 マウント・ポイント横断の規則 を参照してください。

    max quota in kbytes
    K バイト・ブロックの単位で表されたボリューム割り当て量を設定します (1024 は 1 M バイトと同等)。 0 の値は、無制限の割り当て量を付与しますが、パーティションのサイズには絶対制限が付きます。 dir/file path 引き数を省略する場合は、 -max スイッチを組み込む必要があります (現行作業ディレクトリーを収容するボリュームに割り当て量を設定するため)。

1 つ以上のボリュームに最大割り当て量を設定する方法

  1. ユーザーが system:administrators グループに属しているかどうかを検査します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

       % pts membership system:administrators
       
    
  2. 1 つ以上のボリュームに割り当て量を設定するには、fs setvol コマンドを発行します。

       
       % fs setvol [<dir/file path>+] -max <disk space quota in 1K units>
       
    

    ここで、

    sv
    は、setvol に対する受け入れ可能なエイリアスです。

    dir/file path
    指示された割り当て量を設定する各ボリューム内のファイルまたはディレクトリーの名前を指定します。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

    ディスク・スペース割り当て量 (K バイト単位)
    K バイト・ブロックの単位で表された最大割り当て量を各ボリュームに設定します (1024 は 1 M バイトと同等)。 0 の値は、無制限の割り当て量を付与しますが、パーティションのサイズは絶対制限が付きます。

使用割り当て量のパーセント表示

  1. fs quota コマンドを発行します。

       
       % fs quota [<dir/file path>+]
       
    

    ここで、

    q
    は、quota の受け入れ可能な省略形です。

    dir/file path
    割り当て量の使用済みパーセントを表示する各ボリューム内のディレクトリーまたはファイルの名前です。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

以下の例は、このコマンドが作成した出力の形式を示しています。

   
   % fs quota /afs/abc.com/usr/terry
   34% of quota used.
   

割り当て量、現行サイズ、および他の情報の表示方法

  1. fs listquota コマンドを発行します。

       
       % fs listquota [<dir/file path>+]
       
    

    ここで、

    lq
    は、listquota に対するエイリアスです。

    dir/file path
    ボリューム名および現行スペース使用とともに割り当て量が表示される各ボリューム内のディレクトリーまたはファイルの名前です。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

以下の例に示すように、出力には、ボリューム名、割り当て量および現行サイズ (両方とも K バイト単位)、使用された割り当て量のパーセント、および使用されたボリュームのホスト・パーティションの割合が示されます。

   
   % fs listquota /afs/abc.com/usr/terry
   Volume Name     Quota    Used    % Used   Partition 
   user.terry      15000    5071       34%         86%   
   

割り当て量、現行サイズ、およびパーティション詳細情報の表示方法

  1. fs examine コマンドの発行

       
       % fs examine [<dir/file path>+]
       
    

    ここで、

    exa
    examine の最も短い受け入れ可能な省略形です。

    dir/file path
    割り当て量情報およびホスト・パーティション情報を表示する各ボリューム内のディレクトリーまたはファイルの名前です。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。これは、この引き数を省略する場合のデフォルトです。

以下の例に示すように、出力には、ボリューム ID 番号およびボリューム名、割り当て量および現行サイズ (両方とも K バイト単位)、およびボリュームのホスト・パーティション上の K バイト・ブロックの未使用数および総数が表示されます。

   
   % fs examine /afs/abc.com/usr/terry
   Volume status for vid = 50489902 named user.terry
   Current maximum quota is 15000
   Current blocks used are 5073
   The partition has 46383 blocks available out of 333305   
   
注:このコマンドの出力に含まれる区画関連の統計は、標準 UNIX の df コマンドの出力に含まれる対応する値と常に一致するとは限りません。キャッシュ・マネージャーは 5 分間隔でファイル・マネージャーをポーリングして区画情報を得るので、このコマンドによって報告される統計は 5 分前のものである可能性があります。また、オペレーティング・システムによっては、df コマンドの区画サイズ報告には、このコマンドによる計算には含まれない予約済みのスペースが含まれるので、約 10% 大きくなることがあります。

ボリュームおよびそのマウント・ポイントの除去

サイトからボリュームを削除、および VLDB からその記録を削除するには、 vos remove コマンドを使用します。このコマンドを使用して、任意の 3 つのタイプのボリュームを削除します。その影響は、タイプごとに異なります。

他の除去コマンド

vos remove コマンドは、自動的にボリュームの VLDB 項目を削除し、パーティションからボリューム・ヘッダーおよびすべてのデータの双方を削除するため、ボリュームを削除する方法としては、ほとんどの場合において適切です。 VLDB 項目またはボリューム・ヘッダーのいずれかが存在しない場合は、残存する要素のみを削除する他のコマンドを使用しなければならないことがあります。これらのコマンドは、VLDB 項目およびボリューム・ヘッダーの両方が存在する通常の場合には使用しないでください。使用した場合、これらの間で矛盾が生じると定義されています。コマンド構文についての詳細は、AFS Administration Reference の解説ページを参照してください。

vos zap コマンドは、 VLDB 項目が存在しないボリューム・ヘッダーおよびボリューム・データを削除することによって、ボリュームをそのサイトから取り除きます。

vos listvol コマンドがボリューム・ヘッダーを表示するが、 vos examine または vos listvldb コマンドが VLDB 項目を見つけられない場合は、その VLDB 項目が欠落していることがわかります。このコマンドを実行して、矛盾を訂正する必要があります。これは、 vos syncvldb および vos syncserv コマンドは、ボリューム・ヘッダーを削除しないためです。

vos remsite コマンドは、ファイル・サーバー・マシン上のボリュームに影響を及ぼすことなく、 VLDB から読み取り専用サイト定義を除去します。

間違って vos addsite コマンドを発行して読み取り専用サイトを定義したが、まだ、サイトへボリュームをリリースする vos release コマンドを発行していない場合は、このコマンドを使用します。ボリュームをサイトに実際にリリースした場合は、代わりに vos remove コマンドを使用します。

vos delentry コマンドは、指定するボリュームについて言及する VLDB 項目全体を除去します。

ボリュームのバージョンが実際にファイル・サーバー・マシン上に存在しても、これらは影響を受けません。このコマンドは、ボリュームの除去が VLDB に記録されなかったことが確実に分かっていて (緊急の場合には vos zap コマンドを使用する場合があります)、 VLDB 全体を vos syncvldb および vos syncservコマンドを使用して再同期するための時間をとりたくない場合に役立ちます。

ボリュームを除去して、取り外し解除する方法

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ボリュームのマウント・ポイントを削除する場合、その親ディレクトリーの ACL 上に d (削除) アクセス権があるかどうかを検査します。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  3. (オプション) 後にボリュームを復元したい場合に備えて、ボリュームをファイルまたはテープへダンプします。ボリュームの内容をファイルにコピーするには、 ボリュームのダンプおよび復元 で説明するとおり、 vos dump コマンドを使用します。すると、UNIX tar コマンドなどの第三者バックアップ・ユーティリティーまたはアーカイブ・ユーティリティーを使用して、ファイルをテープへコピーすることができます。

    もしくは、AFS バックアップ・システムを使用して、テープのコピーを作成します。この場合、関心のあるボリュームだけを含む一時的なボリューム・セットを作成すると便利です。一時的なボリューム・セットは、バックアップ・データベースに記録されないため、 1 度だけしか使用しないボリューム・セットの記録でデータベースを混乱させることはありません。これについての詳細は、ダンプの作成 を参照してください。

  4. vos removeコマンドを発行してボリュームを削除します。読み取り専用ボリュームを複数のサイトから削除する場合は、サイトごとにコマンドを繰り返します。

       
       % vos remove [-server machine name>]  [-partition <partition name>]  \
                    -id <volume name or ID>
       
    

    ここで、

    remo
    は、remove の受け入れ可能な省略形です。

    -server
    ボリュームが常駐するファイル・サーバー・マシンを指定します。これは、 -id 引き数が、複数のサイトに存在する読み取り専用ボリュームを指定する場合にのみ必要です。

    -partition
    ボリュームが常駐する machine name のパーティションを指定します。これは、-id 引き数が、複数のサイトに存在する読み取り専用ボリュームを指定する場合にのみ必要です。これとともに、-server 引き数を与えます。

    -id
    除去しようとしているボリュームを、その完全名またはボリューム ID 番号によって識別します。読み取り専用またはバックアップのボリュームを名前で識別する場合は、適切な拡張子 (.readonly または .backup) を含めます。
  5. ボリュームの最後の既存バージョンを削除する場合は、 fs rmmount コマンドを発行して、対応するマウント・ポイントを削除します。詳細は、 ボリュームを除去して、取り外し解除する方法 を参照してください。

    従来の方法で取り付けられたバックアップ・ボリュームを削除する場合 (読み取り / 書き込みボリュームのルート・ディレクトリーのサブディレクトリーで)、このステップでソース・ボリュームのマウント・ポイントを削除すると、バックアップ・ボリュームのマウント・ポイントを削除できます。バックアップを完全に別々のディレクトリーで取り付けた場合、バックアップ・ボリュームのマウント・ポイントに対して、このステップを繰り返す必要があります。

       
       % fs rmmount <directory>
       
    
  6. (オプション) 3 のステップでダンプ・ファイルを作成した場合は、これをテープに転送します。 AFS バックアップ・システムの使用が好ましく、これについては AFS バックアップ・システムの構成、および AFS データのバックアップと復元 で説明しています。

ボリュームのダンプおよび復元

vos dump コマンドによってボリュームが ダンプ されると、その内容が ASCII 形式に変換され、指定のファイルに書き込まれます。 vos restore コマンドによって、ダンプ・ファイルの内容は、指示されたファイル・サーバー・マシンに適切なボリューム・フォーマットに変換されてから、ボリュームに戻されます。

ボリュームのダンプについて

ボリュームのダンプは、次のようないくつかの場合に役に立ちます。

vos dump コマンドを使用して、コマンドを発行する時刻のボリュームの内容すべてを含む フル・ダンプを作成するか、 (ls -l コマンドによって表示される) 指定の日時よりもあとに修正されたことを示すタイム・スタンプが付いたファイルおよびディレクトリーのみを含む 増分ダンプ を作成することができます。次の指示に対する 3 のステップを参照してください。

ボリュームをダンプしても VLDB 項目が変更されたり、ファイル・サーバー・マシン上のその状況が永続的に影響を受けたりしませんが、ダンプ操作の際、ボリュームの内容にはアクセスすることができません。ボリュームへのアクセスを割り込みから守るには、通常、 vos backup または vos backupsys コマンドを使用した直後にボリュームのバックアップ・バージョンをダンプして、新規のバックアップ・バージョンを作成するのが最もよい方法です。

ダンプを書き込むファイル名を指定しない場合、 vos dump コマンドの出力は標準出力ストリームに送信されます。これを直接 vos restore コマンドにパイプ接続することもできます。

ボリューム・ダンプ・ファイルは ASCII 形式で作成されているため、 cat コマンドなどのテキスト・エディターまたはコマンドを使用して、その内容を読み取ることができます。ただし、ダンプ・ファイルには、英数字の相関がない特殊文字が含まれていることがたまにあります。これが原因で、一部のディスプレイ・プログラムに問題が起こる可能性があります。

デフォルトで、vos コマンド・インタープリターは、ボリューム・ロケーション・データベース (VLDB) と協力してボリュームの位置を入手するため、 -server および -partition の引き数を必要としません。 -id 引き数が、複数のサイトに常駐する読み取り専用ボリュームを識別する場合、コマンドはそれらのサイトうちのただ 1 つ (普通、vos examine または vos listvldb のコマンドによって報告されるように、ボリュームの VLDB 項目内に最初にリストされるもの) からバージョンをダンプします。特別なサイトから読み取り専用ボリュームをダンプするには、 -server および -partition の引き数を使用して、そのサイトを指定します。VLDB 索引を完全に迂回するには、 -server および -partition の引き数とともに、ボリューム ID 番号 (ボリューム名ではなく) を、 -id 引き数の値として提供します。これによって、VLDB 項目がないボリュームをダンプすることができます。

ボリュームをダンプする方法

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ダンプ・ファイルを作成するために必要なアクセス権があるかどうかを検査します。ファイルを AFS に配置する場合は、ファイルのディレクトリーの ACL 上に、 i (挿入) アクセス権が必要です。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  3. vos dump コマンドを発行して、ボリュームをダンプします。

       
       % vos dump -id <volume name or ID> [-time <dump from time>]
                      [-file <arg>]  [-server <server>]  [-partition <partition>]
       
    

    ここで、

    -id
    ダンプするボリュームを、その完全名またはボリューム ID 番号によって識別します。読み取り専用またはバックアップ・バージョンをダンプする場合は、ボリューム ID 番号を指定するか、適切な拡張子 (.readonlyまたは .backup) を名前に追加します。

    ボリューム・ロケーションの正規の VLDB 検索を迂回するには、ボリューム ID 番号を提供し、この引き数を -server および -partition 引き数と結合します。

    -time
    フル・ダンプまたは増分ダンプを指定します。フル・ダンプを作成するにはこの引き数を省略するか、または 3 つの許容値のうち 1 つを提供します。
    • フル・ダンプを作成する場合には、0 (ゼロ) を指定してください。
    • mm/dd/yyyy (月、日、年) 形式の日付 (示された日の午前 0 時 (12:00 a.m.) より後に修正されたファイルおよびディレクトリーのみを含む増分ダンプを作成する場合)。年範囲の有効な値は、1970 から 2037 までです。標準 UNIX 表示における最後の日付の表示は 2038 であるため、これより高い値は無効です。コマンド・インタープリターは、それ以降の日付を自動的に最大値に削減します。例、01/13/1999
    • "mm/dd/yyyy hh:MM"形式の日付指定した日時より後に修正されたファイルおよびディレクトリーのみを含む増分ダンプを作成する場合。日付形式は、日付のみの場合と同じ形式です。時刻 (hh:MM) は 24 時間形式の表示です (たとえば、20:30は 8:30 p.m. のことです)。. スペースが含まれるため、式全体を二重引用符 (" ") で囲みます。例、"01/13/1999 22:30"

    -file
    ダンプを書き込むファイルのパス名を指定します。ファイルは AFS に置けますが、ダンプされるボリューム内には配置できません。部分的なパス名は、現行作業ディレクトリーに対する相対として解釈されます。ダンプを標準出力ストリームに送信するには、この引き数を省略します。

    -server
    ボリュームが常駐するファイル・サーバー・マシンを指定します。これとともに、-partition 引き数を与えます。

    -partition
    ボリュームが常駐するパーティションを指定します。これとともに、-server 引き数を与えます。

ボリュームの復元について

3 つのタイプのボリューム (読み取り / 書き込み、読み取り専用、またはバックアップ) は、どれでもダンプすることができますが、ダンプ・ファイルは、vos restore コマンドを使用して、読み取り / 書き込みボリュームとしてのみファイル・システムに復元することができます。このコマンドは、ダンプ・ファイルの内容を ASCII から自動的に変換して、復元されたバージョンを格納するファイル・サーバー・マシンに対して適切なボリューム・フォーマットに再び戻します。 vos dump と同じように、名前付きパイプを介してダンプ・ファイルを復元し、第三者のバックアップ・ユーティリティーとの相互操作を容易にすることができます。

ダンプ・ファイルは、2 つの基本方法のいずれかにより復元できます。どちらの場合も、増分ダンプを復元する前に、フル・ダンプを復元する必要があります。その上で復元する増分ダンプは、フル・ダンプの後で作成されたものでなければなりません。複数の増分ダンプが存在する場合、これを作成された順に復元する必要があります。

vos restore コマンドは、ボリューム・ヘッダー中の復元ボリュームの作成日を復元操作の時刻に設定します。これは vos examine および vos listvol コマンドの出力の Creationフィールドに報告される時刻です。

新規のボリュームにダンプを復元して、それを取り付ける

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ユーザーに、ダンプ・ファイルを読み取って新規ボリュームを取り付けるために必要なアクセス権があるかどうかを検査します。ダンプ・ファイルが AFS にあれば、そのディレクトリーの ACL 上に r (読み取り) アクセス権が必要です。新規ボリュームを取り付けるディレクトリーの ACL 上に i (挿入) および a (管理)アクセス権がなければなりません。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  3. 新規ボリュームに対してサイト (ファイル・サーバー・マシン上のディスク・パーティション) を選択します。セルがボリュームの異なるタイプを、別々のファイル・サーバー・マシンにグループ化すると、判別が容易になります。基準を満たす最も空きの多いパーティションにボリュームを配置することもできます。ファイル・サーバー・マシンのパーティション上で使用可能なスペース容量を表示するには、 vos partinfo コマンドを使用します。このコマンドについては、 読み取り / 書き込みボリュームの作成 で詳しく説明しています。

       
       % vos partinfo <machine name> [<partition name>]
       
    
  4. 新規ボリュームを作成してそこにダンプ・ファイルを復元するために、vos restore コマンドを発行します。 1 つの行にコマンドを入力します。ここでコマンドが複数行に表示されているのは、読みやすくするためです。

       
       % vos restore <machine name> <partition name>  \
                     <name of volume to be restored>   \
                     [-file <dump file>] [-id <volume ID>]
       
    

    ここで、

    res
    は、restore の受け入れ可能な省略形です。

    machine name
    新規ボリュームを作成するファイル・サーバー・マシンに名前を付けます。

    partition name
    新規ボリュームを作成するパーティションの名前です。

    name of volume to be restored
    新規の読み取り / 書き込みボリュームの名前です。VLDB 項目を持つものではいけません。長さは 22文字までとします。

    -file
    復元するダンプ・ファイルです。部分的なパス名は、現行作業ディレクトリーと相対して解釈されます。標準入力ストリームからダンプ・ファイルを読み取る場合は、この引き数を省略します。

    -volume
    新規ボリュームの ID 番号を指定します。これは、既に存在しないボリュームを復元する場合で、その以前のボリューム ID 番号を使用する場合にのみ使用できます。
  5. fs mkmount コマンドを発行して新規のボリュームを取り付け、その内容が表示できるようにします。詳細は、正規または読み取り / 書き込みの各マウント・ポイントの作成 を参照してください。

       
       % fs mkmount <directory> <volume name>
       
    
  6. (オプション) fs lsmount コマンドを発行して、マウント・ポイントが正しいボリュームを参照しているか検証します。詳細な説明が マウント・ポイントの表示方法 に示されています。

       
       % fs lsmount <directory>
       
    

既存のボリュームを上書きして、ダンプ・ファイルを復元する

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ユーザーに、ダンプ・ファイルを読み取るために必要なアクセス権があるかどうかを検査します。ダンプ・ファイルが AFS にあれば、そのディレクトリーの ACL 上に r (読み取り) アクセス権が必要です。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  3. 現行の内容を上書きして、ダンプ・ファイルの内容を読み取り / 書き込みボリュームに復元します。ボリュームは、現行のボリューム ID 番号を保存します。1 つの行にコマンドを入力します。ここでコマンドが複数行に表示されているのは、読みやすくするためです。

       
       % vos restore <machine name> <partition name>  \
                     <name of volume to be restored>   \
                     [-file <dump  file>]  \
                     -overwrite <full | incremental>
       
    

    ここで、

    res
    は、restore の受け入れ可能な省略形です。

    machine name
    ボリュームがすでに存在する、またはボリュームの移動先であるファイル・サーバー・マシンの名前です。後者の場合、-overwrite 引き数の値は full です。

    partition name
    ボリュームがすでに存在する、またはボリュームの移動先であるパーティションの名前です。後者の場合、-overwrite 引き数の値は full です。

    name of volume to be restored
    ダンプ・ファイルの内容で上書きする読み取り / 書き込みボリュームの名前です。

    -file
    復元するダンプ・ファイルです。部分的なパス名は、現行作業ディレクトリーと相対して解釈されます。標準入力ストリームからダンプ・ファイルを読み取る場合は、この引き数を省略します。この場合、-overwrite 引き数を使用する必要があります。

    -overwrite
    既存のボリュームを上書きするかを確認し、復元するダンプ・ファイルの種類を指定します。以下の値のいずれかを指定します。
    • フル・ダンプを復元する場合は、f ( full)。
    • 増分ダンプ・ファイルを復元する場合は、i (incremental)。復元中、ボリュームを移動するのであれば、この値は使用できません。
    • 復元操作を終了する場合は、a
  4. ボリュームが複写されたら、vos release コマンドを発行して、新規に復元された内容を読み取り専用サイトにリリースします。詳細な説明が、 ボリュームの複写 (読み取り専用ボリュームの作成) に示されています。

       
       % vos release <volume name or ID>
       
    
  5. vos backup コマンドを発行して、ボリュームの新規バックアップ・バージョンを作成します。詳細は、バックアップ・ボリュームの作成 を参照してください

       
       % vos backup <volume name or ID>
       
    

ボリュームの名前変更

vos rename コマンドを使用すると、ボリュームを名前変更することができます。たとえば、ユーザーのボリューム名に user.username 規則を使用し、ユーザー名を変更する場合、ユーザーのホーム・ボリュームの名前を変更することが適切です (ユーザー名の変更についての詳細は、ユーザー名の変更 を参照してください)。

vos rename コマンドは、読み取り / 書き込みボリューム名のみを受け入れますが、関連した読み取り専用ボリュームおよびバックアップ・ボリュームを自動的に変更します。次の指示に従って、ボリュームの現行のマウント・ポイントを、名前変更を反映する新規のマウント・ポイントに置き換えなければなりません。

ボリュームの名前変更

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. ボリュームのマウント・ポイントを置き換えるディレクトリーについて a (管理者)、d (削除)、および i (挿入) アクセス権限があることを検証します。必要に応じて、fs listacl コマンドを発行します。これについては、 ACL の表示 で詳しく説明しています。

       % fs listacl [<dir/file path>]
    

    system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

  3. vos rename コマンドを発行し、ボリュームの名前を変更します。

       
       % vos rename <old volume name> <new volume name>
       
    

    ここで、

    ren
    rename の最も短い受け入れ可能な省略形です。

    old volume name
    読み取り / 書き込みボリュームの現行名です。

    new volume name
    ボリュームに対する新規の名前です。長さは、22 文字以内でなければなりません。

    指定された現行のボリューム名に対してボリューム・ロケーション・データベース (VLDB) 項目がない場合、コマンドは失敗して、次のエラー・メッセージが表示されます。

       
       vos: Could not find entry for volume old_volume_name. 
       
    
  4. fs rmmount コマンドを発行し、ボリュームの古い名前に関連するマウント・ポイントを除去します。詳細は、 マウント・ポイントを除去する方法 を参照してください。

       
       % fs rmmount <directory>
       
    
  5. fs mkmount コマンドを発行して、ボリュームの新規名を示すマウント・ポイントを作成します。詳細は、正規または読み取り / 書き込みの各マウント・ポイントの作成 を参照してください。

       
       % fs mkmount <directory> <volume name> [-rw]
        
    

VLDB 項目のロック解除およびロック

VLDB およびボリューム・ヘッダーの同期化 で説明するとおり、ボリューム・ロケーション (VL)・サーバーは、ボリューム・サーバーが VL サーバー上で操作を実行する前に、ボリュームのボリューム・ロケーション・データベース (VLDB) 項目をロックします。それ以外の操作は、ロックされた VLDB 項目を持つボリュームに影響を及ぼすことができないため、ロックすることによって、ボリューム上の複数の同時操作が原因で生じる不整合または破壊を防ぐことができます。

VLDB 項目がロックされているかどうかを検査するには、 VLDB 項目の表示 の説明に従って、 vos listvldb コマンドを発行します。コマンドは、ロックされた項目だけを表示する -locked フラグを保持します。 VLDB 項目がロックされている場合、ストリング Volume is currently LOCKED がボリュームの出力の最終行に表示されます。

VLDB 項目を自分でロックする場合は、vos lock コマンドを使用します。これは、ボリュームに何か異常があることに気が付き、その原因の調査中にそれに変更が加えられないようにしたい場合に有効です。

ロックした VLDB 項目のロックを解除するには、単一の VLDB 項目のロックを解除する vos unlock コマンドを発行するか、または、多くの項目のロック解除ができる vos unlockvldb コマンドを発行します。これは、ボリューム操作が早期に失敗し、VLDB 項目をロックしたまま残される場合に有効です。この場合、障害によって起こる問題を訂正することはできません。

VLDB 項目をロックする方法

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. vos lock コマンドを発行して、項目をロックします。

       
       % vos lock <volume name or ID>
       
    

    ここで、

    lo
    は、lock の受け入れ可能な省略形です。

    volume name or ID
    ロックされるボリュームを、その完全名またはボリューム ID 番号によって識別します。ボリュームの 3 つのバージョンのいずれかとすることができます。

単一の VLDB 項目をロックを解除する

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. vos unlock コマンドを発行して、項目をロック解除します。

       % vos unlock <volume name or ID>
       
    

    ここで、

    unlock
    完全な形式で入力する必要があります。

    volume name or ID
    アンロック状態のボリュームを、その完全名またはボリューム ID 番号によって識別します。ボリュームの 3 つのバージョンのいずれかとすることができます。

複数の VLDB 項目のロック解除

  1. ユーザーが、/usr/afs/etc/UserList ファイルにリストされているかどうかを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. vos unlockvldb コマンドを発行して、任意の項目のロックを解除します。

       
       % vos unlockvldb [<machine name>] [<partition name>]
       
    

    ここで、

    unlockv
    は、unlockvldb の受け入れ可能な省略形です。

    machine name
    ファイル・サーバー・マシンを指定します。サイト定義でマシンに言及するすべての VLDB項目をロック解除するためには、この引き数のみを使用します。すべての VLDB 項目のロックを解除するには、この引き数および partition name 引き数の両方を省略します。

    partition name
    パーティションを指定します。サイト定義でパーティション (マシン上の) に言及するすべての VLDB 項目をロック解除するためには、この引き数のみを使用します。すべての VLDB 項目のロックを解除するには、この引き数および machine name 引き数の両方を省略します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]



(C) IBM Corporation 2000. All Rights Reserved