亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 8823 | 回復(fù): 9
打印 上一主題 下一主題

[原創(chuàng)] LVS+Heartbeat配置Linux服務(wù)器群集 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-08-29 16:30 |只看該作者 |倒序瀏覽
本帖最后由 qtsunk 于 2011-08-29 16:32 編輯

【實驗配置環(huán)境】
服務(wù)器系統(tǒng):CentOS-5.6
LVS主節(jié)點(lvs-master):192.168.2.250(eth0) 心跳直連接口:192.168.1.250(eth1)
LVS備節(jié)點(lvs-backup):192.168.2.251(eth0) 心跳直連接口:192.168.1.251(eth1)
Web Server-1:192.168.2.252
Web Server-2:192.168.2.253
VIP(虛擬IP):192.168.2.254
注:4臺服務(wù)器已經(jīng)配置好LNMPLinux+Nginx+PHP(FastCGI模式)+Mysql)網(wǎng)站運行環(huán)境,當(dāng)然使用apache也可以。這里主備節(jié)點也當(dāng)作真實服務(wù)器使用,所以也配置了網(wǎng)站環(huán)境。



主備調(diào)度器eth1接口使用交叉線相連(理論上是這樣)
線序為: 一頭為568A標(biāo)準(zhǔn):白綠,綠;白橙,藍(lán);白藍(lán),橙;白棕,棕
另一頭為568B標(biāo)準(zhǔn):白橙,橙;白綠,藍(lán);白藍(lán),綠;白棕,棕

在LVS主節(jié)點和備節(jié)點的/etc/hosts中加入以下內(nèi)容:
#vim /etc/hosts

192.168.2.250 lvs-master
192.168.2.251 lvs-backup修改主機名:

# vim /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=lvs-master
GATEWAY=192.168.2.1# vim /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 lvs-master localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6這2個文件都要修改,修改完后重啟生效,備份機修改方法一樣,不在重述。

【下載軟件】
[libnet]
wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/libnet-1.22.tar.gz
[ipvsadm]
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
[Heartbeat]
wget http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/STABLE-3.0.4.tar.bz2
[Cluster Glue]
wget http://hg.linux-ha.org/glue/archive/glue-1.0.7.tar.bz2
[Resource Agents]
wget https://download.github.com/ClusterLabs-resource-agents-agents-1.0.4-0-gc06b6f3.tar.gz

一、 配置LVS主節(jié)點(lvs-master)
1. 安裝libnet
# tar zxvf libnet-1.1.2.2.tar.gz
# cd libnet
# ./configure
# make && make install
# cd ..

2. 安裝ipvsadm
# yum install kernel-devel //安裝對應(yīng)內(nèi)核的kernel-devel
# tar zxvf ipvsadm-1.24.tar.gz
# cd ipvsadm-1.24
# ln -s /usr/src/kernels/`ls /usr/src/kernels/` /usr/src/linux //將當(dāng)前使用內(nèi)核連接到/usr/src/linux
# make && make install
# cd..

3. 安裝Heartbeat
3.1 確認(rèn)系統(tǒng)已經(jīng)安裝以下軟件(系統(tǒng)光盤中有)
libxslt、libxslt-devel、libgcrypt-devel、autoconf、automake、pkgconfig、libgpg-error-devel、libtool、sgml-common、opensp、openjade、xml-common、docbook-dtds、docbook-style
如果在編譯安裝過程中出錯,很有可能是因為缺少了相關(guān)的軟件包

3.2 安裝glue
# groupadd haclient
# useradd -g haclient -M -s /sbin/nologin hacluster
# tar jxvf glue-1.0.7.tar.bz2
# cd Reusable-Cluster-Components-glue--glue-1.0.7/
# ./autogen.sh
# ./configure
# make && make install
# cd ..

3.3 安裝 agents
# tar zxvf ClusterLabs-resource-agents-agents-1.0.4-0-gc06b6f3.tar.gz
# cd ClusterLabs-resource-agents-c06b6f3/
# ./autogen.sh
# ./configure
# make && make install
# cd..

3.4 安裝Heartbeat
# tar jxvf Heartbeat-3-0-STABLE-3.0.4.tar.bz2
# cd Heartbeat-3-0-STABLE-3.0.4
# ./ConfigureMe configure
# gmake && make install
# cd..

4. 配置lvs啟動腳本
本實驗采用的是lvs-DR模式,該模式的特點是客戶端的請求從主/備節(jié)點進(jìn)入分配到web server,然后web server的響應(yīng)是直接交付給客戶端的。
# vim /etc/init.d/lvs

  1. #!/bin/sh
  2. #chkconfig: 2345 20 80
  3. #description: start_lvs_of_dr

  4. VIP1=192.168.2.254
  5. RIP1=192.168.2.250
  6. RIP2=192.168.2.251
  7. RIP3=192.168.2.252
  8. RIP4=192.168.2.253

  9. ./etc/rc.d/init.d/functions
  10. case "$1" in
  11. start)
  12. echo "開啟LVS DirectorServer..."
  13. #設(shè)置虛擬IP地址
  14. #LVS啟動時添加VIP的網(wǎng)口eth0:0
  15. /sbin/ifconfig eth0:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
  16. /sbin/route add -host $VIP1 dev eth0:0
  17. #清除IPVS表
  18. /sbin/ipvsadm -C
  19. #設(shè)置LVS
  20. /sbin/ipvsadm -A -t $VIP1:80 -s lc
  21. /sbin/ipvsadm -a -t $VIP1:80 -r $RIP1:80 -g
  22. /sbin/ipvsadm -a -t $VIP1:80 -r $RIP2:80 -g
  23. /sbin/ipvsadm -a -t $VIP1:80 -r $RIP3:80 –g
  24. /sbin/ipvsadm -a -t $VIP1:80 -r $RIP4:80 -g
  25. #使用ipvsadm來轉(zhuǎn)發(fā)客戶端請求。-s lc為最小連接數(shù)算法,-g是采用DR模式。有多少RIP就添加幾條記錄。
  26. #啟動LVS
  27. /sbin/ipvsadm
  28. ;;

  29. stop)
  30. echo "停止LVS DirectorServer..."
  31. #關(guān)閉時清除ipvsadm表
  32. /sbin/ipvsadm –C
  33. ;;

  34. *)
  35. echo "Usage: $0 {start|stop}"
  36. exit 1
  37. esac注:這個腳本不要使用chkconfig管理,放入/etc/init.d內(nèi)即可。
復(fù)制代碼


5. 安裝ldirectord相關(guān)組件
默認(rèn)安裝完上面的三個軟件包之后,ldirectord已經(jīng)安裝到系統(tǒng)中,默認(rèn)路徑在 /usr/etc/ ,由于ldirectord是由perl語言編寫的,所以必須安裝相關(guān)的軟件包:Socket6、libwww-perl、URI、MailTools、HTML-Parser
# yum -y install perl-Socket6 perl-libwww-perl perl-URI perl-MailTools perl-HTML-Parser

也可以在http://search.cpan.org/網(wǎng)站下載相關(guān)軟件包安裝
安裝方法:
# perl Makefile.PL
# make && make install

6. 配置heartbeat
# cp -a /usr/etc/ha.d/ /etc/
# rm -fr /usr/etc/ha.d/
# ln -s /etc/ha.d/ /usr/etc/
# cp /usr/share/doc/haresources /etc/ha.d/
# cp /usr/share/doc/authkeys /etc/ha.d/
# cp /usr/share/doc/ha.cf /etc/ha.d/
# chmod 600 /etc/ha.d/authkeys //這個文件的權(quán)限必須是600

6.1 修改配置文件
6.1.1 authkeys文件配置(authkeys文件的作用是用來設(shè)置心跳信息的加密方式)
vim /etc/ha.d/authkeys

auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!此設(shè)置是使用crc循環(huán)冗余校驗,不采用加密的方式。

6.1.2 ha.cf為heartbeat的主配置文件,修改下面配置。
# vim /etc/ha.d/ha.cf

  1. #日志文件位置
  2. logfile /var/log/ha-log
  3. #指定主備服務(wù)器多久發(fā)送一次心跳
  4. keepalive 2
  5. #指定30秒沒有收到對方心跳就認(rèn)為對方已經(jīng)down機
  6. deadtime 30
  7. #10秒沒有收到心跳,便發(fā)出警報。
  8. warntime 10
  9. #對方DOWN后120秒重新檢測一次。
  10. initdead 120
  11. #指定監(jiān)聽端口
  12. udpport 694
  13. #心跳監(jiān)聽網(wǎng)口,這里為eth1
  14. bcast eth1 //去掉后面#linux
  15. #備份機的心跳線接口與接口IP
  16. ucast eth1 192.168.1.251
  17. #主節(jié)點恢復(fù)后,自動收回資源。
  18. auto_failback on
  19. #指定主備服務(wù)器的主機名稱,即在hosts文件中指定的。第一個node為主服務(wù)器,第二個node為備服務(wù)器。
  20. node lvs-master //服務(wù)器的主機名
  21. node lvs-backup
  22. #當(dāng)192.168.2.1、192.168.2.2這兩個IP都不能ping通時,對方即開始接管資源。
  23. ping_group group1 192.168.2.1 192.168.2.2
  24. #啟用ipfail腳本
  25. respawn root /usr/lib/heartbeat/ipfail
  26. #指定運行ipfail的用戶。
  27. apiauth ipfail gid=root uid=root6.1.3 haresources文件配置,這個文件是指定虛擬IP和改主機控制的腳本。
  28. # vim /etc/ha.d/haresources

  29. lvs-master 192.168.2.254 lvs ldirectord
  30. // master.lvs.net可為主節(jié)點主機名,192.168.2.254為虛擬IP6.1.4 ldirectord.cf是ldirectord進(jìn)程的配置文件,該進(jìn)程用來監(jiān)視web server的運行狀況,如果web server不能響應(yīng)請求則把它排除在轉(zhuǎn)發(fā)列表外。
  31. 復(fù)制安裝文件ldirectord目錄上的ldirectord.cf 到/etc/ha.d/conf下,如果找不到可以查找一下:find / -name ldirectord.cf
  32. # mkdir /etc/ha.d/conf
  33. # cp ldirectord.cf /etc/ha.d/conf
  34. # vim /etc/ha.d/conf/ldirectord.cf

  35. # Global Directives
  36. #設(shè)置真實web server的超時時間
  37. checktimeout=30
  38. #監(jiān)視真實web server的時間間隔
  39. checkinterval=10
  40. #如全部真實web server失敗,則轉(zhuǎn)發(fā)至本地
  41. fallback=127.0.0.1:80
  42. #改變配置文件內(nèi)容,不需要重新ldirectord
  43. autoreload=yes
  44. #指定日志位置
  45. logfile="/var/log/ldirectord.log"
  46. quiescent=no

  47. # A sample virual with a fallback that will override the gobal setting
  48. #指定虛擬IP
  49. virtual=192.168.2.254:80
  50. #指定真實web server IP及監(jiān)聽端口
  51. real=192.168.2.250:80 gate
  52. real=192.168.2.251:80 gate
  53. real=192.168.2.252:80 gate
  54. real=192.168.2.253:80 gate
  55. fallback=127.0.0.1:80 gate
  56. service=http
  57. #指定轉(zhuǎn)發(fā)算法
  58. scheduler=lc //這里的算法要和LVS腳本的算法一樣
  59. protocol=tcp
  60. #監(jiān)視VIP服務(wù)器的方法
  61. checktype=negotiate
  62. checkport=80
  63. #監(jiān)聽測試頁面名稱,這個頁面放入真實web server web服務(wù)的根目錄
  64. request="lvs_testpage.html"
  65. #指定測試頁面返回內(nèi)容
  66. receive="Test Page"
  67. virtualhost= lvstest.net配置文件中的lvs_testpage.html必須存在網(wǎng)站根目錄下,校驗一下配置:
復(fù)制代碼


# ldirectord -d /etc/ha.d/conf/ldirectord.cf start //按Ctrl+C結(jié)束
# cp /etc/ha.d/shellfuncs /usr/lib/ocf/resource.d/heartbeat/.ocf-shellfuncs

以上lvs和heartbeat配置完成。
LVS備節(jié)點(lvs-backup)的配置和LVS主節(jié)點(lvs-master)完全一樣。
只是在/etc/ha.d/ha.cf中“ucast eth1 192.168.1.251”此配置地址不一樣。

二、配置真實web server腳本
在每臺web server的/etc/init.d目錄下放置realserver腳本,這里主備節(jié)點同時也作為web server使用。
# vim /etc/init.d/realserver

  1. #!/bin/bash
  2. # chkconfig: 2345 20 80
  3. # description: lvs_dr_realserver

  4. #指定虛擬IP
  5. VIP=192.168.2.254
  6. host=`/bin/hostname`
  7. case "$1" in
  8. start)
  9. # Start LVS-DR real server on this machine.
  10. /sbin/ifconfig lo down
  11. /sbin/ifconfig lo up
  12. #修改相關(guān)內(nèi)核參數(shù)
  13. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  14. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
  15. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  16. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

  17. /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up
  18. /sbin/route add -host $VIP dev lo:0
  19. ;;
  20. stop)
  21. # Stop LVS-DR real server loopback device(s).
  22. /sbin/ifconfig lo:0 down
  23. ;;
  24. status)
  25. # Status of LVS-DR real server.
  26. islothere=`/sbin/ifconfig lo:0 | grep $VIP`
  27. isrothere=`netstat -rn | grep "lo" | grep $VIP`
  28. if [ ! "$islothere" -o ! "$isrothere" ];
  29. then
  30. # Either the route or the lo:0 device
  31. # not found.
  32. echo "LVS-DR real server Stopped."
  33. else
  34. echo "LVS-DR Running."
  35. fi
  36. ;;
  37. *)
  38. # Invalid entry.
  39. echo "$0: Usage: $0 {start|status|stop}"
  40. exit 1
  41. ;;
  42. esac# chmod +x /etc/init.d/lvs
  43. # chmod +x /etc/init.d/realserver
  44. # service heartbeat start //主備LVS調(diào)度器上執(zhí)行
  45. # /etc/init.d/lvs start //主備LVS調(diào)度器上執(zhí)行
  46. # /etc/init.d/realserver start //真實web服務(wù)器上執(zhí)行

  47. # chkconfig --level 35 heartbeat on
  48. # echo “/etc/init.d/lvs start” >> /etc/rc.local //開機啟動
  49. # echo “/etc/init.d/realserver start” >> /etc/rc.local //開機啟動
復(fù)制代碼


三、測試
配置我已經(jīng)測試過了,但是不同系統(tǒng)環(huán)境可能會出一些意料之外的事情。


推薦閱讀:LVS的調(diào)度算法和三種工作模式

本文鏈接地址:http://www.linuxde.net/2011/06/111.html
除非注明,其他均為原創(chuàng)或編譯文章,轉(zhuǎn)載請注明: 文章轉(zhuǎn)載自
Linux每日一文

評分

參與人數(shù) 1可用積分 +5 收起 理由
yuhongchun + 5 謝謝分享!。

查看全部評分

論壇徽章:
0
2 [報告]
發(fā)表于 2011-08-30 11:13 |只看該作者
不錯,非常詳細(xì),謝謝分享

論壇徽章:
0
3 [報告]
發(fā)表于 2011-08-30 13:57 |只看該作者
本帖最后由 gun007_cu 于 2011-08-30 14:15 編輯

@qtsunk

拓?fù)鋱D中虛擬IP寫錯。

論壇徽章:
0
4 [報告]
發(fā)表于 2011-08-31 09:34 |只看該作者
好文章,放分享

論壇徽章:
0
5 [報告]
發(fā)表于 2011-08-31 10:30 |只看該作者
回復(fù) 1# qtsunk

基礎(chǔ)實驗 必須要掌握好的操作技能

論壇徽章:
0
6 [報告]
發(fā)表于 2011-08-31 16:27 |只看該作者
很詳細(xì),收藏~~

論壇徽章:
0
7 [報告]
發(fā)表于 2011-09-01 18:50 |只看該作者
回復(fù) 3# gun007_cu


    悲劇,如此低級錯誤。謝謝提醒

論壇徽章:
0
8 [報告]
發(fā)表于 2011-09-06 09:13 |只看該作者
為什么不用lvs+keepalived呢

論壇徽章:
0
9 [報告]
發(fā)表于 2011-09-10 14:44 |只看該作者

論壇徽章:
0
10 [報告]
發(fā)表于 2011-09-12 10:49 |只看該作者
/etc/init.d/lvs既然有使用ipvsadm配置了,那么/etc/ha.d/conf/ldirectord.cf就不需要配置了。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP