keepalivedのDSRでロードバランサを構築しました。
ロードバランシング対象は MariaDB Galera Cluster 10.0(MySQL) です。
外部のサーバからVIPに対してアクセスを行う分には問題ないのですが、
振り分け先のMySQLサーバ自体(下記の192.168.1.3, 192.168.1.4)からVIPにアクセスしようとする止まってしまいます。
- 他のサーバからは接続できる。
$ mysql -h 192.168.1.1 -u root -p***** Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A . . →OK
- 振り分け先のMySQLサーバ自体(下記の192.168.1.3, 192.168.1.4)からはアクセスできない。
$ mysql -h 192.168.1.1 -u root -p***** ↑この状態で止まってしまう。
パケットがサーバまで振り分けられているとは思うのですが、該当サーバで捨てられているようにも見えます。
解決策などご教示いただけますでしょうか。
●情報
1.VIP 192.168.1.1
2.ロードバランサ(keepalived) 192.168.1.2
keepalived.conf
~略~ virtual_server_group DEVEL_DB1 { 192.168.1.1 3306 } virtual_server group DEVEL_DB1 { delay_loop 17 # リアルサーバのヘルスチェック間隔 lvs_sched rr # 振り分けの方法(ラウンドロビン) lvs_method DR # 動作モード DSR or NAT protocol TCP # プロトコル # 振り分け先1 real_server 192.168.1.3 3306 { weight 1 # 重み inhibit_on_failure # 停止時に削除とせず、weightを落とす TCP_CHECK { connect_port 3306 connect_timeout 30 nb_get_retry 3 delay_before_retry 3 } } # 振り分け先2 real_server 192.168.1.4 3306 { weight 1 # 重み inhibit_on_failure # 停止時に削除とせず、weightを落とす TCP_CHECK { connect_port 3306 connect_timeout 30 nb_get_retry 3 delay_before_retry 3 } } }
$ ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.1:3306 rr -> 192.168.1.3:3306 Route 1 0 0 -> 192.168.1.4:3306 Route 1 0 0
3.MySQL Cluster サーバ 192.168.1.3, 192.168.1.4
$ sudo iptables -F
$ sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 -j REDIRECT
$ sudo service iptables save

回答1件
あなたの回答
tips
プレビュー