Solaris のシステム管理 (デバイスとファイルシステム)

仮想ファイルシステム

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

CacheFS ファイルシステム

CacheFS ファイルシステムを使用すると、リモートファイルシステムや、CD-ROM ドライブのような低速デバイスのパフォーマンスを改善できます。ファイルシステムをキャッシュすると、リモートファイルシステムや CD-ROM から読み込まれたデータは、ローカルシステム上のキャッシュに格納されます。

NFS や CD-ROM ファイルシステムのパフォーマンスとスケーラビリティーを向上させるには、CacheFS ファイルシステムを使用してください。CacheFS ソフトウェアは、サーバーとネットワークの負荷を軽減して NFS サーバーのパフォーマンスとスケーラビリティーを改善する汎用ファイルシステムキャッシュメカニズムです。

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

CacheFS ファイルシステムの詳細は、第 19 章CacheFS ファイルシステムの使用 (手順)を参照してください。

NFS Version 4 と CacheFS の互換性の問題

CacheFS クライアントと CacheFS サーバーの両方で NFS version 4 が実行されている場合、ファイルはフロントファイルシステムにキャッシュされません。すべてのファイルアクセスは、バックファイルシステムから提供されます。また、ファイルはフロントファイルシステムにキャッシュされていないため、フロントファイルシステムに反映する CacheFS 固有のマウントオプションは無視されます。CacheFS 固有のマウントオプションはバックファイルシステムに適用しません。


注 –

初めてシステムを NFS version 4 に構成すると、キャッシュが動作しないことを示す警告がコンソールに表示されます。


以前の Solaris リリースのように CacheFS マウントを実装する場合は、CacheFS mount コマンドで NFS version 3 を指定してください。次に例を示します。


mount -F cachefs -o backfstype=nfs,cachedir=/local/mycache,vers=3 
starbug:/docs /docs

一時ファイルシステム

一時ファイルシステム (TMPFS) は、ファイルシステムの読み取りと書き込みにローカルメモリーを使用します。通常、ファイルシステムの読み取りと書き込みには、UFS ファイルシステムよりもメモリーを使用したほうが効率的です。TMPFS を使用すると、ローカルディスク上で、あるいはネットワーク経由で一時ファイルの読み書きを行う際のオーバヘッドを軽減でき、システムパフォーマンスを改善できます。一時ファイルは、たとえば、プログラムのコンパイル時に作成されます。OS は、一時ファイルを操作しているとき、多くのディスク処理またはネットワーク処理を行います。TMPFS を使ってこれらの一時ファイルを管理することで、それらの作成、操作、および削除の効率を大幅に向上できます。

TMPFS ファイルシステムのファイルは、永続的に保存されるわけではありません。これらのファイルは、ファイルシステムのマウントが解除されるときと、システムがシャットダウンまたはリブートされるときに削除されます。

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

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

TMPFS ファイルシステムの作成方法については、第 17 章ZFS、UFS、TMPFS、LOFS ファイルシステムの作成 (手順)を参照してください。スワップ空間を追加する方法については、第 20 章追加スワップ空間の構成 (手順)を参照してください。

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

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

LOFS ファイルシステムを作成する手順については、第 17 章ZFS、UFS、TMPFS、LOFS ファイルシステムの作成 (手順)を参照してください。

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

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


注意 – 注意 –

/proc ディレクトリ内のファイルは削除しないでください。/proc ディレクトリからプロセスを削除しても、そのプロセスは強制終了されません。/proc ファイルはディスク容量を消費しないため、このディレクトリからファイルを削除しても無意味です。


/proc ディレクトリは、管理が不要です。

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

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

仮想ファイルシステム 

説明 

CTFS 

CTFS (契約ファイルシステム) は、契約の作成、制御、および監視のためのインタフェースです。契約は、豊富なエラー報告機能とリソースの削除を延期する手段 (オプション) を提供することにより、プロセスと、このプロセスが依存するシステムとの関係を拡張します。

サービス管理機能 (SMF) は、プロセス契約 (契約の一種) を使用して、サービスを構成するプロセス群を追跡します。このため、マルチプロセスサービスの一部分での障害をそのサービスの障害として識別できます。 

FIFOFS (先入れ先出し) 

プロセスにデータへの共通アクセス権を与える名前付きパイプのファイル。

FDFS (ファイル記述子) 

開いているファイルに、ファイル記述子を使用して名前を明示的に与えます。

MNTFS 

ローカルシステムに、マウント済みファイルシステムのテーブルへの読み取り専用アクセスを提供します。 

NAMEFS 

ほとんどの場合、ファイル記述子をファイルの先頭に動的にマウントするために STREAMS に使用されます。

OBJFS 

OBJFS (オブジェクト) ファイルシステムは、現在カーネルによってロードされているすべてのモジュールの状態を説明します。デバッガはこのファイルシステムにアクセスすることで、カーネルに直接アクセスしなくてもカーネルシンボルに関する情報を入手できます。

SHAREFS 

ローカルシステムの共有ファイルシステムのテーブルに対する読み取り専用アクセス権を提供します。

SPECFS (特殊) 

キャラクタ型特殊デバイスとブロック型デバイスへのアクセスを提供します。

SWAPFS 

カーネルがスワッピングに使用するファイルシステム。

libc_hwcap

x86 システムでのマウント出力には、libc のハードウェア最適化の実装である、 libc_hwcap ライブラリのループバックマウントが含まれる場合があります。この libc の実装は、32 ビットアプリケーションのパフォーマンスを最適化するためのものです。

このループバックマウントは、管理の必要がなく、ディスク容量を消費しません。