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

ファイルシステムのマウント

次の節では、/etc/vfstab ファイルにエントリを追加するか、コマンド行から mount コマンドを使用してファイルシステムをマウントする方法について説明します。

どのファイルシステムがマウントされているかを調べる方法

どのファイルシステムがすでにマウント済みであるかを調べるには、mount コマンドを使用します。


$ mount [ -v ]

-v

マウントされているファイルシステムのリストを冗長モードで表示する 

例 — どのファイルシステムがマウントされているかを調べる

この例は、mount コマンドを使用して、現在マウントされているファイルシステムに関する情報を表示する方法を示しています。


$ mount
/ on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror= ...
/usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/xattr/onerror= ...
/proc on /proc read/write/setuid/dev=4300000 on Fri Nov 30 11:25:13 2001
/etc/mnttab on mnttab read/write/setuid/dev=43c0000 on Fri Nov 30 11:25:13 ...
/dev/fd on fd read/write/setuid/dev=4400000 on Fri Nov 30 11:25:17 2001
/var/run on swap read/write/setuid/xattr/dev=1 on Fri Nov 30 11:25:20 2001
/tmp on swap read/write/setuid/xattr/dev=2 on Fri Nov 30 11:25:24 2001
/export on /dev/dsk/c0t0d0s4 read/write/setuid/intr/largefiles/xattr/ ...
/export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/ ...
$

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

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

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


    # mkdir /mount-point
    

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

  3. /etc/vfstab ファイルを編集してエントリを追加します。次のことを確認してください。

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

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

    3. 変更結果を保存する。

    /etc/vfstab フィールドのエントリについては、表 40–3 を参照してください。


    注 –

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


例 — /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 になっています。


#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 にマウントする方法を示しています。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/dist をマウントする方法を示しています。


# mount /usr/dist

例 — すべてのファイルシステムをマウントする (/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

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

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


# mountall -l
# mount
/ on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror= ...
/usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/xattr/ ...
/proc on /proc read/write/setuid/dev=38c0000 on Tue Oct 30 15:45:32 2001
/etc/mnttab on mnttab read/write/setuid/dev=3980000 on Tue Oct 30  ...
/dev/fd on fd read/write/setuid/dev=39c0000 on Tue Oct 30 15:45:36 2001
/var/run on swap read/write/setuid/xattr/dev=1 on Tue Oct 30 15:45:39 ...
/tmp on swap read/write/setuid/xattr/dev=2 on Tue Oct 30 16:05:57 2001
/datab on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/xattr/ ...

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


# mountall -r
# mount
/ on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror= ...
/usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/xattr/onerror= ...
/proc on /proc read/write/setuid/dev=38c0000 on Tue Oct 30 15:45:32 2001
/etc/mnttab on mnttab read/write/setuid/dev=3980000 on Tue Oct 30 ...
/dev/fd on fd read/write/setuid/dev=39c0000 on Tue Oct 30 15:45:36 2001
/var/run on swap read/write/setuid/xattr/dev=1 on Tue Oct 30 15:45:39 2001
/tmp on swap read/write/setuid/xattr/dev=2 on Tue Oct 30 16:05:57 2001
/datab on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/xattr/ ...
/home/rimmer on pluto:/export/home/rimmer remote/read/write/setuid/xattr ...

UFS ファイルシステムのマウント方法 (mount コマンド)

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

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


    # mkdir /mount-point
    

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

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


    # mount [-o mount-options] /dev/dsk/device-name /mount-point
    

    -o mount-options

    UFS ファイルシステムのマウントに使用できるマウントオプションを指定する。オプションの詳細は、表 40–2 または mount_ufs(1M) のマニュアルページを参照。

    /dev/dsk/device-name

    ファイルシステムが含まれているディスクスライス用のディスクデバイス名 (/dev/dsk/c0t3d0s7 など) を指定する。ディスクのスライス情報については、ディスクスライス情報を表示する方法を参照。

    /mount-point

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

例 — UFS ファイルシステムをマウントする (mount コマンド)

次の例は、/dev/dsk/c0t3d0s7/files1 ディレクトリにマウントする方法を示しています。


# mount /dev/dsk/c0t3d0s7 /files1

例 — ロギングを有効にして UFS ファイルシステムをマウントする (mount コマンド)

UFS ロギングによってファイルシステムの整合性が保たれるために、システムのリブート時間が大幅に短縮されます。次の例は、ロギングを有効にして、/dev/dsk/c0t3d0s7/files1 ディレクトリにマウントする方法を示しています。


# mount -o logging /dev/dsk/c0t3d0s7 /files1

大規模ファイルを持たない UFS ファイルシステムをマウントする方法 (mount コマンド)

ファイルシステムをマウントするときには、largefiles オプションがデフォルトで選択されるため、2G バイトを超えるファイルを作成できます。大規模ファイルを作成した後で、nolargefiles オプションを指定してファイルシステムを再マウントするには、あるいは Solaris 2.6 およびその互換バージョンを実行するシステム上にマウントするには、大規模ファイルをすべて削除し、fsck コマンドを実行して状態を「nolargefiles」にリセットしなければなりません。

以下の手順では、ファイルシステム用のエントリが /etc/vfstab ファイルにあるものとします。

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

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


    # mkdir /mount-point
    

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

  3. ファイルシステム内に大規模ファイルが存在しないことを確認します。


    # cd /mount-point
    # find . -xdev -size +20000000 -exec ls -l {} \;
    

    /mount-point は、大規模ファイルがあるかどうかをチェックするファイルシステムのマウントポイントを指定します。

  4. 大規模ファイルが当該ファイルシステム内に存在する場合は、必要に応じてそのファイルを削除するか、他のファイルシステムに移動します。

  5. ファイルシステムをマウント解除します。


    # umount /mount-point
    
  6. ファイルシステムの状態をリセットします。


    # fsck /mount-point
    
  7. nolargefiles オプションを指定してファイルシステムを再マウントします。


    # mount -o nolargefiles /mount-point
    

例 — 大規模ファイルを持たないファイルシステムをマウントする (mount コマンド)

次の例は、/datab ファイルシステムをチェックし、nolargefiles オプションを指定して再マウントする方法を示しています。


# cd /datab
# find . -xdev -size +2000000 -exec ls -l {} \;
# umount /datab 
# fsck /datab
# mount -o nolargefiles /datab

NFS ファイルシステムのマウント方法 (mount コマンド)

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

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


    # mkdir /mount-point
    

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

  3. リソース (ファイルまたはディレクトリ) がサーバーから使用可能かどうかを確認します。

    NFS ファイルシステムをマウントするには、share コマンドを使用し、サーバー上のリソースを使用可能にしておかなければなりません。リソースの共有方法については、『Solaris のシステム管理 (資源管理とネットワークサービス)』の「NFS サービスについて」を参照してください。

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


    # mount -F nfs [-o mount-options] server:/directory /mount-point
    

    -o mount-options

    NFS ファイルシステムのマウントに使用できるマウントオプションを指定する。汎用マウントオプションのリストについては、表 40–2 を参照。オプションについては、mount_nfs(1M) のマニュアルページを参照。

    server:/directory

    共有するリソースを持つサーバーのホスト名と、マウントするファイルまたはディレクトリへのパスを指定する。 

    /mount-point

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

例 — NFS ファイルシステムをマウントする (mount コマンド)

次の例は、サーバー pluto/export/packages ディレクトリを /mnt にマウントする方法を示しています。


# mount -F nfs pluto:/export/packages /mnt

x86: ハードディスクから PCFS (DOS) ファイルシステムをマウントする方法 (mount コマンド)

次の手順で、PCFS (DOS) ファイルシステムをハードディスクからマウントします。

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

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


    # mkdir /mount-point
    

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

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


    # mount -F pcfs [-o rw | ro] /dev/dsk/device-name:logical-drive /mount-point
    

    -o rw | ro

    PCFS ファイルシステムを読み取り/書き込み (rw) または読み取り専用 (ro) にマウントできることを指定する。このオプションを指定しない場合のデフォルトは rw 

    /dev/dsk/device-name

    ディスク全体のデバイス名を指定する (/dev/dsk/c0t0d0p0 など)

    logical-drive

    DOS の論理ドライブ名 (c から z) またはドライブ番号 (1 から 24) を指定する。ドライブ c はドライブ 1 に相当し、ディスク上の基本 DOS スライスを表す。他のすべてのドライブ名やドライブ番号は、拡張 DOS スライス内の DOS 論理ドライブを表す 

    /mount-point

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

    device-name」と「logical-drive」とは、コロンで区切る必要があります。

x86: 例 — ハードディスクから PCFS (DOS) ファイルシステムをマウントする (mount コマンド)

次の例は、基本 DOS スライス内の論理ドライブを /pcfs/c ディレクトリにマウントする方法を示しています。


# mount -F pcfs /dev/dsk/c0t0d0p0:c /pcfs/c

次の例は、拡張 DOS スライス内の最初の論理ドライブを /mnt に読み取り専用としてマウントする方法を示しています。


# mount -F pcfs -o ro /dev/dsk/c0t0d0p0:2 /mnt