DRBD安装与配置

  • 实验环境
    主机 192.168.119.110 新磁盘 /dev/sdb 主机名 NFS1
    从机 192.168.119.111 新磁盘 /dev/sdb 主机名 NFS2
    关闭防火墙和SELINUX
    两台主机分别添加hosts解析
    vim /etc/hosts
    此处输入图片的描述


  • DRBD配置文件
    DRBD的主配置文件为/etc/drbd.conf;为了管理的便捷性,目前通常会将些配置文件分成多个部分,且都保存至/etc/drbd.d目录中,主配置文件中仅使用”include”指令将这些配置文件片断整合起来。通常,/etc/drbd.d目录中的配置文件为global_common.conf和所有以.res结尾的文件。其中global_common.conf中主要定义global段和common段,而每一个.res的文件用于定义一个资源。
    在配置文件中,global段仅能出现一次,且如果所有的配置信息都保存至同一个配置文件中而不分开为多个文件的话,global段必须位于配置文件的最开始处。目前global段中可以定义的参数仅有minor-count, dialog-refresh, disable-ip-verification和usage-count。
    common段则用于定义被每一个资源默认继承的参数,可以在资源定义中使用的参数都可以在common段中定义。实际应用中,common段并非必须,但建议将多个资源共享的参数定义为common段中的参数以降低配置文件的复杂度。
    resource段则用于定义drbd资源,每个资源通常定义在一个单独的位于/etc/drbd.d目录中的以.res结尾的文件中。资源在定义时必须为其命名,名字可以由非空白的ASCII字符组成。每一个资源段的定义中至少要包含两个host子段,以定义此资源关联至的节点,其它参数均可以从common段或drbd的默认中进行继承而无须定义。
    net:网络配置相关的内容,可以设置是否允许双主节点(allow-two-primaries)等。
    startup:启动时候的相关设置,比如设置启动后谁作为primary(或者两者都是primary:become-primary-on both)
    syncer: 同步相关的设置。可以设置“重新”同步(re-synchronization)速度(rate)设置,也可以设置是否在线校验节点之间的数据一致性 (verify-alg 检测算法有md5,sha1以及crc32等)。数据校验可能是一个比较重要的事情,在打开在线校验功能后,我们可以通过相关命令(drbdadm verify resource_name)来启动在线校验。在校验过程中,drbd会记录下节点之间不一致的block,但是不会阻塞任何行为,即使是在该不一致的 block上面的io请求。当不一致的block发生后,drbd就需要有re-synchronization动作,而syncer里面设置的rate 项,主要就是用于re-synchronization的时候,因为如果有大量不一致的数据的时候,我们不可能将所有带宽都分配给drbd做re- synchronization,这样会影响对外提提供服务。rate的设置和还需要考虑IO能力的影响。如果我们会有一个千兆网络出口,但是我们的磁盘 IO能力每秒只有50M,那么实际的处理能力就只有50M,一般来说,设置网络IO能力和磁盘IO能力中最小者的30%的带宽给re- synchronization是比较合适的(官方说明)。另外,drbd还提供了一个临时的rate更改命令,可以临时性的更改syncer的rate值: drbdsetup /dev/drbd0 syncer -r 100M。这样就临时的设置了re-synchronization的速度为100M。不过在re-synchronization结束之后,你需要通过 drbdadm adjust resource_name 来让drbd按照配置中的rate来工作。
vim /etc/drbd.d/global_common.conf
global {
    usage-count yes;                #不让linbit公司收集目前drbd的使用情况
}
common {                            #定义如果DRBD没有额外定义属性那么就继承common属性;
    protocol C;                     #使用 C 协议
    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 {
    }   
    options {
    }   
    disk {
        on-io-error detach;         #同步IO错误的做法:分离该磁盘
    }   
    net {
    }   
}
vim /etc/drbd.d/nfsdrbd.res          #(配置资源文件)"/etc/drbd.d/"下是没有*.res这个文件的需要手动创建
resource web {                       #资源名为"web"
  on NFS1 {                          #设置节点cluster1,注意名字要与`uname -n` 名字一致,否则会报错
    device    /dev/drbd0;            #指出drbd的标示名,在双方节点上,此DRBD设备的设备文件;一般为/dev/drbdN
    disk      /dev/sdb1;             #指出作为drbd的设备,提供存储的设备
    address   192.168.119.110:7789;  #指定ip和端口号
    meta-disk internal;              #网络通信属性,指定drbd的元数据在本机
  }
  on NFS2 {                                                                                                 
    device    /dev/drbd0;
    disk      /dev/sdb1;
    address   192.168.119.111:7789;
    meta-disk internal;
  }
}
复制上述两份文件到另外一台server上

  • 在两个节点上初始化已定义的资源并启动服务
    创建设备元数据(两台server都需要操作)
    drbdadm create-md web(resource名字,自定义)
    此处输入图片的描述
    启动
    drbdadm up web 也可以用 systemctl start drbd
    常看状态
    drbd-overview 也可以用 drbdadm status web
    此处输入图片的描述
    查看另一台 server状态
    此处输入图片的描述
    可以看到两台server都是secondary状态,我们需要将一台server设置成primary状态
    在要设置为Primary的server上执行如下命令(我这里是NFS1上)
    drbdadm primary web
    再次查看状态
    此处输入图片的描述
    可以看到NFS1上状态已经为primary

  • 创建文件系统(CentOS7默认使用xfs文件系统)
    将新磁盘/dev/sdb分区(两台server操作)
    fdisk /dev/sdb
    此处输入图片的描述
    注意:文件系统的挂载只能在Primary节点进行,因此,也只有在设置了主节点后才能对drbd设备进行格式化:
    mkfs.xfs /dev/drbd0
    mkdir /data -p
    mount /dev/drbd0 /data

  • Primary和Secondary节点的切换
    要切换两个节点的角色,只能在先将原有的Primary节点设置为Secondary后,才能原来的Secondary节点设置为Primary。
    主节点上操作
    先将/data umount掉
    umount /data
    在将drbd降级
    drbdadm secondary web
    然后在从节点上操作
    drbdadm primary web
    mkdir -p /data
    mount /dev/drbd0 /data
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值