ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Sun QFS File System 5.3 構成および管理ガイド Sun QFS and Sun Storage Archive Manager 5.3 Information Library (日本語) |
デフォルトでは、Sun QFS ファイルシステムでは、同じファイルへの同時の読み取りと書き込みが無効になっています。このモードは UNIX vnode インタフェース標準で定義されており、1 つの書き込みにのみ排他的アクセスが与えられる一方、その他の書き込み側と読み取り側は待機する必要があります。Qwrite を使用すると、さまざまなスレッドから同一ファイルへの同時読み取りと書き込みが可能になります。
Qwrite 機能は、同一ファイルへの複数の同時トランザクションを可能にするためにデータベースアプリケーションで使用できます。通常、データベースアプリケーションは大容量ファイルを管理し、同一ファイルへの同時読み取りや書き込みを実行します。ファイルへの各システムコールがカーネル内部の読み取り/書き込みロックを取得したり、解放したりします。このロックによって、同じファイルへのオーバーラップした操作や同時操作が回避されます。アプリケーションそのものがファイルロックメカニズムを実装している場合は、カーネルのロックメカニズムが入出力を不必要に直列化してパフォーマンスを妨げます。
Qwrite は、/etc/vfstab ファイル、samfs.cmd ファイル、およびマウントオプションで有効にできます。mount コマンドの -o qwrite オプションは、ファイルシステムのロックメカニズムをバイパスし (NFS 経由でファイルシステムにアクセスするアプリケーションを除く)、アプリケーションがデータアクセスを制御できるようにします。qwrite を指定すると、ファイルシステムは、さまざまなスレッドからの同一ファイルへの同時読み取りと書き込みを有効にします。このオプションは、複数の要求をドライブレベルでキューイングすることで入出力パフォーマンスを向上させます。
次の例では、mount コマンドを使用してデータベースファイルシステム上の Qwrite を有効にしています:
# mount -F samfs -o qwrite /db
この機能の詳細は、samfs.cmd(4) のマニュアルページにある qwrite 指令、または mount_samfs(1M) のマニュアルページにある -o qwrite オプションの説明を参照してください。