上一节,讲述了DRBD的安装,因为要利用heartbeat+DRBD+mysql实现mysql的高可用,所以这一节讲述安装mysql和heartbeat的安装


   分别在各个节点安装mysql,文本使用的是二进制的安装包mysql-5.5.33-linux2.6-x86_64.tar.gz

[root@drbd1 usr]# cd /data/tools/
[root@drbd1 tools]# ls
mysql-5.5.33-linux2.6-x86_64.tar.gz
[root@drbd1 tools]# tar xf  mysql-5.5.33-linux2.6-x86_64.tar.gz
[root@drbd1 tools]# mv mysql-5.5.33-linux2.6-x86_64 /usr/local/mysql
[root@drbd1 tools]# cd /usr/local/mysql/
[root@drbd1 mysql]# useradd mysql
[root@drbd1 mysql]# cp support-files/my-large.cnf /etc/my.cnf
[root@drbd1 mysql]# cp support-files/mysql.server /etc/init.d/mysql

   注:在主节点建立数据存放路径  

[root@drbd1 mysql]# mkdir /database/mysql
[root@drbd1 mysql]# chown -R mysql:mysql /database/mysql

   分别在各个节点编译mysql的配置文件my.cnf中的datadir=/database/mysql

mysql+heartbeat+DRBD+LVS实现mysql高可用<二>_mysql的高可用

在主节点上初始化mysql,使其数据库目录生成数据(备节点是不需要的)

mysql+heartbeat+DRBD+LVS实现mysql高可用<二>_mysql的高可用_02

这是整个实验环境最重要的一步,我们运行mysql是在DRBD之后,即这时已经将/dev/drbd0挂载在/database目录,而并非未挂载启动mysql,所以不需要启动mysql,它可以靠脚本来启动,如果已经启动了mysql,请手动关闭



   安装heartbeat

   安装heartbeat,centos系统默认并没有heartbeat类似的HA的yum源

   centos没有提供heartbeat的yum源,

   wget  ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/6rolling/x86_64/os/Packages/epel-release-6-5.noarch.rpm

   

rpm -ivh epel-release-6-5.noarch.rpm
yum update
yum list all | grep heartbeat
yum -y install heartbeat*
rpm -qa heartbeat
[root@drbd1 tools]# rpm -qa heartbeat
heartbeat-3.0.4-2.el6.x86_64

   创建heartbeat的配置文件

   

ha.cf是heartbeat的主配置文件
[root@drbd1 tools]# cp /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/
haresource资源信息定义文件
[root@drbd1 tools]# cp /usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/
heartbeat心跳检测使用的认证文件,权限为600
[root@drbd1 tools]# cp /usr/share/doc/heartbeat-3.0.4/authkeys /etc/ha.d/
[root@drbd1 tools]# chmod 600 /etc/ha.d/authkeys

   按照当前的情况修改ha.cf文件

logfile /var/log/ha-log        日志文件位置
keepalive 2                    心态哦发送时间间隔
deadtime 30                    备用节点30秒没有检测到心跳信息,确认对方故障
warntime 10                    警告次数
initdead 120                   守护进程启动30s后,启动服务资源
ucast eth0 192.168.253.140     另一台主机的ip地址
auto_failback on               当主节点恢复正常时,是否进行切回操作
node    drbd1
node    drbd2                    两个节点名称

   authkey配置文件实例

   

auth 1
#1 crc
#2 sha1 HI!
#3 md5 Hello!
1 sha1 magedu.com

   资源说明文件

   [root@drbd1 tools]# vim  /etc/ha.d/haresources

mysql+heartbeat+DRBD+LVS实现mysql高可用<二>_mysql的高可用_03

   192.168.253.10 是vip

   主机名称  drbddisk(是一个管理drbd的脚本,heartbeat默认提供脚本)::web(启动资源) Filesystem::/dev/drbd0::/database 表示把drbd设备挂载到/database分区上

   在drbd1上设置完成后,把主节点的ha.cf、authkeys、heartsource复制一份到另一台主机drbd2,注意修改ha.cf中的另一台主机地址