DRBD安装和测试

1、对10.10.13.7 和 10.10.13.9两台机器进行DRBD重新的安装测试。

          参考:http://www.cnblogs.com/f-ck-need-u/p/8673178.html       

               https://www.cnblogs.com/f-ck-need-u/p/8678883.html

               https://www.cnblogs.com/f-ck-need-u/p/8684648.html

               https://www.cnblogs.com/f-ck-need-u/p/8691373.html

先简单描述一下这次的过程,最后做一下调研结果的总结:

(1)修改了之前的不好记忆的主机名,因为drbd是基于主机名解析的。将其更改为:

 hostnamectl set-hostname drbd1.yzs.com   #10.10.13.7
 hostnamectl set-hostname drbd2.yzs.com   #10.10.13.9

(2)修改hosts文件。将主机名配置成数据同步专用通道eth1的地址。#两台机器都配置

10.10.13.7 drbd1.yzs.com node1
10.10.13.9 drbd2.yzs.com node2

(3)时间同步。#两台机器都运行

ntpdate ntp1.aliyun.com

(4)提供分区。分别在两台上服务器上添加一块硬盘,然后都分为两个区。
注意,作为metadata的分区不要格式化,而用作data的分区格式化后不要挂载。
此处实验分区为/dev/sdb1(metadata区)和/dev/sdb5(数据区)。

for i in /sys/class/scsi_host/*;do echo "- - -" >$i/scan;done
# 主分区(metadata区)/dev/sdb1:100G,扩展分区/dev/sdb2,逻辑分区(data区)/dev/sdb5:100G
parted /dev/sdb mklabel msdos
parted /dev/sdb mkpart p 1 100G
parted /dev/sdb "mkpart e 100G -1"
parted /dev/sdb mkpart l 100G 200G
fdisk /dev/sdb
mke2fs -t ext4 /dev/sdb5 

  注:可能出现错误:/dev/sdb5 is apparently in use by the system; will not make a filesystem here!                            解决参考:http://blog.51cto.com/openlinuxfly/1362113

(5)两种安装drbd的方式 :1、yum安装 2、编译安装 。——这次使用的是yum安装

 drbd工具分为两部分:内核模块(kmod-drbd)和用户空间的管理工具(drbd-utils),
 其中内核模块已经整合到了2.6.33版本及以后版本的上游内核中。如果早于这个版本,则需要安装和管理工具相同版本的模块。

 在elrepo源中,可以找到drbd的内核模块和管理工具。  查看:cat /etc/yum.repos.d/elrepo.repo               

 安装drbd90-utils和对应版本的模块kmod-drbd90。安装后装载drbd模块。
yum -y install drbd90-utils kmod-drbd90 
modprobe drbd    
 如果需要开机加载drbd模块,请参考链接1

(6)drbd配置文件。注意:此配置是drbd8.4的,与drbd9版本的配置差别比较大

  drbd的主配置文件/etc/drbd.conf,为了管理的便捷性,在此文件中使用了include指令指定了包含的配置文件段,默认的是在/etc/drbd.d/目录下。在此目录有全局配置文件global_common.conf和其他配置文件*.res文件。

 其中在主配置文件中include全局配置文件的指令只能出现一个,且必须出现在最前面。

 两个节点的配置文件应尽量完全一致。

 global_common.conf 配置内容如下:
   global {
          usage-count no;
          }
   common {
          handlers{   # 定义出现以下问题(如splitbrain或out-of-sync错误)时处理策略
                  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";
                  split-brain "/usr/lib/drbd/notify-split-brain.sh root";
                  out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
                  }
           disk {
                on-io-error detach; # 当发生io错误时,直接拔除备节点设备
                resync-rate 600M;
                }
                protocol C; # 定义使用C协议,即同步复制。可不定义,此为默认
           }  
    再新建一个配置文件data1.res,里面定义资源。
  resource data1 {
            device    /dev/drbd0;
            disk      /dev/sdb5;
            meta-disk /dev/sdb1[0];
            on drbd1.yzs.com {
                           address   10.10.13.7:7788;
            }
            on drbd2.yzs.com {
                           address   10.10.13.9:7788;
            }
   }
     注:在on hostname段中,hostname必须和uname -n一致,因为drbd默认是基于主机名进行解析的。
     但是,drbd支持基于ip地址的解析,这时drbd根据ip地址进行漂移,ip地址在哪个主机上,就解析到哪个主机上。

(7)对两节点都进行初始化。

[root@drbd1 drbd.d]# drbdadm create-md data1
initializing activity log 
NOT initializing bitmap Writing meta data... 
New drbd meta data block successfully created.

注:可能会出现以下问题:

解决方法:

初始化成功后,可以使用下面几个命令来获取drbd的metadata区信息。


(8)在节点上启动drbd

drbdadm up data1
   注:如果启动报以下错误:0: Failure: (119) No valid meta-data signature found.,
   则可能是因为对metadata进行了格式化。解决方法是将其删除再重新创建但不要格式化。

(9)查看/proc/drbd文件来查看drbd中配置的资源的状态。

    如果角色ro是从/从,则表明配置成功,若有一端是unknown,则表明和对方不能通信,
    可能是主机路由的问题,这样会导致脑裂的问题。

(10)实现drbd主从同步

 在需要设置为主机点的机器上执行:drbdadm primary --force data1        
 其中"--force"表示强制升级为primary,这会导致本节点的数据强制同步到对端上。

可以看到本端已经设置为主节点,且ds的一端是uptodate状态,最后还看到了镜像到对方的进度信息。
当镜像完成后,再查看资源的信息。可以发现两端的ds都变成uptodate状态了。说明镜像完成了。

(11)数据同步和主从角色切换

 现在已经有一端是主节点了。drbd的主从节点中,只有主节点是可以挂载并进行读写的。
 所以在主节点上挂载drbd设备.
 挂载drbd到mnt,然后向其中拷贝一个文件。

 如果对端也有这个文件则说明同步成功了,但是对端是从节点,无法读取数据,所以只能切换主从角色再查看。
 不过在,实验环境下直接把从节点的drbd给down掉,再直接挂载/dev/sdb5也是可以的。

 ---所以首先将主节点切换为从节点,必须先卸载挂载点才行。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值