Jul 182012
 

先日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.2CLUSTERIPターゲットに関する説明によるとマルチキャストMACアドレスを使うので、接続するN/W機器によってはWindows NLBのように「静的なARPエントリを追加する」といった手当てが必要になると思われます。

勉強になりました。

同じく、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つ動いていれば通信できるはずだし。

 Posted by at 1:09 am  Tagged with:

Sorry, the comment form is closed at this time.