先日Dual-Primay DRBD + GFS2で「ClusterIPをクローンして2ノードで動かす意味がわからない」と書いていたのですが、なんとなく意味がわかりました。
同じIPを2ノードに振るWindows ServerでいうところのNLBを、netfilterのCLSUTERIPターゲット(ipt_CLUSTERIP)を使って実現していたようです。
実際、WebIPリソース(ClusterIPのクローンセット)がStarted状態のノードでは、INPUTチェインにCLUSTERIPターゲットが追加されています。
[root@pcmk-1 ~]# iptables -L INPUT -n Chain INPUT (policy ACCEPT) target prot opt source destination CLUSTERIP all -- 0.0.0.0/0 192.168.208.10 CLUSTERIP hashmode=sourceip clustermac=D1:98:71:C8:52:9C total_nodes=2 local_node=1 hash_init=0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 192.168.208.11 0.0.0.0/0 ACCEPT all -- 192.168.208.12 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited [root@pcmk-1 ~]#
このNLBみたいなLoadbalancerレス構成ですが、Iptablesチュートリアル 1.2.2のCLUSTERIPターゲットに関する説明によるとマルチキャストMACアドレスを使うので、接続するN/W機器によってはWindows NLBのように「静的なARPエントリを追加する」といった手当てが必要になると思われます。
- Windows クラスタリング : ネットワーク負荷分散 ‐ FAQ (よく寄せられる質問) – マルチキャストとユニキャストの操作モードの違いは何ですか? NLB のインストールにおいてどちらのモードを使用すべきでしょうか?
勉強になりました。
同じく、ClusterIPを「clone_node_max=”2″」にする意味もわかっていませんが、同じ質問をしている方がLinux-HAメーリングリストにいらっしゃいました。
質疑部分だけ引用させていただくと以下です。
> I also had a question as well.
> In your document you suggest
> clone_max=2
> and clone_node_max=2
>
> I was under the impression that clone_node_max was the number of
> clones that could appear on one node. Does it make sense for two
> clones to appear on the same node?
>
It makes sense in the following scenario: Cluster from two nodes.
One fails and the other one has to take over. Then two clones have to
run on one node.
こちらでのやりとりはこれで終わっているのですが、やはり2つのクローンを1ノードで動かす必要がないのであれば、「clone_node_max=”1″」で問題ないように思えました。1つ動いていれば通信できるはずだし。
Sorry, the comment form is closed at this time.