[pgsql-jp: 34208] Re: PostgreSQLと外部ディスクとの接続についての質問

上野 礼美 ueno.ayami @ nttcom.co.jp
2004年 10月 29日 (金) 10:24:47 JST


上野と申します。
質問させて頂いた件で、いろいろとご意見を頂き、ありがとうございます。

すぐにわかるところから、まとめて返信させて頂きます。

> ちなみに,wal_sync_methodは何を指定されていますか?
> fsync, fdatasync, open_sync, open_datasync
> が指定できますが,指定を変えても結果は同じでしょうか?
>
Linux上で使用する場合は、fsyncとopen_syncが設定可能と手持ちの資料
にあった為、この2つについては試しておりますが、結果は同じです。

> > > 下記の件ですが、$PGDATAディレクトリ全部です。
> > ということは,WALの書き出し先もSCSIディスクになっているということです
ね.
> > ということはSCSIケーブルを抜いてもWALの書き込みでエラーになっていないと
> > いうことでしょうか.
> >
> > # SCSIってバスだからケーブル抜いたり,ターミネータを外したりすれば,
> > # 場合によってはOSがハングアップすると思っていましたが,動くんですね.
>
> アクセスがなければ結構動いちゃいますね.
>
WALの書き出し先もSCSIディスクになっています。
wal_debugを設定してログをとってみたのですが、それを見る限り、WALの書き込み
でエラーとなっている様子はありませんでした。

> 同じカーネルで,某商用DBでエラー検出ができるということですが,もしかし
> てraw I/Oを使っているんでしょうか?
いいえ。filesystemを使用しています。

> > →SCSIケーブルを抜いたらすぐに、クライアントからの問い合わせに対しエラー
応答
> > を
> > 返すようにしたい。変更すべき設定・対処法などありますでしょうか?
>
> SCSIケーブルを抜いたらすぐに、故障が起きたと知りたいのであれば、
> PostgreSQLの設定変更ではなくOSに聞かないと分からないと思います。
> 過去に私がかかわったシステムでは、FC接続二重化のRAIDディスクのエラーメッ
セージを
> syslog等を監視して拾っていました。
ご意見ありがとうございます。参考にさせて頂きます。

>   一応、COMMIT時にはfsync等(設定による)を用いて同期してます。ですから
> この件は、同期書き込み時に用いたシステムコールに対してOS(もしくはSCSI
> カードやドライバ)がエラーを返さなかったのが問題のような気がします
> (PostgreSQL側がエラーを見落としたという可能性は排除できませんが)。
> まぁ、OS側の問題だとしても使っているカーネルやSCSIカードがわからないです
が。
カーネルは、2.4.21-20.ELsmpです。SCSIカードは、Smartアレイ532コントローラで
す。




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