vfs_aio_linux — Linux kernel aio コールを利用するSamba vfs中での非同期I/Oの実装
vfs objects = aio_linux
このVFSモジュールは samba(7)システムの一部である。
aio_linux VFS モジュールは、POSIX AIOインタフェースを
使わない、kernel AIO コールが有効なLinuxカーネル上でSamba用の非同期I/Oを有効に
する。Posix AIO はきつい制限がある。たとえば、あるLinuxバージョン上では
それが使うリアルタイムシグナルは、高負荷の時には動作しない。glibc(ほとんどの
Linuxシステム)ベースのシステムは、glibc実装を使うシステム上でPosix AIOが本質的に
無効になってしまう、ファイル記述子あたり単一の未処理要求のみ許可される。
これらすべての制限を回避するために、aio_linux モジュールが書かれた。 これは、非同期に、読み出しと書き込み呼び出しを許可するため、内部の POSIX AIO インタフェースの代わりに Linux kernel AIO インタフェースを使う。 128イベントのキューサイズは既定値として使われる。この制限を変更するためには、 以下で述べる"aio num events"を設定する。
smb.conf パラメーターaio read sizeと
aio write sizeは、このモジュールを有効にするために、
適切に設定することも必要であるということに注意。
このモジュールは、Samba VFS pread/pwrite インタフェースがスレッドセーフで ないため、他のモジュールスタックの後に配置しなければならない。このモジュールは 直接preadとpwriteシステムコールを呼び出し、Samba VFS pread と pwriteインタフェースを 使わないことに注意。
簡単な使い方:
[cooldata]
path = /data/ice
aio read size = 1024
aio write size = 1024
vfs objects = aio_linux
未処理のIO要求を制限するために使われる、イベントキューの 最大値を設定する。
既定値は 128 である。
このマニュアルページは、バージョン 4.0.14 のSambaシステム用である。
オリジナルの Samba ソフトウェアと関連するユーティリティは、Andrew Tridgell によって作成された。現在 Samba は Samba Team に よって、Linuxカーネルの開発と同様のオープンソースプロジェクト として開発が行なわれている。
このマニュアルページは、Samba 4.0.6 - 4.0.14 対応のものである。
このドキュメントの Samba 4.0.0 - 4.0.14 の翻訳は
太田俊哉 (ribbon@samba.gr.jp)
によって行なわれた。