中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

在redhat as 4配置lvs的詳細教程

2018-09-11    來源:愛站科技

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

  今天小編跟大家分享一篇關(guān)于在redhat as 4配置lvs的詳細教程,感興趣的朋友跟小編一起來了解一下吧!

  RedHatAS4.2 安裝集群LVS

  環(huán)境描述:

  本文在配置LVS時使用三臺linux,一臺做Directorserver(192.168.0.25) ,兩臺做realserver(192.168.0.127 192.168.0.12,在配置lvs+heartbeat時又添加了一臺(192.168.0.126)做為備份主節(jié)點,虛擬VIP:192.168.0.100

  軟件列表:

  ipvsadm-1.24.tar.gz

  libnet.tar 下載地址:http://www.packetfactory.net/libnet/ 穩(wěn)定版本是:1.1.2.1

  e2fsprogs 可以用rpm 安裝光盤

  heartbeat-2.0.2.tar.gz

  2.6內(nèi)核已經(jīng)集成IPVS內(nèi)核補訂了,所以不再需要重新編譯內(nèi)核.

  配置此集群分以下幾種情況:

  (1)、配置基于DR模式Lvs集群

  (2)、配置基于隧道模式Lvs集群

  (3)、配置基于高可用Lvs+heartbeat

  (4)、此種配置方式可以加強LVS的主節(jié)點的高安全性前提下(主節(jié)點簡稱DR,備份主節(jié)點DRbak),考慮充分利用資源可以將DRbak做為realserver

  一、配置基于DR模式Lvs集群

  1、下載ipvsadm管理程序

  http://www.linuxvirtualserver.org/software/

  注意對應(yīng)自己的內(nèi)核版本

  ipvsadm-1.24.tar.gz

  tar zxvf ipvsadm-1.24.tar.gz

  cd ipvsadm-1.24

  make

  make install

  注意在make時可能會出現(xiàn)很多錯誤的信息,請按照如下操作就可以心編譯正常

  ln -s /usr/src/kernels/2.6.9-22.EL-i686/ /usr/src/linux

  cd ipvsadm-1.24

  make

  make install

  2、配置VIP腳本

  [root@ns ~]#more /etc/init.d/lvsDR

  #!/bin/sh

  #create in 20060812 by ghb

  # description: start LVS of Directorserver

  VIP=192.168.0.100

  RIP1=192.168.0.127

  RIP2=192.168.0.128

  #RIPn=192.168.0.128~254

  GW=192.168.0.1

  . /etc/rc.d/init.d/functions

  case $1 in

  start)

  echo "start LVS of DirectorServer"

  # set the Virtual IP Address

  /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up

  /sbin/route add -host $VIP dev eth0:0

  #Clear IPVS table

  /sbin/ipvsadm -C

  #set LVS

  /sbin/ipvsadm -A -t $VIP:80 -s rr #(如果需要session保持添加-p 默認保持300秒)

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g

  #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -g

  #Run LVS

  /sbin/ipvsadm

  #end

  ;;

  stop)

  echo "close LVS Directorserver"

  /sbin/ipvsadm -C

  ;;

  *)

  echo "Usage: $0" {start|stop}

  exit 1

  esac

  (-s rr 是使用了輪叫算法,可以自行選擇相應(yīng)的算法,更改rr就可以了,ipvsadm -h查看幫助。-g 是使用lvs工作DR直接路由模式,也可自行修改)

  如果有多個realserver直接添加就可以了,之后啟動此腳本就可以了。

  3、配置realserver腳本

  #!/bin/bash

  #description : start realserver

  #create in 20060812 by ghb

  VIP=192.168.0.100

  /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up

  /sbin/route add -host $VIP dev lo:0

  echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

  echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

  echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

  echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

  sysctl -p

  #end

  此腳本使realserver不響應(yīng)arp請求,將此腳本分別在realserver上執(zhí)行就可以了。

  測試:分別啟動realserver上的httpd服務(wù)

  在realserver1 執(zhí)行 echo "This is realserver1" > /var/www/html/index.html

  在realserver2 執(zhí)行 echo "This is realserver2" > /var/www/html/index.html

  打開IE瀏覽器輸入http://192.168.0.100 應(yīng)該可以分別看到:This is realserver1 和 This is realserver1。

  二、配置基于隧道模式Lvs集群

  1、安裝ipvsadmin方法和上面一樣,在此略過

  2、配置LVS directorserver 腳本

  [root@ns ~]# more /etc/init.d/tunlvs

  #!/bin/sh

  # description: start LVS of Directorserver

  VIP=192.168.0.100

  RIP1=192.168.0.127

  RIP2=192.168.0.128

  #RIPn=192.168.0.n

  GW=192.168.0.1

  . /etc/rc.d/init.d/functions

  case $1 in

  start)

  echo "start LVS of DirectorServer"

  # set the Virtual IP Address

  /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up

  /sbin/route add -host $VIP dev tunl0

  #Clear IPVS table

  /sbin/ipvsadm -C

  #set LVS

  /sbin/ipvsadm -A -t $VIP:80 -s rr

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i

  #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i

  #Run LVS

  /sbin/ipvsadm

  #end

  ;;

  stop)

  echo "close LVS Directorserver"

  ifconfig tunl0 down

  /sbin/ipvsadm -C

  ;;

  *)

  echo "Usage: $0" {start|stop}

  exit 1

  esac

  3、配置realserver

  [root@localhost ~]# more /etc/init.d/tunl

  #!/bin/sh

  # ghb in 20060812

  # description: Config realserver tunl port and apply arp patch

  VIP=192.168.0.100

  . /etc/rc.d/init.d/functions

  case $1 in

  start)

  echo "Tunl port starting"

  ifconfig tunl0 $VIP netmask 255.255.255.255 broadcast $VIP up

  /sbin/route add -host $VIP dev tunl0

  echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore

  echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce

  echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

  echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

  sysctl -p

  ;;

  stop)

  echo "Tunl port closing"

  ifconfig tunl0 down

  echo "1" > /proc/sys/net/ipv4/ip_forward

  echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce

  ;;

  *)

  echo "Usage: $0" {start|stop}

  exit 1

  esac

  如果有多個Virutal IP,可以使用tunl0:0,tunl0:1...。

  此腳本分別在realserver上執(zhí)行,目的使realserver忽略arp響應(yīng),并設(shè)定vip.

  測式同樣按照上面的方法測試。

  三、配置基于高可用Lvs+heartbeat

  1、確定LVS使用DR或/tun模式,請對照上面的配置。

  本例使用tun模式

  Director server 端腳本文件

  [root@ns ~]# more /etc/init.d/tunlvs

  #!/bin/sh

  # description: start LVS of Directorserver

  VIP=192.168.0.100

  RIP1=192.168.0.127

  RIP2=192.168.0.128

  #RIPn=192.168.0.n

  GW=192.168.0.1

  . /etc/rc.d/init.d/functions

  case $1 in

  start)

  echo "start LVS of DirectorServer"

  # set the Virtual IP Address

  /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up

  /sbin/route add -host $VIP dev tunl0

  #Clear IPVS table

  /sbin/ipvsadm -C

  #set LVS

  /sbin/ipvsadm -A -t $VIP:80 -s rr

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i

  #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i

  #Run LVS

  /sbin/ipvsadm

  #end

  ;;

  stop)

  echo "close LVS Directorserver"

  ifconfig tunl0 down

  /sbin/ipvsadm -C

  ;;

  *)

  echo "Usage: $0" {start|stop}

  exit 1

  esac

  realserver端同樣使用上面的配置文件就可以。

  2、安裝heartbeat

  libnet.tar 下載地址:http://www.packetfactory.net/libnet/ 穩(wěn)定版本是:1.1.2.1

  e2fsprogs 可以用rpm 安裝光盤

  heartbeat-2.0.2.tar.gz 下載地址: http://www.linux-ha.org/download/

  2.1安裝

  tar -zxvf libnet.tar.gz

  cd libnet

  ./configure

  make

  make install

  tar zxf heartbeat-1.99.4.tar.gz

  cd heartbeat-1.99.4

  ./ConfigureMe configure --disable-swig --disable-snmp-subagent

  make

  make install

  cp doc/ha.cf doc/haresources doc/authkeys /etc/ha.d/

  cp ldirectord/ldirectord.cf /etc/ha.d/

  配置:

  主配置文件(/etc/ha.d/ha.cf)

  #debugfile /var/log/ha-debug

  logfile /var/log/ha-log #指名heartbeat的日志存放位置

  #crm yes #支持ClusterResourceManager(集群資源管理)功能

  #bcast eth1 #指明心跳方式使用以太廣播方式,并且是在eth1接口上進行廣播。

  logfacility local0

  keepalive 2#指明心跳時間為2秒(即每兩秒鐘在eth1上發(fā)送一次廣播)。

  deadtime 30#指定在30秒內(nèi)沒有心跳信號,則立即切換服務(wù)。

  warntime 10 #指明心跳延遲的時間為十秒。當(dāng)10秒鐘內(nèi)備份機不能聯(lián)系上主機(當(dāng)前活動的服務(wù)器,即無心跳信號),就會往日志中寫入一個警告日志,但此時不會切換服務(wù)。

  initdead 120 #With some configurations, the network takes some time to start working after a reboot. This is a separate deadtime to handle that case. It should be at least twice the normal deadtime.

  udpport 694#Use port number 694 for bcast or ucast communication. This is the default, and the official IANA registered port number.

  baud 19200

  serial /dev/ttyS0

  mcast eth0 225.0.0.1 694 1 0

  # 當(dāng)主節(jié)點恢復(fù)后,是否自動切回

  auto_failback on

  # stonith用來保證共享存儲環(huán)境中的數(shù)據(jù)完整性

  #stonith baytech /etc/ha.d/conf/stonith.baytech

  # watchdog能讓系統(tǒng)在出現(xiàn)故障1分鐘后重啟該機器。這個功能可以幫助服務(wù)器在確實停止心跳后能夠重新恢復(fù)心跳。

  # 如果使用該特性,則在內(nèi)核中裝入softdog內(nèi)核模塊,用來生成實際的設(shè)備文件,輸入insmod softdog加載模塊。

  # 輸入grep misc /proc/devices(應(yīng)為10),輸入cat /proc/misc | grep watchdog(應(yīng)為130)。

  # 生成設(shè)備文件:mknod /dev/watchdog c 10 130 。

  #watchdog /dev/watchdog

  node ns.ghb.com #Mandatory. Hostname of machine in cluster as described by uname -n.

  node nsbak.ghb.com

  # 默認heartbeat并不檢測除本身之外的其他任何服務(wù),也不檢測網(wǎng)絡(luò)狀況。

  # 所以當(dāng)網(wǎng)絡(luò)中斷時,并不會進行Load Balancer和Backup之間的切換。

  # 可以通過ipfail插件,設(shè)置'ping nodes'來解決這一問題。詳細說明參考hearbeat文檔。

  #ping 192.168.136.1 172.16.0.1

  ping_group group1 192.168.136.1 192.168.136.2

  respawn root /usr/lib/heartbeat/ipfail

  apiauth ipfail gid=root uid=root

  # 其他一些插件可以在/usr/lib/heartbeat下找到

  #apiauth ipfail uid=hacluster

  #apiauth ccm uid=hacluster

  #apiauth cms uid=hacluster

  #apiauth ping gid=haclient uid=alanr,root

  #apiauth default gid=haclient

  資源文件(/etc/ha.d/haresources):

  ns.aaa.com IPaddr::192.168.0.127/24/eth0 httpd

  #設(shè)置ns.aaa.com為主節(jié)點,集群服務(wù)器的ip地址為192.168.0.127 netmask 為255.255.255.240集群的服務(wù)有httpd

  認證文件(/etc/ha.d/authkeys),選取一種認證方式,這個文件的權(quán)限必須是600

  auth 1

  1 crc

  #2 sha1 sha1_any_password

  #3 md5 md5_any_password

  使用同樣的方法配置節(jié)點2

  備份節(jié)點192.168.0.126 上的heartbeat和apache的配置與節(jié)點1要完全相同,lvs配置也要相同。

  2.2

  完裝完畢進行測試,關(guān)閉主節(jié)點機器,另一臺自動接管,主節(jié)點恢復(fù)后自動接管回服務(wù)。如果以上測試沒有問題,那么開始和lvs整合。

  配置Ldirectord

  Ldirectord的作用是監(jiān)測Real Server,當(dāng)Real Server失效時,把它從Load Balancer列表中刪除,恢復(fù)時重新添加,在安裝heartbeat時已經(jīng)安裝了Ldirectord。

  配置(/etc/ha.d/ldirectord.cf):

  # Global Directives

  checktimeout=3

  checkinterval=1

  fallback=127.0.0.1:80

  autoreload=yes

  logfile="/var/log/ldirectord.log"

  quiescent=yes

  # A sample virual with a fallback that will override the gobal setting

  virtual=192.168.0.100:80

  real=192.168.0.127:80 gate

  real=192.168.0.128:80 gate

  fallback=127.0.0.1:80 gate

  service=http

  request="test.html"

  receive="Test Page"

  virtualhost="www.xxxxxx.net"

  scheduler=rr

  #persistent=600

  #netmask=255.255.255.255

  protocol=tcp

  在每個Real Server的中添加監(jiān)控頁:

  echo "Test Page" >> /var/www/html/test.html

  修改heartbeat的資源文件/etc/ha.d/haresources

  ns.ghb.com 192.168.0.100 tunlvs ldirectord httpd

  現(xiàn)在可以在主節(jié)點192.168.0.25上啟動heartbeat

  /etc/init.d/heartbeat start

  在備份節(jié)點也啟動heartbeat /etc/init.d/heartbeat start

  測試:關(guān)閉主節(jié)點,備份節(jié)點將自動接管directorserver服務(wù)。(主節(jié)點正常時用ifconfig 是可以看tunl接可口的,而備份節(jié)點用ifconfig 命令是看不到的,只有在接管主節(jié)點服務(wù)后才是可以見的)

  至此第三部分配置完畢。

  四、考慮充份使用資源,將備份節(jié)點也做為realserver.

  在主備director server 上都要做如下配置

  1.director server 需要在腳本文件中將添加realserver,我們預(yù)先設(shè)置所有機器為realserver。

  #!/bin/sh

  # description: start LVS of Directorserver

  VIP=192.168.0.100

  RIP1=192.168.0.127

  RIP2=192.168.0.128

  RIP3=192.168.0.25

  RIP4=192.168.0.126

  GW=192.168.0.1

  . /etc/rc.d/init.d/functions

  case $1 in

  start)

  echo "start LVS of DirectorServer"

  # set the Virtual IP Address

  /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up

  /sbin/route add -host $VIP dev tunl0

  #Clear IPVS table

  /sbin/ipvsadm -C

  #set LVS

  /sbin/ipvsadm -A -t $VIP:80 -s rr

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i

  /sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i

  #Run LVS

  /sbin/ipvsadm

  #end

  ;;

  stop)

  echo "close LVS Directorserver"

  ifconfig tunl0 down

  /sbin/ipvsadm -C

  ;;

  *)

  echo "Usage: $0" {start|stop}

  exit 1

  esac

  2.修改/etc/ha.d/ldirectord.cf

  # Global Directives

  checktimeout=3

  checkinterval=1

  fallback=127.0.0.1:80

  autoreload=yes

  logfile="/var/log/ldirectord.log"

  quiescent=yes

  # A sample virual with a fallback that will override the gobal setting

  virtual=192.168.0.100:80

  real=192.168.0.126:80 gate

  real=192.168.0.127:80 gate

  real=192.168.0.128:80 gate

  real=192.168.0.25:80 gate

  fallback=127.0.0.1:80 gate

  service="http"

  request="test.html"

  receive="Test Page"

  virtualhost="www.xxxxx.net"

  scheduler=rr

  #persistent=600

  #netmask=255.255.255.255

  protocol=tcp

  3、將realserver的啟動腳本加入到主節(jié)點,和備份節(jié)點中,并且這個腳本的啟動級必須先于heartbeat,關(guān)閉級必須后于heartbeat

  chkconfig tunl on 添加到系統(tǒng)啟動

  4、創(chuàng)建closetunl啟動腳本,為啟動director server 做準(zhǔn)備

  more /etc/init.d/closetunl

  #!/bin/sh

  # create in 200608 ghb

  # description: close tunl0 and arp_ignore

  VIP=192.168.136.100

  . /etc/rc.d/init.d/functions

  case $1 in

  start)

  echo "start director server and close tunl"

  ifconfig tunl0 down

  echo "1" > /proc/sys/net/ipv4/ip_forward

  echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce

  ;;

  stop)

  echo "start Real Server"

  ifconfig tunl0 $VIP netmask 255.255.255.255 broadcast $VIP up

  /sbin/route add -host $VIP dev tunl0

  echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

  echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

  echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

  echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

  sysctl -p

  ;;

  *)

  echo "Usage: lvs" {start|stop}

  exit 1

  esac

  chmod 755 /etc/init.d/closetunl

  5、修改/etc/ha.d/haresources

  ns.wdxc.com closetunl 192.168.0.100 tunlvs ldirectord httpd

  6、測試

  http://192.168.0.100 應(yīng)該可以輪到四臺機器上

  配置完畢

  以上就是關(guān)于在redhat as 4配置lvs的詳細教程,想必都了解了吧,更多相關(guān)內(nèi)容請繼續(xù)關(guān)注愛站技術(shù)頻道。

標(biāo)簽: linux 安全 服務(wù)器 腳本 權(quán)限 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:FTP的防火墻通用設(shè)置流程步驟

下一篇:serv-u安全配置正確操作流程