Solaris のシステム管理 (基本編)

カスタマイズされたファイルシステムを作成するためのコマンド

この節では、カスタマイズされたファイルシステムの作成に使用する次の 2 つのコマンドについて説明します。

newfs コマンドの構文、オプション、引数

newfs コマンドは、ファイルシステムの作成に使用する mkfs コマンドの簡便バージョンです。

構文は次のとおりです。


/usr/sbin/newfs [-Nv] [mkfs_options] raw_device

表 43-4 に、newfs コマンドのオプションと引数を示します。

表 43-4 newfs コマンドのオプションと引数

オプション 

説明 

-N

ファイルシステムの作成に使用されるファイルシステムパラメータが表示されるが、実際には作成されない。このオプションでは、既存のファイルシステムの作成に使用されたパラメータは表示されない。 

-v

mkfs コマンドに渡されるパラメータが表示される。

mkfs-options

後続のオプション (-s size から -C maxcontig まで) を使用して mkfs コマンドのパラメータが設定される。それらのオプションは、mkfs コマンドに渡される順番に記述されている。各オプションは、空白で区切る。

-s size

ファイルシステムのセクター数。デフォルトは、ディスクラベルから自動的に判別される。 

-t ntrack

ディスク上の 1 シリンダあたりのトラック数。デフォルトはディスクラベルから判別される。 

-b bsize

データ転送に使用される論理ブロックのバイト数。サイズとして 4096 または 8192 バイト (4K または 8K バイト) を指定する。デフォルトは 8192 バイト (8K バイト)。 

-f fragsize

ファイルに割り当てられるディスク容量の最小バイト数。フラグメントサイズを、512 バイトから 8192 バイトまでの 2 の乗数単位で指定する。デフォルトは 1024 バイト (1K バイト)。 

-c cgsize

1 シリンダグループあたりのディスクシリンダ数。デフォルト値を計算するには、ファイルシステム内のセクター数を 1G バイト内のセクター数で割り、その結果に 32 を掛ける。デフォルト値の範囲は 16 から 256 まで。 

-m free

空きディスク領域の最小許容率。デフォルトの予約分は、((64M バイト/パーティションサイズ) * 100) で算出した値は最も近い整数に切り捨てられ、ディスク容量の 1% から 10% の範囲に制限されます。 

-r rpm

1 分当たりのディスクの回転数。この設定はドライバまたはデバイスに固有である。ドライブが回転数を報告できる場合、mkfs コマンドは報告された値を使用する。そうでない場合、デフォルトは 3600。このパラメータは、mkfs コマンドに渡される前に 1 秒当たりの回転数に変換される。

-i nbpi

作成できる i ノードの計算に使用される i ノード 1 個当たりのバイト数。デフォルト値については、「ファイルの数」を参照。

-o opt

ディスクブロックをファイルに割り当てるときに使用される最適化のタイプ。opt には time または space を指定する。デフォルトは time です。

-a apc

不良ブロックを配置するために予約される 1 ディスクシリンダ (SCSI デバイスのみ) の代替ブロック数。デフォルトは 0。 

-d gap

(回転待ち) CPU がデータ転送を完了し、同じディスクシリンダ上で次のデータ転送を開始するまでにかかる予想最小時間 (ミリ秒)。デフォルトは 0。

-n nrpos

シリンダグループを分割するさまざまな回転位置の数。デフォルトは 8。 

-C maxcontig

あるファイルに属し、回転待ちが挿入される前に連続して割り当てられる最大ブロック数。デフォルトはドライブごとに異なる。内部 (トラック) バッファーを持たないドライブ (または、内部バッファーが存在することを示していないドライブ/コントローラ) の場合は、デフォルトは 1 で、バッファーを持つドライブの場合はデフォルトは 7。 

このパラメータは、次のようにする必要がある。 

blocksize x maxcontig must be <= maxphys

maxphys は、入出力サブシステムが満たせる最大ブロック転送サイズ (バイト数) を示す読み取り専用のカーネル変数である。この制限は、 newfsmkfs コマンドではなく mount コマンドによって適用される。

また、このパラメータはクラスタ化も制御する。rotdelay の値に関係なく、maxcontig が 1 より大きいときのみクラスタ化できる。クラスタ化すると、入出力が高速になる。詳細は、tunefs(1M) のマニュアルページを参照。

raw_device

ファイルシステムを入れるパーティションの特殊文字 (raw) デバイスファイル名。この引数は必須。 

例 - newfs コマンドのオプションと引数

次の例は、-N オプションを使用して、バックアップスーパーブロックなどのファイルシステム情報を表示する方法を示しています。


# newfs -N /dev/rdsk/c0t0d0s0
/dev/rdsk/c0t0d0s0:   37260 sectors in 115 cylinders of 9 tracks, 36 sectors
        19.1MB in 8 cyl groups (16 c/g, 2.65MB/g, 1216 i/g)
superblock backups (for fsck -b #) at:
 32, 5264, 10496, 15728, 20960, 26192, 31424, 36656,
#

汎用 mkfs コマンド

汎用 mkfs コマンドは、ファイルシステム専用の mkfs コマンドを呼び出して、指定したディスクスライス上で指定したタイプのファイルシステムを作成させます。mkfs コマンドは各種のファイルシステムに対応していますが、実際には UFS、UDFS、PCFS の各ファイルシステムの作成に使用します。他のタイプのファイルシステムを作成するには、ファイルシステム専用の mkfs コマンドを使用するためのソフトウェアを作成する必要があります。通常は、mkfs コマンドは直接実行しません。mkfsnewfs コマンドによって呼び出されます。

汎用 mkfs コマンドは、/usr/sbin ディレクトリに入っています。引数とオプションについては、mkfs(1M) のマニュアルページを参照してください。