Solaris のシステム管理

UFS ファイルシステム

UFS は、Solaris システムソフトウェア内のデフォルトのディスクベースファイルシステムです。ほとんどの場合、ディスクベースのファイルシステムを管理するときには、UFS を管理していることになります。UFS の機能は次の通りです。


注 -

Solaris デバイス名は、スライスという用語 (およびデバイス名に含まれる文字「s」) を使用してスライス番号を指します。SunOS 4.x ではスライスのことを「パーティション」と呼んでいました。


図 26-1 は、ディスクスライスをどのようにフォーマットして UFS ファイルシステムを格納できるかを示しています。

図 26-1 UFS ファイルシステム用にフォーマットされたディスクスライス

Graphic

この後の各節では、ディスクがどのようにスライスとシリンダグループに分割され、UFS ファイルシステムとして作成されるかについて説明します。

ディスクスライス

スライスは、ブロックの集合体です。これは、ディスクの物理的なサブセットです (ただし、スライス 2 は通常はディスク全体を表します)。ディスク上でファイルシステムを作成する前に、まずフォーマットしてスライスに分割しなければなりません。ディスクをインストールしてフォーマットし、ディスクをスライスに分割する方法の詳細は、パート VIIを参照してください。

スライスをスワップ空間用の raw デバイスとして使用するか、1 つの UFS ファイルシステムを格納できます。1 つのディスクを最高で 8 つのスライスに分割できます。一般的なディスクスライス割り当てのリストについては、パート VIIを参照してください。

次の例は、/dev/dsk/c0t3d0 のディスク情報を示しています。format コマンドでは、利用可能なディスクセクションの一部としてスライス情報が表示されないので注意してください。ディスクごとにコントローラ、ターゲット、およびディスクの番号が表示されます。


例 26-1 format コマンドの使用方法

$ su
Password:
# format
AVAILABLE DISK SELECTIONS:
 0. c0t0d0 at scsibus0 slave 24
 sd0: <SUN0207 cyl 1254 alt 2 hd 9 sec 36>
 1. c0t3d0 at scsibus0 slave 0: veryloud
 sd3: <SUN0207 cyl 1254 alt 2 hd 9 sec 36>
Specify disk (enter its number): 1
FORMAT MENU:
 disk - select a disk
 type - select (define) a disk type
 partition - select (define) a partition table
 current - describe the current disk
 format - format and analyze the disk
 repair - repair a defective sector
 label - write label to the disk
 analyze - surface analysis
 defect - defect list management
 backup - search for backup labels
 verify - read and display labels
 save - save new disk/partition definitions
 inquiry - show vendor, product and revision
 volname - set 8-character volume name
 quit
format> partition
PARTITION MENU:
 0 - change `0' partition
 1 - change `1' partition
 2 - change `2' partition
 3 - change `3' partition
 4 - change `4' partition
 5 - change `5' partition
 6 - change `6' partition
 7 - change `7' partition
 select - select a predefined table
 modify - modify a predefined partition table
 name - name the current table
 print - display the current table
 label - write partition map and label to the disk
 quit
partition> print
Volume: veryloud
Current partition table (original sd3):
Part      Tag   Flag     Cylinders        Size       Blocks
  0       root    wm       0 - 39        14.06MB     (40/0/0)
  1       swap    wu       40 - 199      56.25MB    (160/0/0)
  2     backup    wm       0 - 1150     404.65MB   (1151/0/0)
  3 unassigned    wm       0               0          (0/0/0)
  4 unassigned    wm       0               0          (0/0/0)
  5          -    wm       0             10.20MB     (29/0/0)
  6        usr    wm       200 - 228    121.29MB    (345/0/0)
  7       home    wm       574 - 1150   202.85MB    (577/0/0
partition> quit
format> quit
#

ディスク番号とスライス番号がわかっている場合は、prtvtoc (ボリュームの内容一覧を表示) コマンドを使用してディスク情報を表示できます。ディスク上で定義されているゼロ以外のサイズのスライスを指定すると、ボリュームを指定できます (たとえば、ディスク 3 のすべてのスライスの場合は /dev/rdsk/c0t3d0s2、ディスク 3 の 8 番目のスライスの場合は /dev/rdsk/c0t3d0s7)。ディスクのターゲット番号はわかっているが、どのようにスライスに分割されているかがわからない場合は、スライス 2 またはスライス 0 を指定してディスク全体の情報を表示できます。

シリンダグループ

UFS ファイルシステムを、シリンダグループと呼ばれる 1 つまたは複数の領域に分割されたディスクスライス上で作成します。シリンダグループは、1 つまたは複数の連続するディスクシリンダ (プラッタの中心から同じ半径を持つ、プラッタグループ上のトラックの集合) からなっています。ディスクのジオメトリの詳細は、第 21 章「ディスク管理の概要」を参照してください。

シリンダグループマップは、シリンダグループごとに作成されます。シリンダグループマップには、ブロックの使用状況と使用可能なブロックが記録されます。

ブロックのタイプ

シリンダグループは、シリンダグループ内のファイルの構造を制御して編成するブロックに分かれています。各ブロックタイプが、システム内で固有の機能を持っています。UFS ファイルには、4 種類のアドレス可能ブロックと付加的な情報管理ディスク領域があります。4 つのブロックタイプは、次の通りです。

各ブロックタイプの詳細は、第 32 章「ファイルシステムの参照情報」を参照してください。

newfs コマンドの引数または mkfs コマンドを使用してファイルシステムをカスタマイズするには、これらのパラメタの変更方法について第 32 章「ファイルシステムの参照情報」を参照してください。

UFS ファイルシステムのサイズ制限

合計サイズ

ファイルシステムの合計サイズの上限は 1T バイトです。UFS ファイルシステムは、それを保持するスライスと同じ大きさにできます。

最大ファイルサイズ

UFS ファイルシステム内の 1 つのファイルの最大サイズは、そのファイルシステムの構成方法によって異なります。

最大ファイル数

UFS ファイルシステム 1 つ当たりの最大ファイル数は、そのファイルシステムに割り当てられた i ノード数によって決まります。i ノード数は、各 i ノードに割り当てられたディスク容量とファイルシステムの合計サイズによって決まります。デフォルトでは、2K バイトのデータ容量ごとに 1 つずつ i ノードが割り当てられます。newfs コマンドの -i オプションを使用すると、デフォルトの割り当てを変更できます。

論理ブロックとフラグメントのサイズ

フラグメントは、論理ブロックの未使用部分を減らして容量を節約するために作成される小型の論理ブロックです。論理ブロックとフラグメントの最大サイズは 8192 バイトですが、一般に、フラグメントは論理ブロックと同じか、それより小さいサイズです。