1. 程式人生 > >Centos 5.7 上LVS+piranha負載均衡及雙機熱備配置方式

Centos 5.7 上LVS+piranha負載均衡及雙機熱備配置方式

安裝包下載:

LVS:

在kernel裡已經包含了這個安裝包,我們可以驗證:

Red Hat Enterprise Linux 3 (or CentOS 3) kernel has already included the IPVS patch, so that we do not need to build the kernel image with IPVS support ourselves.

[[email protected] root]# modprobe ip_vs
[[email protected] root]# cat /proc/net/ip_vs
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn

ipvsadm 下載:(沒有用官網下載的src的版本,這個需要有核心程式碼還需要自己再編譯,所以就沒用)

Not enough search parameters. I'm using defaults.
You have chosen search in content of rpms.
Display 1 - 2 hits of 2. Search took 0.01 seconds.
1
1

 

 

Search results for ipvsadm :
1
1

 

 

piranha 下載:

Search for rpm name in category: CentOS 5
Display 1 - 2 hits of 2. Search took 0.02 seconds.

1
1

 

 


Search results for piranha :

LVS + piranha 之NAT配置

OS  :    centos4.6
VIP :       192.168.18.240
LoadBalance:  eth0: 192.168.18.241
             eth1: 10.10.10.241            
BackUp:      eth0:   192.168.18.242
             eth1:   10.10.10.242

Real Server1:  10.10.10.243
RealServer2:    10.10.10.244
Gateway    :   10.10.10.241(10.10.10.242)

1.  安裝piranha和ipvsadm
2.  設定piranha密碼
piranha-passwd
3.  啟動piranha-gui
service piranha-gui start
4.  配置LVS
http://192.168.18.241:3636


具體配置過程不詳述
附上配置檔案
vim /etc/sysconfig/ha/lvs.cf
  1. serial_no = 14
  2. primary = 192.168.18.241
  3. service = lvs
  4. backup_active = 1
  5. backup = 192.168.18.242
  6. heartbeat = 1
  7. heartbeat_port = 539
  8. keepalive = 6
  9. deadtime = 18
  10. network = nat
  11. nat_router = 10.10.10.241 eth1
  12. nat_nmask = 255.255.255.0
  13. debug_level = NONE
  14. monitor_links = 0
  15. virtual webserv {
  16.      active = 1
  17.      address = 192.168.18.240 eth0:1
  18.      vip_nmask = 255.255.255.0
  19.      port = 80
  20.      send = "GET / HTTP/1.0\r\n\r\n"
  21.      expect = "HTTP"
  22.      use_regex = 0
  23.      load_monitor = none
  24.      scheduler = wlc
  25.      protocol = tcp
  26.      timeout = 6
  27.      reentry = 15
  28.      quiesce_server = 0
  29.      server node1 {
  30.          address = 10.10.10.243
  31.          active = 1
  32.          weight = 50
  33.      }
  34.      server node2 {
  35.          address = 10.10.10.244
  36.          active = 1
  37.          weight = 50
  38.      }
  39. }
複製程式碼 5.  將配置檔案copy至Backup相應目錄下
6.  分別在LB和BackUp上啟用資料轉發
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl  -p

7.  啟動RealServer上httpd服務
8.  啟動LB和Backup上pulse

#service pulse start
9.  測試

LVS + piranha  之DR配置

OS  :  centos4.6
VIP :       192.168.18.200
LoadBalance:  192.168.18.241
BackUp:      192.168.18.242
Real Server1:  192.168.18.243
RealServer2:  192.168.18.244
Gateway    :   192.168.18.1

1.  安裝piranha和ipvsadm
2.  設定piranha密碼
piranha-passwd
3.  啟動piranha-gui
service piranha-gui start
4.  配置LVS
http://192.168.18.241:3636

具體配置過程不詳述
附上配置檔案
vim /etc/sysconfig/ha/lvs.cf

  1. serial_no = 16
  2. primary = 192.168.18.241
  3. service = lvs
  4. backup_active = 1
  5. backup = 192.168.18.242
  6. heartbeat = 1
  7. heartbeat_port = 539
  8. keepalive = 6
  9. deadtime = 18
  10. network = direct
  11. debug_level = NONE
  12. monitor_links = 0
  13. virtual webserv {
  14.      active = 1
  15.      address = 192.168.18.240 eth0:1
  16.      vip_nmask = 255.255.255.0
  17.      port = 80
  18.      send = "GET / HTTP/1.0\r\n\r\n"
  19.      expect = "HTTP"
  20.      use_regex = 0
  21.      load_monitor = none
  22.      scheduler = wrr
  23.      protocol = tcp
  24.      timeout = 6
  25.      reentry = 15
  26.      quiesce_server = 0
  27.      server node1 {
  28.          address = 192.168.18.243
  29.          active = 1
  30.          weight = 50
  31.      }
  32.      server node2 {
  33.          address = 192.168.18.244
  34.          active = 1
  35.          weight = 50
  36.      }
  37. }
複製程式碼

5.  將配置檔案copy至Backup相應目錄下
6.  分別在LB和BackUp上啟用資料轉發
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl  -p

7.  配置RealServer

  1. #ifconfig lo:0 192.168.18.240 broadcast 192.168.18.240 netmask 255.255.255.255 up
  2. #route add -host 192.168.18.240 dev lo:0
複製程式碼

關閉ARP廣播響應

  1. #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  2. #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
  3. #echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
  4. #echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
複製程式碼

8.  啟動RealServer上httpd服務
9.  啟動LB和Backup上pulse

  1. #service pulse start
複製程式碼

LVS + piranha 之Tunnel配置

OS  :    centos4.6
VIP :       192.168.18.200
LoadBalance:  192.168.18.241
BackUp:      192.168.18.242
Real Server1:  192.168.18.243
RealServer2:    192.168.18.244

1.  安裝piranha和ipvsadm
2.  設定piranha密碼
piranha-passwd
3.  啟動piranha-gui
service piranha-gui start
4.  配置LVS
http://192.168.18.241:3636

具體配置過程不詳述
附上配置檔案
vim /etc/sysconfig/ha/lvs.cf
  1. serial_no = 14
  2. primary = 192.168.18.241
  3. service = lvs
  4. backup_active = 1
  5. backup = 192.168.18.242
  6. heartbeat = 1
  7. heartbeat_port = 539
  8. keepalive = 6
  9. deadtime = 18
  10. network = tunnel
  11. debug_level = NONE
  12. monitor_links = 0
  13. virtual webserv {
  14.      active = 1
  15.      address = 192.168.18.240 eth0:1
  16.      vip_nmask = 255.255.255.0
  17.      port = 80
  18.      send = "GET / HTTP/1.0\r\n\r\n"
  19.      expect = "HTTP"
  20.      use_regex = 0
  21.      load_monitor = none
  22.      scheduler = wrr
  23.      protocol = tcp
  24.      timeout = 6
  25.      reentry = 15
  26.      quiesce_server = 0
  27.      server node1 {
  28.          address = 192.168.18.243
  29.          active = 1
  30.          weight = 50
  31.      }
  32.      server node2 {
  33.          address = 192.168.18.244
  34.          active = 1
  35.          weight = 50
  36.      }
  37. }
複製程式碼 5.  將配置檔案copy至Backup相應目錄下
6.  分別在LB和BackUp上啟用資料轉發
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 0
修改為
net.ipv4.ip_forward = 1
#sysctl  -p

7.  配置RealServer

建立IP Tunnel
  1. # ifconfig tunl0 192.168.18.240 netmask 255.255.255.255 broadcast 192.168.18.240 up
複製程式碼 將tunl0加入路由表(routing table)
  1. # route add -host 192.168.18.240 dev tunl0
複製程式碼
  1. #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  2. #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
  3. #echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
  4. #echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
複製程式碼 8.  啟動RealServer上httpd服務
9.  啟動LB和Backup上pulse

#service pulse start

10.  測試

///////////////////////////////////////////////////////////////////////

NAT模式

      實驗環境:

       1.實驗模擬通過192.168.0.144 向外提供服務

       2.通過director接受和響應使用者的請求,通過director的LVS功能,把使用者的

           請求通過realserver來真正的處理

       3.realserver 提供web處理功能

       4.拓撲圖如下

  image

  一、配置realserver   (兩臺realserver配置相同,以realserver1為例)   

  1. 配置ip和對應的閘道器

         1)  ip配置

    image

       2)閘道器配置

    image

     3) 測試連通性

    image

    image

    2. 安裝配置apache

         1)安裝

   image

        2)新增網頁 (為了測試兩個realserver上的web提供不同的網頁內容)

             #vim /var/www/html/index.html     新增如下內容     

   image

        realserver2 為“test for realserver2”

        3) 啟動apache

     image

       4)內部測試

     #elinks 10.0.0.10

     image

     #elinks 10.0.0.11

    image

二、配置 director

      1)配置ip 

         #ifconfig eth0 10.0.0.1    (不在測試,上邊測試過了)

         #ifconfig eth1 192.168.0.144 

      2)開啟本機的路由轉發功能

        臨時修改:

   image

       永久修改: #vim /etc/sysctl.conf   , 把net.ipv4.ip_forward = 0 中的 0 改為 1

   image

     3) 安裝和配置ipvsadm

        安裝:

   image  

        配置:

             1)新增規則 (這裡使用rr演算法,下面測試時會測試i其他演算法,管理演算法的介紹,上篇部落格有)

   image

              2)新增realserver

   image

   三、測試  

    1、rr演算法測試 (請求的頁面會輪巡的改變)

image

image

壓力測試:

  響應速度: Requests per second:    1713.12 [#/sec] (mean)      ##每秒1713 次

  image

測試統計

   使用命令:  #watch –n 1 'ipvsadm –L –n'     #兩臺realserver的響應數基本上是1:1

image

2、wlc 演算法測試

  1)修改ipvsadm 的使用演算法和權重值

image

   2)壓力測試

     響應速度:每秒2000次左右

image

3)測試統計: 比例接近權重值之比3:1

 image

3 nq 演算法測試

  1)修改演算法

  2)壓力測試     響應速度:1400次左右

image

3)測試統計

image

 ////////////////////////////////////////////////////////////

以下是本人實際配置過程。

要求:網路中有四臺伺服器,一臺是LVS,另外兩臺裡面分別包含http+connection manager服務,最後一臺是openfire+mysql伺服器。

下面簡述如何配置LVS,可以對兩臺http+cm的伺服器進行負載,http服務和cm服務可以建立成兩個virtual server,只是使用不同埠就可以了。

配置方法是使用LVS的NAT結構進行配置,方法如下:

1,因為是NAT模式,所以LVS伺服器需要兩塊網絡卡,我使用的是虛擬機器,虛擬兩塊網絡卡。其他幾臺伺服器都是真機。幾臺伺服器上面全部跑CENTOS5.7作業系統。

2,LVS這臺虛擬機器伺服器,可以利用vmware虛擬兩塊網絡卡,兩個網絡卡的連線方式,一個是bridge的,一個是nat的,這樣就可以把兩個網絡卡放在不同網段了。

ifconfig 後eth0是172.20.0.43, 255.255.252.0; eth1是192.168.146.133, 255.255.252.0

3,在lvs伺服器上安裝ipvsadm,piranha兩個軟體,然後命令列輸入ipvsadm,會打印出版本資訊。

4,/etc/init.d/piranha-gui start 開啟piranha配置介面

5,/usr/sbin/piranha-password xxxx 在這裡設定piranha登入密碼

6,在瀏覽器中http://127.0.0.1:3636 進入piranha登入介面,使用者名稱是piranha,密碼就是剛才設定那個。

7,寫一下網路結構圖

LVS伺服器:eth0: 172.20.0.43

                        eth1: 192.168.146.133

                       VIP: 192.168.146.168(eth1:1)

http+cm-1: eth0: 172.20.0.65

                    gateway:172.20.0.43

http+cm-2: eth0: 172.20.0.62

                    geteway:172.20.0.43

8,開始配置piranha,在GLOBAL SETTINGS頁,primary server public IP: 192.168.146.133

    use network type: nat

    nat router ip: 172.20.0.43

   nat router netmask:255.255.252.0

    nat router device: eth0

9, 在VIRTUAL SERVER頁配置中,新增第一個virtual server.

    name: lvs-http

    application port:80

    protocol: tcp

    virtual ip address: 192.168.146.168

    virtual ip network mask: 255.255.252.0

    device: eth1:1

    scheduling: round robin

    persistence:28800

然後新增兩個real server

name: http1

address:172.20.0.65

weight:1

name: http2

address:172.20.0.62

weight:1

10, 在VIRTUAL SERVER頁配置中,新增第二個virtual server.

    name: lvs-cm

    application port:5222

    protocol: tcp

    virtual ip address: 192.168.146.168

    virtual ip network mask: 255.255.252.0

    device: eth1:1

    scheduling: round robin

    persistence:1000000000000000000000

然後新增兩個real server

name: cm1

address:172.20.0.65

weight:1

name: cm2

address:172.20.0.62

weight:1

11, 各個頁面都用active點開,看到server都是up的狀態。

12,這部很關鍵,關掉LVS伺服器的防火牆,把整個防火牆都disable掉就可以了,不然是沒辦法路由成功的。

13,/etc/init.d/pulse start

14, vi /etc/sysctl.conf, 把net.ipv4.ip_forward=0改為1

15,這時需要到兩臺real server上配置預設閘道器,一定要配對,不然路由不到

     route add default gw 172.20.0.43

     route del default gw 172.20.0.1(本來預設閘道器是這個,所以需要刪掉)

16,這時就可以測試一下了,來到LVS上CONTROL/MONITORING主頁,點選update information now,看看打印出的狀態是否滿意。

      如果有問題,還可以用ipvsadm -L -n來檢視。

17,我在配的時候,就發現按照以上配完以後,系統並不能給我滿意的結果,最後還是我手動敲命令解決的。命令是:

   ipvsadm -A -t 192.168.146.168:80 -s rr  新增一臺虛擬伺服器

    ipvsadm -a -t 192.168.146.168:80 -r  172.20.0.65 -m  新增一臺real server

    ipvsadm -a -t 192.168.146.168:80 -r  172.20.0.62 -m  新增一臺real server

ipvsadm -L -n

   ipvsadm -A -t 192.168.146.168:5222 -s rr  新增一臺虛擬伺服器

    ipvsadm -a -t 192.168.146.168:5222 -r  172.20.0.65 -m  新增一臺real server

    ipvsadm -a -t 192.168.146.168:5222 -r  172.20.0.62 -m  新增一臺real server

ipvsadm -L -n

這時才完成了兩臺的新增。

18。測試:在clientPC上瀏覽器輸入http://192.168.146.168,結果正常開啟兩個real server上某一臺的網頁。

     在clientPC上,啟動spark聊天軟體,輸入使用者名稱密碼,主機域名就寫ip:192.168.146.168,然後正常登入聊天。

相關推薦

Centos 5.7 LVS+piranha負載均衡配置方式

安裝包下載: LVS: 在kernel裡已經包含了這個安裝包,我們可以驗證: Red Hat Enterprise Linux 3 (or CentOS 3) kernel has already included the IPVS patch, so that

負載均衡

負載均衡原理與技術實現 負載均衡(Load Balance,簡稱LB)是一種伺服器或網路裝置的叢集技術。負載均衡將特定的業務(網路服務、網路流量等)分擔給多個伺服器或網路裝置,從而提高了業務處理能力,保證了業務的高可用性。 (一)HTTP重定向實現負載均衡 當用戶向伺服

nginx+tomcat實現負載均衡以及(tomcat宕導致客戶端無法訪問)

首先,在這裡分享一個java技術交流群,純粹技術交流,拒絕廣告,歡迎各位進群交流。QQ群:817997079 大家都知道nginx可以代理多臺伺服器(以tomcat為例),那麼當被nginx代理的tomcat伺服器宕機時,我們怎麼保證客戶端能繼續訪問系統?接下來就說一下ng

LVS-DR+Keepalived網站服務器配置

Keepalived;雙機熱備配置;keepalived是一個類似於layer3, 4 & 7交換機制的軟件,也就是我們平時說的第3層、第4層和第7層交換。Keepalived是自動完成,不需人工幹涉。調度服務器:需要在LVS的基礎上面做。參考上兩節:負載均衡群集之一LVS-DR:http://blo

MySQL 高可用:mysql+Lvs+Keepalived 負載均衡故障轉移

ica 目錄 details software fwm 多個 優先級 sql 服務器 規則 轉自 MySQL 高可用:mysql+Lvs+Keepalived 負載均衡及故障轉移 - KK ——專註數據 - 博客頻道 - CSDN.NETh

Linux學習總結(五十四)keepalived+lvs 負載均衡架構

DR LVS keepalived+lvs 一 LVS IP tunnel 模式介紹 IP隧道(IP tunneling)是將一個IP報文封裝在另一個IP報文的技術,這可以使得目標為一個IP地址的數據報文能被封裝和轉發到另一個IP地址。IP隧道技術亦稱為IP封裝技術(IP encapsulatio

LVS-DR負載均衡keepalived高可用的部署

LVS-DR負載均衡 server1:作為LinuxDirector 1.安裝ipvsadm(rh6.5需要配置yum源) [[email protected] ~]# cat /etc/yum.repos.d/rhel-source

LVS實現負載均衡keepalive實現高可用

一.叢集(cluster)以及型別;       當後端伺服器承受不住訪問的壓力,提高伺服器效能的解決方案會極大增加成本時,人們提出了橫向擴充套件的解決方案。增加一臺或幾臺伺服器,提供相同的服務,通過前段分發器將訪問量均勻的分配到後臺伺服器上。這種多臺伺服器組成的陣列集合就叫

LVS+KeepAlived搭建負載均衡

從下載內容包中找到ipvsadm-1.24.tar.gz,執行如下命令(執行命令出錯的說明編譯環境存在問題,請更新下載GCC) #tar -zxvf keepalived-1.1.15.tar.gz #cd keepalived-1.1.15 #./configure --prefix=/usr/local

keepalived+nginx+負載均衡

ethernet auth 超時任務 collision boot .rpm ocl bnl host keepalived+nginx雙機熱備+負載均衡最近因業務擴展,需要將當前的apache 轉為nginx(web), 再在web前端放置nginx(負載均衡)。同時結合

Nginx+keepalived做,實現負載均衡(主主模式)

nginx keepalive Keepalived: 簡介:Keepalived的作用是檢測服務器的狀態,如果有一臺web服務器宕機,或工作出現故障,Keepalived將檢測到,並將有故障的服務器從系統中剔除,同時使用其他服務器代替該服務器的工作,當服務器工作正常後Keepali

解決Nginx + Keepalived主從+自動切換,實現負載均衡高可用

解決Nginx + Keepalived主從雙機熱備+自動切換,實現負載均衡及高可用 IP 伺服器 服務 192.168.1.10 lb-node1 Nginx、kee

什麼是冷,異地容災備份,雲備份,NAS,負載均衡

假設你是一位女性,你有一位男朋友,於此同時你和另外一位男生曖昧不清,比朋友 好,又不是戀人。你隨時可以甩了現任男友,另外一位馬上就能補上。這是冷備份。 假設你是一位女性,同時和兩位男性在交往,兩位都是你男朋友。並且他們還互不干涉,獨立執行。這就是雙機熱備份。 假設你是一位女

華為防火牆 負載均衡實驗

雙機熱備 FW1的配置 FW2的配置 interface GigabitEthernet 1/0/1  ip address 10.1.1.2 255.255.255.0  vrrp vrid 1 v

Centos 7 keepalived

Centos 7 keepalived雙機熱備 操作環境:keepalived熱備份(雙機熱備)Centos 7系統ip地址: 192.168.80.100 --主伺服器Centos 7系統ip地址: 192.168.80.101 --從伺服器windows系統ip地址: 192.168.80.20

Centos 7 keepalived

face state 雙機熱備 db4 認證 out backup lb01 時間間隔 Centos 7 keepalived雙機熱備 操作環境:keepalived熱備份(雙機熱備)Centos 7系統ip地址: 192.168.80.100 --主服務器C

Mysql 如何做負載均衡

先簡要介紹一下mysql雙向熱備:mysql從3.23.15版本以後提供資料庫複製功能。利用該功能可以實現兩個資料庫同步,主從模式(A->B),互相備份模式(A<=>B)的功能。 mysql資料庫雙向熱備的操作實際說明: 1、mysql資料庫同步複製功能的設定都在mysql的配置檔案

Keepalived + Nginx 實現高可用() Web 負載均衡 安裝測試筆記

system ati 根據 properly 節點配置 sys .gz ive error: keepalived是什麽 keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似於heartbeat,用來防止單點故障。 keepalived工作原理 k

Keepalived實現lvs

Keepalived簡介 Keepalived的作用是檢測伺服器的狀態,如果有一臺web伺服器宕機,或工作出現故障,Keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後Keepalived自動將伺服器加入到伺服器群中,這些工作全部自動完

MySQL 5.6 設定

MySQL 5.6 雙機熱備首先要保證主從資料庫一致,再進行同步。 1、備份主資料庫mysqldump -u 使用者名稱 -p 資料庫名 > 匯出的檔名.sql 2、還原從資料庫mysql -hlocalhost -uroot -p 資料庫名<匯出的檔名.