この章では、UFS、TMPFS、および LOFS ファイルシステムを作成する方法について説明します。UFS ファイルシステムの場合、この章では、newfs(1M) コマンドを使用してファイルシステムをハードディスク上に作成する方法を示します。TMPFS と LOFS は仮想ファイルシステムであるため、これらのファイルシステムを「作成」するには、ファイルシステムをマウントします。
この章で説明する手順は、次のとおりです。
UFS と DOS のファイルシステムを取り外し可能な媒体上に作成する手順については、第 11 章「CD とフロッピーディスクの使用方法の概要」を参照してください。
UFS ファイルシステムをディスクに作成するためには、そのディスクをフォーマットし、スライスに分割しなければなりません。ディスクスライスとは物理的なディスクのサブセットで、連続するブロックからなる 1 つの範囲のことです。スライスはスワップ空間などの raw デバイスとして使用することも、ディスクベースのファイルシステムとして使用することもできます。ディスクのフォーマットとディスクのスライスへの分割についての詳細は、第 21 章「ディスク管理の概要」を参照してください。
Solaris のデバイス名は、用語「スライス (デバイス名内の文字は s)」を使用して、スライス番号を参照します。SunOS 4.0 およびその互換バージョンでは、スライスは「パーティション」と呼ばれていました。
UFS ファイルシステムは、インストール手順の一部として Solaris オペレーティング環境によって自動的に作成されるので、UFS ファイルシステムを作成しなければならないことはほとんどありません。次の場合には、UFS ファイルシステムを作成する (または作成し直す) 必要があります。
ディスクを追加または交換する場合
既存のパーティション構造を変更する場合
ファイルシステム全体を復元する場合
newfs(1M) コマンドを使用するのが、UFS ファイルシステムを作成する標準的な方法です。newfs コマンドは mkfs(1M) の使いやすいフロントエンドで、新しいファイルシステムを作成します。Solaris システムの場合、デフォルトでは 1 シリンダ当たりのトラック数や 1 トラック当たりのセクター数のような newfs(1M) のパラメータは、新しいファイルシステムを作成するディスクのラベルから読み込まれ、ユーザーが選択したオプションは、mkfs コマンドに渡されファイルシステムが作成されます。
ディスクスライス上に新しいファイルシステムを作成するには、ほとんどの場合に newfs コマンドを使用します。表 27-1 に、newfs コマンドで使用するデフォルトのパラメータを示します。
表 27-1 newfs コマンドで使用するデフォルトのパラメータ
パラメータ |
デフォルト値 |
---|---|
ブロックサイズ |
8K バイト |
フラグメントサイズ |
1K バイト |
最小空き領域 |
((64M バイト/パーティションサイズ) * 100) で算出した値を最も近い整数に切り捨てる。値は、パーティションサイズの 1% から 10% の範囲に制限される。 |
回転遅延 |
デバイスに依存 |
最適化のタイプ |
容量 |
i ノード数 |
2K バイトのディスク領域ごとに 1 個 |
UFS ファイルシステムを作成する前に、ディスクをフォーマットしてスライスに分割しておかなければならない。ディスクのフォーマットとスライスへの分割についての詳細は、第 21 章「ディスク管理の概要」を参照してください。
ファイルシステムを格納するスライスのデバイス名を知っていなければならない。ディスク番号とディスクスライス番号を調べる方法については、第 22 章「ディスク管理の手順」を参照してください。
既存の UFS ファイルシステムを作成し直す場合は、そのマウントを解除する。
スーパーユーザーでなければならない。
ファイルシステムを作成します。
# newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name |
-N |
newfs が mkfs に渡すパラメータを表示する。ファイルシステムは実際に作成されない。newfs コマンドをテストするのに好ましい方法です。 |
-b size |
ファイルシステムのブロックサイズを指定する。デフォルトは 8192 バイトです。 |
-i bytes |
i ノード当たりのバイト数を指定する。デフォルトは 2048 バイトです。 |
device-name |
新しいファイルシステムを作成するディスクデバイス名を指定する。 |
次の手順を実行する前に、スライスに合ったデバイス名を指定したか確認してください。間違ったスライスを指定すると、その内容は新しいファイルシステムの作成時に消去されます。
システムから、確認を促すプロンプトが表示されます。
UFS ファイルシステムが作成されていることを確認するには、fsck(1M) コマンドを使用して新しいファイルシステムをチェックします。
# fsck /dev/rdsk/device-name |
device-name |
新しいファイルシステムを格納するディスクデバイス名を指定する。 |
fsck コマンドは、新しいファイルシステムの整合性をチェックして、問題が検出された場合には、問題を修復する前にプロンプトを表示します。fsck についての詳細は、第 31 章「ファイルシステムの整合性チェック」を参照してください。
次の例では、/dev/rdsk/c0t3d0s7 上に UFS ファイルシステムを作成します。
# newfs /dev/rdsk/c0t3d0s7 newfs: construct a new file system /dev/rdsk/c0t3d0s7 (y/n)? y /dev/rdsk/c0t3d0s7: 163944 sectors in 506 cylinders of 9 tracks, 36 sectors 83.9MB in 32 cyl groups (16 c/g, 2.65MB/g, 1216 i/g) super-block backups (for fsck -b #) at: 32, 5264, 10496, 15728, 20960, 26192, 31424, 36656, 41888, 47120, 52352, 57584, 62816, 68048, 73280, 78512, 82976, 88208, 93440, 98672, 103904, 109136, 114368, 119600, 124832, 130064, 135296, 140528, 145760, 150992, 156224, 161456, |
ファイルシステムをマウントし、使用可能にするには、第 28 章「ファイルシステムのマウントとマウント解除の手順」に進みます。
一時ファイルシステム (TMPFS) は、ファイルシステムの読み取りと書き込みにローカルのメモリーを使用します。そのため、一時ファイルシステムは、UFS ファイルシステムに比べはるかに高速です。TMPFS ファイルシステムを使用すると、ローカルディスク上で、あるいはネットワーク経由で一時ファイルの読み書きを行う際のオーバヘッドが軽減されるのでシステムのパフォーマンスを向上できます。TMPFS ファイルシステム内のファイルは、リブートまたはマウント解除すると削除されます。
複数の TMPFS ファイルシステムを作成した場合は、すべてのファイルシステムが同じシステム資源を使用するということに注意してください。mount コマンドの -o size オプションを使用して TMPFS のサイズを制限しなければ、ある TMPFS ファイルシステムで作成されたファイルが、他の TMPFS のための領域を使い切ってしまう可能性があります。
詳細は、tmpfs(7FS) のマニュアルページを参照してください。
スーパーユーザーになります。
必要に応じて、TMPFS ファイルシステムをマウントしたいディレクトリを作成し、アクセス権と所有権を設定します。
TMPFSファイルシステムを作成します。
ブート時に一時ファイルシステムを自動的に作成するようにシステムを設定するには、「例 - ブート時に TMPFS ファイルシステムを作成する」を参照してください。
# mount -F tmpfs -o size=number swap mount-point |
size=number |
TMPFS ファイルシステムのサイズを M バイト単位で指定する。 |
mount-point |
TMPFS ファイルシステムとしてマウントするディレクトリを指定する。 |
mount コマンドからの出力を調べて、TMPFS ファイルシステムが作成されていることを確認します。
# mount -v |
次の例は、新しいディレクトリ /export/reports を作成し、そのマウントポイントに TMPRS ファイルシステムをマウントして、50M バイトに制限します。
# mkdir /export/reports # chmod 777 /export/reports # mount -F tmpfs -o size=50 swap /export/reports |
ブート時にシステムが自動的に TMPFS ファイルシステムを作成するようにするには、/etc/vfstab ファイルにエントリを追加します。次の例は、システムのブート時に TMPFS ファイルシステムを /export/test に作成する /etc/vfstab ファイルのエントリを示します。size=number オプションを指定していないため、/export/test の TMPFS ファイルシステムのサイズは利用できるシステム資源によって制限されます。
swap - /export/test tmpfs - yes - |
/etc/vfstab ファイルについての詳細は、「/etc/vfstab ファイルのフィールドの説明」を参照してください。
LOFS ファイルシステムは、既存のファイルシステムへの代替パスを提供する仮想ファイルシステムです。他のファイルシステムを LOFS ループバックファイルシステムにマウントしても、元のファイルシステムは変化しません。
詳細は、lofs(7FS) のマニュアルページを参照してください。
LOFS ファイルシステムは慎重に作成してください。LOFS は仮想ファイルシステムなので、ユーザーやアプリケーションを混乱させる可能性があります。
スーパーユーザーになります。
LOFS ファイルシステムをマウントしたいディレクトリを作成し、適切なアクセス権と所有権を設定します。
LOFS ファイルシステムを作成します。
ブート時にループバックファイルシステムを自動的に作成するようにシステムを設定するには、「例 - ブート時に LOFS ファイルシステムを作成する」を参照してください。
# mount -F lofs loopback-directory mount-point |
loopback-directory |
ループバックマウントポイントにマウントするファイルシステムを指定する。 |
mount-point |
LOFS ファイルシステムをマウントするディレクトリを指定する。 |
mount コマンドからの出力を調べて、LOFS ファイルシステムが作成されていることを確認します。
# mount -v |
次の例は、chroot(1M) コマンドと新しい LOFS ファイルシステムを使用して、プロセスやプロセスファミリが完全な仮想ファイルシステムを認識できるようにする。
# mkdir /tmp/newroot # mount -F lofs / /tmp/newroot # chroot /tmp/newroot command |
ブート時にシステムが自動的に LOFS ファイルシステムを作成するようにするには、/etc/vfstab ファイルにエントリを追加します。次の例は、ルート (/) ファイルシステムの LOFS ファイルシステムを /tmp/newroot に作成する /etc/vfstab ファイルのエントリを示しています。
/ - /tmp/newroot lofs - yes - |
ループバックファイルシステムのエントリは、/etc/vfstab ファイル内の最後のエントリでなければなりません。ループバックファイルシステムのエントリが、そこに組み込まれるファイルシステムよりも前にあると、ループバックファイルシステムを作成できません。
/etc/vfstab ファイルの詳細は、「/etc/vfstab ファイルのフィールドの説明」を参照してください。