[筆記] FreeBSD 一張網卡多重 ip 實現 Round Robin DNS Load Balancing
Jun 1st, 2008 by appleboy 參觀者:1,088Views 機器人:277Views
來紀錄一下好了,其實這兩年前,我自己就試過了,當時在弄 web 系統 Load Balancing,因為找不到更好的方法,所以使用 Round Robin DNS Load Balancing 技術來達到這功能,可是當然這不是很準確的做到 load balance,只是能解決暫時性的問題,真正要做到 Load Balancing 可能要靠硬體的技術了。
我自己是在 FreeBSD 系統上面實做的,當然弄 Load Balancing 一定要在網卡上面綁定多重ip,Linux 作法跟 FreeBSD 不大相同
# Linux 作法
#
ifconfig eth0:0 inet xxx.xxx.xxx.xx(1~9) netmask 255.255.255.0 broadcast xxx.xxx.xxx.255
# FreeBSD 作法
#
# /etc/rc.conf - add a new IP address to the NIC
# 在 rc.conf 加入底下 entry
ifconfig_rl0_alias0="192.168.0.57 netmask 0xffffffff"
#
# 指令
#
ifconfig rl0 alias 192.168.0.57 netmask 0xffffffff
利用 Round Robin DNS Load Balancing 技術達到分流,有兩種作法,一種使用 CNAME 另一種就是 A record
1.DNS load balancing implementation (Multiple CNAMES)
先在正解設定檔裡面加入:
srv2 IN A 123.45.67.2
srv3 IN A 123.45.67.3
srv4 IN A 123.45.67.4
然後在使用 CNAME
IN CNAME srv2.domain.tld.
IN CNAME srv3.domain.tld.
IN CNAME srv4.domain.tld.
然後在 named.conf 加入底下設定 [ For BIND 8 name servers ]
multiple-cnames yes;
};
2.DNS load balancing implementation (Multiple A Records) 我是用此方法:
www.domain.tld. 60 IN A 123.45.67.2
www.domain.tld. 60 IN A 123.45.67.3
www.domain.tld. 60 IN A 123.45.67.4
這樣上面的 server 就會互相轉換,非常方便,我是用此方法,TTL 60 這個可以在設定短一點,這樣他在切換的速度會更快喔
相關網站:
[www] 網站分流問題
參考網站:
http://www.freebsddiary.org/ip-address-change.php
http://bbs.linuxsky.org/thread-638-1-5.html
http://content.websitegear.com/article/load_balance_dns.htm
相關主題

是要做 web load balancing 或是其他 TCP Server 的 load balancing 嗎? 試試看 HA-Proxy, 在 ports 裡面有.. haproxy-1.2.17 (/usr/ports/net/haproxy) 或是 haproxy-devel-1.3.12.2 (/usr/ports/net/haproxy-devel). 他的 Official web Site 在 http://haproxy.1wt.eu/
呼呼 原來這網站 有包成 ports
感謝你喔,我在去試試看~
[...] Web 的 Load Balance 軟體,其實這是之前我寫的一篇:[筆記] FreeBSD 一張網卡多重 ip 實現 Round Robin DNS Load Balancing,有網友留言給我說可以玩看看 [...]