一、资源的类型
定义资源时;必须对资源的类型进行选择;主要类型有:
primitive;native:主资源;只能运行于一个节点上
resource group:组资源
clone:克隆资源;必须为主资源
master/slave:主从资源;为克隆类型
资源转移方式:
rgmanager:failover domain;priority
pacemaker:
资源黏性:有节点约束都一样;当值为正值;就留在该节点。
资源约束
资源约束(3中类型):
locations(位置约束):资源更倾向于哪个节点上;数值表示;
INFINITY
无穷大;优先使用
N
给定的一个数值
-INFINITY
负无穷;最后使用
colocations(排列约束):两个资源是否运行在同一节点的倾向性;
orders(顺序约束):定义资源启动次序和关闭次序;
HA集群的工作模型:
A/P
two nodes;工作于主备模型;
N-M
N>M;N个节点;M个服务;活动节点为N;备用N-M个
N-N
N个节点;N个服务;
A/A
双主模型
直接根据上篇的配置下更改一些基本配置即可:
安装gui软件包:
1
2
3
4
5
6
7
<code>[root@node1 heartbeat2]</code><code># ls</code>
<code>heartbeat</code><code>-</code><code>2.1</code><code>.</code><code>4</code><code>-</code><code>12.el6</code><code>.x86_64.rpm heartbeat</code><code>-</code><code>ldirectord</code><code>-</code><code>2.1</code><code>.</code><code>4</code><code>-</code><code>12.el6</code><code>.x86_64.rpm</code>
<code>heartbeat</code><code>-</code><code>debuginfo</code><code>-</code><code>2.1</code><code>.</code><code>4</code><code>-</code><code>12.el6</code><code>.x86_64.rpm heartbeat</code><code>-</code><code>pils</code><code>-</code><code>2.1</code><code>.</code><code>4</code><code>-</code><code>12.el6</code><code>.x86_64.rpm</code>
<code>heartbeat</code><code>-</code><code>devel</code><code>-</code><code>2.1</code><code>.</code><code>4</code><code>-</code><code>12.el6</code><code>.x86_64.rpm heartbeat</code><code>-</code><code>stonith</code><code>-</code><code>2.1</code><code>.</code><code>4</code><code>-</code><code>12.el6</code><code>.x86_64.rpm</code>
<code>heartbeat</code><code>-</code><code>gui</code><code>-</code><code>2.1</code><code>.</code><code>4</code><code>-</code><code>12.el6</code><code>.x86_64.rpm</code>
<code>[root@node1 heartbeat2]</code><code>#</code>
<code>#heartbeat-gui-2.1.4-12.el6.x86_64.rpm 在安装了前三个包的前提下安装该包</code>
修改配置文件;配置前先正常停止heartbeat:
8
9
<code>[root@node1 ~]</code><code># vim /etc/ha.d/ha.cf</code>
<code># Tell what machines are in the cluster</code>
<code># node nodename ... -- must match uname -n</code>
<code>#node ken3</code>
<code>#node kathy</code>
<code>node node1.soul.com</code>
<code>node node2.soul.com</code>
<code>crm on </code><code>#找个空白地方加入该行</code>
<code>#完成后把配置文件复制给node2</code>
二、配置heartbeat v2
配置前先设置登陆密码:
10
11
12
13
<code>[root@node2 ~]</code><code># passwd hacluster</code>
<code>Changing password </code><code>for</code> <code>user hacluster.</code>
<code>New password:</code>
<code>BAD PASSWORD: it does </code><code>not</code> <code>contain enough DIFFERENT characters</code>
<code>BAD PASSWORD: </code><code>is</code> <code>too simple</code>
<code>Retype new password:</code>
<code>passwd: </code><code>all</code> <code>authentication tokens updated successfully.</code>
<code>[root@node2 ~]</code><code>#用该密码登陆控制台</code>
<code>#</code>
<code>#正常启动;看是端口是否监听</code>
<code>[root@node2 ~]</code><code># ss -tunl | grep 5560</code>
<code>tcp LISTEN </code><code>0</code> <code>10</code> <code>*</code><code>:</code><code>5560</code> <code>*</code><code>:</code><code>*</code>
<code>#查看正常;如配置不正常;建议重启下虚拟机测试下</code>
启动配置资源
# hb_gui & 在命令后加&以释放终端
<a href="http://s3.51cto.com/wyfs02/M00/24/8C/wKioL1NSEdPzvGzHAAES4kPYjvE944.jpg" target="_blank"></a>
登陆界面;输入账户密码即可登陆。
<a href="http://s3.51cto.com/wyfs02/M00/24/8C/wKiom1NSEt3TwoAnAAD3HaKl16Y860.jpg" target="_blank"></a>
Linux-ha:显示with quorum:为满足法定票数的
resources:配置资源
informations:显示一些基本信息的
三、配置资源:
VIP:172.16.251.222
<a href="http://s3.51cto.com/wyfs02/M02/24/8C/wKioL1NSFHmzrTUzAAD2OchjuSs530.jpg" target="_blank"></a>
在resource上右键新建;选择本地资源
<a href="http://s3.51cto.com/wyfs02/M01/24/8C/wKiom1NSFYjwdTOEAAHnTHSKmyo370.jpg" target="_blank"></a>
填写好资源ID;这里为webip
Type:资源代理类型;ocf/heartbeat/IPaddr2
ip:默认值;填写VIP
add parameter:添加其他参数;可以自己选择
<a href="http://s3.51cto.com/wyfs02/M02/24/8C/wKiom1NSFlziSrmuAAE0ZQIBToU108.jpg" target="_blank"></a>
其中右边显示的都有配置是的参数和属性等信息
添加NFS共享存储资源
<a href="http://s3.51cto.com/wyfs02/M00/24/8C/wKioL1NSF2Kw6pxXAAIE_1xw0Uk635.jpg" target="_blank"></a>
格式很简单;与上面一样的;添加完成后;如有问题;可以在parameters中修改
添加httpd资源
<a href="http://s3.51cto.com/wyfs02/M02/24/8C/wKiom1NSGHGzKjkrAAGnDMWQmPI603.jpg" target="_blank"></a>
配置完成后可以启动了
<a href="http://s3.51cto.com/wyfs02/M00/24/8C/wKioL1NSGszQ0GctAACUJhAfwxo408.jpg" target="_blank"></a>
启动后会发现默认机制会负载均衡到不同的节点上;这不是我们需要的;所以要对其限制
<a href="http://s3.51cto.com/wyfs02/M02/24/8C/wKioL1NSHz3hAuaCAAB3BJQjbgg251.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/24/8C/wKioL1NSICvCfbj-AAIE3hh2yJQ446.jpg" target="_blank"></a>
添加完成后就会发现资源自动运行在同一个节点上。
测试一下网页
<a href="http://s3.51cto.com/wyfs02/M00/24/8D/wKiom1NSIQby_IqUAADP1rOGwGA275.jpg" target="_blank"></a>
现在停掉node2;在测试看下
<a href="http://s3.51cto.com/wyfs02/M01/24/8D/wKiom1NSIUmQZbSCAADjIpTvons871.jpg" target="_blank"></a>
node2节点standby之后;可以发现自动都转移到node1上了;再测试网页
<a href="http://s3.51cto.com/wyfs02/M00/24/8C/wKioL1NSIWGiwhcsAADQsicw8nA821.jpg" target="_blank"></a>
测试正常。没有任何问题;此时node2节点active以后;资源又会自动转移回来;如果不想转移;让其还运行在node1上;就必须进行位置约束
<a href="http://s3.51cto.com/wyfs02/M00/24/8D/wKiom1NSJISCU7w6AAB9D3vKZdA568.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/24/8D/wKiom1NSJPmBC2qCAAHSgqkDLM8078.jpg" target="_blank"></a>
attribute:uname的值
operation:eq等于
value:node1的节点名称
type:字符串;默认也是字符串
score:值为100;也可以选infinity
<a href="http://s3.51cto.com/wyfs02/M00/24/8C/wKioL1NSJenAe6ZaAAD2gbpimXw621.jpg" target="_blank"></a>
定义完成后;会发现资源自动转移到了node1上。node1暂停后会自动转移到node2。
四、配置资源组
<a href="http://s3.51cto.com/wyfs02/M00/24/8C/wKioL1NSJt-RwurpAACFK5VO_vM559.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/24/8C/wKioL1NSJ56SxArOAAITynYs_ag222.jpg" target="_blank"></a>
这里定义与上面定义资源是一样的;只是添加是需要添加组和组ID
<a href="http://s3.51cto.com/wyfs02/M02/24/8C/wKioL1NSJ__iQuQEAACNpqYMaOM332.jpg" target="_blank"></a>
添加完成后会发现资源里多了一个组;依次在组中添加web_store和web_server
<a href="http://s3.51cto.com/wyfs02/M01/24/8D/wKiom1NSKPyjHN0LAABny88eQW8359.jpg" target="_blank"></a>
然后启动node和资源进行测试
<a href="http://s3.51cto.com/wyfs02/M01/24/8C/wKioL1NSKWyD7TtaAADKB1NsMQE585.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/24/8D/wKiom1NSKb6DuALbAADRxH421sg474.jpg" target="_blank"></a>
测试正常
此时把node2节点standby之后会自动转移到node1上。如果不想在node2节点active之后转移回去;只需要定义位置约束即可。此处不再演示
<a href="http://s3.51cto.com/wyfs02/M01/24/8D/wKiom1NSKjqhPCHLAADb0_lQijs294.jpg" target="_blank"></a>
到此;heartbeat v2基于crm做资源管理配置已完成。
本文转自Mr_陈 51CTO博客,原文链接:http://blog.51cto.com/chenpipi/1398631,如需转载请自行联系原作者