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

[经验分享] DRBD介绍与安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-24 10:03:07 | 显示全部楼层 |阅读模式
一,什么是DRBD
DRBD(Distributed Replicated Block Device)分布式复制数据块设备:由linbit公司研发及开源,是一个由软件实现的、无共享的、服务器之间镜像块设备(同步的是数据块,不是文件,从英文就可以看出)内容的存储复制解决方案。可以被用于HA中,可以理解为网络上的网络RAID-1。
二,实现原理简单描述
       使用DRBD,当用户将数据写到本地文件系统的同时,数据还会被发送到网络中的另一台主机上,以相同的形式记录在文件系统中,可以实现本地节点与远程主机的数据可以实现实时同步,本地主机故障时,远程主机上还会有一份相同的数据,保证了数据的不丢失。但是,有一个缺点,两个节点必须是主从关系,也就是说当前活动节点只能有一个能够读写,另一个只能处理于被动状态(接收数据或同步数据)且不能对外提供服务(不能同时读写的),只有当主节点故障了,从节点才能提供服务。
三,DRBD架设环境介绍及使用注意事项
       1)两台虚拟机,实现ssh免密码访问且计算机名称如下所示:
                   主机简称(主机名称)IP地址
                   node4(node4.mytest.com):172.16.251.24
node5(node5.mytest.com):172.16.251.25
wKioL1NXJgOAj3TCAACpkL9GkmU689.jpg
       2)两台主机分别新建一个1G大小的分区(建议分区名称一致,实际生产中,最好是一块硬盘)
wKioL1NXKHaAhFUJAARTczk4CRc738.jpg
   3)所需要的软件包
drbd-kmdl-2.6.32-431.el6-8.4.3-33.el6.x86_64.rpm
drbd-8.4.3-33.el6.x86_64.rpm
      DRBD有两部分组成:内核模块工具和用户管理工具,分别为drbd 和drbd-kmdl,drbd内核模块已经整合到内核2.6.33以后的版本中,因此,对于内核版本高于2.6.33的系统,只安装用户管理工具即可;否则,您需要同时安装内核模块和用户管理工具两个软件包,且二者的版本号一定要保持对应。本实验环境中内核版本为CentOS 6.5 64bits(2.6.32-431.el6.x86_64),因此需要的DRBD内核模块工具版本为:drbd-kmdl-2.6.32-431.el6-8.4.3-33.el6.x86_64.rpm,用户管理工具:drbd-8.4.3-33.el6.x86_64.rpm
           4)软件包的安装及配置文件介绍(node4,5都要安装)
wKiom1NXLVjx_lAcAANsCfZ4Huk644.jpg
   5)安装后的文件路径,服务,配置文件介绍
wKioL1NXMKSQvMvjAAGKAlvMcto442.jpg
       drbd的主配置文件为/etc/drbd.conf,为了管理的便捷性,目前通常会将些配置文件分成多个部分,且都保存至/etc/drbd.d/目录中,主配置文件中仅使用"include"指令将这些配置文件片断整合起来。通常,/etc/drbd.d目录中的配置文件为global_common.conf和所有以.res结尾的文件。其中global_common.conf中主要定义global段和common段,而每一个.res的文件用于定义一个资源用由用户自行定义。
配置文件global_common.conf介绍


grep -v '^[[:space:]].*#' global_common.conf
global {
    usage-count no;
}
common {
    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 {
        wfc-timeout 120;
        degr-wfc-timeout 240;
    }
    options {
    }
    disk {
        on-io-error detach;
    }
    net {
        protocol C;
        cram-hmac-alg "sha1";
        shared-secret "shixinzheng521";
    }
    syncer {
        rate 1000M;
    }
}
wKioL1NXOJSDAybfAASkL1PtEvA495.jpg
   配置文件/etc/drbd.d/web.res介绍(文件名自行定义,扩展名必须为res)
resource store {
    on node4.mytest.com {
        device /dev/drbd0;
        disk /dev/sda3;
        address 172.15.251.24:7789;
        meta-disk internal;
    }
    on node5.mytest.com {
        device /dev/drbd0;
        disk /dev/sda3;
        address 172.15.251.25:7789;
        meta-disk internal;
    }
}
wKiom1NXO93wEwxUAAJtD8oRYOk741.jpg
复制配置到节点node5(node5.mytest.com)
wKioL1NXPHDihD91AAEnwh2i9yE465.jpg     启动
drbd服务(node4,node5都要启动),

service drbd start
  查看同步的状态及设置主节点
drbd 8.4中第一次设置某节点成为主节点的命令
       # drbdadm primary --force resource
wKiom1NXYmDD-OLcAAM3xF0TAsY623.jpg    再次查看drbd状态
wKioL1NXaBODRHM_AAI8kPmtdvo240.jpg
   注:对主Primary/Secondary模型的drbd服务来讲,在某个时刻只能有一个节点为Primary,因此,要切换两个节点的角色,只能在先将原有的Primary节点设置为Secondary后,才能原来的Secondary节点设置为Primary
   接着格式化drbd设备(在主节点上)
wKiom1NXapfwAlzmAAFAu72zW9o451.jpg
挂载设备到/mnt


[iyunv@node4 ~]#
[iyunv@node4 ~]#
[iyunv@node4 ~]# mount /dev/drbd0 /mnt
[iyunv@node4 ~]# ls /mnt
lost+found
[iyunv@node4 ~]# cp /etc/fstab /mnt/
[iyunv@node4 ~]# ls /mnt
fstab  lost+found
[iyunv@node4 ~]#




wKiom1NXa8LxhmztAADyWZldKGk985.jpg
主从节点的切换
注意:切换前切记先卸载再进行主从的切换
wKioL1NXbrrwNye7AANPByOEgHQ160.jpg
至此drbd主从节点切换完成
实验过程主节点故障或重启服务,导致问题解决方案,问题特征如下图:
wKioL1NXf13Tt7GCAAOm3fqv7K0413.jpg
       主节点提示正等待连接(WFConnection),而从节点显示(StandAline)的问题解决办法
要在从节点执行如下命令:
drbd-overview
drbdadm down store
drbdadm create-md store    #store为定义的资源名称
drbdadm up store   #store为定义的资源名称
drbd-overview   #数据同步一致成功


运维网声明 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-18318-1-1.html 上篇帖子: 在Ubuntu 14.04LTS英文界面下调用中文输入法 下篇帖子: 在RHEL6.4下审计root用户的行为
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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