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

第 44 章 UFS ファイルシステム (参照情報)

この章の内容は次のとおりです。

ルート (/) と /usr ファイルシステムのデフォルトディレクトリ

/kernel ディレクトリには、プラットフォームに依存しないオブジェクト (プラットフォームに依存しないカーネル genunix も含む) だけが入っています。プラットフォームに依存するディレクトリ /platform/usr/platform については、表 44–3 を参照してください。

次の表に、ルート (/) ファイルシステムに含まれているデフォルトのディレクトリの説明を示します。

表 44–1 ルート (/) ファイルシステムのデフォルトディレクトリ

ディレクトリ 

説明 

/

ファイルシステムの名前空間全体のルート 

/dev

論理デバイスファイルの一次位置 

/dev/cfg

物理 ap_id へのシンボリックリンク 

/dev/cua

uucp 用のデバイスファイル

/dev/dsk

ブロックディスクデバイス 

/dev/fbs

フレームバッファーのデバイスファイル 

/dev/fd

ファイル記述子 

/dev/md

ボリューム管理デバイス名 

/dev/printers

USB プリンタデバイスファイル 

/dev/pts

pty スレーブデバイス

/dev/rdsk

raw ディスクデバイス 

/dev/rmt

raw テープデバイス 

/dev/sad

STREAMS Administrative Driver のエントリポイント 

/dev/sound

オーディオデバイスとオーディオデバイス制御ファイル 

/dev/swap

デフォルトのスワップデバイス 

/dev/term

シリアルデバイス 

/devices

物理デバイスファイル 

/etc

ホスト固有のシステム管理構成ファイルとデータベース 

/etc/acct

アカウンティングの構成情報 

/etc/apache

Apache の構成ファイル 

/etc/cron.d

cron の構成情報

/etc/default

各種プログラムのデフォルト情報 

/etc/dfs

エクスポートされるファイルシステムの構成情報 

/etc/dhcp

DHCP (Dynamic Host Configuration Protocol) の構成ファイル 

/etc/dmi

Solstice Enterprise Agents の構成ファイル 

/etc/fn

フェデレーテッドネーミングサービスと x.500 のサポートファイル 

/etc/fs

ファイルシステムタイプ別に編成されたバイナリ  

/etc/ftpd

ftpd の構成ファイル

/etc/gss

GSS (Generic Security Service) アプリケーションプログラミングインタフェースの構成ファイル 

/etc/gtk

GNOME (GNU Network Object Model Environment) の構成ファイル 

/etc/inet

インターネットサービスの構成ファイル 

/etc/init.d

実行レベルを変更するためのスクリプト 

/etc/iplanet

iPlanet (Sun ONE) の構成ファイル 

/etc/krb5

Kerberos の構成ファイル 

/etc/lib

/usr が利用できないときに必要な動的リンクライブラリ

/etc/llc2

論理リンク制御 (llc2) ドライバの構成ファイル

/etc/lp

プリンタサブシステムの構成情報 

/etc/lu

Solaris Live Upgrade の構成ファイル 

/etc/lvm

Solaris ボリュームマネージャの構成ファイル  

/etc/mail

メールサブシステムの構成情報 

/etc/nca

Solaris NCA (Network Cache and Accelerator) の構成ファイル 

/etc/net

TI (トランスポート独立) ネットワークサービスの構成情報 

/etc/nfs

NFS サーバーロギングの構成ファイル 

/etc/openwin

OpenWindows の構成ファイル 

/etc/opt

オプションパッケージの構成情報 

/etc/ppp

Solaris PPP の構成ファイル 

/etc/rc0.d

実行レベル 0 を開始または停止したときに起動されるスクリプト 

/etc/rc1.d

実行レベル 1 を開始または停止したときに起動されるスクリプト 

/etc/rc2.d

実行レベル 2 を開始または停止したときに起動されるスクリプト 

/etc/rc3.d

実行レベル 3 を開始または停止したときに起動されるスクリプト 

/etc/rcS.d

システムをシングルユーザーモードにするためのスクリプト 

/etc/rcm

再構成マネージャ (RCM) のカスタムスクリプト用のディレクトリ 

/etc/rpcsec

NIS+ 認証の構成ファイルが含まれていることがある 

/etc/saf

サービスアクセス機能ファイル (FIFO など) 

/etc/security

BSM (Basic Security Module) の構成ファイル 

/etc/sfw

Samba の構成ファイル 

/etc/skel

新規ユーザーアカウントのデフォルトプロファイルスクリプト 

/etc/smartcard

Solaris SmartCards の構成ファイル 

/etc/snmp

Solstice Enterprise Agents の構成ファイル 

/etc/ssh

ssh (secure shell) の構成ファイル 

/etc/sysevent

syseventd の構成ファイル

/etc/tm

商標ファイル。内容はブート時に表示される 

/etc/usb

USB の構成情報 

/etc/uucp

uucp 構成情報

/etc/wrsm

WRSM (WCI Remote Shared Memory) の構成情報 

/export

共有ファイルシステム (ユーザーのホームディレクトリやクライアントファイルシステムなど) 用のデフォルトのディレクトリ 

/home

スタンドアロンシステム上にあるユーザーのホームディレクトリ用のデフォルトのディレクトリまたはマウントポイント。AutoFS の動作中、このディレクトリには新しいエントリを作成できない 

/kernel

プラットフォームに依存しない読み込み可能なカーネルモジュールのディレクトリ。ブートプロセスの一部として必要。プラットフォームに依存しないコアカーネル /kernel/genunix の汎用部分を含む。/platform ディレクトリと /usr/platform ディレクトリの構造については、表 44–3 を参照

/mnt

ファイルシステムの一般的な一次マウントポイント 

/opt

追加アプリケーションパッケージ用のデフォルトディレクトリまたはマウントポイント 

/platform

サポートされているプラットフォームのファイル。詳細は、表 44–3 を参照

/proc

プロセス情報 

/sbin

ブートプロセスと手作業によるシステム障害の回復に使用される重要な実行可能プログラム 

/tmp

一次ファイル。内容はブートシーケンス中に消去される 

/usr

/usr ファイルシステムのマウントポイント。詳細は、表 44–2 を参照

/var

常に変化するファイル (一時ファイル、ログファイル、状態ファイルなど) 用のディレクトリ 

/var/adm

システムのログファイルとアカウンティングファイル 

/var/apache

Apache Web サーバー用のスクリプト、アイコン、ログ、キャッシュページ 

/var/audit

BSM (Basic Security Module) の監査ファイル 

/var/crash

カーネルクラッシュダンプのデフォルトの格納場所 

/var/cron

cron のログファイル

/var/dmi

Solstice Enterprise Agents のデスクトップ管理インタフェースの実行時構成要素 

/var/dt

dtlogin の構成ファイル

/var/inet

IPv6 ルーターの状態ファイル 

/var/krb5

Kerberos のデータベースとログファイル 

/var/ld

実行時リンカーの構成ファイル 

/var/ldap

LDAP クライアントの構成ファイル 

/var/log

システムログファイル 

/var/lp

ラインプリンタサブシステムのログ情報 

/var/mail

ユーザーのメールが保管されるディレクトリ 

/var/news

コミュニティサービスメッセージ。これらのメッセージは USENET 方式のニュースとは異なる 

/var/nfs

NFS サーバーのログファイル 

/var/nis

NIS+ データベース 

/var/ntp

NTP (Network Time Protocol) サーバーの状態ディレクトリ 

/var/opt

ソフトウェアパッケージ関連の各種ファイルのサブツリーのルート 

/var/preserve

viex のバックアップファイル

/var/run

一時的な (つまり、システムをリブート後に残る必要がない) システムファイル。TMPFS マウントされたディレクトリ 

/var/sadm

ソフトウェアパッケージ管理ユーティリティで管理されるデータベース 

/var/saf

saf (サービスアクセス機能) のログファイルとアカウンティングファイル

/var/samba

Samba のログファイルとロックファイル 

/var/snmp

SNMP の状態と構成情報 

/var/spool

スプール化された一時ファイルのディレクトリ 

/var/spool/clientmqueue

Sendmail のクライアントファイル 

/var/spool/cron

cronat のスプールファイル

/var/spool/locks

スプールロックファイル 

/var/spool/lp

ラインプリンタのスプールファイル 

/var/spool/mqueue

配信用に待ち行列に入れられたメール 

/var/spool/pkg

スプール化されたパッケージ 

/var/spool/print

LP 印刷サービスのクライアント側要求格納域 

/var/spool/samba

Samba の印刷待ち行列 

/var/spool/uucp

待ち行列に入っている uucp のジョブ

/var/spool/uucppublic

uucp によって格納されるファイル

/var/statmon

ネットワーク状態監視ファイル 

/var/tmp

一時ファイルのディレクトリ。ブートシーケンス中には消去されない 

/var/uucp

uucp のログファイルと状態ファイル

/var/yp

NIS データベース 

次の表に、/usr ファイルシステムに含まれているデフォルトのディレクトリの説明を示します。

表 44–2 /usr ファイルシステムのデフォルトディレクトリ

ディレクトリ 

説明 

4lib

SunOS 4.1 バイナリ互換パッケージライブラリ 

5bin

/usr/bin ディレクトリへのシンボリックリンク

X

/usr/openwin ディレクトリへのシンボリックリンク

adm

/var/adm ディレクトリへのシンボリックリンク

apache

Apache の実行可能プログラム、ロード可能モジュール、マニュアル  

aset

ASET (Automated Security Enhancement Tools) のプログラムとファイル用のディレクトリ 

bin

標準的なシステムコマンド用のディレクトリ 

ccs

C 言語処理系のプログラムとライブラリ 

demo

デモのプログラムとデータ 

dict

/usr/share/lib/dict ディレクトリへのシンボリックリンク。UNIX の spell プログラムが使用する辞書が入っている

dt

CDE ソフトウェア用のディレクトリまたはマウントポイント 

games

空のディレクトリ。SunOS 4.0-4.1 ソフトウェアで使用されていた 

include

C プログラム用などのヘッダーファイル 

iplanet

Directory Server の実行可能プログラム、ロード可能モジュール、マニュアル 

j2se

Java 2 SDK の実行可能プログラム、ロード可能モジュール、マニュアル  

java *

Java のプログラムとライブラリが入っているディレクトリ 

kernel

その他のカーネルモジュール 

kvm

廃止または互換性がなくなる可能性あり 

lib

各種プログラムのライブラリ、アーキテクチャ依存データベース、またはユーザーが直接呼び出さないバイナリ 

local

サイトのローカルコマンド 

mail

/var/mail ディレクトリへのシンボリックリンク

man

/usr/share/man ディレクトリへのシンボリックリンク

net

ネットワークリスナーサービス用のディレクトリ 

news

/var/news ディレクトリへのシンボリックリンク

oasys

FMLI (Form and Menu Language Interpreter) 実行環境用のファイル 

old

段階的に使用されなくなっているプログラム 

openwin

OpenWindows ソフトウェアのディレクトリまたはマウントポイント 

perl5

perl 5 のプログラムとマニュアル 

platform

サポートされているプラットフォームのファイル。詳細は、表 44–3 を参照

preserve

/var/preserve ディレクトリへのシンボリックリンク

proc

proc ツール用のディレクトリ

pub

オンラインマニュアルページと文字処理用のファイル 

sadm

システム管理に関連する各種ファイルとディレクトリ 

sbin

システム管理用の実行可能プログラム 

sbin/install.d

JumpStart のカスタムのスクリプトと実行可能プログラム  

sbin/static

/usr/bin/usr/sbin から選択したプログラムの静的リンクバージョン

sbin/sparc7 sparc9

コマンドの 32 ビットバージョンと 64 ビットバージョン 

sfw

GNU と公開されているソースの実行可能プログラム、ライブラリ、マニュアル 

share

アーキテクチャに依存しない共有可能ファイル 

share/admserv5.1

iPlanet Console and Administration Server 5.0 のマニュアル 

share/audio

オーディオファイルのサンプル 

share/ds5

Sun ONE Directory Server 5.1 のマニュアル  

share/lib

アーキテクチャに依存しないデータベース 

share/man

Solaris のマニュアルページ 

share/src

カーネル、ライブラリ、ユーティリティのソースコード 

snadm

システム管理とネットワーク管理に関するプログラムとライブラリ 

spool

/var/spool ディレクトリへのシンボリックリンク

src

/usr/share/src ディレクトリへのシンボリックリンク

tmp

/usr/var/tmp ディレクトリへのシンボリックリンク

ucb

UCB 互換パッケージのバイナリ 

ucbinclude

UCB 互換パッケージのヘッダーファイル 

ucblib

UCB 互換パッケージのライブラリ 

vmsys

FACE (Framed Access Command Environment) プログラム用のディレクトリ 

xpg4

POSIX 準拠ユーティリティ用のディレクトリ 

プラットフォームに依存するディレクトリ

表 44–3 に、/platform ディレクトリと /usr/platform ディレクトリに入っているすべてのプラットフォームに依存するオブジェクトを示します。

表 44–3 /platform/usr/platform ディレクトリ

ディレクトリ 

説明 

/platform

ルート (/) ファイルシステムに存在すべき一連のディレクトリが、サポートされるプラットフォームごとに 1 ディレクトリずつ入っている。

/platform/*/kernel

プラットフォームに依存するカーネル構成要素が入っている。プラットフォームに依存するコアカーネルであるファイル unix も含む。詳細は、kernel(1M) のマニュアルページを参照。

/usr/platform

ルート (/) ファイルシステムに存在する必要がない、プラットフォームに依存するオブジェクトが入っている。

/usr/platform/*/lib

/usr/lib ディレクトリ中のオブジェクトに類似した、プラットフォームに依存するオブジェクトが入っている。

/usr/platform/*/sbin

/usr/sbin ディレクトリ中のオブジェクトに類似した、プラットフォームに依存するオブジェクトが入っている。

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

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

ブロックの種類  

格納されている情報の種類 

ブートブロック 

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

スーパーブロック 

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

i ノード 

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

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

各ファイルのデータ 

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

ブートブロック

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

スーパーブロック

スーパーブロックには、次のようなファイルシステムに関する大部分の情報が格納されます。

スーパーブロックは、シリンダグループごとに 1 つずつ、ファイルシステム全域に分散しています。スーパーブロックには重要なデータが入っているので、ファイルシステムの作成時には複数のスーパーブロックが作成されます。

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

i ノード

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

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

図 44–1 UFS ファイルシステムのアドレスチェーン

この図は、UFS の i ノードのアドレス配列と、ファイルを表す記憶ブロックを指す間接または二重間接ポインタとの関係を示しています。

データブロック

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

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

空きブロック

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

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

図 44–2 一般的な UFS ファイルシステム

ブートブロック (シリンダグループ 0 にのみ存在する。8K バイト)、スーパーブロック、シリンダグループマップ、i ノード、記憶ブロックから構成される UFS シリンダグループ

カスタムファイルシステムパラメータ

newfs コマンドによって割り当てられるデフォルトのファイルシステムパラメータを変更しようとする前に、各パラメータについて理解しておく必要があります。この節では、次の各パラメータについて説明します。

論理ブロックサイズ

論理ブロックサイズは、UNIX カーネルがファイルの読み書きに使用するブロックのサイズです。一般に、論理ブロックサイズは物理ブロックサイズとは異なります。物理ブロックサイズは、通常は 512 K バイトで、ディスクコントローラが読み書きできる最小ブロックのサイズです。

論理ブロックサイズは、デフォルトでシステムのページサイズに設定されます。UFS ファイルシステムの場合、このデフォルト論理ブロックサイズは 8192 バイト (8K バイト) です。UFS ファイルシステムでは、ブロックサイズとして 4096 バイトまたは 8192 バイト (4K または 8K バイト) がサポートされます。論理ブロックの推奨サイズは 8K バイトです。


SPARC のみ –

sun4u プラットフォームで指定できるブロックサイズは 8192 バイトだけです。


システムに最善の論理ブロックサイズを選択するには、必要なパフォーマンスと使用可能容量を検討してください。ほとんどの UFS システムでは、8K バイトのファイルシステムが最高のパフォーマンスを発揮し、ディスクパフォーマンスと一次メモリーやディスク上の領域の使用量が適切なバランスに保たれます。

原則として、効率を高めるには、ほとんどのファイルがきわめて大きいファイルシステムには大きめの論理ブロックサイズを使用します。ほとんどのファイルがきわめて小さいファイルシステムには、小さめの論理ブロックサイズを使用します。ファイルシステム上で quot -c file-system コマンドを使用すると、ファイルの分散に関する詳細なレポートをブロックサイズ別に表示できます。

ただし、通常は、ファイルシステムの作成時に設定されたページサイズが最適です。

フラグメントサイズ

ファイルが作成または拡張されると、論理ブロック全体または「フラグメント」と呼ばれる部分のディスク容量が割り当てられます。ファイルのためにディスク容量が必要になると、まずブロック全体が割り当てられ、次に残りの部分にブロックのうち 1 つまたは複数のフラグメントが割り当てられます。小型ファイルの場合、割り当てはフラグメントから始まります。

ブロック全体ではなく、そのフラグメントを割り当てることができるので、ブロック内の未使用のホールによって生じるディスク容量の「断片化」が減少し、容量の節約になります。

UFS ファイルシステムを作成するときに、「フラグメントサイズ」を定義します。デフォルトのフラグメントサイズは 1K バイトです。各ブロックは、1 個、2 個、4 個、または 8 個のフラグメントに分割できます。この場合、フラグメントサイズは 8192 バイトから 512 バイトまでです (4K バイトのファイルシステムのみ)。実際には、下限はディスクのセクターサイズ、通常は 512 バイトに連動します。


注 –

フラグメントサイズの上限は論理ブロックサイズに等しくなります。この場合、フラグメントは存在しないことになります。容量よりも速度を重視する場合、きわめて大型のファイルがあるファイルシステムには、この構成が最適なことがあります。


フラグメントサイズを選択するときには、処理時間と容量を取捨選択してください。フラグメントサイズが小さければ容量の節約になりますが、割り当てには時間がかかります。原則として、格納効率を高めるには、ほとんどのファイルが大型のファイルシステムには、大きめのフラグメントサイズを使用します。ほとんどのファイルが小型のファイルシステムには、小さめのフラグメントサイズを使用します。

最小空き容量

「最小空き容量」とは、ファイルシステムの作成時に予約分として保持されるディスク容量の割合です。デフォルトの予約分は、((64M バイト/パーティションサイズ) * 100) で算出し、その値は最も近い整数に切り捨てられ、ディスク容量の 1% から 10% の範囲に制限されます。

ファイルシステム内の空き容量が少なくなるほど、アクセス速度が低下するので、空き容量は重要です。十分な空き容量があれば、UFS ファイルシステムは効率よく動作します。ファイルシステムがいっぱいになって、使用可能なユーザー領域を使い果たすと、スーパーユーザー以外は予約済みの空き容量にアクセスできなくなります。

df などのコマンドは、最小空き容量として割り当て済みの分を差し引いて、ユーザーに使用可能な容量をパーセントで表示します。コマンドでファイルシステム内のディスク容量の 100 パーセント以上が使用中であると表示される場合は、予約分の一部がルートに使用されています。

ユーザーに制限を適用する場合に、各ユーザーが使用可能な容量には予約分の空き容量は含まれません。tunefs コマンドを使用すると、既存のファイルシステムの最小空き容量の値を変更できます。

回転待ち

最新のディスクでは、このパラメータをもう使用しません。使用する必要がある場合は、ファイルシステムの作成時に指定されたデフォルト値を使用することをお勧めします。

最適化のタイプ

「最適化のタイプ」パラメータの設定には、「space」と「 time」があります。

詳細は、tunefs(1M) のマニュアルページを参照してください。

ファイルの数

「i ノード数」パラメータによって、ファイルシステム内で保持できるファイル数が決まります。ファイルごとに i ノードが 1 つあります。「i ノード 1 個あたりのバイト数」によって、ファイルシステムの作成時に作成される i ノードの総数が決まります。これは、ファイルシステムの合計サイズを、i ノード 1 個あたりのバイト数で割った値です。i ノードが割り当てられたら、ファイルシステムを作成し直さないかぎり、その数は変更できません。

i ノード 1 個あたりのデフォルトのバイト数は 2048 バイト (2K バイト) で、これは各ファイルの平均サイズが 2K バイト以上であることを想定しています。ファイルシステムが 1G バイトを超える場合、次の公式が使用されます。

ファイルシステムのサイズ 

i ノードごとのバイト数 

1G バイト以下 

2048 

2G バイト未満 

4096 

3G バイト未満 

6144 

3G バイト以上 

8192 

多数のシンボリックリンクを持つファイルシステムでは、平均ファイルサイズを小さくすることができます。ファイルシステムに多数の小型ファイルが格納される場合は、このパラメータに小さい値を与えてもかまいません。ただし、i ノード数が少ないために i ノードが不足するよりも、多すぎる方が好ましいことを留意してください。i ノード数が少なすぎると、実際には空のディスクスライス上でも最大ファイル数に達してしまうことがあります。

UFS ファイルとファイルシステムの最大サイズ

UFS ファイルシステムの最大サイズは、およそ 1T バイトで、使用できる領域は、そこから約 1 パーセントのオーバーヘッドを引いたサイズです。「空白」ファイルの論理サイズは 1T バイトです。 ただし、ファイルに格納できる実際のデータ容量は、1T バイトから約 1 パーセントのファイルシステムオーバーヘッドを引いたサイズです。

UFS サブディレクトリの最大数

UFS ファイルシステム内の 1 ディレクトリあたりのサブディレクトリの最大数は 32,767 です。この制限はあらかじめ定義されたものであり、変更できません。

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

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

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

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

構文は次のとおりです。


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

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

表 44–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 <= 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 コマンドは直接実行しません。mkfs コマンドは、newfs コマンドによって呼び出されます。

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