このページでは Linux におけるストレージ I/O 及びキャッシュ (VFSやブロックデバイス) に関して説明します。
1.Linuxの I/ Oにおけるキャッシュに関して
一般的にはRHELでは以下のファイルシステムを利用します。
データベースサーバ→ RAW ファイルシステム (ocfs,asmなど)
その他→ext3(RHEL5) 、 ext4(RHEL6)など
データベースで一般的に RAW ファイルシステムが使用されるのは以下の理由によります。
【理由1】
ext3やext4ではVFS (Virtual File System)や ブロックデバイスでファイルがキャッシュされます。
しかしデータベースは独自のキャッシュシステムを保有するため、OSのキャッシュと2重のキャッシュとなります。ゆえに性能やチューニングに問題が発生するため、キャッシュ機能がないRAW デバイスを選択します。
【理由2】
もしext3やext4などキャッシュを保有するファイルシステムを使用する場合、データベースでコミット(commit)してもOSのキャッシュに保存されファイルに反映されない可能性があります。
AIO:Asynchronous I/O、非同期 I/O
2.仮想ファイルシステム
各ファイルシステム (ext3,ext4,nfs,xfsなど) の上位層に位置する仮想的なファイルシステムです。。ファイルシステムの違いを吸収するため、アプリケーションからは統一したインターフェースでアクセスすることが可能となります。(例えば read api を発行する場合、横込み先のファイルシステムのタイプを引数に与える必要は有りません)。ローカルハードディスク上のext3ファイルシステムでもネットワーク上のnfs ファイルシステムでもアプリケーションは同一の方式でアクセスすることが可能である。
[redhat linux 技術ドキュメント トップ]
[FAQ CENTER トップ]