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

第 26 章 ファイルシステムの概要

この章の内容は次のとおりです

ファイルシステムにおける新機能

Solaris 7 では、ファイルシステムの 2 つの新機能が提供されます。UFS ロギングと、ファイルのアクセス時間更新を無視する新しいマウントオプションです。

UFS ロギングとは、トランザクション (UFS に対する変更操作のすべて) が UFS ファイルシステムに適用される前に、ログに格納するプロセスのことです。一度格納したトランザクションは、その後ファイルシステムに適用できます。

UFS ロギングには 2 つの利点があります。まず UFS ロギングは、ファイルシステムの整合性を保持するため、fsck(1M) を実行する必要がなくなります。また、fsck を省略できるために、システムがクラッシュした場合、あるいは、不完全に停止後、システムリブートの時間が短くなります。

デフォルトでは、UFS ロギングは無効です。UFS ロギングを有効にするには、ファイルシステムをマウントするときに、-o logging オプションを mount コマンドに指定しなければなりません。また、fsdb コマンドも更新され、UFS ロギング用の新しいデバッグコマンドを持つようになりました。

ファイルのアクセス時間の更新を無視するには、UFS ファイルシステムをマウントするときに、-o noatime オプションを指定します。このオプションによって、アクセス時間が重要でないファイルシステム (たとえば、Usenet ニューススプール) でのディスクに対する動作が減ります。詳細は、mount_ufs(1M) のマニュアルページを参照してください。

概要

ファイルシステムは、ファイルを編成して格納するためのディレクトリ構造です。「ファイルシステム」という用語には、さまざまな使用方法があります。

通常、その意味は状況に応じて判断できます。

Solaris オペレーティング環境は、各種ファイルシステムへの標準インタフェースを提供する「仮想ファイルシステム」 (VFS) アーキテクチャを使用します。VFS アーキテクチャによって、ユーザーやプログラムが基礎となるファイルシステムのタイプを知らなくても、カーネルはファイルの読み取り、書き込み、一覧表示などの基本操作を処理できます。

ファイルシステムの管理は、最も重要なシステム管理作業の 1 つです。この章を読んで概念と計画方法について理解してください。次の作業については、Part VIII の他の章と他の Part を参照してください。

ファイルシステムのタイプ

Solaris システムソフトウェアでは、次の 3 種類のファイルシステムがサポートされます。

ファイルシステムのタイプを確認するには、「ファイルシステムのタイプを調べる」を参照してください。

ディスクベースのファイルシステム

ディスクベースのファイルシステムは、ハードディスク、CD-ROM、フロッピーディスクなどの物理媒体に格納されます。ディスクベースのファイルシステムは、さまざまな形式で作成できます。利用できる形式は次のとおりです。

ディスクベースの各種ファイルシステムは、次のように特定の媒体のタイプに対応しています。

ただし、上記以外の対応も可能です。たとえば、CD-ROM やフロッピーディスクにも、UFS ファイルシステムを適用できます。

ネットワークベースのファイルシステム

ネットワークベースのファイルシステムは、ネットワーク上でアクセスされるファイルシステムです。一般に、ネットワークベースのファイルシステムは 1 つのシステム上 (通常はサーバー上) にあり、他のシステムからネットワーク経由でアクセスされます。NFS は、ネットワークベースで利用できる唯一のファイルシステムです。

NFS は、Solaris の分散ファイルシステムです。NFS で分散資源 (ファイルやディレクトリ) を管理するには、サーバーから分散資源をエクスポートして個々のクライアントシステムでそれらをマウントします。詳細は、「ネットワークファイルシステム (NFS)」を参照してください。

仮想ファイルシステム

仮想ファイルシステムは、特殊なカーネル情報と機能へのアクセスを提供するメモリーベースのファイルシステムです。ほとんどの仮想ファイルシステムは、ディスク領域を使用しません。ただし、キャッシュファイルシステム (CacheFS) は、ディスク上のファイルシステムを使用してキャッシュを保持します。また、一時ファイルシステム (TMPFS) などの一部の仮想ファイルシステムは、ディスク上のスワップ空間を使用します。

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

キャッシュファイルシステム (CacheFS) を使用すると、リモートファイルシステムや、CD-ROM ドライブのような低速デバイスの性能を改善できます。ファイルシステムをキャッシュすると、リモートファイルシステムや CD-ROM から読み込まれたデータは、ローカルシステム上のキャッシュに格納されます。CacheFS ファイルシステムの設定と管理については、第 29 章「キャッシュファイルシステムの手順」を参照してください。

一時ファイルシステム

一時ファイルシステム (TMPFS) は、ファイルシステムの読み取りと書き込みにローカルメモリーを使用します。一般に、一時ファイルシステムは、UFS ファイルシステムに比べてアクセス速度が高速です。TMPFS ファイルシステムを使用すると、ローカルディスク上で、あるいはネットワーク経由で一時ファイルの読み書きを行う際のオーバヘッドを軽減でき、システムパフォーマンスを改善できます。たとえば、プログラムをコンパイルすると一時ファイルが作成されます。オペレーティングシステムは、これらのファイルを処理する間に大量のディスク処理やネットワーク処理を行います。TMPFS を使用してこれらの一時ファイルを格納すると、その作成、処理、または削除が大幅に高速になります。

ファイルシステムのマウントが解除されるときと、システムがシャットダウンまたはリブートされるときに、一時ファイルシステム上のファイルは削除されます。

TMPFS は、Solaris オペレーティング環境内の /tmp ディレクトリのデフォルトのファイルシステムです。UFS /tmp ファイルシステムの場合と同様に、/tmp ディレクトリとの間でファイルをコピーまたは移動できます。

TMPFS ファイルシステムは、一時的な退避場所としてスワップ空間を使用します。TMPFS ファイルシステムがマウントされたシステムのスワップ空間が足りないと、次の 2 つの問題が発生する可能性があります。

TMPFS ファイルシステムの作成方法については、第 27 章「ファイルシステムの作成手順」を参照してください。スワップ空間を拡張する方法については、第 30 章「追加スワップ空間の構成の手順」を参照してください。

ループバックファイルシステム

ループバックファイルシステム (LOFS) を使用すると、代替パス名を使用してファイルにアクセスできるように、新しい仮想ファイルシステムを作成できます。たとえば、/ のループバックマウントを /tmp/newroot 上で作成できます。ファイルシステム階層全体が、NFS サーバーからマウントされるファイルシステムを含め、/tmp/newroot 上に複写されたように見えます。どのファイルにも、/ で始まるパス名または /tmp/newroot で始まるパス名を使用してアクセスできます。

LOFS ファイルシステムの作成方法については、第 27 章「ファイルシステムの作成手順」を参照してください。

プロセスファイルシステム

プロセスファイルシステム (PROCFS) はメモリー内にあります。PROCFS の /proc ディレクトリには、有効なプロセスのプロセス番号別リストが入っています。/proc ディレクトリ内の内容は、ps などのコマンドに使用されます。デバッガや他の開発ツールも、ファイルシステムコールを使用して、プロセスのアドレス空間にアクセスできます。


注意 - 注意 -

/proc ディレクトリ内のファイルは削除しないでください。/proc ディレクトリからプロセスを削除するのは、最善の方法ではありません。/proc ファイルはディスク容量を消費しないため、このディレクトリからファイルを削除してもあまり意味がないので注意してください。


/proc ディレクトリには、システム管理は不要です。

その他の仮想ファイルシステム

次のタイプの仮想ファイルシステムは、参考のために掲載してあります。管理は不要です。

ファイルシステム管理コマンド

ほとんどのファイルシステム管理コマンドには、汎用コマンドとファイルシステム専用の 2 種類があります。可能な場合には、常に汎用コマンドを使用してください。汎用コマンドは、ファイルシステム固有のコマンドを呼び出します。表 26-1 に、汎用ファイルシステム管理コマンドを示します。これらのコマンドは、/usr/sbin ディレクトリに入っています。

表 26-1 汎用ファイルシステム管理コマンド

コマンド 

機能 

clri(1M)

i ノードをクリアする。 

df(1M)

空きディスクブロック数とファイル数を出力する。 

ff(1M)

ファイルシステムのファイル名と統計情報を表示する。 

fsck(1M)

ファイルシステムの完全性をチェックし、検出された損傷を修復する。 

fsdb(1M)

ファイルシステムをデバッグする。 

fstyp(1M)

ファイルシステムのタイプを調べる。 

labelit(1M)

テープにコピーするときに、ファイルシステムのラベルを表示または作成する (volcopy コマンド専用)。

mkfs(1M)

新しいファイルシステムを作成する。 

mount(1M)

ローカルおよびリモートのファイルシステムをマウントする。 

mountall(1M)

仮想ファイルシステムテーブルに指定されているすべてのファイルシステムをマウントする。 (/tec/vfstab)

ncheck(1M)

パス名とその i 番号のリストを生成する。 

umount(1M)

ローカルおよびリモートのファイルシステムをマウント解除する。 

umountall(1M)

仮想ファイルシステムテーブルに指定されているすべてのファイルシステムをマウント解除する。(/etc/vfstab)

volcopy(1M)

ファイルシステムのイメージコピーを作成する。 

ファイルシステムコマンドによるファイルシステムタイプの判断

汎用ファイルシステムコマンドは、次の順序でファイルシステムのタイプを判断します。

  1. -F オプションで指定されているファイルシステムのタイプ

  2. 特殊デバイスを /etc/vfstab 内のエントリと突き合わせて判断します (special が指定されている場合)。たとえば fsck は、まず fsck device フィールドと突き合わせて一致するエントリを検索します。一致するエントリが見つからなければ、特殊デバイスフィールドと突き合わせてチェックします。

  3. ローカルファイルシステムの場合は /etc/default/fs 内で指定されたデフォルトを使用し、リモートファイルシステムの場合は /etc/dfs/fstypes 内で指定されたデフォルトを使用して判断します。

汎用コマンドと専用コマンドのマニュアルページ

汎用コマンドと専用コマンドについては、『man Pages(1M): System Administration Commands』を参照してください。専用コマンドのマニュアルページは、汎用コマンドのマニュアルページに続いて入っています。特定のマニュアルページを見つけるには、汎用コマンド名の末尾にアンダースコアとファイルシステムタイプの略称を追加してください。たとえば、UFS ファイルシステムのマウントに関して専用コマンドのマニュアルページを調べるには、man mount_ufs(1M) と入力します。

デフォルトの Solaris ファイルシステム

Solaris ファイルシステムは階層構造になっており、ルートディレクトリ (/) から始まり、下位に多数のディレクトリが形成されています。Solaris のインストールプロセスは、デフォルトのディレクトリセットをインストールし、一連の規則を適用して類似するタイプのファイルをグループ化します。表 26-2 に、デフォルトの Solaris ファイルシステムの概要と、各ファイルシステムのタイプを示します。

システムを動作させるには、ルート (/) と /usr のファイルシステムが必要です。/usr ファイルシステムに置かれている最も基本的なコマンドの一部 (mount など) は、システムのブート時や、システムがシングルユーザーモードで実行しており、/usr ファイルシステムがマウントされていない場合でも使用できるように、ルート (/) ファイルシステムにも置かれています。デフォルトディレクトリのリストについては、第 32 章「ファイルシステムの参照情報」を参照してください。

表 26-2 デフォルトの Solaris ファイルシステム

ファイルシステムまたはディレクトリ 

ファイルシステムのタイプ 

説明 

ルート (/)

UFS 

階層ファイルツリーの最上位。ルートディレクトリには、カーネル、デバイスドライバ、システムのブートに使用されるプログラムなど、システム処理に欠かせないディレクトリとファイルが入っている。また、ローカルとリモートのファイルシステムをファイルツリーに接続できるマウントポイントディレクトリも入っている。 

/usr

UFS 

他のユーザーと共有できるシステムファイルとディレクトリ。特定のタイプのシステム上でのみ実行できるファイルは、/usr ディレクトリに入っている (SPARC 実行可能ファイルなど)。どのタイプのシステム上でも使用できるファイル (マニュアルページなど) は、/usr/share に入っている。

/export/home または /home

NFS、UFS 

ユーザーのホームディレクトリのマウントポイント。ホームディレクトリには、そのユーザーの作業ファイルが格納される。デフォルトでは、/home は自動マウントされるファイルシステムである。スタンドアロンシステム上では、/home はローカルディスクスライス上の UFS ファイルシステムの場合がある。

/var

UFS 

ローカルシステムの使用中に変化または拡大する可能性のあるシステムファイルとディレクトリ。これには、システムログ、viex のバックアップファイル、および uucp ファイルが含まれる。

/opt

NFS、UFS 

オプションの Sun 以外のソフトウェア製品のマウントポイント。システムによっては、/opt がローカルディスクスライス上の UFS ファイルシステムの場合がある。

/tmp

TMPFS 

システムがブートされるたびにまたは /tmp ファイルシステムがマウント解除されるたびに消去される一時ファイル

/proc

PROCFS 

アクティブなプロセスの番号別リスト 

スワップ空間

Solaris オペレーティング環境は、一部のディスクスライスをファイルシステムではなく一時記憶域として使用します。これらのスライスを「スワップスライス」または「スワップ空間」と呼びます。スワップスライスは、現在のプロセスを処理するだけの十分な物理メモリーがシステムにない場合に、仮想メモリー記憶域として使用されます。

多くのアプリケーションは十分なスワップ空間が使用できることを前提に作成されているため、スワップ空間を割り当て、その使われ方を監視して、必要に応じてスワップ空間を追加する方法を知っておくことは大切です。スワップ空間の概要とスワップ空間を追加する手順については、第 30 章「追加スワップ空間の構成の手順」を参照してください。

UFS ファイルシステム

UFS は、Solaris オペレーティング環境内のデフォルトのディスクベースファイルシステムです。ほとんどの場合、ディスクベースのファイルシステムを管理するときには、UFS を管理していることになります。UFS ファイルシステムの機能は次の通りです。

UFS ファイルシステムの詳細は、第 32 章「ファイルシステムの参照情報」を参照してください。

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

UFS ファイルシステムを作成すると、ディスクスライスは、1 つまたは複数の連続するディスクシリンダから構成されるシリンダグループに分割されます。シリンダグループはさらに、位置指定可能なブロックに分割され、このブロックによって、シリンダグループ内のファイルの構造が編成され、制御されます。各種のブロックは、ファイルシステム内で特定の機能を持っています。

UFS ファイルシステムには、次の 4 種類のブロックがあります。

各ブロックタイプの詳細については、「UFS ファイルシステムのシリンダグループの構造」を参照してください。

newfs コマンドまたは mkfs コマンドの引数を使用してファイルシステムをカスタマイズするには、これらのパラメータの変更方法について第 32 章「ファイルシステムの参照情報」を参照してください。

UFS ロギング

UFS ロギングは、トランザクション (完全な UFS 操作を構成する変更) をログに保存してから、そのトランザクションを UFS ファイルシステムに適用するプロセスです。保存されたトランザクションは、後でファイルシステムに適用できます。

システムはリブート時に、不完全なトランザクションを廃棄しますが、完結している操作のトランザクションは適用します。完結しているトランザクションだけが適用されるために、ファイルシステムの整合性が保たれます。通常であればシステムコールの実行が中断され、UFS ファイルシステムの整合性が確保できないシステムクラッシュ時にも、ファイルシステムの整合性が保たれます。

UFS ロギングには 2 つの長所があります。まず、ファイルシステムの整合性が保持されるため、fsck(1M) を実行する必要がなくなります。また、fsck を省略できるため、システムがクラッシュしたり、異常停止 (クリーンではない停止) した場合でもシステムをリブートするのに要する時間を短縮できます。クリーンではない停止についての詳細は、fsck でチェックして修復される内容」を参照してください。UFS ロギングを使用すれば、特に、通常であれば fsck による読み込みと確認に時間がかかる大規模ファイルシステムを持つシステムのブート時間を短縮できます。

UFS ロギングが作成するログは、いっぱいになるとフラッシュされます。また、ファイルシステムがマウント解除されたとき、あるいは lockfs -f コマンドを実行したときにも、ログはすべてフラッシュされます。

デフォルトでは、UFS ロギングは無効です。UFS ロギングを有効にするには、ファイルシステムをマウントするときに、-o logging オプションを指定して mount(1M) コマンドを実行しなければなりません。ログはファイルシステムの空きブロックから割り当てられ、1G バイトのファイルシステムごとに約 1M バイトのサイズ (合計で 64M バイトまで) が割り当てられます。ログは、ルート (/) ファイルシステムを含む、任意の UFS で有効にできます。また、fsdb コマンドには、UFS ロギングをサポートするための新しいデバッグオプションが追加されています。

UFS ファイルシステムの計画

ファイルシステムの配置を決めるときには、要求が競合する可能性があることを考えなければなりません。推奨事項は次の通りです。

デフォルトのファイルシステムパラメータや、新しいファイルシステムを作成するときの前提条件と手順については、第 27 章「ファイルシステムの作成手順」を参照してください。

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

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

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

次の例では、ルート (/) ファイルシステムの下に、サブディレクトリ 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「取り外し可能な媒体の管理」を参照してください。

ファイルシステムのタイプを調べる

ファイルシステムのタイプは、次のいずれかを使用して判断できます。

ファイルシステムのタイプを調べる方法

この手順は、ファイルシステムがマウントされているかどうかに関わらず使用できます。

grep コマンドを使用して、ファイルシステムのタイプを調べます。


$ grep mount-point fs-table

mount-point

タイプを調べるファイルシステムのマウントポイント名を指定する。 

fs-table

ファイルシステムのタイプを調べるファイルシステムテーブルへの絶対パスを指定する。ファイルシステムがマウントされている場合、fs-table/etc/mnttab。マウントされていない場合、fs-table/etc/vfstab

マウントポイントの情報が表示されます。


注 -

ディスクスライスの raw デバイス名を知っている場合、fstyp(1M) コマンドで、ファイルシステムのタイプを調べることができます (そのディスクスライスにファイルシステムが含まれている場合)。


例 - ファイルシステムのタイプを調べる

次の例は、/etc/vfstab を使用して、/export ファイルシステムのタイプを調べます。


$ grep /export /etc/vfstab
/dev/dsk/c0t3d0s6   /dev/rdsk/c0t3d0s6  /export ufs   2       yes    -
$ 

次の例は、/etc/mnttab ファイルを使用して、現在マウントしている (ボリューム管理でマウントした) フロッピーディスクのファイルシステムのタイプを調べます。


$ grep /floppy /etc/mnttab
/vol/dev/diskette0/unnamed_floppy   /floppy/unnamed_floppy  pcfs    rw,nohidden,
nofoldcase,dev=16c0009      89103376
$