集群:DRBD+corosync+pacemaker实现MySQL服务高可用(4)

三,corosync+pacemaker的安装配置
安装corosync和pacemaker,首先下载所需要如下软件包至本地某专用目录(这里为/root/cluster):
cluster-glue
cluster-glue-libs
heartbeat
resource-agents
corosync
heartbeat-libs
pacemaker
corosynclib
libesmtp
pacemaker-libs
openais   (这个两个包做如下的实验没有用,可以不装)
openaislib
 
下载地址:。请根据硬件平台及操作系统类型选择对应的软件包;这里建议每个软件包都使用目前最新的版本。
 
3,使用如下命令安装:
# cd corosync/  我的软件包都下载在这个目录中
# yum -y --nogpgcheck localinstall *.rpm  (配置好yum源为系统光盘,会对系统光盘中的软件包有依赖关系)
 
注意:两个节点都要进行软件包的安装,方法相同
 
4、配置corosync:(以下命令在node1.magedu.com上执行)
 
# cd /etc/corosync
# cp corosync.conf.example corosync.conf
 
接着编辑corosync.conf:
# vim corosync.conf
添加如下内容:
service {
ver:  0
name: pacemaker
use_mgmtd: yes
}
 
aisexec {
user: root
group:  root
}
 
开启安全验证功能,当有节点加入集群需要有验证密码串:
secauth: on
 
并设定此配置文件中 bindnetaddr后面的IP地址为你的网卡所在网络的网络地址,我们这里的两个节点在172.16.0.0网络,因此这里将其设定为172.16.0.0,如下(也可以是ip地址):
bindnetaddr: 172.16.0.0
 
设定多播地址,从224.0.0.0到239.255.255.255都可以设定:
mcastaddr: 229.94.1.1
 
生成节点间通信时用到的认证密钥文件:
# corosync-keygen
 
将corosync和authkey复制至node2:
# scp -p corosync.conf authkey  node2:/etc/corosync/
 
分别为两个节点创建corosync生成的日志所在的目录:
# mkdir /var/log/cluster
# ssh node2  'mkdir /var/log/cluster'
 
5、尝试启动,(以下命令在node1上执行):
 
# /etc/init.d/corosync start
 
然后启动node2:
# ssh node2 "service corosync start"
 
过一会儿之后,显示node1和node2上线:
# crm status
============
Last updated: Wed Apr 18 05:16:57 2012
Stack: openais
Current DC: node1.magedu.com - partition with quorum
Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87
2 Nodes configured, 2 expected votes
0 Resources configured.
============
 
Online: [ node1.magedu.com node2.magedu.com ]
 
配置集群的工作属性
corosync默认启用了stonith,而当前集群并没有相应的stonith设备,因此此默认配置目前尚不可用,这可以通过如下命令先禁用stonith:
# crm configure property stonith-enabled=false
 
对于双节点的集群来说,我们要配置此选项来忽略quorum,即这时候票数不起作用,一个节点也能正常运行:
# crm configure property no-quorum-policy=ignore
 
定义资源的粘性值,使资源不能再节点之间随意的切换,因为这样是非常浪费系统的资源的。
资源黏性值范围及其作用:
0:这是默认选项。资源放置在系统中的最适合位置。这意味着当负载能力“较好”或较差的节点变得可用时才转移资源。此选项的作用基本等同于自动故障回复,只是资源可能会转移到非之前活动的节点上;
大于0:资源更愿意留在当前位置,但是如果有更合适的节点可用时会移动。值越高表示资源越愿意留在当前位置;
小于0:资源更愿意移离当前位置。绝对值越高表示资源越愿意离开当前位置;
INFINITY:如果不是因节点不适合运行资源(节点关机、节点待机、达到migration-threshold 或配置更改)而强制资源转移,资源总是留在当前位置。此选项的作用几乎等同于完全禁用自动故障回复;
-INFINITY:资源总是移离当前位置;
我们这里可以通过以下方式为资源指定默认黏性值:
# crm configure rsc_defaults resource-stickiness=100

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/709138dbd9e2d012447a43387685b28f.html