web-dev-qa-db-ja.com

Ubuntuサーバー12.04ltsでKeepalivedを使用して構成すると、MySQLポート3306がフィルター処理されました。

標準ポート3306の2つのmysqlサーバー(db01とdb02)に対してkeepalivedを使用して2つのロードバランサー(lb01とlb02)を構成しています。アクセスするための仮想IPアドレス(192.168.205.10)があり、フェイルオーバーとしても機能しますが、どういうわけか前面のWebサーバーは、vipを使用してこのmysqlサーバーにアクセスできません。これが私の設定です:

キープアライブ:

ここに追加したmysql部分のみ。

LB01:

virtual_server 192.168.205.10 3306 {
  delay_loop 6
  lb_algo rr
  lb_kind DR
  protocol TCP

  real_server 192.168.205.4 3306 {
    weight 10
    TCP_CHECK {
      connect_port    3306
      connect_timeout 2
    }
  }
}

LB02:

virtual_server 192.168.205.10 3306 {
  delay_loop 6
  lb_algo rr
  lb_kind DR
  protocol TCP

  real_server 192.168.205.6 3306 {
    weight 10
    TCP_CHECK {
      connect_port    3306
      connect_timeout 2
    }
  }
}

両方のサーバーmy.cnfの「bind-address = 127.0.0.1」の部分はすでにコメントアウトしています。また、ubuntuサーバー(ufwまたはiptables)からすべてのファイアウォールプログラムを削除します。

何か助けはありますか?

ありがとう。

1
Ludwig

設定ファイルからmysqlオプション--skip-networkを削除するのを忘れていないか確認しましたか?

それがネットワーク/ファイアウォールの問題であるかどうかを確認する最も簡単な方法は、Webサーバーからlb * mysqlサーバーのポート3306でTelnet接続を確立することです。あなたがそれを乗り越えることができれば、それはネットワークの問題ではありません:)

または、tcpdump -i ethX port 3306を使用します

1
golja