newfs(1M) コマンドのデフォルト i ノード密度値 (-i オプション) は、サイズの大きいファイルシステムには適していません。newfs コマンドで新しいファイルシステムを作成する場合は、i ノード密度をファイルスペース 8K バイトごとの i ノード (-i 8192) に設定します。 デフォルトの 2K バイトごとの i ノードには設定しません。1980 年には 1K バイトが標準的なファイルサイズでしたが、現在は一般的なファイルのサイズは、64K バイト以上になりつつあります。
8G バイト以上の大容量ボリュームでは、次に示すように、シリンダグループのサイズを 256 シリンダに増やすことが必要になる可能性があります。
# newfs -c 256 /dev/md/rdsk/d114 |
注 - Solaris 2.3 と 2.4 のマニュアルページでは、最大サイズを 32 シリンダと間違って表記しています。
可能な場合は、ファイルシステムのクラスタサイズをストライプ幅の整数倍になるように設定してください。
たとえば、次に示すのは逐次 I/O のパラメータです。
maxcontig = 16 (16 * 8K バイトブロック = 128K バイトクラスタ)
4 方向ストライプを 32K バイトインタレース値で使用すると、ストライプ幅は 128K バイトとなり、良好なパフォーマンスが得られる組み合わせになります。
インタレースサイズ = 32K バイト (32K バイトストライプユニットサイズ * 4 個のディスク = 128K バイトストライプ幅)
ファイルシステムの maxcontig パラメータを設定して、ファイルシステムの I/O クラスタサイズをコントロールします。このパラメータは、1 つのファイルについて、回転待ちを挿入する前に連続して割り当てられる最大ブロック数を指定します。
ファイルシステムのクラスタサイズをストライプ幅の整数倍に設定すると、パフォーマンスが向上します。たとえば、maxcontig パラメータを 16 に設定すると 128 クラスタになります (16 ブロック * 8K バイトファイルシステムブロックサイズ)。
注 - mkfs(1M) コマンドのオプションを使って、デフォルトの minfree、i ノード密度、シリンダ/シリンダグループ、maxcontig 設定を変更できます。また、tunefs(1M) コマンドで maxcontig と minfree 設定を変更することもできます。
詳細は、mkfs(1M)、tunefs(1M)、および newfs(1M) のマニュアルページを参照してください。