heartbeatV2 haresources 簡單實現httpd服務高可用


 

實驗環境:html

    虛擬機ha1:192.168.61.130node

    虛擬機ha2:192.168.61.132vim

    vip:192.168.61.100ssh

實驗說明:ide

       ha1httpd服務index.html 內容設置爲ha1spa

       ha2httpd服務index.html 內容設置爲ha2.net

   兩主機切換工做時以方便觀察效果rest

注意事項:日誌

      (a) .節點間時間必須同步:使用ntp協議實現;server

          服務端/etc/ntp.conf供參考:

        driftfile/var/lib/ntp/drift

        restrict -6default kod nomodify notrap nopeer noquery

        restrict127.0.0.1

        restrict -6 ::1

        restrict192.168.61.0 mask 255.255.255.0 nomodify

        restrict 0.0.0.0mask 0.0.0.0 nomodify notrap noquery notrust

        server127.127.1.0

        fudge 127.127.1.0stratum 8

        server220.130.158.71 prefer

        server220.130.158.51

        includefile/etc/ntp/crypto/pw

           keys/etc/ntp/keys

注意:設置重啓服務後必定要等10-15分鐘再嘗試同步,命令:ntpdata 192.168.61.130,對比兩機時間是否同步命令:data;ssh 192.168.61.130 ‘data’

ha2 最好設定一個定時任務,每5分鐘同步時間:

crontab -e

*/5 * * * * /usr/sbin/ntpdata 192.168.61.130

 

 

       (b) .節點間須要經過主機名互相通訊,必須解析主機至IP地址;

           (1)建議名稱解析功能使用hosts文件來實現;

           (2)通訊中使用的名字與節點名字必須保持一致:「uname -n」命令,或hostname」展現出的名字保持一致;

           (3) .創建各節點之間的root用戶可以基於密鑰認證;

             # ssh-keygen -t rsa -P ''

             #ssh-copy-id -i /root/.ssh/id_rsa.pub root@HOSTNAME

           (4) .必定要確保SELINUX關閉,iptables清空

 注意:定義成爲集羣服務中的資源,必定不能開機自動啓動;由於它們將由crm管理;

 

ha1配置

    安裝heartbeat V2

        (a).先安裝epel源,系統源沒有libnet

wget ftp://ftp.pbone.net/mirror/dl.iuscommunity.org/pub/ius/archive/Redhat/6/i386/epel-release-6-5.noarch.rpm

          rpm -ivh epel-release-6-5.noarch.rpm

       

        (b).安裝相關包:

        yum install net-snmp-libs libnet PyXML

        rpm-ivh heartbeat-2.1.4-12.el6.x86_64.rpm

               heartbeat-pils-2.1.4-12.el6.x86_64.rpm              

               heartbeat-stonith-2.1.4-12.el6.x86_64.rpm 

          yum install httpd

 

        (c).編輯ha.cf 文件

            vim /etc/ha.cf添加內容以下:

            logfacility local0#日誌使用rsyslog中local0設定

            keepalive1 #監聽頻率,每1秒

            deadtime3 #死亡判斷時間

            warntime2 #異常警告時間

            mcasteth0 225.0.0.1 694 1 0 #組播地址設定

            auto_failbackon #修復後自動上線

            node    ha1 #節點設置

            node    ha2 #節點設置

            ping 192.168.61.2 #第三方仲裁設定

 

        (d).編輯authkeys文件

            auth 2

            #1 crc

            2 sha1HI! #密鑰短語越長越隨機越好

            #3 md5Hello!

             (e) 編輯haresources添加:

                ha1 192.168.61.100 httpd  #設定主服務主機名、VIP、服務3個資源

                    

             (f)編輯index.html首頁

                echo「ha1」 > /var/www/html/index.html

 

ha2配置

安裝heartbeat V2

        (a).先安裝epel源,系統源沒有libnet

wget ftp://ftp.pbone.net/mirror/dl.iuscommunity.org/pub/ius/archive/Redhat/6/i386/epel-release-6-5.noarch.rpm

          rpm -ivh epel-release-6-5.noarch.rpm

       

        (b).安裝相關包:

        yum install net-snmp-libs libnet PyXML

        rpm-ivh heartbeat-2.1.4-12.el6.x86_64.rpm

               heartbeat-pils-2.1.4-12.el6.x86_64.rpm               

               heartbeat-stonith-2.1.4-12.el6.x86_64.rpm 

          yum install httpd

 

             (c)拷貝ha1ha.cfharesourcesauthkeys

                scp192.168.61.130:/etc/ha.d/{ha.cf,haresources,authkeys} /etc/ha.d/

 

             (d)編輯index.html首頁

                echo「ha2」 > /var/www/html/index.html

 

             (e)添加定時校時任務,5分鐘更新一次時間

                crontab-e

                */5* * * * /usr/sbin/ntpdata 192.168.61.130

 

    分別啓動兩機heartbeat服務

    service heartbeat start

 

    用其餘主機訪問http://192.168.61.100/index.html,  關閉ha1ha2其中一臺,刷新網頁就能夠看到網頁內容ha1ha2輪流顯

    示。用ifconfig查看正在工做的主機,能夠發現vip 已經配置在eth0:0

相關文章
相關標籤/搜索