Solaris のシステム管理 (第 1 巻)

UFS ファイルシステムのシリンダグループの構造

UFS ファイルシステムを作成すると、ディスクスライスは、1 つまたは複数の連続するディスクシリンダから構成される、シリンダグループに分割されます。シリンダグループはさらにアドレス指定可能なブロックに分割され、このブロックによって、シリンダグループ内のファイルの構造が編成され、制御されます。各種のブロックは、ファイルシステム内で特定の機能を持っています。UFS ファイルシステムには、次の 4 種類のブロックがあります。

ブロックの種類 

説明 

ブートブロック 

システムのブート時に使用される情報 

スーパーブロック 

ファイルシステムに関する大部分の情報 

i ノード 

ファイルに関する名前以外のすべての情報 

記憶域またはデータブロック 

各ファイルのデータ 

この節では、これらのブロックの編成と機能について説明します。

ブートブロック

ブートブロックには、システムのブート時に使用されるプログラムが格納されます。ファイルシステムがブートに使用されなければ、ブートブロックは空白のままです。ブートブロックは最初のシリンダグループ (シリンダグループ 0) にのみ表示され、スライス内の最初の 8K バイトです。

スーパーブロック

スーパーブロックには、ファイルシステムに関する大部分の情報が格納されます。その中でも、特に次の情報が重要です。

スーパーブロックは、ディスクスライスの先頭にあり、各シリンダグループ内で複製されます。スーパーブロックには重要なデータが入っているので、ファイルシステムの作成時には複数のスーパーブロックが作成されます。各スーパーブロックの複製は、シリンダグループの先頭からさまざまな大きさだけオフセットされます。複数プラッタを持つディスクドライブの場合、オフセットはスーパーブロックがドライブの各プラッタに表示されるように計算されます。つまり、最初のプラッタが失われても、いつでも代替スーパーブロックを取り出せます。最初のシリンダグループ内の先行ブロックを除き、オフセットによって作成される先行ブロックがデータの格納に使用されます。

集計情報ブロックは、スーパーブロックといっしょに保管されます。複製されませんが、通常はシリンダグループ 0 内で最初のスーパーブロックといっしょにグループ化されます。集計ブロックレコードには、ファイルシステムの使用時に発生した変化が記録され、ファイルシステム内の i ノード数、ディレクトリ数、フラグメント数、および記憶ブロック数が表示されます。

i ノード

i ノードには、ファイルに関して名前以外のすべての情報が入っており、ディレクトリ内に保管されます。i ノードは 128 バイトです。i ノード情報はシリンダ情報ブロック内に保管され、次の情報が入っています。

15 個のディスクアドレス (0 から 14 まで) の配列は、ファイルの内容が格納されるデータブロックを指します。最初の 12 個は直接アドレスで、ファイルの内容のうち最初の 12 個の論理記憶ブロックを直接指します。ファイルが論理ブロック 12 個分より大きい場合は、13 番目のアドレスは間接ブロックを指します。間接ブロックには、ファイルの内容ではなく直接ブロックのアドレスが入っています。14 番目のアドレスは、二重間接ブロックを指します。二重間接ブロックには、間接ブロックのアドレスが入っています。15 番目のアドレスが必要な場合は、三重間接アドレスが格納されます。図 40-1 に、i ノードから始まるこのアドレスブロックチェーンを示します。

図 40-1 UFS システム内のファイルシステムアドレスチェーン

Graphic

データブロック

ファイルシステムに割り当てられた残りの領域には、データブロックが入っています。この種のブロックは、記憶ブロックと呼ばれることもあります。これらのデータブロックのサイズは、ファイルシステムの作成時に決定されます。デフォルトでは、データブロックは 2 つのサイズ、つまり 8K バイトの論理ブロックサイズと 1K バイトのフラグメントサイズで割り当てられます。

通常ファイルの場合、データブロックにはファイルの内容が入っています。ディレクトリの場合、データブロックにはディレクトリ内のファイルの i ノード番号とファイル名を示すエントリが入っています。

空きブロック

現在、i ノード、間接アドレスブロック、または記憶ブロックとして使用されていないブロックには、シリンダグループマップ内で空きを示すマークが付けられます。また、このマップはフラグメントを追跡し、ディスクのパフォーマンス低下を防止します。

UFS ファイルシステムの内容の概念を理解しやすいように、図 40-2 に、一般的な UFS システム内の一連のシリンダグループを示します。

図 40-2 一般的な UFS ファイルシステム

Graphic