天天看点

HA Cluster—heartbeat v2基于crm配置

一、资源的类型

定义资源时;必须对资源的类型进行选择;主要类型有:

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 &amp;    在命令后加&amp;以释放终端

<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,如需转载请自行联系原作者

继续阅读