[pgsql-jp: 36507] PostgreSQLのデータ領域をNAS上にした場合

Kouji Ito kouji @ cty-net.ne.jp
2005年 12月 9日 (金) 11:47:05 JST


こんにちは、伊藤です。

PostgreSQLのデータ領域をNAS(NFS,CIFSなど)上に置いた場合、
ローカルなファイルシステム上のそれと比較すると、データベースとして
致命的な状態になる可能性が格段に大きくなるまたは、そういう使い方
そのものが、PostgreSQLでは不可能という事はあるのでしょうか?

もちろん、異なる計算機上で動作している複数のPostgreSQLがNAS上の
1つのデータ領域をつつき回すという使い方はしません。
あくまでも、1つのPostgreSQLと、1つのデータ領域という前提です。

私が調べたところ、PostgreSQLは最終的にデータをストレージに書き出す
時に、ファイルの排他(flockや、fcntlを使っての排他)を使っている様子は
在りませんでした。
また、PostgreSQLはファイルへの書き込みを行った後は、きちんとfsync
していると思います。

ネットワーク型のファイルシステムと、ローカルファイルシステムを比較すると、
ネットワーク型のファイルシステムの場合、LANケーブルや、HUB、場合に
よっては、ルータなど最終的にストレージに到達するまでに通過する機器は
増えますし(=障害発生の確立は上がる)、伝送速度も場合によっては大き
く変化すると思います。
そういう意味で、あまりお勧め出来ないという意見は理解できるのですが、
それ以外にも何か決定的な問題というのは在るのでしょうか?

なにかご意見が頂ければと思います。



pgsql-jp メーリングリストの案内