drbd配置文件_DRBD在生产环境中的安装接配置

1.准备两台服务器及两块磁盘

4d94d084cda9ffe412eabf3c0441c2af.png

2.分别配置两块硬盘(/dev/sdb)

2.1使用fdisk command分区格式化硬盘(/dev/sdb):

通过fdisk、mkfs.ext3、tune2fs命令处理一下分区

注:具体命令详见我单独文档《fdisk和mkfs命令详细实践总结》一文

5dc7d2b19af8f8b7e2cb27bb4bd7cdba.png

注:1。meta data 分区必须存在,并且不能格式化建立文件系统

2.分好的分区一定不要挂载。

2.2检查meta data 分区正常可用的办法:

[root@drbd1~]#mount/dev/sdb7/ryan

mount:you must specify the filesystem type//出现这个结果meta data分区就是对的。

3.安装drbd

[root@drbd1~]#yum install kmod-drbd83 drbd83-y

注:(1)通过yum安装简单方便-y为不需要安装确认。

(2)关于yum的使用请看我的《YUM/RPM仓库创建和维护详细文档》一文

4.配置DRBD

4.1执行下面命令加载drbd模块到内核

[root@drbd1~]#modprobe drbd

注:1。要如果不执行可能会出错。见附录问题3

2.关于modprobe请阅读我的文档《modprobe&&lsmod作用于用法小结》一文

4.2检查drbd是否被正确加载到内核

[root@drbd1~]# ismod|grep drbd

f78db77ba7348b5c77c961f2fa6c2e38.png

4.3编辑配置drbd的配置文件drbd.conf

默认的配置路径/etc/drbd.conf,详细配置内容见后文附录三

5.enabling drbd 资源

注:下面的每一步在两台机器都要执行。

5.1初始化drbd的metadata(create device metadata。)

创建供drbd记录信息的metadata分区数据块

Drbdadm create-md all

[root@drbd1 etc]#drbdadm create-md all

md offset 0

al offset 4096

bm_offset 36846

省略若干行 全部内容见后文!附录四

Writing meta data。。。

Initializing activity log

Not initialized bitmap

New drbd meta data block successfully created。

技巧:1。可以单独创建resource资源名称,而不用直接用all。遇到错位见附录二。如:drbdadm create-md data “data”是我们在drbd.conf里定义的资源名称。

查看此时的drbd状态信息

dbb3fe08c27597a699a68bd56a032834.png

注:drbd-overview 为一个perl脚本,drbd-overview.pl

5.2启动drbd

[root@drbd2 etc]#drbdadm up all

技巧:命令drbdadm up all 相当于如下命令的组合:

245b1b70a08f201057789c381c0df980.png

查看此时的drbd状态(和前一个状态对比下)

[root@drbd1 etc]#cat /proc/drbd

d0780e940bd0cbd335ae8f7dd3a24989.png

注:以上提示详细解释说明件附录五

6.同步DRBD数据到对端SERVER,使数据保持一致

6.1指定一个要同步的资源,同步数据到对端

注:(1)如果为空硬盘,可以随意执行操作不需要考虑数据。

(2)如果两边数据不一样(要特别注意同步数据的方向,否则可能会丢失数据)

6.2同步数据到对端的命令一个资源只能在一端执行

[root@drbd1 etc]# drbdadm-- --overwrite-data-of-peerprimary data

查看此时的drbd状态(请自行和前一个状态对比下)

7a5ff18913236537cd75c0bfddcffc7a.png

6.3在另一台机器执行data1资源同步

[root@drbd2 etc]#drbdadm-- --overwrite-data-of-peer primary data1

注:因本文配置的是高级双主同步,所以另一台机器需要执行上面命令

6.4用cat/proc/drbd命令看drbd状态:

[root@drbd1 etc]#cat/proc/drbd

d94b91ba139f42f1e805375f5924fbb0.png

d1b7187709ab7edb6b92f25cdad45ec1.png

6.5禁止drbd开机自动启动(将来由heartbeat来控制)

[root@drbd1 etc]#chkconfig drbd off

注:如果开机启动了,此时在执行drbdadm up all会遇到错误,件附录二。

技巧:(1)禁止drbd开机自动启动的真实目的是将来要部署heartbeat+drbd的高可用配置

(2)详情请读《Mysql+drbd双主模式+heartbeat高可用自动切换部署详细文档》和《Mysql+heartbeat+drbd mysql双主多从集群及两端node同时提供服务的高可用互相监测并自动切换部署详细文档》。

7.检查drbd同步数据额情况

7.1 10.0.0.14(data primary)mount drbd0写数据测试

[root@drbd1 etc]#mount/dev/drbd0/data

注:(1)注意提供正式服务的drbd设备的名称为/dev/drbd0,而不是实际物理设备/dev/sdb5.

(2)做mysql双主多从集群及高可用时不能mount(交给heartbeat来控制)

(3)从的drbd默认情况不能mount提供读服务。

(4)本例实现的是双主drbd同时提供服务的高级模式,因此10.0.0.14/data可以提供正式服务,而再10.0.0.15上/data1作为drbd主提供正式服务。对端的资源再drbd启动的时候不可见。

7.2在data里写数据看对端(data secondry)有没有。

10.0.0.15(data secondry)上查看方法

[root@drbd2 etc]#drbdadm down data

[root@drbd2 etc]#mount/dev/sdb5/mnt

[root@drbd2 etc]1s /mnt

检查完毕恢复方法

[root@drbd2 etc]#umount/mnt

[root@drbd2 etc]#drbdadm up data

7.3 10.0.0.15(data1 primary)mount drbd1写数据测试

10.0.0.15(data1 primary)

[root@drbd2 etc]#mount/dev/drbd1/data1

注:(1)注意提供正式服务的drbd设备的名称为/dev/drbd1,而不是实际物理设备/dev/sdb6。

(2)做mysql双主多从集群及高可用时不能mount(交给heartbeat来控制)

(3)从的drbd默认情况不能mount提供读的服务。

(4)本例实现的是双主drbd同时提供服务的高级模式,因此10.0.0.14/data可以提供正式服务,而再10.0.0.15上/data1作为drbd主提供正式服务。对端的资源再drbd启动的时候不可见。

7.4在data1里写数据看对端(data1 secondry)有没有。

在data写数据看对端有没有(注意过程)

[root@drbd1 etc]#drbdadm down data1

[root@drbd1 etc]#mount/dev/sdb6/mnt

[root@drbd1 etc]#1s /mnt

检查完毕恢复方法

[root@drbd1 etc]#umount/mnt

[root@drbd1 etc]#drbdadm up data1

8.本文内容看考文献:

http//http://www.drbd.org/docs/install/

附录一:和本文相关的问道及应用有:

1.《fdisk和mkfs命令详细实践总结》

2.《YUM/RPM仓库创建和维护详细文档》

3.《modprobe&&ismod作用与用法小结》

4.《heartbeat在生产环境中的安装及配置》

5.《mysql+drbd双主模式+heartbeat高可用自动切换部署详细文档》

6.《mysql+heartbeat+drbd mysql双主多从集群及两端node同时提供服务的高可用互相监测并自动切换部署详细文档》

7.《a/a nfs+drbd+heartbeat数据存储高可用配置》

8.《drbd性能调优8项总结》

附录二:常见问题

问题1:drbd依赖于其内核模块,需手工加载:modprobe drbd

问题2:命令drbdadm up all相当于如下命令的组合:

a572a2a9ff71df49fc86754808c7b00a.png

问题3:处理大脑垂直分割问题

可选择一个机器作为secondary,在该机器上执行

drbdadm secondary all

drbdadm-- --discard-my-data connect all

在另一台机器执行

Drbdadm connect all

问题4:如果开机drbd自启动未关掉:启动drbd时会报如下错误

[root@drbd1 ~]#drbdadm up all

4d04feecbbe58fcf80b812de585b1e10.png

出现上面错误,就是drbd进程已经起了,可以先宕drbd服务在启动看看。

[root@drbd2 ~]#drbdadm down all

[root@drbd2 ~]#drbdadm up all

关掉方法:chkconfig drbd off

问题5:单机启动正常状态:

[root@drbd1~]#cat/proc/drbd

462d7831ee4ce499394eb8c68d4f0fec.png

问题6:没有执行modprobe drbd引发的报错提示

[root@drbd2 ~]#drbdadm up all

19aa7b88dee8fa3b96509c8fb01bc474.png

问题7:针对根分区fdisk时,如果不重启系统?

[root@drbd2 ~]#drbdadm up all

93e7e6fc86c270608a780cee4e7683e1.png

问题8:主从drbd启动其状态的改变

当从drbd启动后

主的状态自动由

[root@drbd1 ~]#cat/proc/drbd

9f01b157c8f49fb479e7daef333daf17.png

变为:

[root@drbd1 ~]#cat/proc/drbd

99378d1c96846f17fcb3a7f272b49ab8.png

[root@drbd1 /]#drbdadm primary data指定data为主模式

[root@drbd1 /]#cat/proc/drbd

575acf74f89c502957ae2244a57e95d3.png

问题9:drbd主从数据不同步时,要设定主资源然后再进行同步数据到另一端

f303ce1c601e435b1563a6f5375a8b0a.png

[root@drbd1 ~]#drbdadm primary data

0fcfe4d0de02d268e860ba53f69f8646.png

原因:drbd主从不同步要设定主资源然后进行同步。

e52838c2b64f47f5722faf10741b6cb5.png

[root@drbd1 ~]#drbdadm -- --overwrite-data-of-peer primary data

9bd990dedf4c5de97e5db7e76d5fab2b.png

问题10:关于mount分区

使用时一定要mount drbd的设备,否则搞不定。

afea60e46f2c875cfb8b8fb3b9820448.png

这样子错误

问题11:如何检查drbd是否工作正常。(此问题正文里写过,本问题里为以前的文档保留)

下面通过实验来测试:

1.首先确定14(x)drbd状态正常:15(y)状态正常:

[root@drbd1 /]#cat/proc/drbd

9df6841fdb92d0d934cd46cc4a02452b.png

15状态正常:

[root@drbd2 ~]#cat/proc/drbd

ff86057704eb0bf401a358bbec831133.png

2、制造数据到主resource里。

14ryan主15pic主

再14上执行如下命令:

[root@drbd1 /]# mount/dev/drbd0/ryan

[root@drbd1 /]# cp-R/etc/ryan/

然后再15上检查数据:

[root@drbd2 ~]#drbdadm down ryan

[root@drbd2 ~]#mount/dev/sda4/ryan

[root@drbd2 ~]#11/ryan/

[root@drbd2 ~]#umount/ryan

[root@drbd2 ~]#drbdadm up ryan

[root@drbd2 ~]#cat/proc/drbd

a46f488ee5b8a2046feb5a386fb1768f.png

注意:mount状态下启动drbd有问题。无论主从。

从库:

[root@drbd2 ~]#mount/dev/sda4/ryan

[root@drbd2 ~]#drbdadm up ryan//提示出错

77e9d1c4f056d352bfc4a4cf3ba20673.png

[root@drbd2 ~]# umount/ryan/

[root@drbd2 ~]# drbddam up ryan

附录三:/etc/drbd.conf配置文件

8ddf78bf2445a1903a16c27293eadb61.png

6a00dcf96cd7ba4ee893860093265203.png

80cdc9b4747802a89d3c0304560873b6.png

注:有关此配置中参数的详细讲解,请阅读我的另外篇章《drbd.conf配置文件参数详解》

附录四:初始化drbd的metadata详细提示

[root@drbd1 etc]#drbdadm create-md all

d58e5d4d0605ead3b11ac249c3f15b7e.png

附录五:drbd状态信息释疑:

[root@drbd1 /]#cat/proc/drbd

6191bf1264ecc0a3010adfea9d6b07de.png

生产库实际状态:

[rhy@fdata-1-1 ~]$ cat/proc/drbd

32bbde6c7b0f6b203ae76591e0def93d.png

连接状态

[root@fdata-1-1 ~]#drbdadm cstate all

Connected

Connected

第一行为:drbd的版本信息

第二行为:编译的信息

第三、五行为:开头“0”表示 设备/dev/drbd0。开头“1”表示 设备/dev/drbd1

0e63ba541a912f2c45aaa1d99c2b8690.png

状态有如下这些:

87c0b769dcc9bfb376561064408e6c84.png

节点角色

[root@fdata-1-1 ~]#drbddadm role all

Secondary/primary

Primary/secondary

硬盘状态

[root@fdata-1-1 ~]#drbdadm dstate all

Up to date/up to date

Up to date/up to date

575df9441867b14742b12fd8e93031a4.png

f85d23f53083ad5c177a71ddcf2b40ed.png

附录六:drbd的日常维护

1、修改drbd.conf配置文件

调整后使生效方法:drbdadm adjust all

2、切换角色

Drbdadm primary resource

Drbdadm secondary resource

3、enabling dual-primary mode(双主模式)

60b3077865b8038a03b600b248762a83.png

附录七:drbd介绍及同步原理

Drbd是一种块设备,可以被用于高可用(HA)之中。它类似于一个网络RAID-1功能。当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上。以相同的形式记录在一个文件系统中。本地(主节点)与远程主机(备节点)的数据可以保证实时同步。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。

在高可用(HA)中使用drbd功能,可以代替使用一个共享盘阵。因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了。

Drbd的工作原理如下图:

f5903477d78e5ec534c1262bfade87ce.png

25b0c7af9d88b0b8fa280462e835f2fc.png

b46175fb091456715bb873868295067e.png

附录八:drbdadm命令介绍:

3a7d42f4e25cb5f8ac77e98d49f05575.png

06ff20aab264344f15ba5169a8023e4a.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值