2、软件简介
Heartbeat(Linux-HA)的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务。
DRBD:drbd是一个软件来实现数据实时、同步、异步的数据镜像块存储复制解决方案,主要功能是通过Linux内核实现。DRBD类似网络RAID-1功能写入本地的文件会通过网络以相同方式写在另一文件系统。
3、资源分配
系统:CentOS6.5_x64
主机名
角色
IP地址
masternfs
主NFS
eth0:192.168.0.202/24
backupnfs
备NFS
eth0:192.168.0.203/24
VIP
192.168.0.204/24
4、配置两台hosts记录
[root@masternfs ~]# vi /etc/hosts
192.168.0.202 masternfs
192.168.0.203 backupnfs
二、安装配置DRBD(两台服务器配置基本一样)
安装epel源:
rpm -ivh Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
下载drbd软件:
1、安装依赖包
1 [root@masternfs ~]# yum install -y gcc gcc-c++ make perl kernel-devel kernel-headers flex drbd84-utils kmod-drbd84
2、安装DRBD并加载到内核
[root@masternfs ~]# tar zxvf drbd-8.4.4.tar.gz
[root@masternfs ~]# cd drbd-8.4.4
[root@masternfs ~]# ./configure --prefix=/usr/local/drbd --with-km #--with-km,启用内核模块
[root@masternfs ~]# make KDIR=/usr/src/kernels/2.6.32-358.23.2.el6.x86_64/ #指定内核源码路径
[root@masternfs ~]# make install
[root@masternfs ~]# chkconfig --add drbd
[root@masternfs ~]# chkconfig drbd on
[root@masternfs ~]# cp drbd/drbd.ko /lib/modules/`uname -r`/kernel/lib/ #加载DRBD模块到内核中
[root@masternfs ~]# modprobe drbd
[root@masternfs ~]# lsmod |grep drbd #由此查看drbd模块已经加载
drbd 333755 0
libcrc32c 1246 1 drbd
3、配置DRBD
[root@masternfs ~]# cd /usr/local/drbd/
[root@masternfs ~]# vi /usr/local/drbd/etc/drbd.d/global_common.conf
global {
usage-count yes;
}
common {
protocol C;
disk {
on-io-error detach;
}
syncer {
rate 100M;
}
}
resource web {
on masternfs {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.0.202:7899;
meta-disk internal;
}
on backupnfs {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.0.203:7899;
meta-disk internal;
}
}
4、创建供DRBD记录信息数据块
[root@masternfs ~]# drbd admcreate-md web
Writing meta data...
initializing activity log
NOT initializing bitmap
New drbd meta data blocksuccessfully created.
success
[root@masternfs ~]# mkdir -p /usr/local/drbd/var/run/drbd #创建资源目录
[root@masternfs ~]# service drbd start
5、默认没有分主备节点的,需要设置
[root@masternfs ~]# cat /proc/drbd
version: 8.4.4(api:1/proto:86-101)
GIT-hash:599f286440bd633d15d5ff985204aff4bccffadd build by phil@Build64R6, 2013-10-1415:33:06
0: cs:Connected ro:Secondary/Secondaryds:UpToDate/UpToDate C r-----
ns:64 nr:112 dw:176 dr:6088 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1wo:f oos:0
[root@masternfs ~]# drbdadm -- --overwrite-data-of-peer primary web
[root@db-backup ~]# drbdadm secondary web #backupnfs服务器设置从节点
#再查看状态已经是主从
[root@masternfs ~]# drbd-overview
0:mysql/0 Connected Primary/Secondary UpToDate/UpToDate C r-----