HAproxy+keepalived/pacemaker實現高可用,負載均衡技術

HAproxy+keepalived/pacemaker

   Haproxy+keepalived的結合,實現負載均衡與高可用的完美結合,既解決了提供服務的負載均衡,又解決了作負載均衡器的單點故障問題。這樣架構就很健壯了。

材料準備: keepalived-1.2.20.tar.gz

步驟:

#tar -zxf  keepalived-1.2.20.tar.gz    :解壓源碼包,進行編譯安裝

#cd   keepalived-1.2.20

#yum  install  -y  gcc  openssl-devel   :安裝編譯環境以及依賴性

#./configure--prefix=/usr/local/keepalived   :指定安裝位置

# make  --->  make install

作相應文件位置的軟件連,有些文件的位置不對。需要連接解決。

# ln -s  /usr/local/keepalived/etc/keepalived /etc/

# ln -s  /usr/local/keepalived/etc/rc.d/init.d/keepalived  /etc/init.d/

# ln -s  /usr/local/keepalived/etc/sysconfig/keepalived     /etc/sysconfig/

# ln -s  /usr/local/keepalived/bin/genhash    /bin/

#ln -s  /usr/local/keepalived/sbin/keepalived   /sbin/

#vim  keepalived.conf      :編輯keepalived的配置文件

vrrp_script check_haproxy {

       script "/opt/check_haproxy.sh"   :這個腳本要自己寫

       interval 2             監控間隔爲2s

       weight 2                              權值爲2

}

 

global_defs {    定義全局定義

  notification_email {

    root@localhost       發郵件給本機root用戶

   }

  notification_email_from keepalived@localhost   郵件發送者

  smtp_server 127.0.0.1

  smtp_connect_timeout 30 

  router_id LVS_DEVEL

  vrrp_skip_check_adv_addr

  vrrp_strict

}

 

vrrp_instance VI_1 {

   state MASTER

   interface eth0

   virtual_router_id 16

   priority 100

   advert_int 1

   authentication {

       auth_type PASS

        auth_pass 1111

    }

   virtual_ipaddress {

       172.25.10.200     :虛擬ip地址

    }

 

track_script {

                check_haproxy

       }

}

MASTER Keepalived配置,BAKUP的配置還需要作兩部分修改,1.state BACKUP   2.priority 50

還需要自己編寫腳本:

#vim  /opt/check_haproxy.sh

#!/bin/bash

/etc/init.d/haproxy status &> /dev/null ||/etc/init.d/haproxy  restart&>/dev/null

if

[ $? -ne 0 ]

then

/etc/init.d/keepalived stop &> /dev/null

fi

 

#scp -r  keepalived/ [email protected]:/usr/local/

#scp  /opt/check_haproxy.sh  [email protected]:/opt/

#scp  keepalived.conf  [email protected]:/etc/keepalived/

#scp  haproxy.cfg  [email protected]:/etc/haproxy/

#/etc/init.d/keepalivedstart   :兩邊都啓動keepalived服務。

即可實現高可用負載。用上面的步驟來,依次關閉realserver的服務和負載調度器。看是否會有接管服務。

 

  實現haproxy+pacemaker的完美結合,和上面一樣,也是爲了解決單點故障和負載均衡問題。這種搭配更容易也更簡單。

第二種方法:使用pacemaker

材料:crmsh-1.2.6-0.rc2.2.1.x86_64.rpm   pssh-2.3.1-2.1.x86_64.rpm

 

#yum install -y  crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  :解決依賴性的pssh-2.3.1-2.1.x86_64.rpm

#yum install -y  pacemaker  安轉pacemaker服務

#cd  /etc/corosync/

#cp  corosync.conf.example  corosync.conf    編輯corosync的配置文件

#vim  corosync.conf

 

  totem {

        version: 2

        secauth: off

        threads: 0

        interface {

                ringnumber: 0

                bindnetaddr: 172.25.10.0     :修改此處的網段

                mcastaddr: 226.94.1.1

                mcastport: 2134         :組播地址端口號

                ttl: 1

        }

service {

       name:pacemaker

        ver:0

}

#scp  corosync.conf  [email protected]:/etc/corosync/  傳給備份機

#/etc/init.d/corosync start    兩邊的主機corosync同時啓動。

 

haproxy1上輸入#crm_mon進行監控,

haproxy2上進行操作,添加虛擬iphaproxy服務,並且加到同一個組裏面。

# crm

> property  stonith-enabled=false   :去除腦裂,因爲沒有裝fence機制,

>primitive  vip  ocf:heartbeat:IPaddr2params  ip=172.25.10.100  cidr_netmask=32 op monitor interval=30s

:添加VIP,並且監控時間爲每個30s

>primitivehaproxy lsb:haproxy op monitor interval=30s

添加:haproxy服務,監控時間同樣爲30s

>  group  hell vip  haproxy

:將vip haproxy放到同一個組裏面,組的名字叫做hell;

>commit       提交保存生效。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章