基于NFS和heartbeat v2的MySQL高可用
环境:RHEL6.4 ,heartbeat软体版本2.1.4,默认情况下,RHEL6只提供heartbeat-V3,heartbeatV2在RHEL5的epel源中
配置HA集群的前提:
至少2个节点;
共享存储(可选);
Stonith设备;
时间同步;
各个节点以主机名通信;
至少配置好一个节点,提供基本的集群配置文件,可以没有资源;
ssh互信;
定义心跳信息传递方式,
http://blog.运维网.com/attachment/201309/140658232.png
ServerA:172.16.1.1
ServerB:172.16.1.2
NFServr:172.16.1.3
1、配置主机名解析:
# vi /etc/hosts
node1.magedu.com 172.16.100.1
node2.magedu.com 172.16.100.2
2、同步时间
# ntpdate 172.16.0.1
3、配置ssh互信
# ssh-keygen -t rsa
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@node2
4、安装软件
# yum -yinstall PyXML net-snmp-libs libnet
# rpm -ivhheartbeat-pils-2.1.4-12.el6.x86_64.rpm
# rpm -ivhheartbeat-stonith-2.1.4-12.el6.x86_64.rpm
# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm
# rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm
5、配置文件有:authkeys / ha.cf (默认不存在,需要复制样例文件)在/usr/share/doc/heartbeat-2.1.4/下
# cd /usr/share/doc/heartbeat-2.1.4/
# cp authkeys ha.cf /etc/ha.d
7、编辑authkeys文件:
# cd /etc/ha.d
# openssl rand -hex 8 >> authkeys
# vi authkeys
auth 2
2 sha1 RandomNumber
# chmod 600 authkeys
8、编辑ha.cf:
# vi ha.cf
设置组播地址传递心跳信息
mcasteth0 225.0.0.250 694 1 0
auto_failback on;自动恢复;
添加集群节点,如果只有2个节点,需要配置ping node功能;
node node1.magedu.com
node node2.magedu.com
ping 172.16.0.1
启用crm(资源管理器)
crm respawn
scp 配置文件到node2
# scpha.cf authkeys node2:/etc/ha.d
给hacluster用户设置密码,用以登录hb_gui
passwd hacluster
设置MySQL,下载并解压mysql二进制安装包,
#!/bin/bash
#Mount Windows dir incase copy the software.
mount -t cifs -ousername=thinkpad1,password=aaa //172.16.254.52/source /mnt
# Uncompress mysql totarget dir
tar xf/mnt/mysql/mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local
umount /mnt
# Create a user for mysql
useradd -u 306 -r mysql
# Create MySQL Datadirectory
#mkdir /mydata/data -pv
mkdir /mydata
#chown -R mysql.mysql/mydata/data
chown -R mysql.mysql/mydata
cd /usr/local
ln -svmysql-5.5.33-linux2.6-x86_64 mysql
cd mysql
chown -R root.mysql ./*
#Copy example file toconfiguration file and Modify some parameters.
\cp -fsupport-files/my-large.cnf /etc/my.cnf
sed -i '/^\$/adatadir = /mydata/data\ninnodb_file_per_table = 1' /etc/my.cnf
#Copy example file incase to Control MySQL.
cpsupport-files/mysql.server /etc/init.d/mysqld
#Add Mysql to Servicelist
chkconfig --add mysqld
chkconfigmysqld off
#Init mysql database
#scripts/mysql_install_db --user=mysql --datadir=/mydata/data
#Start mysql
#service mysqld start
# export PATH
cat >/etc/profile.d/mysql.sh /etc/ld.so.conf.d/mysql.conf
总结:此拓扑中节点故障的转移没有障碍,但是存在NFS的单点故障,如果NFS服务停止,那么整个集群将无法工作。
页:
[1]