仮想ファイルシステム 【VFS】 Virtual File System / 仮想ファイルシステムスイッチ / Virtual Filesystem Switch
概要
仮想ファイルシステム(VFS)とは、LinuxなどのUNIX系OSのファイルシステムの持つ仕組みの一つで、アプリケーションソフトとファイルシステムの間を仲介し、ファイルシステムの基本的な機能を共通の方法で利用できるようにするもの。仮想ファイルシステムはどのようなファイルシステムにも共通して実装されているような、基本的なファイルやディレクトリの操作を行う機能の呼び出し規約(API)を提供する。各アプリケーションはこれに則ってファイルなどを操作する要求を仮想ファイルシステムに送り、仮想ファイルシステムがこれを解釈して実際に稼働している個別のファイルシステムへの要求に変換する。
この機構により、アプリケーション側で各ファイルシステムに対応するためのコードを用意する必要がなくなり、ファイルシステムごとの細かな違いを意識することなく共通の方法でファイルやディレクトリに対する基本的な操作を行うことができる。NFSなどと組み合わせて用いれば、本体内のストレージ装置と同じようにネットワーク越しに別のコンピュータのストレージにアクセスできる。
仮想化されたファイルシステム
一部の仮想化システムでは、実際のストレージ装置にある単一のファイルをファイルシステムのように扱うことができる仕組みを持ち、これを仮想ファイルシステムと呼ぶことがある。
ファイルをファイルシステムの「入れ物」として使い、仮想的なファイルシステムを構築する。内部には仮想化ソフトを通じてアクセスし、通常のストレージと同じようにファイルやディレクトリを作成することができる。
仮想化ソフトによって物理的なコンピュータ上に作成された仮想マシン(VM:Virtual Machine)のインスタンスに付属するファイルシステムとして用いられ、そのインスタンスが扱うデータの保存や読み出しのために用いられる。
インスタンスの生成や移動、破棄に伴っていちいち実際のストレージ上のファイルシステムを準備したり削除するのは大変だが、仮想ファイルシステムならば単一のファイルにまとまっているため容易に新規作成、移転、複製、廃棄することができる。