[pgcluster: 996] Re: ロードバランサーが動作する構成について

小玉 芳信 y-kodama @ kk-mic.jp
2007年 7月 6日 (金) 17:39:55 JST


お世話になります。
こだまです。

構成を変更して環境構築することとなりました。
情報収集等なかなかうまくいっておりませんが・・・。
ロードバランサー機能については、後日勉強していこうと思います。

ありがとうございました。



> お世話になります。
> こだまです。
> 
> 三谷様
> ご教授ありがとうございます。
> 
>> 各サーバのポート番号を重複しないように変えてやれば,
>> 1台のマシン上で全部動きますよ.
> ご指摘の通り、ポートを変更してpblbの起動に成功しました。
> ありがとうございます。
> 
> 併せて質問なのですが
> pc1:クラスタDB1、レプリケーションサーバ1、ロードバランサー1、アプリケーション
> pc2:クラスタDB2、レプリケーションサーバ2、ロードバランサー2、アプリケーション
> (*アプリケーション:DB書き込み、読み込みを行う、自作プログラムです)
> 
> 上記のような構成で、環境を構築しようとしています。
> 
> ロードバランサーのどちらか一台がダウンした場合でも、
> アプリケーション側の設定(IPアドレス、またはポート)を変更することなく、
> アプリケーションからのDBアクセスを継続したいのですが、
> このような構成は構築可能でしょうか?
> 
> 可能である場合の設定方法をご教授頂けないでしょうか。
> 
>> 環境は以下の通りです。
>> OS:Red Hat Linux 9
>> DB:pgcluster-1.3.0c
> DBを変更しまして現在は
> pgcluster-1.5.0rc16 を使用しています。
> 
> 本メール、長文となっていますがご容赦ください。
> 以上、よろしくお願いいたします。
> 
> 
> 主な設定ファイルは以下の通りです。
> 
> pc1(pc2の設定ファイルはホスト名はpc1→pc2に置き換えたものです)
> ---------------------------------------------------------
> cluster.conf
> ---------------------------------------------------------
> <Replicate_Server_Info>
>        <Host_Name> pc1 </Host_Name>
>        <Port> 8001 </Port>
>        <Recovery_Port> 8101 </Recovery_Port>
> </Replicate_Server_Info>
> <Replicate_Server_Info>
>        <Host_Name> pc2 </Host_Name>
>        <Port> 8001 </Port>
>        <Recovery_Port> 8101 </Recovery_Port>
> </Replicate_Server_Info>
> 
> <Host_Name>  pc1  </Host_Name>
> <Recovery_Port>  7101  </Recovery_Port>
> <Rsync_Path>  /usr/bin/rsync  </Rsync_Path>
> <Rsync_Option>  ssh -1   </Rsync_Option>
> <Rsync_Compress>  yes  </Rsync_Compress>
> <Pg_Dump_Path>  /usr/local/pgsql/bin/pg_dump  </Pg_Dump_Path>
> <When_Stand_Alone>  read_only  </When_Stand_Alone>
> <Replication_Timeout>  1min  </Replication_Timeout>
> <LifeCheck_Timeout>  3s  </LifeCheck_Timeout>
> <LifeCheck_Interval>  11s  </LifeCheck_Interval>
> 
> ---------------------------------------------------------
> pglb.conf
> ---------------------------------------------------------
> <Cluster_Server_Info>
>    <Host_Name>   pc1  </Host_Name>
>    <Port>        5432                </Port>
>    <Max_Connect> 30                   </Max_Connect>
> </Cluster_Server_Info>
> <Cluster_Server_Info>
>    <Host_Name>   pc2   </Host_Name>
>    <Port>        5432                </Port>
>    <Max_Connect> 30                  </Max_Connect>
> </Cluster_Server_Info>
> 
> <Host_Name>   pc1  </Host_Name>
> <Backend_Socket_Dir>    /tmp     </Backend_Socket_Dir>
> <Receive_Port>   5433   </Receive_Port>
> <Recovery_Port>   6101  </Recovery_Port>
> <Max_Cluster_Num>   128   </Max_Cluster_Num>
> <Use_Connection_Pooling>  no   </Use_Connection_Pooling>
> <LifeCheck_Timeout>   3s   </LifeCheck_Timeout>
> <LifeCheck_Interval>   15s   </LifeCheck_Interval>
> 
> <Log_File_Info>
>        <File_Name> /tmp/pglb.log </File_Name>
>        <File_Size> 1M </File_Size>
>        <Rotate> 3 </Rotate>
> </Log_File_Info>
> 
> ---------------------------------------------------------
> pgreplicate.conf
> ---------------------------------------------------------
> <Cluster_Server_Info>
>    <Host_Name>   pc1  </Host_Name>
>    <Port>   5432   </Port>
>    <Recovery_Port>   7101  </Recovery_Port>
> </Cluster_Server_Info>
> <Cluster_Server_Info>
>    <Host_Name>   pc2 </Host_Name>
>    <Port>   5432   </Port>
>    <Recovery_Port>   7101  </Recovery_Port>
> </Cluster_Server_Info>
> 
> <LoadBalance_Server_Info>
>        <Host_Name>  pc2  </Host_Name>
>        <Recovery_Port>   6101   </Recovery_Port>
> </LoadBalance_Server_Info>
> 
> <Host_Name> pc1  </Host_Name>
> <Replication_Port>   8001   </Replication_Port>
> <Recovery_Port>   8101   </Recovery_Port>
> <RLOG_Port>   8301   </RLOG_Port>
> <Response_Mode>   normal   </Response_Mode>
> <Use_Replication_Log>   no   </Use_Replication_Log>
> <Replication_Timeout>   1min   </Replication_Timeout>
> <LifeCheck_Timeout>   3s   </LifeCheck_Timeout>
> <LifeCheck_Interval>   15s   </LifeCheck_Interval>
> 
> <Log_File_Info>
>        <File_Name> /tmp/pgreplicate.log </File_Name>
>        <File_Size> 1M </File_Size>
>        <Rotate> 3 </Rotate>
> </Log_File_Info>
> 
> ----- Original Message ----- 
> From: <a.mitani @ sra-europe.com>
> To: "PGCluster メーリングリスト" <pgcluster @ ml.postgresql.jp>
> Sent: Wednesday, June 20, 2007 8:56 PM
> Subject: [pgcluster: 992] Re: ロードバランサーが動作する構成について
> 
> 
>> こだまさん,
>> 
>> 各サーバのポート番号を重複しないように変えてやれば,
>> 1台のマシン上で全部動きますよ.
>> 
>> 三谷
>> 
>>> 環境は以下の通りです。
>>>
>>> OS:Red Hat Linux 9
>>> DB:pgcluster-1.3.0c
>>>
>>> (構成1)
>>> pc1:クラスタDB1、レプリケーションサーバ1、ロードバランサー1
>>> pc2:クラスタDB2、レプリケーションサーバ2、ロードバランサー2
>>>
>>> pc1(またはpc2)にてそれぞれ起動させます。
>>> $ pgreplicate
>>> $ pg_ctl start -o "-i"
>>> $ pglb
>>> ロードバランサーを起動させると、
>>> /tmp/.s.PGSQL.5432.lockとなってしまい、クラスタDBも動作しなくなります。
>>>
>>> 因みに、以下のような構成では動作します。(ロードバランサーを別出し)
>>> (構成2)
>>> pc1:クラスタDB1、レプリケーションサーバ1
>>> pc2:クラスタDB2、レプリケーションサーバ2
>>> pc3:ロードバランサー
>>>
>>> ロードバランサー、クラスタDB、レプリケーションサーバを
>>> 一つのPCで動作させることはできないのでしょうか。
>>>
>>> 設定ファイルは掲示していませんが、構成2で動作可能であれば
>>> 掲示してご指示いただきたいと考えています。
>>>
>>> 何卒、ご教授の程よろしくお願いします。
>>>
>>> 以上です。
>>>
>> 
>>




pgcluster メーリングリストの案内