2007年11月14日 星期三

DHCP HA + 802.1q(VLAN)整合

前置要求

先做過前一篇文章HeartBeat 2.0 安裝(作ftp HA)
基本Heartbeat概念就不重複敘述, 直接帶設定檔。

假設實驗環境

Platform : Fedora Core 6 (經實際測試 Fedora7及8皆可以)
Machine:
ha1(10.1.1.1) =>eth0
eth1 ==>不設定IP
ha2(10.1.1.2) =>eth0
eth1 ==>不設定IP
Virtual-IP:(10.1.1.3)

假設所想要提供服務的IP和主機名稱如上。
兩台機器皆有兩張網卡,為了好閱讀我將網段分開,eth0為提供HA偵測使用,eth1則提供802.1q(vlan)使用。

安裝套件

yum -y install glib glib-devel net-snmp-libs net-snmp net-snmp-devel libnet heartbeat*

modprobe softdog

vi /etc/modules.conf
加入 alias watchdog softdog

修改主機名稱

將兩台主機的hostname分別修正為ha1及ha2
vi /etc/sysconfig/network
修改 HOSTNAME=ha1

同時於 /etc/hosts 下加入

192.168.1.10 ha1
192.168.1.20 ha2

修改dhcpd設定檔
vi /etc/dhcpd.conf
ddns-update-style none;
default-lease-time 3600;
max-lease-time 36000;
option domain-name-servers 168.95.1.1;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.150;
option subnet-mask 255.255.255.0;
option routers 192.168.1.10;
option broadcast-address 192.168.1.255;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.150;
option subnet-mask 255.255.255.0;
option routers 192.168.2.10;
option broadcast-address 192.168.2.255;
}

建立vlan指令檔
vi /etc/ha.d/resource.d/vlan
#!/bin/sh

case "$1" in
start)
/sbin/vconfig add eth1 10
/sbin/vconfig add eth1 20
/sbin/ifconfig eth1.10 192.168.1.10 up
/sbin/ifconfig eth1.20 192.168.2.10 up
/etc/init.d/dhcpd start
;;
stop)
/sbin/vconfig rem eth1.10
/sbin/vconfig rem eth1.20
/etc/init.d/dhcpd stop
;;

esac

exit 0
chmod 755 /etc/ha.d/resource.d/vlan

複製設定檔

cp /usr/share/doc/heartbeat-2.0.8/ha.cf /etc/ha.d/
cp /usr/share/doc/heartbeat-2.0.8/haresources /etc/ha.d/
cp /usr/share/doc/heartbeat-2.0.8/authkeys /etc/ha.d/

修改ha.cf(2機器一樣)

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 5
deadtime 30
warntime 10
initdead 180
bcast eth0
auto_failback on
watchdog /dev/watchdog
node ha1
node ha2

修改haresources(2機器一樣)

ha1 10.1.1.3 vlan

修改authkeys(2機器一樣)

auth 1
1 crc

chmod 600 /etc/ha.d/authkeys

啟動及測試

將兩台主機的heartbeat都啟動