# 管理の手引き

# AFS 管理の概要

この章では、AFS の概念と編成の一般的な概説について説明します。AFS セルの管理関係者はすべて、コマンドの発行を開始する前に、この章を読むことを、強くお勧めします。

## AFS の一般的な概説

この機能グループでは、AFS を基本的に理解するために必要なキーとなる用語と概念を紹介します。詳しい説明については、いくつかの基本概念に関する詳細記述 を参照してください。

AFS: 分散ファイル・システム

AFS は分散ファイル・システム です。これを使用することによって、ユーザーは、自分のローカル・マシンに保管されているファイルにアクセスするように、コンピューターのネットワークに保管されているすべてのファイルを簡単に共有したり、それにアクセスすることができるようになります。このファイル・システムは、まさしくこの理由から「分散」と表現されます。ファイルは多くの異なるマシン上に存在する (分散される) 可能性がありますが、すべてのマシン上のユーザーが使用できます。

サーバーとクライアント

実際、AFS は、ファイル・サーバー・マシンと呼ばれるネットワーク内のマシンのサブセットにファイルを保管します。ファイル・サーバー・マシンは、ファイル記憶域とデリバリー・サービスを、ネットワーク内のマシンのほかのサブセットである、 クライアント・マシン に、ほかの専門のサービスとともに提供します。このようなマシンをクライアントと呼びます。これは、独自の作業を行う間、サーバーのサービスを使用するからです。標準的な AFS構成では、クライアントは計算能力、 AFS にあるファイルへのアクセス、およびほかの "汎用" ツールを、自分のコンソールの前にいるユーザーに提供します。一般的には、ファイル・サーバー・マシンより多くのクライアント・ワークステーションがあります。

AFS ファイル・サーバー・マシンは、たくさんのサーバー・プロセス を実行します。それぞれが明確な専門のサービスを提供するため、 1 つのマシンはファイル要求を処理し、別のマシンはファイル場所を追跡し、 3 番目のマシンはセキュリティーを管理する等々といわれています。混乱を避けるため、AFS 資料では、単にサーバー と言うのではなく、常にサーバー・マシン およびサーバー・プロセス と言うようにします。サーバー・プロセスに関する詳細記述については、 AFS サーバー・プロセスとキャッシュ・マネージャー を参照してください。

セル

セル は、AFS を実行する、管理上独立したサイトです。セルのシステム管理者は、ほかのセルの管理者と相談する必要なく、最もユーザーに役立つ方法を使ったセルのセットアップと保守について、多くのことを決定します。たとえば、使用するクライアントとサーバーの数、ファイルを置く場所、そしてクライアント・マシンをユーザーに割り振る方法を決定します。

透過的アクセスと同一のネーム・スペース

AFS セルは管理上独立していますが、ファイルのローカル・コレクション (ファイル・スペース またはツリー) を編成し、ほかのセルのユーザーもその AFS セル内の情報にアクセスできるようにしたい場合があるかもしれません。AFS を使用すると、セルは、ローカル・ファイル・スペースを、 グローバル・ファイル・スペース に結合することができます。これは、ファイル・アクセスが透過的 であるのと同様の方法で行われます。つまり、ユーザーは、ファイルにアクセスするのに、そのファイルの場所を知っておく必要がありません。知っておく必要があるのは、どのセルでも同じように見えるファイルのパス名だけです。このようにして、あらゆるマシンのあらゆるユーザーは、同じ方法でファイルのコレクションを参照します。すなわち、AFS は同一の名前スペース をそのユーザーに提供していることを意味します。

ボリューム

AFS は、ファイルをボリューム にグループ化し、多くのマシンを介してファイルを配布し、さらに同一の名前スペースを保守することを可能にします。ボリュームとは、一連の関連ファイルのためのコンテナーのような機能をもつ、ディスク空間の単位で、関連ファイルを 1 つのパーティションにまとめて保持します。ボリュームのサイズは変わる場合がありますが、 (定義上は) パーティションより小さくなります。

いくつかの理由で、ボリュームは、システム管理者とユーザーにとって重要になります。ボリュームのサイズが小さいため、1 つの区分から別の区分への移動、またはマシン間の移動でさえ簡単になります。システム管理者は、ボリュームを移動しロードを均等に保つことによって、最大の効果を保守することができます。さらに、ボリュームはファイル・スペースのディレクトリーにも対応します。ほとんどのセルは、それぞれのユーザー・ホーム・ディレクトリーのコンテンツを別のボリュームに保管します。したがって、ボリュームを移動すると、ディレクトリーの完全なコンテンツも一緒に移動し、一定の時間にファイルがある場所の追跡を AFS が簡単に追うことができます。ボリュームの移動は自動的に記録されるため、ユーザーはファイルの場所のトラックを追う必要がありません。

効率ブースター : 複写とキャッシング

AFS は、 AFS を有効なかつ信頼性のあるものにするのに役立つサーバー・マシンとクライアント・マシン上で、特殊機構を組み込みます。

サーバー・マシン上では、管理者は AFS を使用することによって、人気のあるプログラムのバイナリーを含むボリュームなど、一般的に使用されるボリュームを複写する ことができます。複写とは、あるボリュームと全く同じ読み取り専用コピー (複製 ともいいます) を、複数のファイル・サーバー・マシンに配置することです。ボリュームを収容する 1 つのファイル・サーバー・マシンに障害が発生しても、ユーザーの作業を妨げることはありません。それは、ボリュームのコンテンツがまだほかのマシンから使用可能だからです。複写の場合も、アクセスの多いボリュームから出されるファイルに対して要求が出されても、 1 つのマシンの負担が過度にならないことを意味します。

クライアント・マシン上では、 AFS はキャッシング を使用して、効率を改善します。クライアント・ワークステーション上のユーザーがファイルを要求すると、クライアント上のキャッシュ・マネージャーが、適切なファイル・サーバー・マシンで実行されるファイル・サーバー・プロセスに、データを求める要求を送信します。ユーザーは、これがどのマシンであるかを知る必要はありません。キャッシュ・マネージャーが、ファイルの位置を自動的に判別します。キャッシュ・マネージャーはファイル・サーバー・プロセスからファイルを受信し、そのファイルをキャッシュ に入れます。キャッシュは、クライアント・マシンのローカル・ディスクまたはメモリーで、一時ファイル記憶域として使われる領域です。キャッシングによって効率が改善されます。それは、ユーザーが同じファイルを必要とするたびに、クライアントがネットワークを介して要求を送信する必要がないからです。ネットワーク通信量は最小になり、ファイルがローカルで保管されるために、ファイルへの以降のアクセスが特に速くなります。AFS には、コールバック と呼ばれる、キャッシュされたファイルが最新のまま保たれていることを確認する方法があります。

セキュリティー : 相互認証とアクセス制御リスト

ファイルが特に頻繁に広く共用されるセルにおいてでさえ、あらゆるユーザーがあらゆるファイルに平等にアクセスすることは、望ましくありません。AFS が十分なセキュリティーを提供する 1 つの方法は、情報を交換する前に、サーバーとクライアントが自分たちの識別をお互いに証明することを要求することです。この手順は、相互認証 と呼ばれ、サーバーとクライアントの両方が、当事者だけに知られている "共用するシークレット" (パスワードのような) の知識を明らかにする必要があります。相互認証によって、認証されたクライアントだけにサーバーが情報を提供し、クライアントが正当なサーバーだけから情報を受信することを保証します。

ユーザー自身は、所有するディレクトリーにだれがアクセスするかを決定することによって、 AFS セキュリティーの別の局面を制御します。ユーザーが所有するディレクトリーの場合、そのディレクトリーのコンテンツへのアクセスを許可または拒否するアクセス制御リスト (ACL) を、そのユーザーが作成してもかまいません。アクセス制御リストは、特定のユーザーを特定のタイプのアクセス権と組み合わせます。7 つの異なるアクセス権があり、最高 20 までの人々または人々のグループをアクセス制御リストに表示できます。

AFS の相互認証手順の詳細については、 相互認証の詳細 を参照してください。ACL に関する詳しい説明については、 アクセス制御リスト (ACL) の管理 を参照してください。

## いくつかの基本概念に関する詳細記述

前の機能グループでは、 AFS システム管理者が理解している必要がある多くの概念について概要を説明しました。以下の機能グループでは、いくつかの重要な概念を詳細に調べます。熟練した管理者にとっては、すべてが新しい概念である訳ではありませんが、この機能グループを読むことで、用語と概念を共通して理解していることを確認することができます。

### ネットワーク

ネットワーク は相互に連結されたコンピューターの集まりで、お互いに通信したり、情報をやり取りすることができます。

ネットワーク化されたコンピューティング環境は、 2 つのタイプのコンピューティング環境、 メインフレーム およびパーソナルと対比します。

- メインフレーム のコンピューティング環境は、もっとも伝統的な環境です。この環境では、単一の強力なコンピューター (メインフレーム) を使用し、システム内の大多数の作業、ファイル記憶域と計算の両方を行います。このメインフレームは、端末 を介してファイルにアクセスし、メインフレームにコマンドを発行する多くのユーザーの役に立ちます。一般的には、キーボードからの入力を受け入れ、データを画面に表示するだけの計算能力しかありません。
- パーソナル のコンピューティング環境は、 1 人の (または、多くて数人) ユーザーの役に立つ単一の小さいコンピューターです。メインフレームのコンピューターのように、単一のコンピューターにすべてのファイルを保管し、すべての計算を実行します。端末のように、パーソナル・コンピューターでは、キーボードと画面を介してコンピューターにアクセスします。

ネットワークはどんな種類のコンピューターにも接続することができますが、 AFS を実行する一般的なネットワークは、高機能のパーソナル・ワークステーションを接続します。それぞれのワークステーションの計算能力とディスク空間は、通常はパーソナル・コンピューターより多いけれども、メインフレームより少なくなっています。 AFS 環境で使用するマシンのクラスに関する詳細については、 サーバーとクライアント の機能グループを参照してください。

### 分散ファイル・システム

ファイル・システム とは、ユーザーがファイル内の情報にアクセスするために使用するファイルと機能 (プログラムとコマンド) の集まりです。すべてのコンピューティング環境には、ファイル・システムがあります。メインフレームの環境では、ファイル・システムはメインフレームの記憶域ディスク上のすべてのファイルで構成されます。ところが、パーソナル・コンピューティング環境では、そのコンピューターのローカル・ディスク上のファイルで構成されます。

ネットワーク化されたコンピューティング環境では、 AFS のように分散ファイル・システム を使用することがよくあります。分散ファイル・システムは、ネットワーク内の 1 つ以上のコンピューターでファイルを保管し、すべてのファイルにアクセスできるようにして、ネットワークの相互に連結された性質を利用します。すなわち、ファイルの記憶域と送達に対する責任を、1 つのマシンだけにゆだねるのではなく、複数のマシン間に "分散" するのです。責任を分散させるにもかかわらず、 AFS のような分散ファイル・システムは、単一のファイル・スペースがあるという錯覚を引き起こします。

### サーバーとクライアント

AFS は、サーバー / クライアント・モデルを使用します。一般的には、サーバー はマシン、またはマシンで実行するプロセスで、専門のサービスをほかのマシンに提供します。クライアントは、マシン、または独自の作業過程でサーバーの専門的なサービスを使用するプロセスで、サーバーよりも一般的な性質をもつことがよくあります。クライアントとサーバーの間の機能には、いつも厳密な違いがある訳ではありません。しかし、サーバーを、サービスが使用されている別のサーバーのクライアントとみなすことができます。

AFS では、ネットワーク上のマシンを 2 つの基本クラス、 ファイル・サーバー・マシン とクライアント・マシン に分割し、別のタスクと責任をそれぞれに割り当てます。

ファイル・サーバー・マシン

ファイル・サーバー・マシン では、ファイルを分散ファイル・システムに保管し、ファイル・サーバー・マシンで実行されるサーバー・プロセス は、ファイルを送達し受信します。AFS ファイル・サーバー・マシンは、たくさんのサーバー・プロセス を実行します。それぞれのプロセスには、AFS 管理に重要なデータベースの保守、セキュリティーの管理、またはボリュームの処理などの特別な機能があります。このモジュラー設計によって、それぞれのサーバー・プロセスを 1 つの領域で専門化し、その結果より効果的に実行できるようになります。それぞれの AFS サーバー・プロセスの機能については、 AFS サーバー・プロセスとキャッシュ・マネージャー を参照してください。

すべての AFS サーバー・マシンが、サーバー・プロセスのすべてを実行しなければならないとは限りません。サービスに対する要求が小さいため、いくつかのプロセスを少数のマシンでだけ実行します。同期サイトとしての機能を果たすために、ほかのプロセスは 1 つのマシンでだけ実行されます。ファイル・サーバー・マシンの 4 つの役割を参照してください。

クライアント・マシン

マシンのもう一つのクラスはクライアント・マシン です。これは通常、直接ユーザーのために作業をし、計算力と汎用ツールを提供します。クライアントは、ファイル・サーバー・マシンに保管されるファイルに、ユーザーがアクセスできるようにもします。クライアントはサーバーごとにどんな特定のプロセスも実行しませんが、ファイル・サーバー・マシンで実行されている AFS サーバー・プロセスとの通信と、ファイルのキャッシュを可能にする変更済みのカーネルを使用します。カーネル変更のこのコレクションは、 キャッシュ・マネージャー として参照されます。 キャッシュ・マネージャー を参照してください。通常、セルには、ファイル・サーバー・マシンよりも、クライアント・マシンの方が多くあります。

クライアントとサーバーの構成

最も一般的な AFS 構成では、ファイル・サーバー・マシンとクライアント・マシンの両方とも、ディスク・ドライブをもつ高機能のワークステーションです。この構成が不要である一方で、この構成にはいくつかの利点があります。

ファイル・サーバー・マシンとしてパーソナル・ワークステーションを使用することには、いくつかの利点があります。1 つは、別のファイル・サーバー・マシンを追加することによって、ネットワークの拡張が簡単になることです。既存のマシンにディスクを追加することによって、記憶域を増やすことも簡単になります。より強力なメインフレームではなく、ワークステーションを使用することによって、 1 つではなく、複数のファイル・サーバー・マシンの使用の方が節約になります。アクセスの多いファイルが 1 つ以上のマシンで使用可能であれば、複数のファイル・サーバー・マシンを使用することによって、システム使用可能性と信頼性が増大します。

クライアントとしてワークステーションを使用することの利点は、ローカル・ディスクでのキャッシング によって、アプリケーション・プログラムへのファイルの送達が速くなることです。(キャッシングの説明については、キャッシュとコールバック を参照してください。) NFS(R) と NFS/AFS 変換プログラム (AFS のオプション・コンポーネント) を実行している場合には、ディスクレス・マシンは AFS にアクセスすることができます。

### セル

セル は、AFS を実行する、独立して管理されるサイトです。ハードウェアの側から見ると、セルは、そのセルに属すように定義された、ファイル・サーバー・マシンとクライアント・マシンの集合体です。マシンは、一度に 1 つのセルにのみ属すことができます。アカウントをもっているという意味では、ユーザーもセルに属しますが、マシンと異なり、(アカウントをもつ) 複数のセルに属することができます。セルは管理上独立しているということは、セルの管理者が、ほかのセルの管理者または中心となる機関に相談せずに、セルの構成の詳細の多くを決定するということを意味します。たとえば、セルの管理者は、使用する異なるタイプのマシンの数、ローカル・ツリーのファイルを置く場所、ボリュームとディレクトリーを関連付ける方法、およびそれぞれのユーザーに割りふるスペースの量を決定します。

ローカル・セル とホーム・セル の用語は同義で、ユーザーがセッション中に最初に認証したセルに属するマシンにログオンして、そのセルを参照します。ほかのすべてのセルは、ユーザーの全体像の外部 として参照されます。すなわち、ログイン・セッション中ずっと、ユーザーは単一のキャッシュ・マネージャーを通してファイル・スペースにアクセスしています。マシン上のファイル・スペースにはユーザーが最初にログインし、そのファイル・スペースのセル・メンバーシップがローカル・セルを定義します。たとえ、ユーザーが追加のセルを認証するか、cd コマンドを使ってディレクトリーを自分のファイル・ツリーに変更しても、そのログイン・セッション中は、ほかのすべてのセルは外部とみなされます。

複数のセルを単一の地理的な位置に保守することが可能です。たとえば、大学のキャンパスの別の学部または会社の別の部署では、独自のセルを管理したい場合があります。地理的に離れたサイトのマシンが、同じセルに属することができるようにすることが可能です。ネットワーク通信の速さに関する制限だけが、この実用性の度合いを決定します。

AFS セルはその独立性にもかかわらず、一般的に、ローカル・ファイル・スペースをほかの AFS セルに対して可視にすることに同意します。その結果、異なるセルのユーザーは、選択すれば、ファイルを共用することができます。ユーザーのセルが "グローバル" AFS ネーム・スペースに関係する場合には、ローカル・ファイル・スペースを構成する方法と、一定のファイル・サーバー・マシンのアドレスを外部の世界に公示する方法に適用される基本規則に従わなければなりません。

### 同一ネーム・スペースと透過的アクセス

AFS を使用しやすくする機能の 1 つは、 透過的アクセス をセルのファイル・スペースにあるファイルに提供することです。ユーザーは、ファイルにアクセスするために、ファイルを保管するファイル・サーバー・マシンについて知る必要はありません。ユーザーは、AFS がマシンの場所に自動的に変換するファイルのパス名を提供するだけです。

透過的アクセスのほかに、AFS は、同一のネーム・スペースも作成します。ユーザーが作業しているクライアント・マシンに関係なく、ファイルのパス名は同一です。セルのファイル・ツリーは、任意のクライアントから表示されるときと同じように見えます。これは、セルのファイル・サーバー・マシンがすべてのファイルをまとめて保管し、そのファイルを同じ方法ですべてのクライアントに提示するからです。

透過的アクセスと同一のネーム・スペースの機能を使用可能にするために、システム管理者は、クライアント・マシンとファイル・ツリーを構成する際には、簡単な規則に従わなければなりません。詳細については、ユーザーのセルでほかのセルを見ることができるようにする を参照してください。

### ボリューム

ボリューム とは、一連の関連ファイルのための概念的なコンテナーで、関連ファイルをファイル・サーバー・マシンの 1 つのパーティションにまとめて保持します。ボリュームのサイズは変わる場合がありますが、 (定義上は) パーティションより小さくなります。ボリュームは AFS の主管理単位で、管理用タスクを簡単にし、システム全体のパフォーマンスを改善するいくつかの特性をもっています。

- ボリュームのサイズが比較的小さいため、ボリュームを 1 つの区分から別の区分への移動、またはマシン間の移動までも容易になります。
- ユーザーは、ボリュームを移動し、ことなるマシン間のロードの均等を保つことによって、最大のシステム効率を保守することができます。区分がいっぱいになる場合には、個々のボリュームのサイズが小さいことによって、ほかのマシン上に十分な空き場所を容易に検出することができます。
- それぞれのボリュームはファイル・ツリーのディレクトリーに論理的に対応し、単一の区分で、ディレクトリーでファイルを構成するすべてのデータをまとめて保持します。(たとえば) それぞれのユーザーのホーム・ディレクトリー用に異なるボリュームを保守することによって、ユーザーのファイルをまとめて保持しますが、ほかのユーザーのファイルからは独立しています。この管理上の便利さは、区分が記憶域の最小単位である場合には不可能です。

- ディレクトリー / ボリュームの対応によっても、透過的アクセスが可能になります。これは、この対応によって、ファイル場所のプロセスが単純化されるからです。ディレクトリー内のすべてのファイルは、1 つのボリュームに一緒に常駐します。ファイル・サーバー・プロセスがファイルを検出するために知っておく必要があるのは、ファイルの親ディレクトリーの名前、すなわちファイルのパス名に組み込まれる情報だけです。AFS はディレクトリー名をボリューム名に変換する方法を知っていて、ボリュームをマシンからマシンに移動するときでも、あらゆるボリュームの位置を自動的に追跡します。ディレクトリー / ボリュームの対応に関する詳細については、 マウント・ポイント を参照してください。
- 複写とバックアップによって、ボリュームのファイル利用度は増大します。

- 複写 (複数のファイル・サーバー・マシンにボリュームのコピーを置くこと) によって、コンテンツを信頼性をもって使用可能にすることができます。詳細については、複写 を参照してください。ボリュームの全セットをテープにバックアップし、ファイル・システムに復元することができます。 AFS バックアップ・システムの構成 および AFS データのバックアップと復元 を参照してください。AFSでは、ある特定の時刻のボリュームの状態を記録し、ボリューム内のファイルが間違って削除または変更された場合に回復するために保管する (テープまたはファイル・システムのどこかに) こともバックアップと言います。バックアップ・ボリュームの作成 を参照してください。
- ボリュームは、資源管理の単位です。それぞれのボリュームに関連したスペースの割り当て量によって、スペースの大きさが制限されます。ボリューム割り当て量および現行サイズの設定および表示 を参照してください。

### マウント・ポイント

前の機能グループでは、それぞれのボリュームが、ファイル・システム内のディレクトリーに論理的にどのように対応するかについて説明しました。ボリュームは、ディレクトリーに常駐するファイルのすべてのデータを、 1 つの区分にまとめて保持します。ボリュームに対応するディレクトリーのルート・ディレクトリー が呼び出され、そのディレクトリーとボリュームに関連するメカニズムの マウント・ポイント が呼び出されます。マウント・ポイントは、ディレクトリーに保持されるファイルを含むボリュームを指定する、ファイル・ツリーのシンボリック・リンクに似ています。マウント・ポイントは、実際のシンボリック・リンクではありません。内部構造が異なっています。

注: | 名前がシャープ記号 (#) またはパーセント記号 (%) で始まるファイルに対して、シンボリック・リンクを作成しないでください。キャッシュ・マネージャーは、そのようなリンクを、シャープ記号の場合は正規のボリュームを指し、パーセント記号の場合は読み取り / 書き込みボリュームを指すマウント・ポイントと判断します。

マウント・ポイントを使用することは、ちょうど標準 UNIX ファイル・システム・ディレクトリーのような外観と機能をもつ AFS ファイル・ツリーの要素の多くは、実際にはマウント・ポイントであることを意味します。マウント・ポイントの形式は、ディレクトリー内のファイル用のデータを含んでいるボリュームを命名する 1 行のファイルです。キャッシュ・マネージャー (キャッシュ・マネージャー を参照) がマウント・ポイントに出会うと、たとえばパス名の解釈の過程では、マウント・ポイントで指定されたボリュームの中を調べます。ボリュームで、キャッシュ・マネージャーは、実際の UNIX スタイルのディレクトリー要素である、ボリュームのルート・ディレクトリーを検出します。ボリュームのルート・ディレクトリーには、ディレクトリー / ボリュームに含まれるファイルがリストされています。パス名の次の要素が、そのリストに表示されています。

ボリュームは、ファイル・ツリー内の、そのボリュームを指すマウント・ポイントがある位置に、 取り付けられる といいます。ボリュームのコンテンツは、ボリュームが取り付けられないと、表示またはアクセスができません。

### 複写

複写 とは、元の読み取り / 書き込みボリュームのコピーまたは複製を作成し、そのコピーを、セル内の 1 つまたは複数の別のファイル・サーバー・マシン上に配置することです。ボリュームを複写することの 1 つの利益は、複写によってコンテンツの可用性が増加することです。ボリュームを収容する 1 つのファイル・サーバー・マシンに障害が発生しても、ユーザーはまだ別のマシンのボリュームにアクセスすることができます。どのマシンも、アクセスの多いファイルに対する要求で煩わされる必要はありません。これは、複数のマシンからファイルを使用することができるからです。

複写は、ディスク・スペースが制約されているセルには必ずしも適していません。また、すべてのタイプのボリュームが同じように複写に適しているとは限りません (複写は、頻繁に変わらないアクセスの多いファイルを含むボリュームに最も適しています)。詳細については、 ボリュームを複写するとき を参照してください。

### キャッシュとコールバック

複写によってシステム使用可能性が増大するように、 キャッシング によっても、 AFS でのファイル・アクセスの速さと効率が増大します。それぞれの AFS クライアント・マシンは、そのローカル・ディスクまたはメモリーの部分を、このマシンがデータを一時的に保管するキャッシュ の専用にします。クライアント・マシンで実行されるアプリケーション・プログラム (テキスト・エディターなど) が、 AFS ファイルからのデータを要求するたびに、その要求はキャッシュ・マネージャーを通過します。キャッシュ・マネージャーはクライアント・マシンのカーネル部分で、ローカル・アプリケーションからのファイル要求を、ファイルを保管するファイル・サーバー・マシンで実行される、 ファイル・サーバー・プロセス へのネットワーク間要求に変換します。キャッシュ・マネージャーがファイル・サーバーから要求されたデータを受信すると、そのデータをキャッシュに保管した後、アプリケーション・プログラムに渡します。

キャッシングは、以下の方法で、アプリケーション・プログラムへのデータ送達の速さを改善します。

- アプリケーション・プログラムが同じファイルからのデータを繰り返し求めるときには、データはすでにローカル・ディスク上にあります。アプリケーションは、キャッシュ・マネージャーがファイル・サーバーからのデータを要求し受信するのを待たなければなりません。
- データのキャッシュによって、要求を繰り返すことや同じデータを変換する必要がなくなり、ネットワークの通信量が減少します。したがって、最初の要求と他のトラフィックをより迅速に終了することができます。

キャッシングによって多くの利点が得られる一方で、多くのファイルのキャッシュ済みコピーとファイルのソース・バージョンの間で、整合性の保守という問題が発生します。この問題は、コールバック として参照されるメカニズムを使用して解決します。

コールバックは、キャッシュ・マネージャーに対するファイル・サーバーの保証で、ファイル・サーバーが送達するデータのどれかを変更する時期を、キャッシュ・マネージャーに知らせます。そうではなく、ファイル・サーバーが送達するファイルのタイプに基づいて、コールバックを使用します。

- ファイル・サーバーは、ファイルの書き込み可能なコピーを (読み取り / 書き込みボリュームから) キャッシュ・マネージャーに引き渡すときに、そのファイルと一緒にコールバックを送信します。ファイルのソース・バージョンを別のユーザーが変更すると、ファイル・サーバーは、そのファイルのキャッシュ済みバージョンに関連したコールバックを中断し、キャッシュ済みのコピーを更新する必要があることをキャッシュ・マネージャーに示します。
- ファイル・サーバーは、読み取り専用ボリュームからキャッシュ・マネージャーにファイルを引き渡すときに、ボリューム全体に関連するコールバックも一緒に送ります (そのため、そのボリュームから別のファイルを引き渡すときには、もうコールバックを送信する必要はありません)。読み取り専用ボリュームのファイルを変更できるのは、そのボリューム全体の新しいバージョンがリリースされたときのみですので、必要なコールバックは、アクセスされた各読み取り専用ボリュームごとに 1 つのみです。リリース時には、旧バージョンのボリュームに関連するすべてのコールバックが中断されます。

コールバック・メカニズムによって、キャッシュ・マネージャーがいつもファイルの最新のバージョンを要求することを保証します。ただし、最新のバージョンをキャッシュ・マネージャーが入手するとすぐに、ユーザーがそのバージョンに必ず気が付くことは保証していません。それは、アプリケーション・プログラムがファイル・システムから追加のデータを要求する頻度、あるいは、キャッシュ・マネージャーでそのデータを検査する頻度によって異なります。

## AFS サーバー・プロセスとキャッシュ・マネージャー

サーバーとクライアント で説明したように、AFS ファイル・サーバー・マシンは、それぞれに専門の機能をもつ多数のプロセスを実行します。システム管理者の主な責任の 1 つは、サーバー・プロセスが提供する管理サービスを使用して、プロセスができるだけ長い時間正しく実行されていることを確認することです。

以下のリストは、それぞれのサーバー・プロセスとキャッシュ・マネージャーの機能を簡単に説明したものです。次に、以下の機能グループでは、重要な機能について詳しく説明します。

最も基本的なサーバーであるファイル・サーバー は、データ・ファイルを、必要に応じて、ファイル・サーバー・マシンからローカルのワークステーションに送達し、ユーザーがファイルに対して行った変更を保管すると、もう一度そのファイルを保管します。

基本制御サーバー (BOS サーバー) は、そのサーバー・マシン上のほかのサーバー・プロセスが、できるだけ長い時間正しく実行されていることを確認します。それは、サーバーが役に立つのは、それが使用可能である場合だけだからです。 BOS サーバーによって、システム管理者のシステム操作を制御する責任の多くが軽減されます。

認証サーバー は、ネットワーク上の通信が安全であることを保証するのに役立ちます。このサーバーは、ログイン時のユーザー識別を検証し、トランザクションの関係者がお互いに識別を認証し合う (相互認証) 機能を提供します。これは、認証データベースを保守します。

保護サーバー は、だれがファイルとディレクトリーへのアクセス権をもつかを、ユーザーが制御するのに役立ちます。ユーザーは、何人かのほかのユーザーを、保護サーバーが保守する保護データベースのグループ項目に入れることによって、すぐにそれらのユーザーにアクセスを許可することができます。

ボリューム・サーバー は、すべてのタイプのボリューム操作を実行します。このサーバーは、管理者が、ボリュームを 1 つのサーバー・マシンから別のサーバー・マシンに移動し、さまざまなマシン間の作業負荷の平衡を取るのに役立ちます。

ボリューム・ロケーション・サーバー (VL サーバー) は、ボリューム・ロケーション・データベース (VLDB) を保守します。このデータベースでは、ファイル・サーバー・マシンからファイル・サーバー・マシンに移動するボリュームの位置を記録します。このサービスは、ユーザーのための透過的ファイル・アクセスへの鍵です。

更新サーバー は、 AFS サーバー・プロセス・ソフトウェアの新規バージョンと構成情報を、すべてのファイル・サーバー・マシンに配布します。すべてのサーバー・マシンが同じソフトウェアを実行することは、安定したシステム・パフォーマンスのためには非常に重要です。

バックアップ・サーバー は、バックアップ・データベースを保守します。このデータベースには、バックアップ・システムに関連した情報を保管します。このシステムによって、管理者はデータをボリュームからテープにバックアップすることができます。データをファイル・システムから逸失した場合には、そのデータをテープから復元することができます。

サルベージャー は、その意味からみると、サーバーではありません。サルベージャーは、ファイル・サーバーまたはボリューム・サーバーに障害が発生した後にだけ実行されます。つまり、障害によって生じた不整合を修理するのです。システム管理者は、必要な場合には、直接これを呼び出すことができます。

ネットワーク・タイム・プロトコル・デーモン (NTPD) は、サーバーごとの AFS サーバー・プロセスではありませんが、それにもかかわらず重要な役割を果たします。このデーモンは、ファイル・サーバー・マシン上の内部クロックを、ほかのマシン上のクロックで同期化します。同期化されたクロックは、AFS 分散データベース・テクノロジー (Ubik として知られています) が正しく機能するためには、特に重要です。Ubik の適切なオペレーションのためのセル構成 を参照してください。NTPD は、runntp プロセスが制御します。

キャッシュ・マネージャー は、ファイル・サーバー・マシンではなく、 AFS クライアントに常駐するこのリストの 1 つのコンポーネントです。サーバーごとのプロセスではなく、むしろ、 AFS サーバー・プロセスと通信する AFS クライアント・マシンのカーネルのパーツです。その主な責任は、クライアントで実行されるアプリケーション・プログラムのファイルを検索することと、そのファイルをキャッシュで保守することです。

### ファイル・サーバー

ファイル・サーバー は、最も基本的な AFS サーバー・プロセスであり、それぞれのファイル・サーバー・マシン上で実行されます。ファイル・サーバーは、 UNIX ファイル・システムがローカル・ディスクで提供するものと同じサービスを、ネットワークを介して提供します。

- 必要に応じて、プログラムとデータ・ファイルをクライアント・ワークステーションに送達し、クライアント・ワークステーションで用がなくなると、そのプログラムやデータ・ファイルをもう一度保管する。
- ユーザーが自分のファイルを編成するために作成する階層ディレクトリー構造を保守する。
- ファイルとディレクトリーのコピー、移動、作成、および削除に対する要求を処理する。
- 各ファイルおよびディレクトリーに関する状況情報 (サイズ、最新の変更時刻など) の追跡を続ける。
- ユーザーが認証され、特定のファイルまたはディレクトリーで必要なアクションを実行していることを確認する。
- ファイル間の記号のリンクとハード・リンクを作成する。
- 必要に応じて、通知ロック (UNIX ロックに対応する) を許可する。

### 基本制御サーバー

基本制御サーバー (BOS サーバー) は、ファイル・サーバー・マシンで実行されるプロセスを定期的にモニターすることによって、システム管理者に対する要求を削減します。このサーバーは、失敗したプロセスを自動的に再始動することができ、便利なインターフェースを管理用タスクに提供します。

BOS サーバーは、あらゆるファイル・サーバー・マシンで実行されます。このサーバーの主な機能は、システム障害を最小化することです。また、

- ほかのサーバー・プロセスを定期的にモニターし (ローカル・マシンで)、それらのプロセスが正しく実行されていることを確認する。
- 人間のオペレーターに問い合わせずに、失敗したプロセスを自動的に再始動する。複数のサーバー・プロセスを同時に再始動するときには、 BOS サーバーはアカウントに相互依存性を取り入れ、正しい順序で再始動を初期化します。

- システム管理者からの要求を受け入れる。BOS と通信する共通した理由は、ファイル・サーバー・マシン上でサーバー・プロセスの状態を検証すること、新規プロセスをインストールし始動すること、プロセスを一時的にまたは永久に停止すること、そして、非活動のプロセスを手動で再始動することです。
- システム管理者がシステム構成情報を管理する手助けをする。 BOS サーバーは、サーバー暗号化鍵 の追加と変更を自動化する。この暗号化鍵は、相互認証のために重要です。 BOS サーバーは、特権ユーザーと一定の特殊ファイル・サーバー・マシンに関する情報を含む、 2 つのファイルを変更するための簡単なインターフェースも提供します。これらの構成ファイルに関する詳細については、 /usr/afs/etc ディレクトリーにある共通構成ファイル を参照してください。

### 認証サーバー

認証サーバー は、ネットワーク・セキュリティーに関連した以下の 2 つの主機能を実行します。

- ユーザーがパスワードを提供することを要求して、システムにログオンするときにユーザーの識別を検証する。認証サーバーは、ユーザーが認証した AFS サーバー・プロセスに対する検査として、 トークン をユーザーに許可する。トークンに関する詳細については、 複雑な相互認証 を参照してください。
- サーバー・プロセスとクライアント・プロセスが、その識別をお互いに証明し合う (相互認証) 手段を提供する。この機能は、ネットワーク間のメッセージを送信するための、機密保護機能のある環境を作成するのに役立ちます。

このような任務を果たす際に、認証サーバーは、アルゴリズムと、 ケルベロス と呼ばれる手順を使用します (認証サーバーとの交信に使用される多くのコマンドが k で始まるのはこのためです)。このテクノロジーは、初めは、マサチューセッツ工科大学のプロジェクト Athena が開発しました。

認証サーバーは、認証データベース も保守します。このデータベースには、AFS サーバー暗号化鍵だけでなく、暗号化鍵形式に変換されたユーザー・パスワードを保管します。 AFS がユーザー識別を検証するために使用する手順と、相互認証中の手順について詳しく知るには、 相互認証の詳細 を参照してください。

### 保護サーバー

保護サーバー は、許可されない使用からファイルとディレクトリーを保護するための通常の UNIX メソッドを AFS が改善するための鍵です。改善点には、以下が組み込まれています。

- 7 つのアクセス権 (標準 UNIX ファイル・システムでは 3 つ) を定義する。それぞれのファイルとディレクトリーの要素に関連した UNIX モード・ビットとともに、AFS は、 アクセス制御リスト (ACL) をそれぞれのディレクトリーと関連付けます。ACL は、それに含まれるディレクトリーとすべてのファイルについて、 7 つの特定のアクセス権のどれをどのユーザーがもつかを指定します。 AFS の 7 つのアクセス権の定義と、アクセス制御リストでアクセス権を設定する方法については、 アクセス制御リスト (ACL) の管理 を参照してください。
- ユーザーが、必要な場合には、それぞれの個人に異なる組み合わせで、個々のユーザーにアクセス権を許可できるようにする。UNIX 保護は、 3 種類のユーザーまたはグループ (ファイルの所有者、特定の単一グループのメンバー、およびそのローカル・ファイル・システムにアクセスできるすべてのユーザー) しか区別できません。
- 保護サーバーが保守する保護データベース に記録される、独自のユーザーのグループをユーザーが定義できるようにする。たとえグループが個人であったとしても、その後、そのグループは、ディレクトリーのアクセス制御リストに表示され、多くのユーザーに同時にアクセス権を許可できるようにします。
- システム管理者が、クライアント・マシン IP アドレスを含むグループを作成し、アクセスが特定のクライアント・マシンから発信されるときには、そのアクセスを許可できるようにする。このようなタイプのグループは、マシン・ベースのライセンス交付上の制約事項を厳守する必要がある場合に役に立ちます。

保護サーバーの主な任務は、要求された方法でユーザーがファイルにアクセスすることが許可されるかどうかを、ファイル・サーバーが判別するのを助けることです。保護サーバーは、ユーザーが属するすべてのグループのリストを作成します。その後、ファイル・サーバーは、このリストをファイルの親ディレクトリーに関連した ACL と比較します。このようにして、個人としてそしてあらゆるグループのメンバーとしての両方で、ユーザーはアクセスできるようになります。

また、保護サーバーは、ユーザー名 (ログイン・プロンプトに入力された名前) を AFS ユーザー ID 番号 (AFS UID) にマップします。これらの UID は、機能上は UNIX UID と同じですが、マシンのローカル・ディスク上の UNIX ファイル・システムではなく、 AFS のドメインで機能します。認証されたユーザーに認証サーバーが許可するトークンは、ユーザー名と一緒に類別されるため (ケルベロス標準に従う)、この変換サービスは必須です。AFS サーバー・プロセスは、ユーザーをユーザー名ではなく AFS UID で識別します。サーバー・プロセスは、トークンが何を表しているかを理解できるようになる前に、ユーザー名を AFS UID に変換するための保護サーバーを必要とします。トークンに関する詳しい説明については、相互認証の詳細 を参照してください。

### ボリューム・サーバー

ボリューム・サーバー は、テープまたはほかのメディアに保存するためにボリュームを準備するだけでなく、ボリュームを作成、削除、移動、および複写を行うインターフェースを提供します。ボリューム では、ファイルをボリュームに保管することによって得られる利点について説明しました。ボリュームの作成と削除は、ユーザーをシステムに追加したりシステムから削除するときに必要です。ロード・バランシングのためにボリュームを移動し、複写によって複数のファイル・サーバー・マシンにボリュームを配置することができます (複写に関する詳細については、複写 を参照してください)。

### ボリューム・ロケーション (VL) ・サーバー

VL サーバー は、 ボリューム・ロケーション・データベース (VLDB) にあるボリュームの場所の完全なリストを保守します。キャッシュ・マネージャー (キャッシュ・マネージャー を参照) がアプリケーション・プログラムからのファイル要求を埋め始めるときには、現在、ファイルを含んでいるボリュームを収容するファイル・サーバー・マシンを知るために、まず VL サーバーと交信します。次に、キャッシュ・マネージャーは、そのファイル・サーバー・マシンで実行されているファイル・サーバー・プロセスからのファイルを要求します。

VLDB と VL サーバーは、複数のファイル・サーバー・マシンを使用して得られる増大したシステム使用可能性を AFS が利用できるようにします。これは、キャッシュ・マネージャーが特定のファイルを検出する場所を知っているからです。実際、ある意味では、VL サーバーは、完全なファイル・システムの根本原理です。 VLDB にある情報がアクセス不能になると、たとえファイル・サーバー・プロセスが適切に作動していても、キャッシュ・マネージャーはファイルを検索することができません。VLDB に保管されるそれぞれのボリュームに関する情報のリストが、 VLDB のボリューム情報 にあります。

### 更新サーバー

更新サーバー は、すべてのファイル・サーバー・マシンが、同じバージョンのサーバー・プロセスで実行されていることを保証するのに役立ちます。システム・パフォーマンスが矛盾するのは、一部のマシンがあるバージョンの BOS サーバー (たとえば) で実行され、ほかのマシンが別のバージョンで実行された場合です。

すべてのマシンで同じバージョンのプロセスが実行されることを確実にするために、それぞれのシステム・タイプのシンプル・ファイル・サーバー・マシンに、そのタイプ用のバイナリー配布マシン という新規のソフトウェアをインストールしてください。バイナリー配布マシンは、更新サーバーのサーバー部分 を実行しますが、同じタイプのほかのすべてのマシンは、更新サーバーのクライアント部分 を実行します。クライアント部分は、あらゆるプロセスが正しいバージョンで実行されているかどうかを知るために、頻繁にサーバー部分に問い合わせます。正しいバージョンで実行されていない場合には、クライアント部分は、バイナリー配布マシンから正しいバージョンを検索し、その正しいバージョンをローカルでインストールします。システム管理者は、新規のソフトウェアを、すべてのファイル・サーバー・マシンに個別にインストールすることを覚えておく必要はありません。更新サーバーが自動的にインストールします。バイナリー配布マシンに関する詳細については、 バイナリー配布マシン を参照してください。

AFS の米国版を実行するセルでは、更新サーバーは、すべてのファイル・サーバー・マシンがローカル・ディスクに保管する必要がある構成ファイルも配布します (これらのファイルのコンテンツと目的については、 /usr/afs/etc ディレクトリーにある共通構成ファイル を参照してください)。サーバー・プロセス・ソフトウェアを使用するときに、堅実なシステム・パフォーマンスを必要とするためには、すべてのマシンが同じバージョンのファイルをもっていることが求められます。米国版の場合、システム管理者は、1 つのマシンだけ、すなわちセルのシステム制御マシン で、これらのファイルを変更する必要があります。システム制御マシンは更新サーバーのサーバー部分を実行します。セルにあるほかのすべてのマシンは、システム制御マシンから正しいバージョンの構成ファイルにアクセスするクライアント部分を実行します。AFS の国際版を実行しているセルは、構成ファイルを配布するために、システム制御マシンを使用しません。詳細については、システム制御マシン を参照してください。

### バックアップ・サーバー

バックアップ・サーバー は、 バックアップ・データベース にある情報を保守します。バックアップ・サーバーとバックアップ・データベースを使用すると、管理者は、AFS ボリュームからのデータをテープにバックアップし、必要な場合にはテープからファイル・システムにそのデータを復元することができます。サーバーとデータベースを一緒に、 バックアップ・システム として参照します。

管理者は、一緒にダンプされるボリュームのセットと、そのセットをダンプするスケジュールを定義することによって、まず、バックアップ・システムを構成します。管理者はシステムの磁気テープ・ドライブもインストールし、ドライブのテープ・コーディネーター を定義します。このテープ・コーディネーターは、磁気テープ・ドライブを制御するプロセスです。

バックアップ・システムを構成すると、ユーザーとシステム・データをボリュームからテープにダンプすることができます。データがシステムから逸失することがあれば (たとえば、システムまたはディスクの故障がデータの逸失を引き起こす場合)、管理者はそのデータをテープから復元することができます。磁気テープを定期的に保存または保管すると、データを特定の時間の状態に復元することもできます。さらに、バックアップ・システム・データは複製が困難なために、バックアップ・データベース自身を磁気テープにバックアップし、これまでは破壊されるはずであったものを復元することができます。バックアップ・システムの構成と使用に関する詳しい情報については、 AFS バックアップ・システムの構成 と AFS データのバックアップと復元 を参照してください。

### サルベージャー

サルベージャー は、選択された時間でのみ実行される点で、ほかの AFS サーバーとは異なります。BOS サーバーがサルベージャーを呼び出すのは、ファイル・サーバー、ボリューム・サーバー、または両方に障害が発生したときです。サルベージャーは、障害から生じる可能性があるディスクの破壊を修理を試みます。

システム管理者として、ファイル・システムまたはボリューム・サーバーに障害が発生していない場合でも、必要に応じてサルベージャーを呼び出すこともできます。ボリュームのサルベージ を参照してください。

### ネットワーク・タイム・プロトコル・デーモン

ネットワーク・タイム・プロトコル・デーモン (NTPD) は、サーバーごとの AFS サーバー・プロセスではありませんが、重要な役割を果たします。このデーモンは、すべてのファイル・サーバー・マシンの時刻が一致することを保証するのに役立ちます。1 つのファイル・サーバー・マシンの NTPD は、同期サイトとしての機能を果たし、一般的には、セルの外部のソースから正しい時刻を知ります。ほかのファイル・サーバー・マシンの NTPD は、同期サイトを参照してそのマシンの内部クロックを設定します。

クロックの同期化を保持することは、 AFS の分散データベース・テクノロジーを正しく操作するために、特に重要です。この分散データベース・テクノロジーは、認証、バックアップ、保護、およびボリューム・ロケーションのデータベースのコピーを調整します。 AFS 管理データベースの複写 を参照してください。クライアント・マシンは、正しい時刻を求めて、これらのクロックも参照します。したがって、すべてのファイル・サーバー・マシンの時刻が同じであっても、混乱は少なくなります。NTPD に関する技術の詳細については、runntp プロセス を参照してください。

### キャッシュ・マネージャー

キャッシュとコールバック ですでに説明したように、 キャッシュ・マネージャー は、ファイル・サーバー・マシンではなく、クライアント・マシンに常駐するこの機能グループの 1 つのコンポーネントです。これは、技術的には独立型のプロセスではなく、むしろ、サーバー・マシン上で実行されるサーバー・プロセスとの通信を可能にする、クライアント・マシンのカーネルに対する一連の拡張および変更です。その主な役目は、クライアント・マシン上のアプリケーション・ファイル・プログラムによって作成された要求を、ファイル・サーバーへのリモート手続き呼び出し (RPC) に変換することです。(ボリューム・ロケーション (VL) ・サーバー で説明したように、キャッシュ・マネージャーはまず VL サーバーと交信し、要求されたファイルを含むボリュームを現在収容しているファイル・サーバーを見つけ出します)。キャッシュ・マネージャーは、要求されたファイルを受信すると、データをアプリケーション・プログラムに渡す前に、そのデータをキャッシュします。

キャッシュ・マネージャーは、また、ファイル・サーバーが送信するコールバックを保管することによって、ファイル・サーバーでバージョンを比較したキャッシュ内のファイルの状態を追跡します。ファイル・サーバーがコールバックを中断し、ファイルまたはボリュームが変更されたことを示すと、キャッシュ・マネージャーは、アプリケーションに詳しいデータを提供する前に、新規バージョンのコピーを要求します。

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

(C) IBM Corporation 2000. All Rights Reserved