设为首页 收藏本站
查看: 952|回复: 0

[经验分享] 6.Heartbeat和DRBD 高可用

[复制链接]

尚未签到

发表于 2019-1-7 09:37:43 | 显示全部楼层 |阅读模式
6.1 DRBD 介绍
    DRBD(Distributed Replicated Block Device),DRBD 号称是 "网络 RAID",开源软件,由 LINBIT 公司开发。DRBD分为两个部分,内核中的驱动程序代码和用户空间的工具。Linux 2.6.33之后的内核版本集成了DRBD。

DRBD 实际上是一种块设备的实现,主要被用于Linux平台下的高可用(HA)方案之中。他是有内核模块和相关程序而组成,通过网络通信来同步镜像整个设备,有点类似于一个网络RAID的功能。也就是说当你将数据写入本地的DRBD设备上的文件系统时,数据会同时被发送到网络中的另外一台主机之上, 并以完全相同的形式记录在一个文件系统中(实际上文件系统的创建也是由DRBD的同步来实现的)。本地节点(主机)与远程节点(主机)的数据可以保证实时 的同步,并保证IO的一致性。所以当本地节点的主机出现故障时,远程节点的主机上还会保留有一份完全相同的数据,可以继续使用,以达到高可用的目的。


6.2 Heartbeat 介绍

6.3 部署前的准备工作
第一步:准备两台服务器,分别安装上MySQL。

第二步:检查你的内核版本,如果是或高于2.6.33的话,就不需要安装了。

[root@MySQL-M ~]# uname -r

2.6.18-164.el5

第三步:准备DRBD使用的硬盘,我为两台服务器各加了一块硬盘。并分区,没有创建文件系统。

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         261     2096451   83  Linux

第四步:IP地址和主机名


主机名
IP地址
作用
MySQL-node1
192.168.140.137
MySQL主库服务器
MySQL-node2
192.168.140.139
MySQL 备库服务器


6.4 安装DRBD
该小节所有内容需要在两个节点MySQL-node1和MySQL-node2分别执行。
6.4.1 下载软件包

[root@MySQL-node1 ~]# cd /usr/local/src

[root@MySQL-node1 src]# wget http://oss.linbit.com/drbd/8.3/drbd-8.3.7.tar.gz

[root@MySQL-node1 src]# tar zxvf drbd-8.3.7.tar.gz

[root@MySQL-node1 src]# cd drbd-8.3.7


6.4.2 编译为内核模块方式

[root@MySQL-node1 drbd-8.3.7]# ./configure --prefix=/usr/local/drbd \

> --sysconfdir=/etc --with-km

[root@MySQL-node1 drbd-8.3.7]# make

Module build was successful.(显示模块创建成功为正确)

[root@MySQL-node1 drbd-8.3.7]# make install

[root@MySQL-node1 ~]# whereis drbd

drbd: /etc/drbd.d /etc/drbd.conf /usr/local/drbd


6.4.3 载入DBRD模块到内核中

[root@MySQL-node1 ~]# modprobe drbd

[root@MySQL-node1 ~]# lsmod | grep drbd

drbd                  272504  0

[root@MySQL-node1 ~]# echo "modprobe drbd" >> /etc/rc.local


6.4.4 DRBD命令

安装成功后,会发现,系统增加了以下三个命令:

[root@MySQL-node1 ~]# ls /sbin/drbd*

/sbin/drbdadm  /sbin/drbdmeta  /sbin/drbdsetup

6.5 DRBD配置
6.5.1 /etc/drbd.conf

[root@MySQL-M ~]# cat /etc/drbd.conf

# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example


include "drbd.d/global_common.conf";

include "drbd.d/*.res";

默认情况下,该文件包含了/etc/drbd.d目录下的配置文件,下面是我修改好的drbd.conf

[root@MySQL-M ~]# cat /etc/drbd.conf

include "drbd.d/global_common.conf";

resource r0 {  #定义一个资源名字r0

on MySQL-node1 {

device /dev/drbd1;  #设置一个DRBD device,编号是从0开始,主设备号147。

disk /dev/sdb1; #本地使用的device

address 192.168.140.137:7789;  #网络设置,IP地址加端口

meta-disk internal;

}


on MySQL-node2 {

device /dev/drbd1;

disk /dev/sdb1;

address 192.168.140.139:7789;

meta-disk internal;

}

}

6.5 初始化设置   
6.5.1 创建DRBD元数据

[root@MySQL-node1 ~]# drbdadm create-md r0

Writing meta data...

initializing activity log

NOT initialized bitmap

New drbd meta data block successfully created.

success

[root@MySQL-node1 ~]# drbdadm attach r0

[root@MySQL-node1 ~]# drbdadm syncer r0

[root@MySQL-node1 ~]# drbdadm connect r0

设置为主节点:

[root@MySQL-node1 ~]# drbdadm -- --overwrite-data-of-peer primary r0

[root@MySQL-node1 ~]# mkfs.ext3 /dev/drbd1

[root@MySQL-node1 ~]# cat /proc/drbd

version: 8.3.7 (api:88/proto:86-91)

GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@MySQL-M, 2010-11-26 02:36:34


1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r---n

    ns:75304 nr:0 dw:66388 dr:8952 al:25 bm:2 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:2024192

[>....................] sync'ed:  3.6% (2024192/2096348)K

finish: 1:52:27 speed: 256 (2,120) K/sec



[root@MySQL-node2 ~]# cat /proc/drbd

version: 8.3.7 (api:88/proto:86-91)

GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@MySQL-node2, 2010-11-27 01:50:08


1: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r----

    ns:0 nr:79880 dw:79880 dr:0 al:0 bm:2 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:2019616

[>....................] sync'ed:  3.8% (2019616/2096348)K

finish: 0:42:04 speed: 512 (1,868) K/sec





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660211-1-1.html 上篇帖子: V 8 nfs+drbd+heartbeat 高可用部署 下篇帖子: heartbeat + pacemaker实现pg流复制自动切换(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表