基於heartbeat V2 crm 的lamp高可用

 

實驗環境:php

    虛擬機ha1:192.168.61.130html

     虛擬機ha2:192.168.61.132node

     虛擬機nfsserver:192.168.61.136mysql

     vip:192.168.61.100web

目的:sql

    使用heartbeat V2 crm(hb_gui)實現lamp+nfs+wordpress的高可用.數據庫

爲了實驗簡便,lamp環境直接用yum配置,配置好的mysql數據庫存放位置再從新掛載到nfsvim

 

注意事項:瀏覽器

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

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

       driftfile /var/lib/ntp/drift

       restrict-6 default kod nomodify notrap nopeer noquery

       restrict  127.0.0.1

       restrict -6 ::1

       restrict 192.168.61.0 mask 255.255.255.0 nomodify

       restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust

       server 127.127.1.0

       fudge 127.127.1.0 stratum 8

       server 220.130.158.71 prefer

       server 220.130.158.51

       includefile /etc/ntp/crypto/pw

          keys /etc/ntp/keys

         注意:設置重啓服務後必定要等10-15分鐘再嘗試同步,命令:ntpdata 主機名,對比兩

             機時間是否同步命令:data;ssh 192.168.61.130 ‘data’

 

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

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

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

             保持一致;

                    

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

           # ssh-keygen -t rsa -P ''

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

                    

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

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

 

nfsserver設置共享存儲

    1. 創建mysql數據庫存儲目錄:

        mkdir /mysqldata

        mkdir /wordpress

     2. 發佈:

        vim /etc/exports添加

        /mysqldata192.168.61.0/24(rw,no_root_sqlash)

        /wordpress192.168.61.0/24(rw,no_root_sqlash)

     3. 啓動nfs:

        service nfs start

 

ha1配置

    1. yum -y install php php-mysqlmysql-server mysql

 

        安裝後的php配置文件(yum 安裝的php默認用插件模式):

        /etc/httpd/conf.d/php.conf

       

        安裝後的mysql:

        /var/lib/mysql/  默認的數據庫文件存放位置

 

        servicemysqld start

        servicehttpd start

 

    2.測試php:

        (a). vim/var/www/html/index.php

            添加一下內容:

            <?phpphpinfo(); ?>

        (b). 瀏覽網頁http://localhost/index.php 顯示php狀態信息即爲成功安裝

 

    3.測試mysql

        輸入mysql -u root登錄,順便修改密碼,這裏爲123456

        SET PASSWORDFOR 'root'@'localhost'=PASSWORD('123456');

 

    4.轉移mysql數據庫到nfs

 

        (a).先中止數據庫服務

            servicemysqld stop

 

        (b).複製原有數據庫信息到nfs

            scp -r/var/lib/mysql/* 192.168.61.136:/mysqldata

 

        (c).刪除原有數據庫信息

            rm -rf/var/lib/mysql/*

 

        (d).掛載nfs

            mount -tnfs 192.168.61.136:/mysqldata /var/lib/mysql/

       

        (e).修改權限

            chown -Rmysql:mysql /var/lib/mysql/*

 

        (f).從新啓動mysql服務測試

            servicemysqld start

 

    5.安裝wordpress

        (a).先掛載mount -t nfs 192.168.61.136:/wordpress/var/www/html/

 

        (b).下載wordpress-4.3.1-zh_CN.tar解壓到/var/www/html

 

        (c).登錄mysql增長wordpress數據庫和用戶wordpress,密碼123456

            mysql -uroot -p

            createdatabase wordpress;

            GRANTALL ON *.* TO wordpress@'127.0.0.1' IDENTIFIED BY '123456';

        (d).瀏覽器運行http://localhost/wp-admin/install.php安裝

wKioL1Yoy9Kj8i90AAF_XSf5uAE925.jpg

            可能會提示如下錯誤

wKiom1Yoy8TR3P5cAAIH1UfB0f0188.jpg

 

  把內容複製下來,手動建立wp-config.php就能夠了

   再按要求填寫一些信息, 安裝成功

wKioL1YozA7jJzMxAAFqEyyajxk796.jpg

           

 

    6.安裝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).安裝依賴包:

        yuminstall 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         

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

       

        (c).編輯ha.cf 文件

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

              crm on #開啓crm,同時會自動禁用haresources

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

              keepalive 1 #監聽頻率,每1秒

              deadtime 3 #死亡判斷時間

              warntime 2 #異常警告時間

              mcast eth0 225.0.0.1 694 1 0 #組播地址設定

              auto_failback on #修復後自動上線

              node    ha1 #節點設置

              node    ha2#節點設置

              ping 192.168.61.2 #第三方仲裁設定

 

        (d).編輯authkeys文件

              auth 2

              #1 crc

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

              #3 md5Hello!

 

 

ha2配置

 

    1.安裝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).安裝依賴包:

        yuminstall 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 

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

       

        (c).編輯ha.cf 文件

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

             crm on #開啓crm,同時會自動禁用haresources

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

             keepalive1 #監聽頻率,每1秒

             deadtime3 #死亡判斷時間

             warntime2 #異常警告時間

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

             auto_failbackon #修復後自動上線

             node    ha1 #節點設置

             node    ha2 #節點設置

             ping192.168.61.2 #第三方仲裁設定

 

        (d).編輯authkeys文件

             auth 2

             #1 crc

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

             #3 md5Hello!

 

 

    2. yum -y installphp php-mysql mysql-server mysql

 

        安裝後的php配置文件(yum 安裝的php默認用插件模式):

        /etc/httpd/conf.d/php.conf

        裏面有 /usr/lib64/httpd/modules/libphp5.so 模塊文件

 

        安裝後的mysql:

        /var/lib/mysql/  默認的數據庫文件存放位置

 

        servicemysqld start

        mysql -uroot -p 登錄一次,查看數據庫是否正確

        servicehttpd start

 

    3.測試php:

    瀏覽網頁http://localhost/index.php 顯示wordpress,能夠登錄留言即正常

 

    4. 運行hb_gui設置資源

  hb_gui須要一個特定用戶登陸到hb_gui上操做,/etc/passwd下的hacluster,咱們必須爲它添加密碼,

  由於它不容許空密碼登陸。

  echo "123456" |passwd --stdinhacluster  每一個須要運行hb_gui的節點都須要設置。

 

        輸入 hb_gui & 運行

    wKiom1YozUjgpxWEAAFqD2WDuP4176.jpg

 

    添加資源:

         先添加一個組webservice,按順序把vip,nfs,mysqld,httpd添加進去

 

wKioL1YozZiylyMgAALgI-Uj_MY500.jpg

 

wKiom1YozYjzVd1cAALy8sYUQ8I354.jpg

 

wKioL1YozcPB7dJpAALzc4CavmQ807.jpg

wKiom1YozabQ-k4nAAJmONz3bWk138.jpg

 

wKioL1YozeOgLJxVAAKCLHD2u-Y715.jpg

 

      而後分別啓動ha1和ha2的heartbeat:

         serviceheartbeat start

在其中一臺啓動hb_gui就能夠看到當前的節點和資源的分配。其中一臺故障,資源都會自動切換到另外一臺,wordpress訪問實現高可用

wKioL1Yozg7xB3P2AAHk82pflO8274.jpg

 

wKioL1YoziTSYcCDAAIXOs0AZmg616.jpg

相關文章
相關標籤/搜索