|
最近尝试了在VMWare8下安装测试drbd+heartbeat主从热备。 经过几番尝试、折腾, 总算配置好了。给大家分享以下:
1. 首先最小化安装CentOS6.3 安装时选择Minimal, 安装好之后。首先更新并安装几个常用组件:
- yum install wget ftp ntp -y
- yum update -y
2. 安装drbd 8.4.2
由于网上找的rpm包在安装并执行modprobe drbd时总是会导致内核panic, 因此不得不重新在开发机上编译一个。开发机和最小化安装的,准备作为主从热备的虚拟机保持相同的内核版本,在编译之前同样使用yum update -y进行更新, 以免出现内核不兼容崩溃的情况, 为了节约时间, 也可以只更新内核yum update kernel kernel-devel -y。 确保开发机和最小化安装的服务器的uname -r 是同一个rivision,否则modprobe drbd找不到drbd.ko文件。 执行如下命令进行编译:
- cd /tmp
- wget http://oss.linbit.com/drbd/8.4/drbd-8.4.2.tar.gz
- tar xvf drbd-8.4.2.tar.gz
- cd drbd-8.4.2
- mkdir -pv ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
- ./configure
- make rpm
- make km-rpm
- cd ~/rpmbuild/RPMS/i686
将~/rpmbuild/RPMS/i686目录下RPM包的拷贝出来并移到最小化安装的服务器上。(通过FTP服务器中转或者其他办法)
主要是以下几个包:
drbd-8.4.2-2.el6.i686.rpm
drbd-bash-completion-8.4.2-2.el6.i686.rpm
drbd-heartbeat-8.4.2-2.el6.i686.rpm
drbd-km-2.6.32_279.el6.i686-8.4.2-2.el6.i686.rpm
drbd-udev-8.4.2-2.el6.i686.rpm
drbd-utils-8.4.2-2.el6.i686.rpm
|
在2台最小化安装的服务器上执行
- yum install drbd-heartbeat-8.4.2-2.el6.i686.rpm \
- drbd-km-2.6.32_279.el6.i686-8.4.2-2.el6.i686.rpm \
- drbd-utils-8.4.2-2.el6.i686.rpm \
- drbd-heartbeat-8.4.2-2.el6.i686.rpm
DRBD的安装就结束了。
3. 安装Heartbeat
接着安装Heartbeat, CentOS 6.3中默认不带有Heartbeat包, 因此需要从第三方下载。
- wget ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/6rolling/i386/os/Packages/epel-release-6-5.noarch.rpm
-
- rpm -ivUh epel-release-6-5.noarch.rpm
- yum --enablerepo=epel install heartbeat -y
执行以下命令安装Heartbeat。安装的是Heartbeat 3.0.0.4版本。
4. 配置drbd和heartbeat主从节点。
首先准备网络环境, 配置/etc/hosts文件如下
- echo "192.168.10.151 ha1" >> /etc/hosts
- echo "192.168.10.152 ha2" >> /etc/hosts
接着关闭iptables和selinux, iptables在调试成功后可以再开启。 但一般实际部署的时候, 设备都在网关防火墙之后,也就不开启iptables防火墙了。
- service iptables stop
- chkconfig iptables off
- sed -i -e "s/=enforcing/=disabled/g" /etc/selinux/config
- setenforce 0
最后本别在主从节点上做如下配置:
- cat > /etc/drbd.d/global_common.conf /etc/drbd.d/r0.res /etc/ha.d/ha.cf /etc/ha.d/authkeys /etc/ha.d/haresources ..................] sync'ed: 10.7% (18300/20472)M
- finish: 0:05:04 speed: 61,480 (58,484) K/sec
在主节点ha1上, 放一些测试数据在/data目录下之后, 执行service heartbeat stop 或者 shutdown -h now, 关闭主节点。 再在从节点上查看, 从节点的/data目录包含了之前主节点/data目录下的数据。 测试成功并完成了。
|
|
|