|
|
Turbolinux Cluster Server、又はTurboCluster Server 4.0 (以降TLCS)をご使用頂き、TLCSを二重化以上の構成でクラスタを構築する場合、プライマリとして稼動するTLCSのノードから、UDPポート17100(デフォルト)を使用し、ブロードキャストを送信します。このハートビートブロードキャストを元に、バックアップとして待機しているTLCSが、プライマリのTLCSの状態を判断します。この動作はTLCSの仕様です。 +---+ +-------------------+ | | | ** TLCS node ** | | S +--+ eth0:192.168.5.31 | | w | | GW :192.168.5.1 | | i | | HostName:node1 | | t | +-------------------+ | c | +-------------------+ | h | | ** TLCS node ** | | i +--+ eth0:192.168.5.32 | | n | | GW :192.168.5.1 | | g | | HostName:node2 | | | +-------------------+ | H | | u | +-------------------+ | b | | ** Web node ** | | +--+ eth0:192.168.5.33 | | | | GW :192.168.5.1 | | | | HostName:node3 | | | +-------------------+ | | +-------------------+ | | | ** Web node ** | | +--+ eth0:192.168.5.34 | | | | GW :192.168.5.1 | | | | HostName:node4 | | | +-------------------+ | | | | | +--+ +-------------------+ | | | | ** Router node ** | Cluster Network +---+ | | | A +--+ eth1:192.168.5.1 | A ///////////// | | //////////////// +--+ eth0:192.168.4.50 | V +---+ | | GW :192.168.4.1 | V | | | | HostName:node20 | existing Network | S +--+ +-------------------+ | w | | i | | t | +-------------------+ | c | | ** DNS node ** | | h +--+ eth0:192.168.4.46 | | i | | GW :192.168.4.1 | | n | | HostName:node16 | | g | +-------------------+ | | +-------------------+ | H | | ** client node **| | u |--+ eth0:192.168.4.39 | | b | | GW :192.168.4.1 | | | | HostName:node9 | | | +-------------------+ | | ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
この構成図では、7台のPC(ノード)が登場しています。この中でクラスタを構成しているノードは4台です。ホスト名"node1","node2"にTLCSがインストールされ、どちらかがプライマリとして稼動し、どちらかがバックアップとして待機します。クラスタリングするサービスは、Webサーバで、Webサーバが稼動するノードは、ホスト名"node3","node4"です。この4台でクラスタを構成しています。 # TurboLinux Cluster Server config file /etc/clusterserver/clusterserver.conf # # This file contains virtual host information for clusterserverd. # Current file was generated automatically on 2001-01-25 16:51:33. # Do not edit - your changes may be lost! # # *** global parameters *** NetworkMask 255.255.255.0 # *** NAT specific parameters *** NAT EndNAT # *** user checks *** UserCheck HTTPAgent check /usr/bin/httpAgent EndUserCheck # *** services *** Services Service HTTPService tcp:80 HTTPAgent EndServices # *** servers *** Servers Server node3 192.168.5.33 direct Server node4 192.168.5.34 direct EndServers # *** server pools *** ServerPool HTTPservers AddServer node3 HTTPService/1 AddServer node4 HTTPService/1 CheckServerFrequency 120 CheckServerTimeout 10 CheckPortFrequency 240 CheckPortTimeout 120 EndServerPool # *** router pools *** AtmPool router1 AddAtm 192.168.5.31 AddAtm 192.168.5.32 SendArpDelay 20 MaxLostHeartbeats 3 HeartBeatDelay 1 NumConnections 100000 NumServers 1000 NumServices 100 ConnectionTimeout 300 EndAtmPool # *** virtual hosts *** VirtualHost 192.168.5.30 AddAtmPool router1 AddServerPool HTTPservers EndVirtualHost 仮想IPに送信されたパケットを、TLCSがサービスノード(ホスト名"node3"と"node4")に転送する方法は、この構成ではダイレクトフォワーディングを使用しているので、ホスト名"node3"と"node4"で以下のコマンドを実行し、仮想IPのIPアドレスをホスト名"node3"と"node4"でも使用可能にします。 # ifconfig lo:0 192.168.5.30 netmask 255.255.255.255 up このままでは、ノードを再起動する毎に、このコマンドを実行する必要があります。/etc/rc.d/rc.local に、このコマンドを記述するか、turbonetcfgで設定するか、ネットワークの設定ファイルを編集して、再起動後も有効になるようにしてください。この設定については、TLCSに付属するマニュアルを参照 してください。 サービスを提供するノード(TLCSがインストールされていないホスト名"node3"と"node4")でネットワークを確認します。次ように確認してください。 [root@node3 /root]# ifconfig eth0 Link encap:Ethernet HWaddr 00:90:27:EA:E6:08 inet addr:192.168.5.33 Bcast:192.168.5.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4837 errors:0 dropped:0 overruns:0 frame:0 TX packets:663 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:9 Base address:0xde80 Memory:c8026000-c8026900 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:21 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 lo:0 Link encap:Local Loopback inet addr:192.168.5.30 Mask:255.255.255.255 UP LOOPBACK RUNNING MTU:3924 Metric:1 [root@node3 /root]#
上記例はホスト名"node3"での実行結果ですが、"node4"でもインターフェース"lo:0"の部分が同様な結果になります。 [root@node1 /root]# ifconfig eth0 Link encap:Ethernet HWaddr 00:90:27:EA:E5:10 inet addr:192.168.5.31 Bcast:192.168.5.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:988 errors:0 dropped:0 overruns:0 frame:0 TX packets:4284 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:9 Base address:0xde80 Memory:c8029000-c8029c40 eth0:cs0 Link encap:Ethernet HWaddr 00:90:27:EA:E5:10 inet addr:192.168.5.30 Bcast:192.168.5.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:9 Base address:0xde80 Memory:c8029000-c8029c40 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 [root@node1 /root]#
以上で、クラスタ側の各ノード、ネットワークの設定は終了です。 http://www.turbolinux.co.jp/knowledge/public/65.html それぞれのNICでデータをやり取りするために、/etc/sysconfig/networkの「FORWARD_IPV4」の項目が「yes」と指定されているか確認してください。ホスト名"node20"の/etc/sysconfig/networkの内容は次の通りです。 NETWORKING=yes PROFILENAME="No_Profile" HOSTNAME=node20.turbolinux.gr.jp DOMAINNAME=turbolinux.gr.jp GATEWAY=192.168.4.1 GATEWAYDEV=eth0 FORWARD_IPV4=yes IPX=no 「no」が指定されている場合は「yes」に変更し、次のコマンドでネットワークを再起動してください。 # /etc/rc.d/init.d/network restart 以下のように、/proc/sys/net/ipv4/ip_forwardの内容を確認してください。 # cat /proc/sys/net/ipv4/ip_forward 1 #
上記のように、ファイル(/proc/sys/net/ipv4/ip_forward)の内容が「1」の場合は、IPフォワードが有効になっています。「0」の場合は設定が有効になっていません。再度確認してください。 # route add -net 192.168.5.0 netmask 255.255.255.0 dev eth0 gw 192.168.4.50 コマンド実行後、IP経路テーブルを表示して確認します。次は、ホスト名"node16"で実行した実行例です。 [root@node16 /root]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 192.168.5.0 192.168.4.50 255.255.255.0 UG 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.4.1 0.0.0.0 UG 0 0 0 eth0 [root@node16 /root]#
以上で、少なくとも、ホスト名"node9"や"node16"から、クラスターの入り口になる仮想IP 192.168.5.30にアクセス可能となります。 [root@node20 /root]# tcpdump -l -i eth0 |grep udp tcpdump: listening on eth0 9 packets received by filter 0 packets dropped by kernel [root@node20 /root]# [root@node20 /root]# tcpdump -l -i eth1 |grep udp tcpdump: listening on eth1 18:31:18.016801 192.168.5.31.17100 > 192.168.5.255.17100: udp 37 18:31:19.016962 192.168.5.31.17100 > 192.168.5.255.17100: udp 37 18:31:20.017115 192.168.5.31.17100 > 192.168.5.255.17100: udp 37 18:31:21.017282 192.168.5.31.17100 > 192.168.5.255.17100: udp 37 18:31:22.017444 192.168.5.31.17100 > 192.168.5.255.17100: udp 37 18:31:23.017597 192.168.5.31.17100 > 192.168.5.255.17100: udp 37 6 packets received by filter 0 packets dropped by kernel [root@node20 /root]#
ここでは説明を省略しますが、node20で、ipchainsを使用しファイアウォールを構築し、セキュリティと、ネットワーク負荷軽減を実現することが可能です。
|
Copyright © Turbolinux, Inc..All Right Reserved.

