1、网络设置
2、磁盘设置
3 mysql 安装
3.1 到官方网址http://dev.mysql.com/downloads/mysql/5.1.html 下载最新版本,mysql5.1.31,找到对应的包。在ha1,ha2 分别安装。
# cd /usr/local/
# tar -xzvf mysql-5.1.31-linux-x86_64-glibc23.tar.gz
# mv mysql-5.1.31-linux-x86_64-glibc23 mysql
# groupadd mysql
# useradd -g mysql mysql
#passwd mysql
3.2 修改/etc/my.cf,数据文件路径设置在共享磁盘,修改相关参数,这3 个参数在ha1,ha2上必须一样。
datadir=/u01/data #数据文件路径
server-id = 180 #数据库ID
log-bin=/u01/data/master # binlog 路径
3.3 下面步骤先在ha1 上执行,然后在ha2 执行
先在ha1 把磁盘mount:
[root@ha1 mysql]# mount /dev/sdb /u01
[root@ha1 u01]# mkdir data
[root@ha1 u01]# chown -R mysql.mysql data/
安装mysql:
[root@ha1 u01]# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# /etc/rc.d/init.d/mysqld start
3.4 在ha1 把共享磁盘umount,在ha2 上mount,把上面的数据删除后执行3.3 步骤,完成后ha2 也umount。
3.5 在slave 上安装mysql,数据放在slave 本地,过程略。
4、heartbeat 安装
4.1 官方网址http://www.linux-ha.org,分别在ha1,ha2 安装,确认下列包安装。
[root@ha1 ~]# rpm -ivh libnet-1.1.2.1-2.1.x86_64.rpm
[root@ha1 ~]# rpm -ivh heartbeat-pils-2.1.4-4.1.x86_64.rpm
[root@ha1 ~]# rpm -ivh heartbeat-stonith-2.1.4-4.1.x86_64.rpm
[root@ha1 ~]# rpm -ivh perl-TimeDate-1.16-6.el4.noarch.rpm
[root@ha1 ~]# rpm -ivh heartbeat-2.1.4-4.1.x86_64.rpm
[root@ha1 ~]# rpm -ivh heartbeat-devel-2.1.4-4.1.x86_64.rpm
4.2 开始编辑配置文件(ha1,ha2 都执行)
[root@ha1 local]# cp /usr/share/doc/packages/heartbeat/ha.cf /etc/ha.d/
[root@ha1 local]# cp /usr/share/doc/packages/heartbeat/authkeys /etc/ha.d/
编辑/etc/ha.d/authkeys,使用的是第1 种认证方式(crc),接着把文件的权限改为600:
cat /etc/ha.d/authkeys
显示
auth 1
1 crc
更改文件权限
chmod 600 /etc/ha.d/authkeys
[root@ha1 ~]# cat /etc/ha.d/ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 1
deadtime 10
warntime 5
udpport 694
crm yes
node ha1 ha2
bcast eth0
auto_failback off
apiauth cibmon uid=hacluster
respawn hacluster /usr/lib64/heartbeat/cibmon –d
配置资源,共享IP,共享磁盘,MYSQL3 个服务组成1 组资源。
[root@ha1 ~]# cat /etc/ha.d/haresources2
ha1 10.0.0.180 Filesystem::/dev/sdb::/u01::ext3 mysqld
启动的时候从左到右依次运行脚本,关闭的时候从右到左依次关闭。
这个文件原名为haresources 在1.x 上使用,不过为了区别使用此名称。
将资源文件转换成cib.xml,2.x 里编译好后自带有转换脚本
[root@ha1 ~]# cd /var/lib/heartbeat/crm/
[root@ha1 crm]# rm -rf cib.xml*
[root@ha1 crm]#
/usr/lib64/heartbeat/haresources2cib.py -stout -c /etc/ha.d/ha.cf /etc/ha.d/haresources2
[root@ha1 crm]# cat cib.xml|grep mysql
<primitive class="lsb" id="mysqld_3" provider="heartbeat" type="mysqld">
<op id="mysqld_3_mon" interval="120s" name="monitor" timeout="60s"/>
即每120 秒检测资源运行情况,如果发现资源不在,则尝试启动资源,如果60s 后还未启动
成功,则资源切换向另节点,可根据业务进行修改。
4.3 启动heartbeat,在ha1 和ha2 都启动
[root@ha1 ~]# /etc/init.d/heartbeat start
查看资源情况
============
Last updated: Tue Feb 24 16:12:10 2009
Current DC: ha2 (0c267980-de77-4421-bcb5-9bb6b0743eef)
2 Nodes configured.
1 Resources configured.
============
Node: ha2 (0c267980-de77-4421-bcb5-9bb6b0743eef): online
Node: ha1 (ab30057d-03f6-4be8-a787-98c5fc7f4c64): online
Resource Group: group_1
IPaddr_10_0_0_180 (ocf::heartbeat:IPaddr): Started ha1
Filesystem_2 (ocf::heartbeat:Filesystem): Started ha1
mysqld_3 (lsb:mysqld): Started ha1
4.4 将heartbeat 设置成开机自动重启
[root@ha1 ~]# chkconfig --add heartbeat
[root@ha1 ~]# chkconfig --level 345 heartbeat on
[root@ha1 ~]# chkconfig --list heartbeat
heartbeat 0:off 1:off 2:on 3:on 4:on 5:on 6:off