上一节,讲述了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,使其数据库目录生成数据(备节点是不需要的)
这是整个实验环境最重要的一步,我们运行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
192.168.253.10 是vip
主机名称 drbddisk(是一个管理drbd的脚本,heartbeat默认提供脚本)::web(启动资源) Filesystem::/dev/drbd0::/database 表示把drbd设备挂载到/database分区上
在drbd1上设置完成后,把主节点的ha.cf、authkeys、heartsource复制一份到另一台主机drbd2,注意修改ha.cf中的另一台主机地址