歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 基於heartbeat V2 crm 的lamp高可用

基於heartbeat V2 crm 的lamp高可用

日期:2017/3/1 12:22:33   编辑:關於Linux
實驗環境: 虛擬機ha1:192.168.61.130 虛擬機ha2:192.168.61.132 虛擬機nfsserver:192.168.61.136 vip:192.168.61.100 目的: 使用heartbeat V2 crm(hb_gui)實現lamp+nfs+wordpress的高可用. 為了實驗簡便,lamp環境直接用yum配置,配置好的mysql數據庫存放位置再重新掛載到nfs 注意事項: (a) .節點間時間必須同步:使用ntp協議實現; 服務端/etc/ntp.conf供參考: driftfile /var/lib/ntp/drift restrict-6 default kod nomodify notrap nopeer noquery restrict127.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安裝 可能會提示以下錯誤 把內容復制下來,手動創建wp-config.php就可以了 再按要求填寫一些信息, 安裝成功 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 #修復後自動上線 nodeha1 #節點設置 nodeha2#節點設置 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 #修復後自動上線 nodeha1 #節點設置 nodeha2 #節點設置 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 & 運行 添加資源: 先添加一個組webservice,按順序把vip,nfs,mysqld,httpd添加進去



然後分別啟動ha1和ha2的heartbeat: serviceheartbeat start 在其中一台啟動hb_gui就可以看到當前的節點和資源的分配。其中一台故障,資源都會自動切換到另一台,wordpress訪問實現高可用
Copyright © Linux教程網 All Rights Reserved