一、資源的類型
定義資源時;必須對資源的類型進行選擇;主要類型有:
primitive;native:主資源;只能運行於一個節點上
resource group:組資源
clone:克隆資源;必須爲主資源
master/slave:主從資源;爲克隆類型
資源轉移方式:
rgmanager:failover domain;priority
pacemaker:
資源黏性:有節點約束都一樣;當值爲正值;就留在該節點。
資源約束
資源約束(3中類型):
locations(位置約束):資源更傾向於哪個節點上;數值表示;
INFINITY 無窮大;優先使用 N 給定的一個數值 -INFINITY 負無窮;最後使用 colocations(排列約束):兩個資源是否運行在同一節點的傾向性;
INFINITY 無窮大;優先使用 -INFINITY 負無窮;最後使用 orders(順序約束):定義資源啓動次序和關閉次序;
HA集羣的工作模型:
A/P | two nodes;工作於主備模型; |
N-M | N>M;N個節點;M個服務;活動節點爲N;備用N-M個 |
N-N | N個節點;N個服務; |
A/A | 雙主模型 |
接上篇:HA Cluster—heartbeat v1基礎應用 這裏直接對heartbeat v2進行配置。
直接根據上篇的配置下更改一些基本配置即可:
安裝gui軟件包:
[root@node1 heartbeat2]# ls heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm heartbeat-debuginfo-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-devel-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 [root@node1 heartbeat2]# #heartbeat-gui-2.1.4-12.el6.x86_64.rpm 在安裝了前三個包的前提下安裝該包
修改配置文件;配置前先正常停止heartbeat:
[root@node1 ~]# vim /etc/ha.d/ha.cf # Tell what machines are in the cluster # node nodename ... -- must match uname -n #node ken3 #node kathy node node1.soul.com node node2.soul.com crm on #找個空白地方加入該行 #完成後把配置文件複製給node2
二、配置heartbeat v2
配置前先設置登陸密碼:
[root@node2 ~]# passwd hacluster Changing password for user hacluster. New password: BAD PASSWORD: it does not contain enough DIFFERENT characters BAD PASSWORD: is too simple Retype new password: passwd: all authentication tokens updated successfully. [root@node2 ~]#用該密碼登陸控制檯 # #正常啓動;看是端口是否監聽 [root@node2 ~]# ss -tunl | grep 5560 tcp LISTEN 0 10 *:5560 *:* #查看正常;如配置不正常;建議重啓下虛擬機測試下
啓動配置資源
# hb_gui & 在命令後加&以釋放終端
登陸界面;輸入賬戶密碼即可登陸。
Linux-ha:顯示with quorum:爲滿足法定票數的
resources:配置資源
informations:顯示一些基本信息的
三、配置資源:
VIP:172.16.251.222
在resource上右鍵新建;選擇本地資源
填寫好資源ID;這裏爲webip
Type:資源代理類型;ocf/heartbeat/IPaddr2
ip:默認值;填寫VIP
add parameter:添加其他參數;可以自己選擇
其中右邊顯示的都有配置是的參數和屬性等信息
添加NFS共享存儲資源
格式很簡單;與上面一樣的;添加完成後;如有問題;可以在parameters中修改
添加httpd資源
配置完成後可以啓動了
啓動後會發現默認機制會負載均衡到不同的節點上;這不是我們需要的;所以要對其限制
添加完成後就會發現資源自動運行在同一個節點上。
測試一下網頁
現在停掉node2;在測試看下
node2節點standby之後;可以發現自動都轉移到node1上了;再測試網頁
測試正常。沒有任何問題;此時node2節點active以後;資源又會自動轉移回來;如果不想轉移;讓其還運行在node1上;就必須進行位置約束
attribute:uname的值
operation:eq等於
value:node1的節點名稱
type:字符串;默認也是字符串
score:值爲100;也可以選infinity
定義完成後;會發現資源自動轉移到了node1上。node1暫停後會自動轉移到node2。
四、配置資源組
這裏定義與上面定義資源是一樣的;只是添加是需要添加組和組ID
添加完成後會發現資源裏多了一個組;依次在組中添加web_store和web_server
然後啓動node和資源進行測試
測試正常
此時把node2節點standby之後會自動轉移到node1上。如果不想在node2節點active之後轉移回去;只需要定義位置約束即可。此處不再演示
到此;heartbeat v2基於crm做資源管理配置已完成。
下一篇將介紹一個實例:LAMP的HA Cluster
如有錯誤;懇請糾正。