この章では、UFS ファイルシステム、一時ファイルシステム、ループバックファイルシステムをハードディスク上で作成して管理する方法について説明します。この章で説明する手順は、次のとおりです。
ファイルシステムは、インストールプロセスの一部としてシステムソフトウェアによって自動的に作成されるので、UFS ファイルシステムを作成しなければならないことはほとんどありません。次の場合には、UFS ファイルシステムを作成する (または作成し直す) 必要があります。
ディスクを追加または交換する場合
既存のパーティション構造を変更する場合
ファイルシステム全体を復元する場合
次の手順では、newfs コマンドを使用して UFS ファイルシステムを作成します。newfs コマンドは、新しいファイルシステムを作成する mkfs への便利なフロントエンドです。Solaris 2.x システムの場合、デフォルトでは、1 シリンダ当たりのトラック数や 1 トラック当たりのセクター数のような newfs のパラメタは、新しいファイルシステムを入れるディスクのラベルから読み込まれるので、選択したオプションは mkfs コマンドに渡され、ファイルシステムが作成されます。
ディスクスライス上で新しいファイルシステムを作成するには、ほとんどの場合に newfs コマンドを使用します。表 27-1 は、newfs コマンドで使用するデフォルトのパラメタを示しています。
表 27-1 newfs コマンドで使用するデフォルトのパラメタ
パラメタ |
デフォルト値 |
---|---|
ブロックサイズ |
8K バイト |
フラグメントサイズ |
1K バイト |
最小空き領域 |
10% |
回転遅延 |
デバイスに依存 |
最適化のタイプ |
領域 |
i ノード数 |
2K バイトのディスク領域ごとに 1 個 |
UFS ファイルシステムを作成する前に、ディスクをフォーマットしてスライスに分割しておかなければならない
ファイルシステムを入れるスライスの raw デバイスファイル名を知る必要がある。ディスク番号とディスクスライス番号を調べる方法については、第 22 章「ディスク管理の手順」を参照
既存のファイルシステムを作成し直す場合は、そのマウントを解除する
スーパーユーザーでなければならない
「前提条件」の前提条件を満たしているかどうかを確認します。
ファイルシステムを作成します。
# newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
-N |
newfs が mkfs に渡すすべてのパラメタを表示する。ファイルシステムは作成されない |
-b size |
ファイルシステムのブロックサイズを設定する。デフォルトは 8192 ブロック |
-i bytes |
i ノード当たりのバイト数を設定する。デフォルトは 2048 バイト |
device-name |
新しいファイルシステムを入れるデバイス |
次の手順を実行する前に、スライスに合ったデバイス名を指定したか確認してください。間違ったスライスを指定すると、その内容は新しいファイルの作成時に消去されます。
システムから確認を促すプロンプトが表示されます。
UFS ファイルシステムが作成されていることを確認するには、fsck コマンドを使用して新しいファイルシステムをチェックします。
# fsck /dev/rdsk/device-name
device-name |
新しいファイルシステムを入れるデバイス名 |
このユーティリティは、新しいファイルシステムの整合性をチェックして、見つかった問題を出力し、問題を修復する前にプロンプトを表示します。fsck の詳細は、第 31 章「ファイルシステムの完全性チェック」を参照してください。
次の例では、/dev/rdsk/c0t3d0s7 上でファイルシステムを作成します。
# 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,
ファイルシステムを使用可能にするための操作 |
参照先 |
---|---|
mount コマンドを使用してファイルシステムをマウントする | |
/etc/vfstab 内でエントリを作成し、システムのブート時にファイルシステムを自動的にマウントする |
TMPFS が最もよく使用されるのは /tmp ディレクトリです。デフォルトでは、SunOS システムソフトウェアの /tmp ディレクトリは TMPFS であり、そのエントリはデフォルトの /etc/vfstab ファイルに入っています。TMPFS ディレクトリ内のファイルは、リブートまたはマウント解除すると削除されます。
複数の一時ファイルシステムを作成した場合は、そのすべてが同じシステム資源を使用するということに注意してください。mount コマンドの -o オプションを使用して TMPFS のサイズを制限しなければ、ある TMPFS ディレクトリの下で作成されたファイルが、他の TMPFS にとっても使用可能な領域を使い果たします。
スーパーユーザーになります。
必要に応じて、TMPFS をマウントしたいディレクトリを作成し、アクセス権と所有権を設定します。
一時ファイルシステムを作成します。
# mount -F tmpfs swap mount-point
-F tmpfs swap |
TMPFS ファイルシステム |
mount-point |
TMPFS ファイルシステムとしてマウントするディレクトリ |
mount コマンドを使って、/visitors という一時ファイルシステムが作成され、/usr/tmp ディレクトリにマウントされていることを確認します。
$ mount . . . /visitors on /usr/tmp on Wed May 28 15:27:16 1997 $ ls /usr/tmp NTa0006h ps_data visitors
次の例では、新しいディレクトリ /export/reports を作成し、そのディレクトリに一時ファイルシステムをマウントします。
# mkdir /export/reports # chmod 777 /export/reports # mount -F tmpfs swap /export/reports
詳細は、tmpfs(7FS) のマニュアルページを参照してください。
/etc/vfstab ファイルにエントリを追加すると、リブートまたはマウント解除しても TMPFS として保持できます。このファイルを編集し、各フィールドをタブで区切って次のようなエントリを追加します。
swap - mount-point tmpfs - yes -
mount-point |
デフォルトのマウントポイントディレクトリ |
TMPFS として保持されるだけで、そこに作成されたファイルは保持されません。
/etc/vfstab ファイルの編集の詳細は、第 28 章「ファイルシステムのマウントとマウント解除の手順」を参照してください。
LOFS は、既存のファイルシステムへの代替パスを提供する仮想ファイルシステムです。他のファイルシステムをループバックファイルシステムにマウントしても、元のファイルシステムは変化しません。
/etc/vfstab ファイルにエントリを追加すると、リブートまたはマウント解除する間も LOFS を保持できます。
ループバックマウントは慎重に作成してください。これらは仮想ファイルシステムなので、ユーザーやアプリケーションを混乱させる可能性があります。
スーパーユーザーになります。
ループバックファイルシステムをマウントしたいディレクトリを作成し、適切なアクセス権と所有権を与えます。
ループバックファイルシステムを作成します。
# mount -F lofs loopback-directory mount-point
loopback-directory |
ループバックマウントポイントにマウントするファイルシステム |
mount-point |
LOFS をマウントするディレクトリ |
次の例は、chroot コマンドといっしょに新しいループバックファイルシステムを使用して、プロセスやプロセスファミリに完全な仮想ファイルシステムをアクセスできる方法を示しています。
# mount -F lofs / /tmp/newroot # chroot /tmp/newroot command
詳細は、lofs(7FS) または mount(1M) のマニュアルページを参照してください。
/etc/vfstab ファイルにエントリを追加すると、リブートまたはマウント解除する間もループバックファイルシステムを保持できます。ファイルを編集し、各フィールドをタブで区切って次のようなフィールドをファイルの終わりに追加します。
/ - mount-point lofs - yes -
mount-point |
デフォルトのマウントポイントディレクトリ (/tmp/newroot など) |
ループバックエントリは、/etc/vfstab ファイル内の最後のエントリでなければなりません。/etc/vfstab ファイル内でループバックファイルシステムのエントリが、そこに組み込まれるファイルシステムよりも前にあると、ループバックファイルシステムを作成できません。
/etc/vfstab ファイルの詳細は、第 28 章「ファイルシステムのマウントとマウント解除の手順」を参照してください。