Solaris のシステム管理 (第 1 巻)

ファイルシステムのマウント (/etc/vfstab)

/etc/vfstab ファイルのフィールドの説明

/etc/vfstab ファイル内のエントリには、表 36-4 に示すように 7 つのフィールドがあります。

表 36-4 /etc/vfstab ファイルのフィールドの説明

フィールド名 

説明 

device to mount

  • ローカル UFS ファイルシステム用のブロックデバイス名 (/dev/dsk/c0t0d0s0 など)

  • リモートファイルシステム用の資源名 (myserver:/export/home など)。NFS の詳細は、『Solaris のシステム管理 (第 3 巻)』を参照してください。

  • スワップ空間用のスライスのブロックデバイス名 (/dev/dsk/c0t3d0s1 など)

  • /proc ディレクトリと proc ファイルシステムのタイプ

device to fsck

device to mount」フィールドで指定した UFS ファイルシステムに対応する raw (キャラクタ型) デバイス名 (/dev/rdsk/c0t0d0s0 など)。これによって、fsck が使用するインタフェースが決まる。読み取り専用ファイルシステムやリモートファイルシステムなど、適用できるデバイスがない場合は、ダッシュ (-) を使用する。

mount point

デフォルトのマウントポイントディレクトリ ( /usr など) を指定する。

 

FS type

「device to mount」 フィールドで指定したファイルシステムのタイプを指定する。

fsck pass

fsck がファイルシステムをチェックするか決めるために使用するパス番号。このフィールドでダッシュ (-) を指定すると、ファイルシステムはチェックされない。

このフィールドに 0 が指定されている場合、UFS ファイルシステムはチェックされないが、フィールドに 0 より大きい値が指定されている場合に UFS 以外のファイルシステムはチェックされる。 

このフィールドに 1 が指定されている場合、すべてのファイルシステムは vfstab ファイル内の順番どおりに 1 つずつ検査される。このフィールドに 1 より大きな値が指定され、さらに preen (修復) オプション (-o p) が指定されている UFS ファイルシステムが複数ある場合、効率を最大限に高めるために、fsck は複数のディスク上のファイルシステムを自動的に並行してチェックする。それ以外の場合、このフィールドの値は意味を持たない。fsck pass フィールドでは、ファイルシステムをチェックする順序を明示的には指定できない。

mount at boot

システムのブート時にファイルシステムが mountall によって自動的にマウントされるかどうかを表す。yes または no に設定。このフィールドは AutoFS とは連動していないので注意してください。ルート (/)、 /usr/var のファイルシステムは最初は vfstab ファイルからマウントされない。これらのファイルシステムおよび /proc/dev/fd などのような仮想ファイルシステムの場合、このフィールドは常に no に設定しなければならない。

mount options

ファイルシステムのマウントに使用されるオプションを (空白を空けずに) コンマで区切ったリスト。オプションなしを示すにはダッシュ (-) を使用する。汎用オプションについては、表 36-3 を参照。


注 -

/etc/vfstab ファイル内の各フィールドには必ずエントリが必要です。フィールドに値を指定しない場合は、必ずダッシュ (-) を入力してください。そうしなければ、システムが正常にブートしない可能性もあります。同様に、フィールドの値に空白文字を使用しないでください。


/etc/vfstab ファイルにエントリを追加する方法

  1. スーパーユーザーになります。

    ファイルシステムをマウントするには、ローカルのシステムにマウントポイントが必要です。マウントポイントとは、マウントされるファイルシステムが接続されるディレクトリのことです。

  2. /etc/vfstab ファイルを編集してエントリを追加します。


    注 -

    ルート (/) ファイルシステムは、ブートプロセスの過程でカーネルによって読み取り専用としてマウントされます。そのため、remount オプション (および、remount と一緒に使用できるオプション) だけが /etc/vfstab ファイルのルート (/) エントリでは有効です。


    /etc/vfstab のフィールドエントリの詳細は、 表 36-4 を参照してください。次のことを確認します。

    • 各フィールドを空白 (空白文字またはタブ) で区切る。

    • フィールドで値を指定しない場合はダッシュ (-) を入力する。

  3. 変更結果を保存します。

例 - /etc/vfstab ファイルにエントリを追加する

次の例では、デフォルトのマウントオプション (読み取り/書き込み) を使用して、ディスクスライス /dev/dsk/c0t3d0s7 を UFS ファイルとして、マウントポイントディレクトリ /files1 にマウントします。また、「device to fsck」として raw キャラクタ型デバイス /dev/rdsk/c0t3d0s7 を指定します。「fsck pass」の値が 2 なので、ファイルシステムは順不同でチェックされます。


#device           device             mount    FS       fsck   mount    mount
#to mount         to fsck            point    type     pass   at boot  options
#
/dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /files1  ufs      2      yes       -

次の例では、システム pluto 上のディレクトリ /export/man を、NFS ファイルシステムとしてマウントポイント /usr/man にマウントします。ファイルシステムが NFS であるため、「device to fsck」や「fsck pass」は指定されません。この例では、「mount options」は ro (読み取り専用) と soft になっています。信頼性を高めるために、読み取り/書き込みの NFS ファイルシステムでは hard マウントオプションを指定します。


#device           device             mount    FS       fsck   mount    mount
#to mount         to fsck            point    type     pass   at boot  options
pluto:/export/man   -                /usr/man nfs      -      yes       ro,soft
 

次の例では、ルート (/) ファイルシステムをループバックマウントポイント /tmp/newroot にマウントします。「mount at boot」には yes を指定し、「device to fsck」と「fsck pass」の番号は指定しません。LOFS ファイルシステムをマウントするときは、LOFS を構成するのに使用されるファイルシステムを先にマウントし、その後で LOFS をマウントします。


#device           device             mount    FS       fsck   mount    mount
#to mount         to fsck            point    type     pass   at boot  options
#
/                   -                /tmp/
newroot lofs -      yes       -                   

1 つのファイルシステムをマウントする方法 (/etc/vfstab)

  1. スーパーユーザーになります。

    ファイルシステムをマウントするには、ローカルのシステムにマウントポイントが必要です。マウントポイントとは、マウントされるファイルシステムが接続されるディレクトリのことです。

  2. /etc/vfstab ファイル内に列挙されているファイルシステムをマウントします。


    # mount mount-point
    

    mount-point

    /etc/vfstab ファイル内の「mount point」または「device to mount」フィールド内のエントリ。通常は、マウントポイントを指定する方が簡単です。

例 - 1 つのファイルシステムをマウントする (/etc/vfstab)

次の例では、/etc/vfstab ファイル内に列挙されているファイルシステム /usr/vfstab をマウントします。


# mount /usr/dist

/etc/vfstab ファイル内に列挙されているすべてのファイルシステムをマウントする方法

  1. スーパーユーザーになります。

    ファイルシステムをマウントするには、ローカルのシステムにマウントポイントが必要です。マウントポイントとは、マウントされるファイルシステムが接続されるディレクトリのことです。

  2. /etc/vfstab ファイル内に列挙されたファイルシステムをマウントします。


    # mountall [-l | -r] [-F fstype]

    オプションを指定しなければ、/etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定したすべてのファイルシステムがマウントされます。

    -l

    /etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定したすべてのローカルファイルシステムがマウントされる

    -r

    /etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定したすべてのリモートファイルシステムがマウントされる

    -F fstype

    /etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定した fstype タイプのすべてのファイルシステムがマウントされる

    マウントが実行される前に、「device to fsck」エントリがあるすべてのファイルシステムがチェックされ、必要であれば修正されます。

例 - /etc/vfstab ファイル内に列挙されているすべてのファイルシステムをマウントする

次の例は、mountall コマンドを実行したときに、すでにファイルシステムがマウントされている場合に表示されるメッセージを示します。


# mountall
/dev/rdsk/c0t0d0s7 already mounted
mount: /tmp already mounted
mount: /dev/dsk/c0t0d0s7 is already mounted, /export/home is busy,
        or the allowable number of mount points has been exceeded

次の例では、/etc/vfstab ファイル内に列挙されているすべてのローカルシステムをマウントします。


# mountall -l
# mount
/ on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/onerror=panic on ...
/usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/onerror=panic on ...
/proc on /proc read/write/setuid on Fri Sep 10 16:09:48 1999
/dev/fd on fd read/write/setuid on Fri Sep 10 16:09:51 1999
/etc/mnttab on mnttab read/write/setuid on Fri Sep 10 16:10:06 1999
/var/run on swap read/write/setuid on Fri Sep 10 16:10:06 1999
/tmp on swap read/write/setuid on Fri Sep 10 16:10:09 1999
/export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/onerror=panic on ...

次の例では、/etc/vfstab ファイル内に列挙されているすべてのリモートファイルシステムをマウントします。


# mountall -r
# mount
/ on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/onerror=panic on ...
/usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/onerror=panic on ...
/proc on /proc read/write/setuid on Fri Sep 10 16:09:48 1999
/dev/fd on fd read/write/setuid on Fri Sep 10 16:09:51 1999
/etc/mnttab on mnttab read/write/setuid on Fri Sep 10 16:10:06 1999
/var/run on swap read/write/setuid on Fri Sep 10 16:10:06 1999
/tmp on swap read/write/setuid on Fri Sep 10 16:10:09 1999
/export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/onerror=panic on ...
/usr/dist on mars:/usr/dist remote/read/write/setuid on Tue Sep 14 15:32:18 1999