DRBD+heartbeat 实现双机热备

实现环境

os:Centos 6.8
ip1:192.168.85.129 node1
ip2:192.168.85.130 node2
disk:/dev/sdb1 (一个10G的分区)

DRBD部署

DRBD安装

CentOS 6.x系统要升级到最新的内核才支持
CentOS 6.x
<pre>
rpm -ivh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
</b>
yum -y install drbd83-utils kmod-drbd83
</pre>

CentOS 7.x
<pre>
rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
</b>
yum install -y drbd84-utils kmod-drbd84
</pre>

加载模块:
modprobe drbd
检测DRBD是否安装成功
lsmod | grep drbd

两台机器时间同步,并修改/etc/hosts文件
192.168.85.129 node1
192.168.85.130 node2

两台主机分别修改主机名
hostname node1
hostname node2

修改配置文件(两台机器配置一样)

cat > /etc/drbd.d/global_common.conf <<EOF
global {
    usage-count yes; #是否参加DRBD使用者统计,默认是参加
}
common {
    protocol C; #使用DRBD的第三种同步协议,表示收到远程主机的写入确认后认为写入完成
    handlers {   
       pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
       pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
       local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
  }
    startup {
        wfc-timeout          240;
        degr-wfc-timeout     240;
        outdated-wfc-timeout 240;
    }
    disk {
        on-io-error detach;
    }
    net { #DRBD同步时使用的验证方式和密码
        cram-hmac-alg md5;
        shared-secret "testdrbd";
    }
    syncer {
       verify-alg sha1;                 # 定义网络传输速率,一般传输速度的30%
        rate 30M; #主节点和备用节点同步时最大的网络速率
    }
}
EOF

创建资源文件

cat >/etc/drbd.d/r0.res <<EOF
resource r0 { 
  on node1 {                                 #node1为第一台机器的机器名
    device     /dev/drbd0;            #创建的虚拟资源
    disk       /dev/sdb1;                #实际的物理分区,一定要注意,是一个单独的分区,而且是未经格式化的
    address    192.168.85.129:7898;     #第一台机器的ip地址,及通讯端口
    meta-disk  internal;                         #类型,局域网
  }
  on node2 {
    device     /dev/drbd0;
    disk       /dev/sdb1;
    address    192.168.85.130:7898;
    meta-disk  internal;
  }
}
EOF

将node1 的配置文件传送到node2 上

cd /etc/drbd.d
scp global_common.conf  r0.res root@node2:/etc/drbd.d/

在node1,node2 机器上分别创建数据块 r0 (r0为资源文件中的资源名)

drbdadm create-md r0

Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
表示创建成功

在两台机器都启动服务

/etc/init.d/drbd start

在node1 初始化网络硬盘

drbdsetup /dev/drbd0 primary -o 
cat /proc/drbd

在node1 主DRBD上格式磁盘,挂载并写入文件测试

mkfs.ext4 /dev/drbd0
mkdir /drbd
mount /dev/drbd0 /drbd
cd /drbd
touch {1,2,3}
umount /dev/drbd0
drbdadm secondary r0

在node2 从DRBD上,查看状态

cat /proc/drbd
mkdir /drbd
mount /dev/drbd0 /drbd
cd /drbd
ls
查看在node1 上创建的文件是否存在

Heartbeat部署

Heartbeat安装

install heartbeat

配置heartbeat

vi /etc/heartbeat/ha.cf
      logfacility     local0
      keepalive 2
      deadtime 10
      auto_failback off
      bcast   eth0
      node node1 node2

vi /etc/heartbeat/haresources
      node1 drbddisk::r0 Filesystem::/dev/drbd0::/drbd::ext4
 
vi /etc/heartbeat/authkeys
      auth 3
      3 md5 abc
 
 chmod 600 authkeys 

相同的配置复制到drbd2

cd /etc/heartbeat
scp authkeys haresources ha.cf root@node2:/etc/heartbeat/

确保服务都是正常运行的

/etc/init.d/drbd start
/etc/init.d/heartbeat start

切换测试

通过cat /proc/drbd 查看drbd的状态或者mount查看/drbd 是不是已经挂载确定资源所在的机器。然后在那台机器的/drbd 新建立一些文件并停掉那台机器上的heartbeat。看另一台机器上/drbd 是不是被自动挂载了呢?里面是不是有刚创建的文件?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容