yum部署drbd

CentOS 6.x系统要升级到最新的内核才支持

CentOS 6.x

rpm -ivh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

yum -y install drbd83-utils kmod-drbd83

CentOS 7.x

rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum install -y drbd84-utils kmod-drbd84

加载模块:

modprobe drbd

echo drbd >/etc/modules-load.d/drbd.conf

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

192.168.92.250 drbd0
192.168.92.251 drbd1

两台主机分别修改主机名

hostname drbd0
hostname drbd1

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

/etc/drbd.d/global_common.conf配置文件

global {
    usage-count no;                     #是否参加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";
         split-brain "/usr/lib/drbd/notify-split-brain.sh root";
}
    startup {
        wfc-timeout          120;
        degr-wfc-timeout     100;
        outdated-wfc-timeout 100;
    }
    disk {
        on-io-error detach;                                      # 配置I/O错误处理策略为分离   
        syncer-rate 68M;                                         #主节点和备用节点同步时最大的网络速率
    }
    net {                                                        #DRBD同步时使用的加密算法和加密密钥
        cram-hmac-alg md5;                                   
        shared-secret "testdrbd";
    }
                                                    
    }
}

vim /etc/drbd.d/drbd0.res
resource drbd0
{
    startup {
        become-primary-on drbd0;
    }

    on drbd0 {
        device /dev/drbd0;
        disk /dev/mapper/vg-lv0;
        address 192.168.92.250:7789;
        meta-disk internal;
    }
    on drbd1 {
        device /dev/drbd0;
        disk /dev/mapper/vg-lv0;
        address 192.168.92.251:7789;
        meta-disk internal;
    }
}
vim /etc/drbd.d/drbd1.res
resource drbd1
{
    startup {
        become-primary-on drbd1;
    }

    on drbd0 {
        device /dev/drbd1;
        disk /dev/mapper/vg-lv1;
        address 192.168.92.250:7788;
        meta-disk internal;
    }
    on drbd1 {
        device /dev/drbd1;
        disk /dev/mapper/vg-lv1;
        address 192.168.92.251:7788;
        meta-disk internal;
    }
}

在两台机器上分别创建数据块
drbdadm create-md drbd0
drbdadm create-md drbd1

在两台机器都启动服务
cat /proc/drbd                               #启动前查看drbd设备信息
drbdadm up all                                 
cat /proc/drbd                               #启动后查看drbd设备信息

设定主,并查看状态(drbd84-utils版本用, drbdadm -- --overwrite-data-of-peer primary r0设为主)
drbdsetup /dev/drbd0 primary -o 
cat /proc/drbd

在主上格式磁盘,挂载并写入文件,主备切换查看同步情况
drbd0:
mkfs.ext4 /dev/drbd0
mount /dev/drbd0 /data
drbd1:
mkfs.ext4 /dev/drbd1
mount /dev/drbd1 /data

查看状态如果出现diskless,则
drbdadm detach drbd
drbdadm attach drbd
drbd-overview
 0:drbd0/0  Connected Primary/Secondary UpToDate/UpToDate /data ext4 992M 2.6M 923M 1%
 1:drbd1/0  Connected Secondary/Primary UpToDate/UpToDate
cat /proc/drbd
version: 8.4.11-1 (api:1/proto:86-101)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-04-26 12:10:42
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:1082044 nr:0 dw:33536 dr:1053901 al:17 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
 1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
    ns:57816 nr:1065668 dw:1082044 dr:57816 al:13 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
    
设备号        状态                    角色(当前/对等)             磁盘状态及协议,I/O状态
  -----     --------------               ---------------------                 -----------------------------
   0:     cs:Connected          ro:Primary/Secondary        ds:UpToDate/UpToDate C r-----

    I/O状态包括6种:   
    1). I/O suspension, r 表示运行 I/O, s 表示 suspended I/O,正常情况下为 r
    2). Serial resynchronization 串行同步:当资源等待同步时却推迟了重新同步,这则个标志变成A,正常情况为 –
    3). Peer-initiated sync suspension 对等节点发起的同步暂停: 当资源正在等待重新同步时,对
        等节点因为一些原因发起暂停同步。这个标志变成 p。正常为 –
    4). Locally initiated sync suspension 本地发起的同步暂停: 当资源等待重新同步时,在本地节
        点上用户发起同步暂停,这个标志变成 u。正常为 –
    5). Locally blocked I/O 。正常为 -。可能会是一下标志:
        d: 如因为一个短暂的磁盘状态导致的 drbd 内部出现 I/O 阻塞
        b:备用设备的 I/O 阻塞
        n:网络 socket 出现阻塞
        a:设备的 I/O 阻塞和网络阻塞的组合
    6). Activity Log update suspension 活动日志更新暂停:当活动日志更新暂停,这个标志变成 s。正常为 –    
    
 
ns:56   nr:0    dw:56   dr:1181 al:3    bm:0    lo:0    pe:0    ua:0    ap:0    ep:1    wo:f     oos:0  

    NS( network send 网络发送): net 数据以 kibyte 通过网络连接发送到对等节点    
    NR( network receive 网络接收):通过网络连接以 kibyte 接收 net 数据
    DW( disk write 磁盘写入): net 数据以 kibyte 写入本地磁盘
    DR( disk read 磁盘读取): net 数据以 kibyte 读取本地磁盘数据
    AL( activity log 活动日志):活动日志区的元数据更新
    BM( bit map 位图):位图区元数据更新
    LO( local count 本地计数): DRBD 请求的开放本地 I/O 子系统的数量
    PE( pengding 待定):发送到对等节点但是尚未节点对方回答的请求的数目
    UA( unacknowledged 未确认):通过网络连接接收到对等节点的请求,但是尚未得到回复
    AP( alllication pending 应用程序挂起): 数据块 I/O 请求转发到 DRBD,但是 DRBD 尚未回答
    EP( epochs):一定数量的 epoch 对象,通常为 1,使用阻碍或者是没有排序写的方法时可能
    增加 I/O 负载。
    WO ( write order 写入顺序)目前使用的写入顺序的方法: b(barrier 障碍)、( f flush 刷新)、 d(drain
    漏)或者是 n( none 无)
    OOS( out of sync):以 kububyte 同步当前存储    
 

主备手动切换:
1.先将主上面的磁盘卸载掉并降级
umount /dev/drbd0
drbdadm secondary drbd
 
2.在备机上升级为主机
drbdadm primary drbd
 
3.挂载磁盘
mount /dev/drbd0 /data

测试主节点写入,备节点是否能同步
dd if=/dev/zero of=/data/test bs=1G count=1  
    1+0 records in   
    1+0 records out    
    1073741824 bytes (1.1 GB) copied, 1.26333 s, 850 MB/s
cat /proc/drbd    
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate
umount /data/  
drbdadm down drbd                     # 关闭名字为drbd的资源


cat /proc/drbd                   # 主节点关闭资源之后,查看备节点的信息,可以看到主节点的角色已经变为UnKnown
0: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown
drbdadm primary drbd       # 确立自己的角色为primary,即主节点
mount /dev/drbd0 /data
cd /data  
ls                                     # 发现数据还在   
lost+found test  
du -sh test    
1.1G test  
cat /proc/drbd                # 查看当前 drbd 设备信息   
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值