2011年7月15日金曜日

HAIP(Highly Available virtual IP)その4

高可用IP:HAIP(Highly Available virtual IP)その3の続き

障害時の動きを確認します。

[環境]
OS:Linux Redhat Linux 5.6(2.6.18-238.el5) 64bit
Oracle:11.2.0.2.0 64bit
環境:RAC

1.現状の確認
[root@zaku-2 ~]# ifconfig

eth1 Link encap:Ethernet HWaddr 00:0C:29:EC:22:AE
inet addr:10.0.0.136 Bcast:255.255.255.255 Mask:254.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:67867 errors:0 dropped:0 overruns:0 frame:0
TX packets:58530 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:47764460 (45.5 MiB) TX bytes:36241394 (34.5 MiB)

eth1:1 Link encap:Ethernet HWaddr 00:0C:29:EC:22:AE
inet addr:169.254.166.30 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth2 Link encap:Ethernet HWaddr 00:0C:29:EC:22:B8
inet addr:192.168.102.136 Bcast:192.168.102.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13292 errors:0 dropped:0 overruns:0 frame:0
TX packets:17989 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6075352 (5.7 MiB) TX bytes:10999457 (10.4 MiB)


HAIP(169.254.166.30)がeth1にバインドされているのが分かります。


2.eth1をリンクダウンします
[root@zaku-2 ~]# ifconfig eth1 down

・・・・

通常なら、これでインターコネクト障害が発生し、
ノード番号の大きいzaku-2のCRSリソースの停止やVIPのフェイルオーバーが
発生するはず。

が、何も起きません。

HAIPがeth2にフェイルオーバーしたことにより、
継続稼働出来ていると思われます。


3.状況の確認
[root@zaku-2 ~]# ifconfig

eth2 Link encap:Ethernet HWaddr 00:0C:29:EC:22:B8
inet addr:192.168.102.136 Bcast:192.168.102.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17986 errors:0 dropped:0 overruns:0 frame:0
TX packets:20421 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10152673 (9.6 MiB) TX bytes:12136130 (11.5 MiB)

eth2:1 Link encap:Ethernet HWaddr 00:0C:29:EC:22:B8
inet addr:169.254.166.30 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

想定通り、eth2にHAIP(169.254.166.30)がフェイルオーバーしています。


[/var/log/messages]
avahi-daemon[3938]: Interface eth1.IPv4 no longer relevant for mDNS.
avahi-daemon[3938]: Leaving mDNS multicast group on interface eth1.IPv4 with address 10.0.0.136.
avahi-daemon[3938]: Withdrawing address record for 169.254.166.30 on eth1.
avahi-daemon[3938]: Withdrawing address record for 10.0.0.136 on eth1.
avahi-daemon[3938]: Registering new address record for 169.254.166.30 on eth2.

HAIPを移動させているのが分かります。

ocssd.logを見ると色々やっているのが分かりますが、
メッセージ量が多いので割愛します。


4.eth1のリンクアップ後の動き
[root@zaku-2 ~]# ifconfig eth1 up

[root@zaku-2 ~]# ifconfig

eth1 Link encap:Ethernet HWaddr 00:0C:29:EC:22:AE
inet addr:10.0.0.136 Bcast:255.255.255.255 Mask:254.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:198102 errors:0 dropped:0 overruns:0 frame:0
TX packets:217713 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:114094624 (108.8 MiB) TX bytes:143149783 (136.5 MiB)

eth1:1 Link encap:Ethernet HWaddr 00:0C:29:EC:22:AE
inet addr:169.254.166.30 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth2 Link encap:Ethernet HWaddr 00:0C:29:EC:22:B8
inet addr:192.168.102.136 Bcast:192.168.102.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:44973 errors:0 dropped:0 overruns:0 frame:0
TX packets:50754 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21009571 (20.0 MiB) TX bytes:27365175 (26.0 MiB)


HAIPがeth1に自動的にフェイルバックしています。
なお、HAIPのethの移動は、両ノードで発生します。

---------

ということで、HAIPの動きは分かったわけですが、
通常ネットワーク機能で冗長化を図っているインターコネクトですが、
ソフト機能であるHAIPも使ってインターコネクトの可用性を高めるのは、
いささか冗長な気がします。

ネットワーク機能ではなく、HAIPを使えということなんだろうか・・・?

0 件のコメント:

コメントを投稿