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

第 39 章 ファイルシステムの作成 (手順)

この章では、UFS ファイルシステム、一時ファイルシステム (TMPFS)、およびループバックファイルシステム (LOFS) の作成方法について説明します。UFS ファイルシステムについては、newfs(1M) コマンドを使用してファイルシステムをハードディスク上に作成する方法を示します。TMPFS と LOFS は仮想ファイルシステムであるため、これらのファイルシステムを「実際に使用する」には、ファイルシステムをマウントします。

この章で説明する手順は次のとおりです。


注 –

UFS と DOS のファイルシステムをリムーバブルメディア上に作成する手順については、第 17 章「リムーバブルメディアの管理 (概要)」を参照してください。


UFS ファイルシステムの作成

UFS ファイルシステムをディスクに作成するためには、そのディスクをフォーマットし、スライスに分割しなければなりません。ディスクスライスとは物理的なディスクのサブセットで、連続するブロックからなる 1 つの範囲のことです。スライスはスワップ空間などの raw デバイスとして使用することも、ディスクベースのファイルシステムとして使用することもできます。ディスクのフォーマットとディスクのスライスへの分割についての詳細は、第 32 章「ディスクの管理 (概要)」を参照してください。

Solaris ボリュームマネージャなどのボリューム管理製品を使用すると、精錬された (単一のスライスや単一のディスク境界を拡張する)「ボリューム」を作成できます。ボリュームの使用方法については、『Solaris ボリュームマネージャの管理』を参照してください。


注 –

Solaris のデバイス名は、用語「スライス (デバイス名内の文字は s)」を使用して、スライス番号を参照します。スライスは「パーティション」と呼ばれていました。


UFS ファイルシステムは、インストール手順の一部として Solaris オペレーティング環境によって自動的に作成されるので、UFS ファイルシステムを作成しなければならないことはほとんどありません。次の場合には、UFS ファイルシステムを作成する (または作成し直す) 必要があります。

newfs コマンドを使用するのが、UFS ファイルシステムを作成する標準的な方法です。newfs コマンドは mkfs コマンドの使いやすいフロントエンドであり、新しいファイルシステムを作成します。newfs コマンドのパラメータ (デフォルトでは 1 シリンダ当たりのトラック数や 1 トラック当たりのセクター数など) は、 新しいファイルシステムが作成されるディスクのラベルから読み取られます。選択したオプションは、mkfs コマンドに渡され、ファイルシステムが 作成されます。

newfs コマンドのデフォルトのパラメータ

ディスクスライス上に新しいファイルシステムを作成するには、ほとんどの場合に newfs コマンドを使用します。次の表に、newfs コマンドで使用するデフォルトのパラメータを示します。

パラメータ 

デフォルト値 

ブロックサイズ 

8K バイト 

フラグメントサイズ 

1K バイト 

最小空き領域 

((64M バイト/パーティションサイズ) * 100) で算出した値を最も近い整数に切り捨てる。値は、パーティションサイズの 1% から 10% の範囲に制限される 

回転待ち 

最適化タイプ 

時間 

i ノード数 

2K バイトのディスク領域ごとに 1 個 

UFS ファイルシステムを作成する方法

  1. 次の前提条件を満たしているかどうかを確認します。

    1. ディスクをフォーマットし、スライスに分割しておかなければならない。

      ディスクのフォーマットとスライスへの分割については、第 32 章「ディスクの管理 (概要)」を参照してください。

    2. ファイルシステムを格納するスライスのデバイス名を知っていなければならない。

      ディスク番号とディスクスライス番号を調べる方法については、第 33 章「ディスクの管理 (手順)」を参照してください。

    3. 既存の UFS ファイルシステムを作成し直す場合は、そのマウントを解除する。

    4. スーパーユーザーになるか、同等の役割を引き受けていなければならない。

  2. ファイルシステムを作成します。


    # newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
    

    -N

    newfs コマンドが mkfs コマンドに渡すパラメータを表示する。ファイルシステムは実際に作成されない。newfs コマンドをテス トするのに好ましい方法。

    -b size

    ファイルシステムのブロックサイズを 1 ブロックあたり 4096 または 8192 バイトで指定する。デフォルトは 8192 バイト。 

    -i bytes

    i ノード 1 個当たりのバイト数を指定する。デフォルトはディスクのサイズによって異なる。詳細は、newfs(1M) のマニュアルページを参照。

    device-name

    新しいファイルシステムを作成するディスクデバイス名を指定する。 

    システムから、確認を促すプロンプトが表示されます。


    注意 – 注意 –

    この手順を実行する前に、スライスのデバイス名が正しく指定されていることを確認してください。間違ったスライスを指定すると、その内容は新しいファイルシステムの作成時に消去されます。そして、システムがパニックを起こす原因となる可能性があります。


  3. UFS ファイルシステムが作成されていることを確認するには、新しいファイルシステムをチェックします。


    # fsck /dev/rdsk/device-name
    

    device-name 引数は、新しいファイルシステムを格納するディスクデバイスの名前を指定します。

    fsck コマンドは、新しいファイルシステムの整合性をチェックして、問題があれば通知し、問題を修復する前にプロンプトを表示します。fsck コマンドの詳細については、第 43 章「UFS ファイルシステムの整合性チェック (手順)」または fsck(1M) のマニュアルページを参照してください。

例 — UFS ファイルシステムを作成する

次の例は、/dev/rdsk/c0t1d0s7 上に UFS ファイルシステムを作成する方法を示しています。


# newfs /dev/rdsk/c0t1d0s7
/dev/rdsk/c0t1d0s7: 725760 sectors in 720 cylinders of 14 tracks, 72 sectors
        354.4MB in 45 cyl groups (16 c/g, 7.88MB/g, 3776 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 16240, 32448, 48656, 64864, 81072, 97280, 113488, 129696, 145904, 
162112, 178320, 194528, 210736, 226944, 243152, 258080, 274288,
290496, 
306704, 322912, 339120, 355328, 371536, 387744, 403952, 420160, 436368, 
452576, 468784, 484992, 501200, 516128, 532336, 548544, 564752, 580960, 
597168, 613376, 629584, 645792, 662000, 678208, 694416, 710624,
#

次に進む手順

UFS ファイルシステムをマウントし、使用可能にするには、第 40 章「ファイルシステムのマウントとマウント解除 (手順)」に進みます。

一時ファイルシステム (TMPFS) の作成

一時ファイルシステム (TMPFS) は、ファイルシステムの読み取りと書き込みにローカルメモリーを使用します。一般に、一時ファイルシステムは、UFS ファイルシステムに比べて読み書きの速度が高速です。TMPFS ファイルシステムを使用すると、ローカルディスク上で、あるいはネットワーク経由で一時ファイルの読み書きを行う際のオーバヘッドが軽減されるのでシステムのパフォーマンスを向上できます。TMPFS ファイルシステム内のファイルは、リブートまたはマウント解除すると削除されます。

複数の TMPFS ファイルシステムを作成した場合は、すべてのファイルシステムが同じシステムリソースを使用するということに注意してください。mount コマンドの -o size オプションを使用して TMPFS のサイズを制限しないと、ある TMPFS ファイルシステムで作成されたファイルが、他の TMPFS ファイルシステムのための領域を使い切ってしまう可能性があります。

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

TMPFS ファイルシステムを作成する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. 必要に応じて、TMPFS ファイルシステムとしてマウントするディレクトリを作成します。


    # mkdir /mount-point
    

    /mount-point は、TMPFS ファイルシステムがマウントされるディレクトリです。

  3. TMPFS ファイルシステムをマウントします。


    # mount -F tmpfs [-o size=number]  swap mount-point
    

    -o size= number

    TMPFS ファイルシステムのサイズ制限を M バイト単位で示す。 

    mount-point

    TMPFS ファイルシステムがマウントされるディレクトリを示す。 

    ブート時にシステムが TMPFS ファイルシステムを自動的にマウントするように設定するには、例 — ブート時に TMPFS ファイルシステムをマウントするを参照してください。

  4. TMPFS ファイルシステムが作成されていることを確認します。


    # mount -v
    

例 — TMPFS ファイルシステムを作成する

次の例は、TMPFS ファイルシステム /export/reports を作成およびマウントし、そのサイズを 50M バイトに制限する方法を示しています。


# mkdir /export/reports
# chmod 777 /export/reports
# mount -F tmpfs -o size=50 swap /export/reports

例 — ブート時に TMPFS ファイルシステムをマウントする

ブート時にシステムが自動的に TMPFS ファイルシステムをマウントするように設定するには、/etc/vfstab のエントリを追加します。次の例は、システムのブート時に /export/test を TMPFS ファイルシステムとしてマウントする /etc/vfstab ファイルのエントリを示しています。size=number オプションを指定していないため、/export/test の TMPFS ファイルシステムのサイズは利用できるシステムリソースによってのみ制限されます。


swap - /export/test  tmpfs   -  yes  -

/etc/vfstab ファイルの詳細は、/etc/vfstab ファイルのフィールドの説明を参照してください。

ループバックファイルシステム (LOFS) の作成

LOFS ファイルシステムは、既存のファイルシステムへの代替パスを提供する仮想ファイルシステムです。他のファイルシステムを LOFS ループバックファイルシステムにマウントしても、元のファイルシステムは変化しません。

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


注意 – 注意 –

LOFS ファイルシステムは慎重に作成してください。LOFS ファイルシステムは仮想ファイルシステムなので、ユーザーやアプリケーションを混乱させる可能性があります。


LOFS ファイルシステムを作成する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. 必要に応じて、LOFS ファイルシステムとしてマウントするディレクトリを作成します。


    # mkdir loopback-directory
    
  3. 新しく作成したディレクトリに対して、適切なアクセス権と所有権を設定します。

  4. 必要に応じて、LOFS ファイルシステムをマウントするマウントポイントを作成します。


    # mkdir /mount-point
    
  5. LOFS ファイルシステムをマウントします。


    # mount -F lofs loopback-directory /mount-point
    

    loopback-directory

    ループバックマウントポイントにマウントするファイルシステムを指定する。 

    /mount-point

    LOFS ファイルシステムをマウントするディレクトリを指定する。 

  6. LOFS ファイルシステムがマウントされていることを確認します。


    # mount -v
    

例 — LOFS ファイルシステムを作成およびマウントする

次の例は、新しいソフトウェアを、実際にはインストールしないで、ループバックファイルシステムとして /new/dist ディレクトリに作成、マウント、およびテストする方法を示しています。


# mkdir /tmp/newroot
# mount -F lofs /new/dist /tmp/newroot
# chroot /tmp/newroot newcommand 

例 — ブート時に LOFS ファイルシステムをマウントする

ブート時にシステムが自動的に LOFS ファイルシステムをマウントするように設定するには、/etc/vfstab ファイルの最後にエントリを追加します。次の例は、ルート (/) ファイルシステムの LOFS ファイルシステムを /tmp/newroot にマウントする /etc/vfstab ファイルのエントリを示しています。


/ - /tmp/newroot  lofs   -  yes  -

注意 – 注意 –

ループバックファイルシステムのエントリは、/etc/vfstab ファイル内の最後のエントリでなければなりません。ループバックファイルシステムの /etc/vfstab エントリが、そこに組み込まれるファイルシステムよりも前にあると、ループバックファイルシステムをマウントできません。


/etc/vfstab ファイルの詳細は、/etc/vfstab ファイルのフィールドの説明を参照してください。