[Linux-ha-jp] postgreSQLのクラスタリング

Back to archive index

M Hasimoto dogni****@hotma*****
2010年 10月 8日 (金) 14:12:26 JST


赤松様
hashiです

やはり、RAを改造しなければだめでしたか。yumでインストールしたPostgreSQL8だとうまくいっていたので、どうにも腑に落ちない状態でしたから、助かりました。
RAの改造、試してみます。ありがとうございます。
> From: akama****@oss*****
> To: linux****@lists*****
> Date: Fri, 8 Oct 2010 13:38:47 +0900
> Subject: Re: [Linux-ha-jp] postgreSQLのクラスタリング
> 
> To:hashiさん
> 
>  赤松と申します。
> 
>  結論から述べますと、恐らくですが、PostgreSQL7系を使用する場合
>  PostgreSQL用RA はこのままでは使用出来なかったはずです。
> 
>  pgsql_status メソッド内はご存じの通り fuser コマンドを使ってます。
> 
>  これは PostgreSQL がどこで実行されてもプロセスがデータディレクトリに
>  change directory する仕様である事を想定しています。
> 
>  この仕様は、たしか PostgreSQL の Ver8以降に採用されていたと記憶
>  しています。
> 
> ◆確認手段
> 
>  postmaster のpid を取得後 /proc 配下を調べて下さい。
> 
>  # ls -la /proc/`ps -ef | grep postmaster | grep -v grep | awk '{print $2}'`/cwd
> 
>  PostgreSQL8 以降であればデータディレクトリ(/usr/local/pgsql/data)
>  が表示されます。
> 
>  しかし 7 であれば、恐らくデータディレクトリでは無く、pg_ctl を実行
>  した場所になっていると思います。
> 
> ◆RA の改造
> 
>  例えば下記のように fuser を外して /proc 配下の exe あたりから
>  そのPIDは postmaster の物であるかを確認する等、RA を編集する事で
>  対応できます。
> 
> #  kill -0 $PID >/dev/null 2>&1 && fuser $OCF_RESKEY_pgdata 2>&1 | grep $PID >/dev/null 2>&1
>    kill -0 $PID >/dev/null 2>&1 && [ -d /proc/$PID ] && ls -la /proc/$PID/exe | grep postmaster >/dev/null 2>&1
> 
>  以上です。
> 
> 
> > hashiです。
> > 高塚様情報ありがとうございます7.4.30を使って、試してみたいと思います。
> > 松尾様確かに、1が返ってるなら、! pgsql_statusの部分はあってますよね…何いっ
> > てるんだろう私は。だとすると、問題となるのは1を返してくるpgsql_status()で行
> > われている処理ですよね。ためしに、pgsql_status()のpidが存在する場合の処理を、
> > 別のシェルを作成して試してみました。例)ps -ef | grep postmaster出力結果:
> > root           1111  22222  0  12:12  pts/2  00:00:00 grep 
> > postmasterpostgres    1234          1  0  13:13  pts/1  00:00:00 /usr/local/
> > pgsql/bin/postmaster -D /usr/local/pgsql/data
> > シェル内容#!/bin/bashkill -0 1234 >/dev/null 2>&1 && fuser /usr/local/pgsql/
> > data 2>&1 | grep 1234 >/dev/null 2>&1echo $?出力結果:1
> > シェルの出力結果で、1以外の値が出力されないと、PostgreSQL is downとして処理
> > されてしまいますよね。
> > > Date: Thu, 7 Oct 2010 22:04:33 +0900
> > > From: haruk****@sraos*****
> > > To: linux****@lists*****
> > > Subject: Re: [Linux-ha-jp] postgreSQLのクラスタリング
> > > 
> > > SRAOSS 高塚と申します。
> > > 
> > > PostgreSQL 7.4.30 (先日リリースしたばっかり) で、
> > > 以下のような修正が行われています。後段については関係あるかも
> > > しれません。
> > > 
> > > ----
> > > * Take care to fsync the contents of lockfiles (both postmaster.pid and
> > >   the socket lockfile) while writing them (Tom Lane)
> > > 
> > >   This omission could result in corrupted lockfile contents if the
> > >   machine crashes shortly after postmaster start.  That could in turn
> > >   prevent subsequent attempts to start the postmaster from succeeding,
> > >   until the lockfile is manually removed.
> > > ----
> > > 
> > > 
> > > 
> > > On Thu, 7 Oct 2010 20:52:51 +0900
> > > M Hasimoto <dogni****@hotma*****> wrote:
> > > 
> > > > 
> > > > hashiです。
> > > > 現在、postgreSQL7.4.18 + DRBD + PaceMakerでクラスタリングをしようとして
> > > > います。ですが、postgreSQLのRAがうまく機能していません。RA(pgsql)にロ
> > > > グを何箇所か書き加えて確認したところ、スタート後にpidを削除しpostgreSQL
> > > > の起動を行ないますが、その後pgsql_monitor()の4行目
> > > > if ! pgsql_status	
> > > > の部分で、pgsql_status()から値1を返しても、
> > > > ocf_log info "PostgreSQL is down"return $OCF_NOT_RUNNING
> > > > の項目に進んでしまうようです。他にも・postgreSQL起動時に、postmaster.pid
> > > > が作成されないということも、何度か起きています。一度だけ、RAの書き変えも、
> > > > パラメータの変更もしていないのに、なぜか認識に成功しましたが、その後再現
> > > > できていません。何かわかる方はいませんでしょうか? 		 	  
> > > >  		  
> > > 
> > > ______________________________________________________________________
> > >  高塚 遙  haruk****@sraos*****  SRA OSS, Inc  http://www.sraoss.co.jp
> > >  〒170-0005 東京都豊島区南大塚3-46-3 大塚セントコアビル5F
> > > 
> > > _______________________________________________
> > > Linux-ha-japan mailing list
> > > Linux****@lists*****
> > > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan
> >  		 	   		  
> > 
> > ------------------------------------------------------------------------
> > 
> > _______________________________________________
> > Linux-ha-japan mailing list
> > Linux****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan
> 
> _______________________________________________
> Linux-ha-japan mailing list
> Linux****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan
 		 	   		  
-------------- next part --------------
HTMLの添付ファイルを保管しました...
下載 



Linux-ha-japan メーリングリストの案内
Back to archive index