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

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

ファイルシステム上のファイルにアクセスするには、ファイルシステムをマウントする必要があります。ファイルシステムのマウントとは、ファイルシステムをディレクトリ (マウントポイント) に接続し、システムで使用可能にすることです。ルート (/) ファイルシステムは、常にマウントされています。他のファイルシステムは、ルート (/) ファイルシステムに接続したり切り離したりすることができます。

ファイルシステムをマウントすると、そのファイルシステムがマウントされている間は、マウントポイントのディレクトリ内に実際に存在しているファイルやディレクトリは使用できなくなります。これらのファイルはマウント処理の影響を永続的に受けるわけではなく、ファイルシステムをマウント解除すると再び使用できるようになります。通常は存在はするがアクセスできないファイルは混乱の原因になるので、マウントディレクトリを空にしておきます。

次の例では、ルート (/) ファイルシステムの下に、サブディレクトリ sbinetc、および opt を持つローカルのファイルシステムを示します。

図 26-1 ルート (/) ファイルシステムの例

Graphic

ここでは、標準添付されていない製品セットが含まれている /opt ファイルシステムからローカルファイルシステムにアクセスするものとします。

まず、ファイルシステムをマウントするためのマウントポイントとして使用するディレクトリを作成しなければなりません (たとえば、/opt/unbundled)。マウントポイントを作成すると、mount コマンドでファイルシステムをマウントでき、/opt/unbundled 内のすべてのファイルとディレクトリにアクセスできるようになります (図 26-2 を参照)。これらの作業を実行するための詳細な手順については、第 28 章「ファイルシステムのマウントとマウント解除の手順」を参照してください。

図 26-2 ファイルシステムのマウント

Graphic

ファイルシステムをマウント解除すると、そのファイルシステムはマウントポイントから削除されます。一部のファイルシステム管理作業は、マウントされたファイルシステム上では実行できません。次の場合には、ファイルシステムをマウント解除する必要があります。

ファイルシステムの完全バックアップを実行する前に、そのファイルシステムをマウント解除しておくとよいでしょう。バックアップの実行方法については、第 33 章「ファイルシステムのバックアップと復元の概要」を参照してください。


注 -

ファイルシステムは、システムのシャットダウン手続きの一部として自動的にマウント解除されます。


マウントされたファイルシステムテーブル

ファイルシステムをマウントまたはマウント解除すると、現在マウントされているファイルシステムのリストを使用して、/etc/mnttab (マウントテーブルファイル) が変更されます。マウントテーブルの内容は cat または more コマンドを使用して表示できますが、/etc/vfstab ファイルのように編集することはできません。次にマウントテーブルファイル /etc/mnttab の例を示します。


$ more /etc/mnttab
/dev/dsk/c0t3d0s0    /       ufs     rw,suid,dev=800018,largefiles 863804345
/dev/dsk/c0t3d0s6    /usr    ufs     rw,suid,dev=80001e,largefiles 863804345
/proc   /proc   proc    rw,suid,dev=2900000     863804345
fd      /dev/fd fd      rw,suid,dev=29c0000     863804345
/dev/dsk/c0t3d0s3   /export ufs     suid,rw,largefiles,dev=80001b  863804347
/dev/dsk/c0t3d0s7   /export/home ufs suid,rw,largefiles,dev=80001f 863804348
/dev/dsk/c0t3d0s4   /export/swap ufs suid,rw,largefiles,dev=80001c 863804348
/dev/dsk/c0t3d0s5   /opt  ufs   suid,rw,largefiles,dev=80001d  863804347
swap    /tmp    tmpfs   dev=2a80000     863804347
$

仮想ファイルシステム

アクセスするたびにファイルシステムを手動でマウントするのは、時間のかかる作業です。この問題を解決するために、仮想ファイルシステムテーブル (/etc/vfstab ファイル) が作成されました。このファイルに、マウントするファイルシステムとそのマウント方法が指定されます。/etc/vfstab ファイルは、2 つの重要な機能を持っています。1 つは、システムブート時に自動的にマウントするファイルシステムを指定できることです。もう 1 つは、マウントポイント名だけでファイルシステムをマウントできることです。これは、/etc/vfstab ファイルにマウントポイントと実際のデバイススライス名とのマッピングを指定することより可能になります。

デフォルトの /etc/vfstab ファイルは、システムをインストールするときに作成され、その内容はシステムソフトウェアをインストールするときに行なった選択によって異なります。ただし、システムの /etc/vfstab ファイルはいつでも編集できます。エントリを追加するときに指定する必要がある主な情報は、ファイルシステムが置かれているデバイス、マウントポイントの名前、ファイルシステムのタイプ、システムブート時に自動的にブートするかどうか (mountall(1M) コマンドを使用する)、およびマウントオプションです。

次の例は、/etc/vfstab ファイルの内容を示しています。コメント行は # で始まります。この例は、2 つのディスク (c0t0d0c0t3d0) を持つシステムの /etc/vfstab ファイルです。


例 26-1 /etc/vfstab ファイルの例


$ more /etc/vfstab
#device         device          mount           FS      fsck   mount  mount
#to mount       to fsck         point           type    pass   at boot options
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /          ufs     1       no      -
/proc           -               /proc           proc    -       no      -
/dev/dsk/c0t0d0s1 -                -            swap    -       no      -
swap            -               /tmp            tmpfs   -       yes     -
/dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr       ufs     2       no      -
/dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /test      ufs     2       yes     -
$

例 26-1 の最後のエントリは、システムブート時に /dev/dsk/c0t2d0s7 スライス上の UFS ファイルシステムを自動的にマウントポイント /test にマウントすることを指定しています。ルート (/) と /usr では、「mount at boot」フィールドの値が no に指定されていることに注意してください。これはこの 2 つのファイルシステムが、mountall コマンドを実行する前にブートシーケンスの一部としてカーネルによってマウントされるからです。

/etc/vfstab の各フィールド、このファイルの編集方法、使用方法については、第 28 章「ファイルシステムのマウントとマウント解除の手順」を参照してください。

ネットワークファイルシステム (NFS)

NFS は、1 つのシステム (通常はサーバー) の資源 (ファイルやディレクトリ) をネットワーク経由で他のシステムと共有するための分散型ファイルシステムです。たとえば、Sun 以外のアプリケーションやソースファイルを他のシステム上のユーザーと共有できます。

NFS は、資源の実際の物理的な位置をユーザーが意識しなくてすむようにします。共通に使用されるファイルのコピーをシステムごとに配置しなくても、あるシステムのディスク上にコピーを 1 つ配置することによって NFS は、他のすべてのシステムがそのコピーにネットワーク経由でアクセスできるようにします。NFS の環境では、リモートファイルシステムは、実際にはローカルシステムと区別がつきません。

システムは、ネットワークに対して共有またはエクスポートするファイルシステを持っているときに、NFS サーバーになります。サーバーは、現在エクスポートされている資源とアクセス制限 (読み取り/書き込み、読み取り専用など) のリストを管理します。

資源を共有する場合は、リモートシステムにマウントできるように、その資源を使用可能な状態にします。

資源を共有するには、次の方法があります。

資源を共有する方法については、第 28 章「ファイルシステムのマウントとマウント解除の手順」を参照してください。NFS の詳細な説明については、『NFS の管理』を参照してください。

自動マウント (AutoFS)

NFS ファイルシステムをマウントするには、自動マウントまたは AutoFS というクライアント側のサービスを使用します。このサービスによってシステムは、ユーザーがアクセスしたときに自動的に NFS ファイルシステムをマウントまたはマウント解除できます。ユーザーがファイルシステム内のファイルを使用している間、ファイルシステムはマウントされたままになります。ファイルシステムが一定の時間アクセスされなかった場合、ファイルシステムは自動的にマウント解除されます。

次に、AutoFS の特徴を示します。

AutoFS サービスは automount(1M) によって初期化され、automount はシステムのブート時に自動的に実行されます。自動マウントデーモン automountd(1M) は永続的に動作し、必要に応じて NFS ファイルシステムをマウントまたはマウント解除します。デフォルトでは、Solaris オペレーティング環境は /home を自動マウントします。

AutoFS は、ネームサービスに指定されたファイルシステムに対して動作します。この情報は、NIS、NIS+、またはローカルの /etc 内のファイルで管理されます。AutoFS を使用すると、同じファイルシステムを提供するサーバーを複数指定できます。このような方法では、1 つのサーバーがダウンしても、AutoFS が他のマシンからファイルシステムをマウントすることができます。各サーバーに優先度を示す数値を割り当てることによって、マップ内の各資源ごとにサーバーの優先順位を指定できます。

AutoFS の設定と管理方法については、『NFS の管理』を参照してください。

キャッシュファイルシステム (CacheFS)

NFS マウントされたファイルシステムの性能とスケーラビリティを向上させるには、キャッシュファイルシステム (CacheFS) を使用します。CacheFS は、サーバーとネットワークの負荷を軽減することによって、NFS サーバーの性能とスケーラビリティを向上させる汎用ファイルシステムキャッシュ機構です。

CacheFS は、階層化ファイルシステムとして設計されており、あるファイルシステムを別のファイルシステムのキャッシュに書き込む機能を持っています。NFS 環境では、CacheFS はサーバーあたりのクライアント比率を高め、サーバーとネットワークの負荷を軽減し、ポイントツーポイントプロトコル (PPP) などの低速リンク上のクライアントのパフォーマンスを向上させます。また、CacheFS と AutoFS サービスを併用すると、さらにパフォーマンスとスケーラビリティを向上することができます。

CacheFS についての詳細は、第 29 章「キャッシュファイルシステムの手順」を参照してください。

マウント方法の決定

表 26-3 に、ファイルシステムの用途に応じてファイルシステムをマウントするためのガイドラインを示します。

表 26-3 ファイルシステムのマウント方法の決定

マウントするファイルシステムとマウントの頻度 

方法 

ローカルまたはリモートのファイルシステムをときどきマウントする 

コマンド行から手動で mount コマンドを入力する。

ローカルのファイルシステムを頻繁にマウントする 

/etc/vfstab ファイルを使用して、システムがマルチユーザー状態でブートされたときに自動的にファイルシステムをマウントする。

リモートのファイルシステムを頻繁にマウントする (ホームディレクトリなど) 

  • /etc/vfstab ファイルを使用して、システムがマルチユーザー状態でブートされたときに自動的にファイルシステムをマウントする。

  • AutoFS により、ユーザーがディレクトリに移動したとき (マウント)、あるいはディレクトリから移動したとき (マウント解除) に、自動的にファイルシステムをマウントまたはマウント解除する。

パフォーマンスを向上させるには、CacheFS を使用してリモートのファイルシステムをキャッシュすることもできる。 

ファイルシステムを含む CD-ROM は、単にドライブに挿入するだけでマウントできます (ボリューム管理が自動的にマウントします)。ファイルシステムを含むフロッピーディスクは、ドライブに挿入して volcheck コマンドを実行することによりマウントできます。詳細は、パート IV「取り外し可能な媒体の管理」を参照してください。