以下是在
A
和
B
两台数据库服务器上均需要创建的用户
:
用户
|
组
|
备注
|
mysql
|
mysql
|
运行
MySQL
实例的用户
|
hacluster
|
haclient
|
运行
heartbeat
的用户
|
一.
FreeNAS
配置
@
版本:
0.735
@NFS
配置
1
.打开
http://192.168.0.34/,
登录
FreeNAS,
默认的用户名是
admin,
密码是
freenas
2
.在左边导航栏找到
NFS,
点击进入。
3.
选中
enable,
然后点击
Save and Restart
起用
NFS
服务
4.
添加
NFS
共享
,
如下图
5.
通过
SecureCRT
或
Putty
工具登录
nas
主机
(192.168.0.34),
创建以下两个目录
,
用于保存数据库数据
.
# mkdir /mnt/da0/db1
# mkdir /mnt/da0/db2
# chmod �CR 777 /mnt/da0
6.
分别登录
MySQL1
和
MySQL2,
创建本地挂载点
,
两机均需要执行以下命令
.
# mkdir -p /var/mysql/db1
# mkdir �Cp /var/mysql/db2
7.
测试
MySQL1
和
MySQL2
挂载
NAS
的
NFS
共享
如下图:
# mount -t nfs 192.168.0.34:/mnt/da0/db1 /var/mysql/db1
# mount �Ct nfs 192.168.0.34:/mnt/da0/db2 /var/mysql/db2
# df
//
查看挂载情况
或者是:
# showmount �Ca 192.168.0.34 //
查看
以上证实
,
两台挂载
NAS
的
NFS
共享没有问题
,
这是保证以下
HA
测试成功的基础
.
二.
Heartbeat
安装
@
版本
: STABLE-2.1.4.tar.bz2
@
下载
:
wget http://hg.linux-ha.org/lha-2.1/archive/STABLE-2.1.4.tar.bz2
@
依赖包安装:
libnet(
网络相关的库
)
# wget http://jaist.dl.sourceforge.net/sourceforge/libnet-dev/libnet-1.1.4.tar.gz
安装:
# tar zxvf libnet-1.1.4.tar.gz && cd libnet*
# ./configure && make && make install
注
:
这个版本
libnet
还不错
,
以前遇到的
libnet
源代码都存在很多问题
.
@
安装
Heartbeat
# mkdir /usr/share/doc/heartbeat-2.1.4
# tar zxvf STABLE-2.1.4.tar.bz2
# cd Heartbeat-STABLE-2-1-STABLE-2.1.4
# ./ConfigureMe configure
# make && make install
@FAQ
1.
WARNING: Cimom not found, MOF will not be installed!
CIMOM
即公共信息模型对象管理器(
Common Information Model Object Manager
),是一个描述操作系统构成单元的对象数据库,
为
MMC
和脚本程序提供了一个访问操作系统构成单元的公共接口。
注
:
从网上查到以上介绍
,
不清楚这里是不是指这下概念
,
这里先忽略这个警告
.
2.
configure:2199: result: configure: WARNING: The GUI managment module needs GNU/TLS header files ====================
configure:2199: result: configure: WARNING: The quorum server module needs GNU/TLS header files ====================
|
三.H
A
简单配置并进行
IP
和磁盘漂移测试
@HA
简易配置
进入
heartbeat
解压源文件根目录下
:
# cd /opt/Heartbeat-STABLE-2-1-STABLE-2.1.4
# cp doc/authkeys /etc/ha.d/
# cp doc/ha.cf /etc/ha.d/
# cp doc/haresources /etc/ha.d/
对三个文件做简单修改
(
进入
/etc/ha.d
目录
)
1. more authkeys
# chmod 600 authkeys
以上是设置文件权限,这个是必须的,否则
heartbeat
可能无法正常起动。
2. sed -e '/^#/d' -e '/^$/d' ha.cf
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
#
使用
udp
端口
694
做心跳监测
bcast eth0
#
通过
eth0
做心跳检测
auto_failback on
watchdog /dev/watchdog
node db_cluster1
#
节点定义
node db_cluster2
#
节点定义
ping 192.168.0.34
#
检查自己的状态是否正常
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root
crm on
respawn hacluster /usr/lib/heartbeat/cibmon -d
apiauth cibmon uid=hacluster
use_logd yes
|
3.
sed '/^#/d' haresources
db_cluster1IPaddr::192.168.0.32 Filesystem::192.168.0.34:/mnt/da0/db1::/var/mysql/db1::nfs
db_cluster1IPaddr::192.168.0.33 Filesystem::192.168.0.34:/mnt/da0/db1::/var/mysql/db1::nfs
|
# mv haresources haresources.bak //
最好这样重命名
,
否则日志里有警告
4.
生成
cib.xml(/var/lib/heartbeat/crm/cib.xml)
# /usr/lib/heartbeat/haresources2cib.py --stout -c /etc/ha.d/ha.cf /etc/ha.d/haresources.bak
|
5.
两个节点配置
/etc/hosts
文件
,
配置是一样的
.
192.168.0.30 db_cluster1
192.168.0.31 db_cluster2
|
6. heartbeat
加入到系统服务
,
以随系统起动
.
# chkconfig --add heartbeat
以后,重启
heartbeat
可以
# service heartbeat start/stop/restart
@
基本测试
原则
,
一次只开启一台测试
,
直到没有问题
,
将出现问题的配置更新到第二台
,
再进行第二台测试
,
直到全部
OK.
# service heartbeat start
#
起动
heartbeat
# tail �Cf /var/log/message
# heartbeat
运行日志查看
以下是正常启动的图示
:
<
第一阶段测试
:>
测试内容
:@
节点
1
单独起动
,
是否正常
@
节点
2
单独起动
,
是否正常
@
起动节点
1,
测试资源切换
##########################################################
注
:
Heartbeat
起动过程需要做许多事
,
所以需要等
2
分钟左右
,
才能完全起动
,
当然
,
这个得根据你的配置和你的应用环境
.
可以通过
# crm_mon �Ci2
查看资源状态
,2
代表每
2
秒刷新一次
<
节点
1
资源起动状态正常
>
<
节点
2
资源起动状态正常
>
现在
,
节点
1
处于关闭状态
,
将节点
1
起动
.
<
节点
1
和
2
两节点状态均正常
,
并且实现了资源向节点
1(
主节点
)
切换
> ,
其配置是通过在
/etc/ha.d/haresources
配置
,
如下图
,
左边的
db_cluster1
被指定为主节点
.
#####################################################################################
第二阶段测试
:
测试内容
:@
配置每个节点负责一个资源组
@
增加一网卡
,
单独用于心跳监测
#####################################################################################
@
测试内容
1
配置
,
在每个节点上做以下修改
.
db_cluster1IPaddr::192.168.0.32 Filesystem::192.168.0.34:/mnt/da0/db1::/var/mysql/db1::nfs
db_cluster1IPaddr::192.168.0.33 Filesystem::192.168.0.34:/mnt/da0/db1::/var/mysql/db1::nfs
|
将以上修改为
:
db_cluster1IPaddr::192.168.0.32 Filesystem::192.168.0.34:/mnt/da0/db1::/var/mysql/db1::nfs
db_cluster2IPaddr::192.168.0.33 Filesystem::192.168.0.34:/mnt/da0/db2::/var/mysql/db2::nfs
|
然后
重新生成
cib.xml,
执行以下命令前
,
最好先手动删除一下
/var/lib/heartbeat/crm/
下的文件
.
# /usr/lib/heartbeat/haresources2cib.py --stout -c /etc/ha.d/ha.cf /etc/ha.d/haresources.bak
|
下一篇:http://anxiongbo.blog.51cto.com/805770/167706