• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    Linux負載均衡軟件LVS之三 (1)

    發布時間:  2012/8/2 18:12:10
    LVS集群有DR、TUN、NAT三種配置模式,可以對www服務、FTP服務、MAIL服務等做負載均衡,下面通過搭建www服務的負載均衡實例,講述基于DR模式的LVS集群配置。
      一、 Director Server的配置
      在Director Server上配置LVS負載均衡集群,有兩種方法:
      ? 通過ipvsadm命令行進行配置
      ? 通過Redhat提供的工具piranha來配置LVS
      1、通過ipvsadm命令行方式配置LVS
      安裝IPVS后,就可以配置LVS集群了,首先在Director Server上綁定一個虛擬IP(也叫VIP),此IP用于對外提供服務,執行如下命令:
      [root@localhost ~]#ifconfig eth0:0 192.168.60.200 broadcast 192.168.60.200 \
      >netmask 255.255.255.255 up
      此處在eth0設備上綁定了一個虛擬設備eth0:0,同時設置了一個虛擬IP是192.168.60.200,也就是上面我們規劃的IP地址,然后指定廣播地址也為192.168.60.200,需要特別注意的是,這里的子網掩碼為255.255.255.255。
      然后給設備eth0:0指定一條路由,執行如下指令:
      [root@localhost ~]#route add -host 192.168.60.200 dev eth0:0
      接著啟用系統的包轉發功能,從而使系統充當路由器,執行如下指令:
      [root@localhost ~]#echo "1" >/proc/sys/net/ipv4/ip_forward
      指令中,參數值為1時啟用ip轉發,為0時禁止ip轉發。其實在DR模式中,開啟系統的包轉發功能不是必須的,而在NAT模式下此操作是必須的。
      然后開始配置ipvs,執行如下操作:
      [root@localhost ~]#ipvsadm -C
      [root@localhost ~]#ipvsadm -A -t 192.168.60.200:80 -s rr -p 600
      [root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.132:80 -g
      [root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.144:80 -g
      上面操作中,第一行是清除內核虛擬服務器列表中的所有記錄,第二行是添加一條新的虛擬IP記錄。這個新的IP是192.168.60.200,同時指定持續服務時間為600秒。第三、四行是在新加虛擬IP記錄中添加兩條新的Real Server記錄,并且指定LVS 的工作模式為直接路由模式。
      最后,啟動LVS服務,執行如下操作:
      [root@localhost ~]#ipvsadm
      這樣,LVS在Director Server上的配置就完成了。
      為了管理和配置的方便,可以將上面的操作寫出一個腳本文件,腳本內容如下:
      #!/bin/bash
      VIP=192.168.60.200
      RIP1=192.168.60.132
      RIP2=192.168.60.144
      GW=192.168.60.1
      # 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
      echo "1" >/proc/sys/net/ipv4/ip_forward
      #Clear IPVS table
      /sbin/ipvsadm -C
      #set LVS
      /sbin/ipvsadm -A -t $VIP:80 -s rr -p 600
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
      #Run LVS
      /sbin/ipvsadm
      #end
      也可以寫成可啟動與停止的服務腳本,腳本內容如下:
      #!/bin/sh
      # description: Start LVS of Director server
      VIP=192.168.60.200
      RIP1=192.168.60.132
      RIP2=192.168.60.144
      ./etc/rc.d/init.d/functions
      case "$1" in
      start)
      echo " start LVS of Director Server"
      # set the Virtual  IP Address and sysctl parameter
      /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
      echo "1" >/proc/sys/net/ipv4/ip_forward
      #Clear IPVS table
      /sbin/ipvsadm -C
      #set LVS
      /sbin/ipvsadm -A -t $VIP:80 -s rr -p 600
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
      #Run LVS
      /sbin/ipvsadm
      ;;
      stop)
      echo "close LVS Directorserver"
      echo "0" >/proc/sys/net/ipv4/ip_forward
      /sbin/ipvsadm -C
      /sbin/ifconfig eth0:0 down
      ;;
      *)
      echo "Usage: $0 {start|stop}"
      exit 1
      esac
      將此腳本命名為lvsDR文件,然后把文件放到/etc/init.d下,執行:
      [root@localhost ~]#chomd 755 /etc/init.d/lvsDR
      最后可以通過下面命令啟動或停止LVS服務:
      service lvsDR {start|stop}
      到此為止,命令行方式配置Director Server完畢。
      2、通過Redhat提供的工具piranha來配置LVS
      Piranha是REDHAT提供的一個基于Web的LVS配置軟件,可以省去手工配置LVS的繁瑣工作,同時,也可單獨提供cluster功能,例如,可以通過Piranha激活Director Server的后備主機,也就是配置Director Server的雙機熱備功能。
      Piranha工具的安裝非常簡單,下載Piranha的rpm包,進行安裝即可:
      [root@localhost ~]#rpm –ivh piranha-0.8.2-1.i386.rpm
      Piranha安裝完畢后,會產生/etc/sysconfig/ha/lvs.cf文件,默認此文件是空的,可以通過Piranha提供的web界面配置此文件,也可以直接手動編輯此文件,編輯好的lvs.cf文件內容類似如下,注意,“#”號后面的內容為注釋。
      [root@localhost ~]# more /etc/sysconfig/ha/lvs.cf
      serial_no = 18              #序號。
      primary = 192.168.60.56     #指定主Director Server的真實IP地址,是相對與有備用的Director Server而言的,也就是給Director Server做HA Cluster。
      service = lvs               #指定雙機的服務名。
      backup_active = 0        #是否激活備用Director Server。“0”表示不激活,“1”表示激活。
      backup = 0.0.0.0             #這里指定備用Director Server的真實IP地址,如果沒有備用Director Server,可以用“0.0.0.0”代替。
      heartbeat = 0             #是否開啟心跳,1表示開啟,0表示不開啟。
      heartbeat_port = 539      #指定心跳的UDP通信端口。
      keepalive = 5               #心跳間隔時間,單位是秒。
      deadtime = 10                #如果主Director Server在deadtime(秒)后沒有響應,那么備份Director
      Server就會接管主Director Server的服務。
      network = direct            #指定LVS的工作模式,direct表示DR模式,nat表示NAT模式,tunnel表示TUNL模式。
      debug_level = NONE          #定義debug調試信息級別。
      virtual www.gaojf.com{      #指定虛擬服務的名稱。
      active = 1        #是否激活此服務。
      address = 192.168.60.200 eth0:0  #虛擬服務綁定的虛擬IP以及網絡設備名。
      port = 80                   #虛擬服務的端口。
      send = "GET / HTTP/1.0 "  #給real server發送的驗證字符串。
      expect = "HTTP"             #服務器正常運行時應該返回的文本應答信息,用來判斷real server是否工作正常。
      use_regex = 0               # expect選項中是否使用正則表達式,0表示不使用,1表示使用。
      load_monitor = none         #LVS中的Director Server能夠使用 rup 或 ruptime 來監視各個real server的負載狀態。該選項有3個可選值,rup、ruptime和none,如果選擇rup,每個real server就必須運行rstatd服務。如果選擇了ruptime,每個real server就必須運行 rwhod 服務。
      scheduler = rr              #指定LVS的調度算法。
      protocol = tcp              #虛擬服務使用的協議類型。
      timeout = 6                 #real server失效后從lvs路由列表中移除失效real server所必須經過的時間,以秒為單位。
      reentry = 15                #某個real server被移除后,重新加入lvs路由列表中所必須經過的時間,以秒為單位。
      quiesce_server = 0          #如果此選項為1.那么當某個新的節點加入集群時,最少連接數會被重設
      為零,因此LVS會發送大量請求到此服務節點,造成新的節點服務阻塞,
      建議設置為0。
      server RS1 {                #指定real server服務名。
      address = 192.168.60.132    #指定real server的IP地址。
      active = 1                  #是否激活此real server服務。
      weight = 1                   #指定此real server的權值,是個整數值,權值是相對于所有real server節點而言的,權值高的real server處理負載的性能相對較強。
      }
      server RS2 {
      address = 192.168.60.144
      active = 1
      weight = 1
      }
      }
      編輯完成,然后啟動pulse服務,即啟動lvs服務
      [root@localhost ~]#service pulse start
      同理,此種方式下也要啟用系統的包轉發功能:
      [root@localhost ~]#echo "1" >/proc/sys/net/ipv4/ip_forward
      到此為止,Piranha工具方式配置Director Server完畢。
      二、Real server 的配置
      在lvs的DR和TUn模式下,用戶的訪問請求到達真實服務器后,是直接返回給用戶的,而不再經過前端的Director Server,因此,就需要在每個Real server節點上增加虛擬的VIP地址,這樣數據才能直接返回給用戶,增加VIP地址的操作可以通過創建腳本的方式來實現,創建文件/etc/init.d/lvsrs,腳本內容如下:
      #!/bin/bash
      VIP=192.168.60.200
      /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
      此操作是在回環設備上綁定了一個虛擬IP地址,并設定其子網掩碼為255.255.255.255,與Director Server上的虛擬IP保持互通,然后禁止了本機的ARP請求。
      上面腳本也可以寫成可啟動與停止的服務腳本,內容如下:
    億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
       聯系:億恩小凡
       QQ:89317007
       電話:0371-63322206
    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線