このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

postgreyでサブシステムがロック このメッセージに返信する
日時: 2013/08/09(Fri) 09:03
名前: フジマル
URL: http://www.kinryokai.net
最初は動いていたのですが、いつからかは不明ですが、ある時再起動したらpostgreyが起動しません。

service postgrey start
postgrey を起動中: [ OK ]

ここですぐに、
service postgrey status とすると
postgrey は停止していますがサブシテムがロックされています
になり動作していない

1:/var/lock/subsys/postgrey を削除(/var/run/postgrey.pidは無かった)しても同じ現象になる。
2:port 60000は誰も使っていない
3:yum のアップデートにはロックを掛け(このWEB通り)ている。

インストールされているプログラムは
OS: 2.6.18-194.32.1.el5xen
postfix.x86_64 2:2.3.3-2.1.el5_2
postfix-pflogsumm.x86_64 2:2.3.3-2.3.el5_6
postgrey.noarch 1.33-1.rf

起動スクリプトも見ましたが、私の理解を越えている所があり、良く分からない。

どなたか、何で正常起動しないかご享受いただきたくお願いします。
記事編集 編集
Re: postgreyでサブシステムがロック このメッセージに返信する
日時: 2013/08/21(Wed) 14:07
名前: フジマル
URL: http://www.kinryokai.net
原因は解かりましたが、まだ動いていません。
mail.logに
FATAL: ERROR: can't create DB environment: No such file or directory (dbdir: /var/spool/postfix/postgrey uid/gid: 102,102)
とありました。(logを見ていない初歩的ミス)
cetos6でテスト的に作ったサーバーを見るとここには __db.001から__db.005のファイルがあったのですが、エラーの出ているこの(centos5)にはありませんでした。
そこでこの5個のファイルをコピーし、postgreyを再起動しても同じ現象です。(この方法が正しいかどうかは不明です)その際、postgreyがコピーした5つのファイルを消去しています。これはホストが違うDBのファイルだからか、そもそもpostgreyがDBを消去し再作成するのかは不明ですが、多分違うホストのDBだから と思っています。
何故5つのファイルが消去したかは不明です。
しかたがないので、再度コンパイルし、再インストールをしてみて、報告します。
記事編集 編集
Re: postgreyでサブシステムがロック このメッセージに返信する
日時: 2013/08/22(Thu) 08:32
名前: stranger
URL: http://ja.528p.com/
>FATAL: ERROR: can't create DB environment: No such file or directory (dbdir: /var/spool/postfix/postgrey uid/gid: 102,102)

uid/gid: 102,102を調べてみたら
postgreyが書き込みできる設定になっていますか

db名もpostgrey_clients.dbのような命名だと思う
記事編集 編集
Re: postgreyでサブシステムがロック このメッセージに返信する
日時: 2013/08/22(Thu) 09:59
名前: フジマル
URL: http://www.kinryokai.net
返信ありがとうございます。

私も権利を見ましたが間違っていないようです。
/var/spool/postfixまでは第3者の読み取りはOKで、その下のpostgreyは User:postgreyで group:postfix になっており、Attrは drwxr-xr-xでしたので問題ないようです。ちなみにここを第3者を含めて書き込み可能してもはねられます。関係ないとは思いますがpostgreyのUIDとGIDは102:106でmaillogのエラーの前に
Aug 22 09:52:02 web1 postgrey[25239]: Setting gid to "106 106"
Aug 22 09:52:02 web1 postgrey[25239]: Setting uid to "102"
と記録があります。
/etc/passwdは
postgrey:x:102:106::/var/spool/postfix/postgrey:/sbin/nologin
なっております。
postgreyのGIDを102に変更しても状況は変わりません。
/var/spool/postfix/postgrey/postgrey_clients.dbは存在し、所有者はpostgreyになっております。

再インストールもやりましたが状況は変わりません。
ただ、アンインストール後に再インストールしたわけではありません。
記事編集 編集
Re: postgreyでサブシステムがロック このメッセージに返信する
日時: 2013/08/22(Thu) 13:11
名前: stranger
URL: http://ja.528p.com/
既存のDBファイルが壊れている場合に同じようなエラーがでる場合があるらしい
既存のDBファイルをバックアップし、空にしてから再起動してみる

pidファイル、lockファイル の削除
psコマンドでゾンビプログラムが機動してないか確認
既存のDBファイルをバックアップ
postgreyの起動
記事編集 編集
Re: postgreyでサブシステムがロック このメッセージに返信する
日時: 2013/08/22(Thu) 15:42
名前: フジマル
URL: http://www.kinryokai.net
いつもstrangerさんに助けられており、感謝いたします。
動いている様です。startの後にすぐstatusをしても、エラーメッセージは出ません。

やったこと
/var/spool/postfix/postgrey/postgrey.lockを削除
/var/lock/subsys/postgreyを削除
/var/spool/postfix/postgrey/以下の全てのファイルをバックアップ後、削除
 log.0000000001は関係ないかも知れませんが?
# postmap /etc/postfix/whitelist_recipient で whitelist_recipientのDB化
# postmap /etc/postfix/whitelist_client で whitelist_clientのDB化
 この2つのコマンドは必要ないかも??
postgreyの起動 statusでエラーが出ないぞ!!
postfixの再起動。

以上でしたが、今度は/var/spool/postfix/postgrey/ に __db.001から__db.004 の4つのファイルが出来ました。多分これで、ホワイトリスト関係がリセットしたかも知れませんが?

ともかく無事、正常になり、感謝にたえません。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -