修改配置文件(node1,node2)
vim /usr/local/drbd/etc/drbd.d/global_common.conf
清空文件内容,并添加如下配置:
global {
usage-countyes;
}
common {
protocolC;
startup{
wfc-timeout 120;
degr-wfc-timeout 120;
}
disk {
on-io-error detach;
}
net {
after-sb-0pri discard-younger-primary;
after-sb-1pri discard-secondary;
after-sb-2pri call-pri-lost-after-sb;
rr-conflict disconnect;
}
syncer{
rate 100M;
al-extents 257;
}
}
添加r0.res文件
vim /usr/local/drbd/etc/drbd.d/r0.res
resource r0 {
on node1{
device /dev/drbd0;
disk /dev/sdb1;
address 10.2.3.157:7789;
meta-disk internal;
}
on node2{
device /dev/drbd0;
disk /dev/sdb1;
address 10.2.3.158:7789;
meta-disk internal;
}
}
创建DRBD设备并激活资源(node1,node2)
drbdadm create-md r0
等待片刻,显示success表示drbd块创建成功
drbdadm up r0
启动drbd(node1,node2)
/etc/init.d/drbd start
查看状态:(node1,node2)
cat /proc/drbd 或 /etc/init.d/drbd status
创建目录(node1,node2)
mkdir -p /mysqldata
以下为测试drbd
设置为drbd主节点(node1)
drbdadm primary --force r0
etc/init.d/drbd status
挂载drbd(node1)
mkfs.ext4 /dev/drbd0
mount /dev/drbd0 /mysqldata
node1写文件(node1)
cd /mysqldata
touch 1 2 3
ls
cd
umount /mysqldata
drbdadm secondary r0
node2测试(node2)
drbdadm primary --force r0
etc/init.d/drbd status
mount /dev/drbd0 /mysqldata
cd /mysqldata
touch 4 5 6
ls
cd
umount /mysqldata
drbdadm secondary r0
再测试node1(node1)
drbdadm primary --force r0
/etc/init.d/drbd status
mount /dev/drbd0 /mysqldata
ls /mysqldata
安装Heartbeat
关闭iptables和selinux(node1,node2)
/etc/init.d/iptables stop
chkconfig iptables off
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config
同步时间(node1,node2)
ntpdate ntp.api.bz
hwclock -w
设置hosts文件(node1,node2)
vim /etc/hosts
添加
10.2.3.157 node1
10.2.3.158 node2
node1配置host(node1)
hostname node1
vim /etc/sysconfig/network
修改HOSTNAME=node1
node2配置host(node2)
hostname node2
vim /etc/sysconfig/network
修改HOSTNAME=node2
下载heartbeat3(node1, node2)
cd /usr/local/src
wget http://hg.linux-ha.org/glue/archive/glue-1.0.9.tar.bz2
wgethttps://github.com/ClusterLabs/resource-agents/tarball/v3.9.2
wgethttp://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/7e3a82377fa8.tar.bz2
安装glue(node1, node2)
tar xvf glue-1.0.9.tar.bz2
cd Reusable-Cluster-Components-glue--glue-1.0.9
./autogen.sh
./configure LIBS='/lib64/libuuid.so.1'
make
make install
安装agents(node1, node2)
tar zxvf v3.9.2
cd ClusterLabs-resource-agents-b735277
./autogen.sh
./configure LIBS='/lib64/libuuid.so.1'
make
make install
安装 Heartbeat(node1, node2)
tar -xvf 7e3a82377fa8.tar.bz2
cd Heartbeat-3-0-7e3a82377fa8
./ConfigureMe configure LIBS='/lib64/libuuid.so.1'
gmake
如果报错(Heartbeat-3-0-7e3a82377fa8/lib/plugins/HBcomm/ucast.c,这个文件貌似有问题,删除468行inti = 1;应该就能make了。)
make install
cp -a /usr/etc/ha.d/ /etc/
rm -rf /usr/etc/ha.d
ln -s /etc/ha.d /usr/etc
cp /usr/share/doc/heartbeat/haresources /etc/ha.d
cp /usr/share/doc/heartbeat/authkeys /etc/ha.d
cp /usr/share/doc/heartbeat/ha.cf /etc/ha.d
chmod 600 /etc/ha.d/authkeys
chkconfig --add heartbeat
chkconfig heartbeat on
修改配置文件
vim /etc/ha.d/authkeys(node1, node2)
将auth1 和1 crc前边的#去掉,然后保存退出。
vim /etc/ha.d/haresources(node1,node1)
最后一行增加(10.2.3.160是一个还没有使用过的vip)
node1 IPaddr::10.2.3.160/16/eth0:0 mysqld_umount mysqld
配置脚本文件(node1,node2)
cd /etc/ha.d/resource.d
vim mysqld_umount
#!/bin/sh
#
# High-Availability Pre-Startup/Shutdown Script
#
# Description: Runs on Startup or shutdown ofheartbeat (not resource based).
# Also runs before start, after start or before stop,
# and after stop.
#
#Author: Matthew Soffen
#
#Support: linux-ha@lists.linux-ha.org
#
#License: GNU Lesser General Public License (LGPL)
#
# Copyright: (C) 2002 Matthew Soffen
#
#
unset LC_ALL; export LC_ALL
unset LANGUAGE; export LANGUAGE