2012/01/04

XFS inode64 オプションの罠

XFSは速いしボリュームサイズの上限も大きいので採用が増えてると思います.
が,32bitモードで使っていると,先頭1TBにinode情報を書くため,まだ空き容量があるのに,新たなファイルが作成できなくなるという問題があります.通常先頭1TBにデータは書き込まれないのでこの問題にはそう簡単にはぶつかりませんが,実はDISKフル近くまで書きこむと,先頭1TB領域にもデータを置き始めるので,実はinode書き込み領域が枯渇する現象に出くわします.

dfで見ると容量はあるのに,No left device と言われて悩まされます.

それを解決するには,inode64オプションの設定が推奨されます.inode64オプションを付与してマウントすることで,inodeの書き込み場所が全体になるので空きがあるのに書き込めないという減少は改善します.

が,,,このディスクで32bitアプリ(OSは64bit)を動かすには注意が必要です.これも余り無いと思いますが,statシステムコールが32bitを期待してbuildされているので,XFS inode64が返す64bitのstat構造体を理解することができません....

XFSにする時はだいぶ慎重に選んだけど,inode64オプションを付ける時は,実害は無いだろうとたかを括ってた...