以下是在AB两台数据库服务器上均需要创建的用户:
用户
备注
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.通过SecureCRTPutty工具登录nas主机(192.168.0.34),创建以下两个目录,用于保存数据库数据.
              # mkdir /mnt/da0/db1
              # mkdir /mnt/da0/db2
              # chmod –R 777 /mnt/da0
       6.分别登录MySQL1MySQL2,创建本地挂载点,两机均需要执行以下命令.
          # mkdir  -p /var/mysql/db1
          # mkdir –p /var/mysql/db2
       7.测试MySQL1MySQL2挂载NASNFS共享
       如下图:
       # 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  //查看
        
  
 
       
        
       
以上证实,两台挂载NASNFS共享没有问题,这是保证以下HA测试成功的基础.
二.Heartbeat安装
       @版本: 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 ====================
 

             
三.HA简单配置并进行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起动.
             
<节点12两节点状态均正常,并且实现了资源向节点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