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

format で使用されるファイル - format.dat

format で使用されるデータ、/etc/format.dat の内容は次のとおりです。

Solaris オペレーティングシステムといっしょに出荷される format.dat ファイルでは、多数の標準的なディスクがサポートされます。使用中のディスクドライブが format.dat ファイルに含まれていない場合は、そのエントリを追加するか、format で処理を実行中に必要な情報の入力を促すプロンプトを表示させることができます。

ディスクドライブをサイト全体で使用する場合は、format.dat ファイルにエントリを追加すると時間を節約できます。format.dat ファイルを他のシステム上で使用する場合は、format.dat ファイルに追加する特定のディスクドライブを使用するシステムごとに、このファイルをコピーしてください。

次の場合には、システムのデータファイルを変更する必要があります。


注 -

デフォルトエントリは変更しないでください。デフォルトエントリを変更したい場合は、混乱を避けるために、そのエントリをコピーし、別の名前を付けて変更します。


format.dat ファイルの構造

format.dat データファイルには、format ユーティリティに使用されるディスクドライブ情報が入っています。format.dat ファイル内では、次の 3 つの項目が定義されています。

format.dat ファイルの構文

データファイルには、次の構文規則が適用されます。

format.dat ファイル中のキーワード

データファイルには、起動時に format に読み込まれるディスク定義が入っています。各定義は、キーワード search_pathdisk_type、または partition で始まります。表 32-6 を参照してください。

表 32-6 format.dat のキーワードの説明

キーワード 

用途 

search_path

このキーワードは format.dat ファイルでは使用しない。Solaris 2.0 リリース以降は、format ユーティリティは論理デバイス階層 (/dev) を検索するので、このキーワードを設定してシステムのディスクを検索する必要がなくなった。

disk_type

コントローラとディスクのモデルを定義する。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が入っている。デフォルトのデータファイルには、Solaris オペレーティング環境でサポートされるコントローラとディスクの定義が入っている。サポートされないディスクを使用する場合にのみ、新しい disk_type を追加する必要がある。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまわない。

partition

ディスクタイプのスライステーブルを定義する。スライステーブルには、スライス情報だけでなく、format 内で参照できる名前が入っている。デフォルトのデータファイルには、数種類のディスクドライブに対応するデフォルトのスライス定義が入っている。システムのディスク上にスライスを作成し直した場合は、スライス定義を追加する。必要に応じて、スライス情報をデータファイルにいくつ追加してもかまわない。

ディスクタイプ (format.dat)

disk_type は、コントローラとディスクのモデルを定義します。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が入っています。デフォルトのデータファイルには、Solaris オペレーティング環境でサポートされるコントローラとディスクの定義が入っています。サポートされないディスクを使用する場合に限り、新しい disk_type を追加する必要があります。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまいません。

キーワード自体が、ディスクタイプ名になります。この名前は、ディスクのラベルの一部になり、format の実行時にディスクタイプを識別するために使用されます。空白が含まれている名前は、二重引用符で囲んでください。表 32-7に、すべての disk_type 定義でキーワードの他に割り当てなければならない識別子を示します。

表 32-7 必須の disk_type 識別子

識別子 

説明 

ctlr

ディスクタイプに有効なコントローラのタイプ。現在、この代入式に有効な値は SCSI と ISP-80 (IPI コントローラ) である。 

ncyl

ディスクタイプ内のデータシリンダ数。この数によって、システムがアクセスできるディスクの論理シリンダ数が決まる。 

acyl

ディスクタイプ内の代替シリンダ数。format は、これらのシリンダを使用して、ドライブの欠陥リストなどの情報を格納する。代替シリンダとして、常に 2 つはシリンダを残しておく必要がある。

pcyl

ディスクタイプ内の物理シリンダ数。この数は、ディスク媒体の境界を計算するために使用される。通常、この数値は ncylacyl の合計に等しくなるが、そうでない場合もある。

nhead

ディスクタイプ内のヘッド数。この数値は、ディスク媒体の境界を計算するために使用される。 

nsect

ディスクタイプ内の 1 トラック当たりのデータセクター数。この数値は、ディスク媒体の境界を計算するために使用される。これはデータセクターだけで、スペアは割り当てには含まれない。 

rpm

ディスクタイプの 1 分当たりの回転数。この情報はラベルに書き込まれ、後からファイルシステムでファイルデータの最適位置の計算に使用される。 

コントローラによっては、他の代入式が必要な場合があります。表 32-8に、SCSI コントローラに必要な代入式を示します。

表 32-8 SCSI コントローラの disk_type 識別子

識別子 

説明 

fmt_time

所定のドライブのフォーマットに要する時間を示す数値。詳細は、コントローラのマニュアルを参照。 

cache

format の処理中にオンボードキャッシュの動作を制御する数値。詳細は、コントローラのマニュアルを参照。

trks_zone

代替セクターのマッピング内で使用される 1 つの欠陥領域当たりのトラック数を指定した数値。詳細は、コントローラのマニュアルを参照。 

asect

このパラメータに代入した数値は、所定の欠陥領域内で代替マッピングに利用できるセクター数を指定する。詳細は、コントローラのマニュアルを参照。 

次に、disk_type 定義の例を示します。


disk_type = "SUN1.3G" ¥
        : ctlr = SCSI : fmt_time = 4 ¥
        : trks_zone = 17 : asect = 6 : atrks = 17 ¥
        : ncyl = 1965 : acyl = 2 : pcyl = 3500 : nhead = 17 : nsect = 80 ¥
        : rpm = 5400 : bpt = 44823

disk_type = "SUN2.1G" ¥
        : ctlr = SCSI : fmt_time = 4 ¥
        : ncyl = 2733 : acyl = 2 : pcyl = 3500 : nhead = 19 : nsect = 80 ¥
        : rpm = 5400 : bpt = 44823

disk_type = "SUN2.9G" ¥
        : ctlr = SCSI : fmt_time = 4 ¥
        : ncyl = 2734 : acyl = 2 : pcyl = 3500 : nhead = 21 : nsect = 99 ¥
        : rpm = 5400

パーティションまたはスライステーブル (format.dat)

partition 定義のキーワードが、スライステーブル名になります。空白が含まれている名前は、二重引用符で囲んでください。表 32-9 に、すべてのスライステーブル内で値を代入しなければならない識別子を示します。

表 32-9 スライステーブルの必須識別子

識別子 

説明 

disk

このスライステーブルが定義されている disk_type の名前。この名前は disk_type 内で使用されるとおりに指定しなければならない。

ctlr

このスライステーブルを接続できるコントローラタイプディスク。現在、この代入式に有効な値は IPI コントローラを表す ISP-80 と SCSI コントローラを表す SCSI である。ここで指定したコントローラタイプは、上記で選択した disk_type にも定義しなければならない。

スライス定義内の他の代入式では、実際のスライス情報を記述します。識別子は 0 から 7 までの番号です。これらの代入式は省略可能です。明示的に代入されていないスライスは、長さ 0 に設定されます。最初の数値はスライスの開始シリンダで、第 2 はスライス内のセクター数です。次に、スライス定義の例を示します。


partition = "SUN1.3G" ¥
        : disk = "SUN1.3G" : ctlr = SCSI ¥
        : 0 = 0, 34000 : 1 = 25, 133280 : 2 = 0, 2672400 : 6 = 123, 2505120

partition = "SUN2.1G" ¥
        : disk = "SUN2.1G" : ctlr = SCSI ¥
        : 0 = 0, 62320 : 1 = 41, 197600 : 2 = 0, 4154160 : 6 = 171, 3894240

partition = "SUN2.9G" ¥
        : disk = "SUN2.9G" : ctlr = SCSI ¥
        : 0 = 0, 195426 : 1 = 94, 390852 : 2 = 0, 5683986 : 6 = 282, 5097708

format データファイルの位置を指定する

format ユーティリティは、次の方法でデータファイルの位置を認識します。

  1. -x コマンド行オプションでパス名を指定した場合は、そのファイルは常にデータファイルとして使用されます。

  2. -x オプションを指定しない場合は、format は現在のディレクトリ内でファイル format.dat を検索します。このファイルが見つかると、データファイルとして使用されます。

  3. どちらの方法でもデータファイルが見つからなければ、format はデータファイルとして /etc/format.dat を使用します。このファイルは Solaris オペレーティング環境と共に出荷されるので、必ず存在するはずです。