以下是在
A
B
两台数据库服务器上均需要创建的用户
:
用户
备注
mysql
mysql
运行
MySQL
实例的用户
hacluster
haclient
运行
heartbeat
的用户
 
一.
FreeNAS
配置
      
@
版本:
0.735
      
@NFS
配置
      
 
1
.打开
,
登录
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 –R 777 /mnt/da0
      
6.
分别登录
MySQL1
MySQL2,
创建本地挂载点
,
两机均需要执行以下命令
.
        
  # mkdir  -p /var/mysql/db1
          # mkdir –p /var/mysql/db2
      
7.
测试
MySQL1
MySQL2
挂载
NAS
NFS
共享
      
如下图:
    
  # mount -t nfs 192.168.0.34:/mnt/da0/db1 /var/mysql/db1
          # mount –t nfs 192.168.0.34:/mnt/da0/db2 /var/mysql/db2
          # df
//
查看挂载情况
         
或者是:
# showmount –a 192.168.0.34  //
查看
        
  
 
       
 
        
       
以上证实
,
两台挂载
NAS
NFS
共享没有问题
,
这是保证以下
HA
测试成功的基础
.
二.
Heartbeat
安装
      
@
版本
: STABLE-2.1.4.tar.bz2
       @
下载
:
wget
       @
依赖包安装:
     
 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
auth 2
2 sha1 HI!
               
 
 
                
# 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 –f /var/log/message 
# heartbeat
运行日志查看
             
以下是正常启动的图示
:
             
<
第一阶段测试
:>
                    
测试内容
:@
节点
1
单独起动
,
是否正常
@
节点
2
单独起动
,
是否正常
 @
起动节点
1,
测试资源切换
        
##########################################################
      
:
Heartbeat
起动过程需要做许多事
,
所以需要等
2
分钟左右
,
才能完全起动
,
当然
,
这个得根据你的配置和你的应用环境
.
               
可以通过
# crm_mon –i2
 
查看资源状态
,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
 
 
 
下一篇:            

本文出自 “” 博客,请务必保留此出处