一、闡述Linux HA Cluster的使用背景;1.1 高可用集群定義: 高可用集群全稱:High Availability Cluster,簡單的說,集群就是一組高可擴展、高可用性、高性價比的計算機。它們作為一個整體向用戶提供一組網絡資源。其中單個的計算機系統就是一個集群的節點。高可用集群軟件的主要作用就是實現故障檢查和業務切換的自動化,以提供不中斷的服務。1.2 集群系統的主要優點:
(1)高可擴展性:
(2)高可用性HA:集群中的一個節點失效,它的任務可傳遞給其他節點。可以有效防止單點失效。
(3)高性能:負載平衡集群允許系統同時接入更多的用戶。
(4)高性價比:可以采用廉價的符合工業標准的硬件構造高性能的系統。具體HA衡量標准:99% 一年宕機時間不超過4天99.9% 一年宕機時間不超過10小時99.99% 一年宕機時間不超過1小時99.999% 一年宕機時間不超過6分鐘二、總結Linux HA Cluster的系統組成,HA Cluster的工作模型; 三、通過LAMP組合,基於heartbeat v2 crm實現HA;要求,部署wordpress,用於編輯的文章中的任何數據在節點切換後都能正常訪問; 1.配置HA集群的前提: ⑴節點間時間必須同步:使用ntp協議實現; 兩個節點服務器node1.duoyoumi.com:192.168.1.193和node2.duoyoumi.com:192.168.1.194分另安裝ntp服務,安裝完後,兩節點同步一台穩定時間服務器時間,當前在node1.duoyoumi.com服務器上 ntpdate 192.168.1.187;ssh 192.168.1.194 'ntpdate 192.168.1.187' ⑵節點間需求通過主機名互相通信,必須解析主機至IP地址; node1.duoyoumi.com 192.168.1.193節點1 LAMP+heartbeat2 node2.duoyoumi.com 192.168.1.194節點2 LAMP+heartbeat2 node3.duoyoumi.com 192.168.1.195節點3 NFS共享存儲 ⑶考慮仲裁設備是否用得到; ⑷建立各節點之間的root用戶能夠基於密鑰認證; 密鑰認證就是把對方系統生成的密鑰對中的公鑰追加寫入本地系統中/root/.ssh/authorized_keys文件中,本地系統就可以實現密鑰認證方式登錄,反之同理,記得追加,不然可能把其它服務器KEY給覆蓋了 2.包安裝: ⑴依賴包安裝:yum -install net-snmp-libs libnet PyXML perl-Time-Date ⑵heartbeat包安裝:rpm -ivh heartbeat-2.1.4-12.e16.x86_64.rpm heartbeat-pils-2.1.4- 12.e16.x86_64.rpm heartbeat-stonith-2.1.4-12.e16.x86_64.rpm 過程中一般報錯為libnet包通過yum無法安裝,得手動下個libnet二進制包安裝 3.修改配置文件: heartbeat包安裝成功後,首先把/usr/share/doc/heartbeat-2.1.4中的ha.cf、authkeys、haresources三個文件拷貝到節點服務器中的/etc/ha.d目錄下,注意:authkeys文件權限一定要為600或400 ⑴ha.cf:主配置文件,定義各節點上的heartbeat HA基本屬性 #debugfile /var/log/ha-debug 是否開啟調試功能,已經調試功能的文件位置(可以選擇此方式) logfacility local0 使用rsyslog記錄日志並指向local0 可通過vim /etc/rsyslog.conf,添加local0.* /var/log/heartbeat.log,推出保存 這次實驗是通過logfacility來發送日志的 keepalive 1 每個多長時間發送一次心跳信息,默認單位為s,也支持以ms為單位 deadtime 10 在檢測不到對方心跳,替換的時間warntime 8 警告時間initdead 120啟動heartbeat後多長時間開始檢查心跳udpport 694 默然heartbeat端口694,啟動heartbeat後,可通過ss -utnl查看#bcast eth0 # Linux linux廣播的端口mcast eth0 225.23.190.1 694 1 0 多播的地址,可通過ifconfig查看是否開通多播地址
如果沒有的話通過ip link set eth0 multicast on來開戶多播模式#ucast eth0 192.168.1.2 組播的地址auto_failback on 故障自動恢復,默認開啟node node1.com node節點,切記,本處不能使用ip地址且名字必須跟hostname結果一樣node node2.com node節點,切記,本處不能使用ip地址#compression bz2 壓縮傳輸算法 on 主節點啟動是否自動切換回主節點ping 192.168.1.187 仲裁設備,可以指向網關#ping_group group1 10.10.10.25410.10.10.253仲裁設備組#debug 1debug的級別#compression_threshold 2壓縮的最低大小,單位為kbcrm on 開啟CRM同時也就禁用haresource了 ⑵authkeys:集群內節點間彼此傳遞消息時使用加密算法及密鑰;文件權限一定設置為600 編輯authkeys文件,可以使用openssl random -base64 23生成字符密碼
[root@node1 ha.d]# openssl rand -base64 23
HGTJSDpdWVTVB+6okn7mfnbOKGLQHHE=
# vim /etc/ha.d/authkeys
auth 2
#1 crc
2 sha1 HGTJSDpdWVTVB+6okn7mfnbOKGLQHHE=
#3 md5 Hello!
wq
[root@node1 ha.d]#chmod 600 authkeys
⑶安裝LAMP yum install http mysql-server php php-mysql 安裝成功後
本文出自 “多測師” 博客,請務必保留此出處http://icestick8586.blog.51cto.com/9867871/1834098