免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
如何在RedHat Linux上實現(xiàn)集群負(fù)載均衡
1.前言
  先來簡單說說負(fù)載均衡集群, 它是在應(yīng)用服務(wù)器高負(fù)載的情況下,由多臺節(jié)點提供可伸縮的,高負(fù)載的服務(wù)器組以保證對外提供良好的服務(wù)響應(yīng);而LVS就是實現(xiàn)這一功能的技術(shù),它通過使內(nèi)核支持ipvs來實現(xiàn)LVS/Direct Routing (DR)、LVS/IP Tunnel、LVS/NAT的功能。由于本文的著眼點在于如何利用LVS構(gòu)建一個負(fù)載均衡集群,所以關(guān)于負(fù)載均衡集群、LVS的詳細(xì)內(nèi)容就不在這里闡述了,如果大家有興趣可參考如下信息:
  http://www.linuxvirtualserver.org/ LVS的官方網(wǎng)站
  http://www-900.ibm.com/developerWorks/cn/linux/cluster/lvs/part1/index.shtml LVS項目介紹
  
  RedHat 7.3/8.0都把ipvs預(yù)先編譯到了RedHat發(fā)行版的內(nèi)核中,但使用的ipvs版本比較低是ipvs 0.9.7/1.0.4,從RedHat 9開始ipvs不再被預(yù)先編譯到了RedHat發(fā)行版的內(nèi)核中,本文介紹了如何把最新版的ipvs Version 1.0.9編譯到內(nèi)核中并配置負(fù)載均衡集群的方法和一些技巧。
  不論是在哪個版本的RedHat Linux上安裝ipvs,工作大都可以分為如下幾步:
  
 

  圖1給出了最簡單的負(fù)載均衡集群的網(wǎng)絡(luò)拓?fù)?,這里需要指出的是以上提到的安裝ipvs/ipvsadm的工作都是在Director上進(jìn)行的。
  
 

  2.在RedHat Linux上實現(xiàn)ipvs
  在RedHat 7.3/8.0已經(jīng)預(yù)先打了ipvs的補丁,在預(yù)安裝的內(nèi)核中已將ipvs編譯成模塊,如果你能在目錄/lib/modules/2.4.18-*/kernel/net/ipv4/ipvs中看到ip_vs_*文件,就證明你的系統(tǒng)已經(jīng)支持ipvs,可以通過如下步驟安裝ipvsadm并配置轉(zhuǎn)發(fā)方式。
  
 

  但系統(tǒng)預(yù)編譯的ipvs是比較早的版本(version 0.9.7/1.0.4),本文把它升級到最新的版本Version 1.0.9。
  
  2.1得到內(nèi)核源碼和相關(guān)的軟件包
  
  這里需要強調(diào)的是由于RedHat 7.3/8.0的內(nèi)核源碼中已經(jīng)預(yù)先打了ipvs的補丁,所以在安裝ipvs時不能使用RedHat光盤中的Kernel Source,而是需要去下載標(biāo)準(zhǔn)的內(nèi)核。對于RedHat 9.0,雖然內(nèi)核中沒有預(yù)編譯ipvs,但我還是提倡使用standard kernel,因為所有的ipvs的補丁包都是為標(biāo)準(zhǔn)內(nèi)核開發(fā)的。從kernel ftp site得到standard kernel linux-2.4.18.tar.gz(RedHat 7.3/8.0), linux-2.4.20.tar.gz (RedHat 9.0), 從lvs homepage 得到ipvs-1.0.9.tar.gz、ipvsadm-1.21.tar.gz。(在下面的闡述中都以內(nèi)核linux-2.4.18.tar.gz為例,對于內(nèi)核linux-2.4.20.tar.gz做法是完全相同的)
  
  2.2把ipvs補丁Patch到內(nèi)核源碼中
  
  把linux-2.4.18.tar.gz解壓到/usr/src目錄,生成了/usr/src/linux目錄;如果生成的是/usr/src/linux-2.4.18*目錄,則要在/usr/src下建立一個連接 ln –s linux-2.4.18* linux,因為在ipvs-1.0.9中的makefile文件中默認(rèn)指定Kernel Source的路徑為:KERNELSOURCE = /usr/src/linux(當(dāng)然,如果您直接修改makefile中的KERNELSOURCE值,使它指向源碼的目錄也可以)。
  
  把ipvs-1.0.9.tar.gz解壓縮到某個目錄,如/usr/src/source,生成了/usr/src/source/ipvs-1.0.9目錄;進(jìn)入/usr/src/source/ipvs-1.0.9,依次執(zhí)行如下命令:make patchkernel、make installsource,將ipvs的Patch加載到kernel的source中。當(dāng)然您也可以用linux-2.4.20-ipvs-1.0.9.patch.gz直接patch到內(nèi)核中,在/usr/src執(zhí)行 gzip -cd linux-2.4.20-ipvs-1.0.9.patch.gz,然后進(jìn)入/usr/src/linux執(zhí)行patch -p1 < ../linux-2.4.20-ipvs-1.0.9.patch
  
  2.3重新編譯支持ipvs的內(nèi)核
  
  進(jìn)入/usr/src/linux目錄,分別執(zhí)行:
  
  make mrproper 為創(chuàng)建新的內(nèi)和配置做好準(zhǔn)備
  make menuconfig 進(jìn)行配置
  主界面-->Networking options選項-->IP:Virtual Server Configuration選項(如圖2 圖3)
  IP:Virtual Server Configuration中的選項設(shè)定都用M
  make dep 檢測是否有相關(guān)的軟件包被使用
  make clean 為新內(nèi)核結(jié)構(gòu)準(zhǔn)備源目錄樹
  make bzImage 創(chuàng)建內(nèi)核引導(dǎo)映像
  make modules、make modules_install 生成模塊
  
 

  
圖2

  
 

  
圖3

  注意的問題:如果使用Standard Kernel,在make menuconfig時可能在Networking options選項中找不到IP:Virtual Server Configuration選項,這是因為沒有選中Network packet filtering選項,如圖 4
  
 

  
圖 4

  IP:Virtual Server Configuration選項是基于Network packet filtering選項的。
  
  技巧:在make menuconfig時,我們面對眾多的選項常常不知道該如何選擇,此時可以把安裝時的配置文件copy到/usr/src/linux中:cp /boot/config-2.4.* /usr/src/linux/.config,再用make menuconfig編譯,它會讀取.config中原來的配置信息,這樣只要對IP:Virtual Server Configuration中的新選項選擇即可。
  
  2.4啟用新內(nèi)核
  
  mkinitrd /boot/initrd-2.4.18ipvs.img 2.4.18 創(chuàng)建initrd映像
  cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18ipvs
  cd /boot
  rm vmlinuz
  ln –s vmlinuz-2.4.18ipvs vmlinuz
  cp /usr/src/linux/System.map /boot/System.map-2.4.18ipvs
  cd /boot
  rm System.map
  ln –s System.map-2.4.18ipvs System.map
  vi /etc/lilo.conf
  添加啟動選項:
  image=/boot/vmlinuz-2.4.18ipvs
  label=linux-ipvs
  initrd=/boot/initrd-2.4.18ipvs.img
  read-only
  root=/dev/hda3
  lilo
  然后重新啟動,選擇新內(nèi)核就可支持最新的ipvs
  
  2.5安裝ipvs管理工具ipvsadm
  
  當(dāng)使用了支持ipvs的內(nèi)核后,就可以安裝ipvsadm,ipvsadm是設(shè)置ipvs轉(zhuǎn)發(fā)方式和調(diào)度算法的工具
  tar xzvf ipvsadm-1.21.tar.gz
  cd ./ipvsadm-1.21
  make
  make install
  安裝完成后,執(zhí)行ipvsadm命令,如果有如下信息出現(xiàn)則說明安裝成功了。
  
 

  到現(xiàn)在為止,支持負(fù)載均衡功能的director就配置成功了,接下來我們可以通過ipvsadm來配置一個負(fù)載均衡集群。
  
  3.配置LVS,構(gòu)建負(fù)載均衡集群
  LVS提供了三種轉(zhuǎn)發(fā)方式:VS/NAT、VS/DR 、VS/TUN, 而不同的轉(zhuǎn)發(fā)方式對后端的realserver要求也不同(如表1)
  
 

  
表 1

  構(gòu)建負(fù)載均衡集群的工作主要涉及三個方面(如圖5):
  
 

  



3.1修正realserver上可能的arp problem
  
  注意的問題:這里所說的修正系統(tǒng)的arp problem主要是針對realserver使用linux操作系統(tǒng),而且轉(zhuǎn)發(fā)方式為VS/DR和VS/TUN的情況。這是因為在使用VS/DR和VS/TUN的時候,會需要一塊網(wǎng)卡上綁定兩個IP的情況,但linux在kernel 2.2.14以后就將eth0:1的NOARP FLAG關(guān)閉,這使得eth0:1僅僅是eth0的別名,任何對eth0:1的操作都對eth0有效,因此如果此時使eth0:1 NOARP,則也使得eth0 NOARP,這樣整個網(wǎng)卡都不會收到數(shù)據(jù)包,所以要修正系統(tǒng)的arp problem,使eth0:1不響應(yīng)arp請求,同時eth0仍能接受數(shù)據(jù)包。有關(guān)Arp問題的詳細(xì)內(nèi)容請參見:LVS-HOWTO-arp problem。
  
  由表1可以看出對應(yīng)不同的轉(zhuǎn)發(fā)方式,realserver上可以使用的操作系統(tǒng)也是不同的,而linux和windows 2000 server則是所有轉(zhuǎn)發(fā)方式都支持的操作系統(tǒng),作者在本文中也是分別以這兩種操作系統(tǒng)為例予以介紹。
  
  修正realserver上可能的arp problem時,根據(jù)轉(zhuǎn)發(fā)方式和操作系統(tǒng)的不同分為如下幾種情況:
  
  3.1.1 VS/NAT方式
  
  不論操作系統(tǒng)選擇linux還是windows 2000 server,對系統(tǒng)不需要做任何修改。
  
  3.1.2 VS/DR和VS/TUN方式
  
  realserver使用linux操作系統(tǒng),對系統(tǒng)的修改如下:
  
  1) 下載所需的軟件包
  
  從kernel ftp site得到standard kernel linux-2.4.18.tar.gz,;從Julian's patches and software page得到hidden-2.4.5-1.diff
  
  2)重新編譯內(nèi)核,修正arp problem
  
  把linux-2.4.18.tar.gz解壓倒/usr/src目錄,生成了/usr/src/linux目錄;(如果生成的是/usr/src/linux-2.4.18*目錄,則要在/usr/src下建立一個連接 ln –s linux-2.4.18* linux)
  
  把hidden-2.4.5-1.diff放到/usr/src/linux下,用命令patch -p1 < hidden-2.4.5-1.diff對kernel進(jìn)行patch
  
  進(jìn)入/usr/src/linux目錄,依次執(zhí)行make mrproper、make menuconfig(可以把安裝時的配置文件copy到/usr/src/linux中:cp /boot/config-2.4.* /usr/src/linux/.config,再編譯)、make dep、 make clean、make bzImage、make modules、make modules_install
  
  3)啟用新內(nèi)核(與2.4節(jié)相同)
  
  realserver使用windows 2000 server操作系統(tǒng)
  
  不需對系統(tǒng)本身作修改,但要在配置時(圖5中步驟③)屏蔽arp響應(yīng),具體方法在3.2.2中介紹。
  
  3.2 配置LVS
  
  對LVS的配置分為在director上的設(shè)置和在realserver上的設(shè)置,而對于不同的轉(zhuǎn)發(fā)方式:VS/NAT、VS/DR 、VS/TUN,這些設(shè)置也有所不同。
  
  3.2.1使用VS/NAT方式
  
  1)網(wǎng)絡(luò)拓?fù)?如圖6)
  
 

  2)Director上執(zhí)行的設(shè)置(以Telnet服務(wù), 輪叫(rr)策略為例)
  
 

  3)Realserver上的設(shè)置
  
 ?、攀褂肔inux操作系統(tǒng),執(zhí)行如下命令
  
 

 ?、剖褂脀indows 2000 server操作系統(tǒng),則只要把默認(rèn)網(wǎng)關(guān)設(shè)置成192.168.1.9
  
  3.2.2使用VS/DR方式
  
  1)網(wǎng)絡(luò)拓?fù)洌ㄈ鐖D7)
  
 

  2)Director上執(zhí)行的設(shè)置(以Telnet服務(wù), 輪叫(rr)策略為例)
  
 

  3)Realserver上的設(shè)置
  
  ⑴使用Linux操作系統(tǒng)(patch過hidden-2.4.5-1.diff),執(zhí)行如下命令
  
 

 ?、剖褂脀indows 2000 server操作系統(tǒng)
  
 

  3.2.3使用VS/TUN方式
  
  1)網(wǎng)絡(luò)拓?fù)洌ㄈ鐖D8)
  
 

  2)Director上執(zhí)行的設(shè)置(以Telnet服務(wù), 輪叫(rr)策略為例)
  
 

  3)Realserver上的設(shè)置
  
 ?、攀褂肔inux操作系統(tǒng)(patch過hidden-2.4.5-1.diff),執(zhí)行如下命令
  
 

  ⑵使用windows 2000 server操作系統(tǒng)
  

  技巧:在上文設(shè)置過程中給出的命令都可以改寫成符合init語法的標(biāo)準(zhǔn)腳本,并加入到/etc/init.d/rc.local中,這樣在每次系統(tǒng)啟動時都可以自動運行進(jìn)行設(shè)置了。
  
  4.總結(jié)
  本文中所討論的負(fù)載均衡其實只是集群應(yīng)用中的一個方面,其它的集群應(yīng)用還包括高性能計算集群、高可用性集群等,而每種應(yīng)用都涉及到很多具體的技術(shù),希望能和大家共同交流,一同推動集群技術(shù)的應(yīng)用和發(fā)展。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux負(fù)載均衡軟件設(shè)置(一)
學(xué)習(xí)嵌入式Linux的筆記和體會
linux2.6內(nèi)核編譯方法詳述
ubuntu 12.04編譯安裝linux-3.6.10內(nèi)核筆記
自己動手編譯Linux內(nèi)核
[轉(zhuǎn)]基于Linux內(nèi)核定制X86平臺的微操作系統(tǒng)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服