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

[经验分享] DRBD源码安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-16 10:31:29 | 显示全部楼层 |阅读模式
DRBD简介

DRBD实际上是一种块设备的实现,主要被用于Linux平台下的高可用(HA)方案之中。他是有内核模块和相关程序而组成,通过网络通信 来同步镜像整个设备,有点类似于一个网络RAID的功能。也就是说当你将数据写入本地的DRBD设备上的文件系统时,数据会同时被发送到网络中的另外一台 主机之上,并以完全相同的形式记录在一个文件系统中(实际上文件系统的创建也是由DRBD的同步来实现的)。本地节点(主机)与远程节点(主机)的数据可 以保证实时的同步,并保证IO的一致性。所以当本地节点的主机出现故障时,远程节点的主机上还会保留有一份完全相同的数据,可以继续使用,以达到高可用的 目的。

实验环境

测试节点2个分别为:

node1.3glong.com  172.16.8.156

node2.3glong.com  172.16.8.157

系统环境为rhel6.4  64位

准备工作

配置SSH双机互信

修改hosts互相解析

关闭selinux

安装配置


[iyunv@node1 ~]# tar xf drbd-9.0.1-1.tar.gz
[iyunv@node1 ~]# cd drbd-9.0.1-1
[iyunv@node1 drbd-9.0.1-1]# ls
ChangeLog  COPYING  drbd  drbd-headers  drbd-kernel.spec  filelist-redhat  filelist-suse  Makefile  misc  README  README.drbd-utils  rpm-macro-fixes
[iyunv@node1 drbd-9.0.1-1]# cd
[iyunv@node1 drbd-9.0.1-1]# make KDIR=/usr/src/kernels/2.6.32-358.el6.x86_64/
[iyunv@node1 drbd-9.0.1-1]# make install

[iyunv@node2 drbd-9.0.1-1]# modprobe drbd        #加载drbd模块[iyunv@node1 ~]# tar xf drbd-utils-8.9.6.tar.gz
[iyunv@node1 ~]# cd drbd-utils-8.9.6
[iyunv@node1 drbd-utils-8.9.6]# ./configure --prefix=/usr/local/drbd-utils-8.9.6 --without-83support
[iyunv@node1 drbd-utils-8.9.6]# make
[iyunv@node1 drbd-utils-8.9.6]# make install
[iyunv@node1 drbd-utils-8.9.6]# cp /usr/local/drbd-utils-8.9.6/etc/rc.d/init.d/drbd /etc/rc.d/init.d/
[iyunv@node1 drbd-utils-8.9.6]# chkconfig --add drbd
[iyunv@node1 drbd-utils-8.9.6]# chkconfig drbd on

修改配置文件



[iyunv@node1 ~]# cat /usr/local/drbd-utils-8.9.6/etc/drbd.d/r0.res
resource r0{  
        on node1.3glong.com{  
                device          /dev/drbd1; #逻辑设备的路径  
                disk            /dev/sdb;  #物理设备  
                address         172.16.8.156:7788;  
                meta-disk       internal;  
        }  
        on node2.3glong.com{  
                device          /dev/drbd1;  
                disk            /dev/sdb;  
                address         172.16.8.157:7788;  
                meta-disk       internal;  
        }  
}  


[iyunv@node1 ~]# cat /usr/local/drbd-utils-8.9.6/etc/drbd.d/global_common.conf
# DRBD is the result of over a decade of development by LINBIT.
# In case you need professional services for DRBD or have
# feature requests visit http://www.linbit.com

global {
    usage-count yes;
    # minor-count dialog-refresh disable-ip-verification
    # cmd-timeout-short 5; cmd-timeout-medium 121; cmd-timeout-long 600;
}

common {
    handlers {
        # These are EXAMPLE handlers only.
        # They may have severe implications,
        # like hard resetting the node under certain circumstances.
        # Be careful when chosing your poison.

        # 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";
        # fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
        # split-brain "/usr/lib/drbd/notify-split-brain.sh root";
        # out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
        # before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";
        # after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
    }

    startup {
        # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
    }

    options {
        # cpu-mask on-no-data-accessible
    }

    disk {
        # size on-io-error fencing disk-barrier disk-flushes
        # disk-drain md-flushes resync-rate resync-after al-extents
                # c-plan-ahead c-delay-target c-fill-target c-max-rate
                # c-min-rate disk-timeout
    }

    net {
        # protocol timeout max-epoch-size max-buffers unplug-watermark
        # connect-int ping-int sndbuf-size rcvbuf-size ko-count
        # allow-two-primaries cram-hmac-alg shared-secret after-sb-0pri
        # after-sb-1pri after-sb-2pri always-asbp rr-conflict
        protocol C;   
    # ping-timeout data-integrity-alg tcp-cork on-congestion
        # congestion-fill congestion-extents csums-alg verify-alg
        # use-rle
    }
}

格式化分区
mke2fs -t ext4 /dev/sdb
用dd写入点数据,不然可能会出错
dd if=/dev/zero of=/dev/sdb bs=1M count=1

-------------------------------以上步骤分别在两台机上操作---------------------------------



[iyunv@node1 drbd-utils-8.9.6]# drbdadm create-md r0      #建立 drbd resource
[iyunv@node1 drbd-utils-8.9.6]# drbdadm up r0

[iyunv@node1 drbd-utils-8.9.6]# drbdadm primary --force r0  #设为主服务器两个节点分别执行service drbd start

测试



[iyunv@node1 drbd-utils-8.9.6]# mount /dev/drbd1 /mnt
[iyunv@node1 drbd-utils-8.9.6]# cd /mnt
[iyunv@node1 mnt]# ls
lost+found
[iyunv@node1 mnt]# touch 123.txt

[iyunv@node1 ~]# umount /dev/drbd1
[iyunv@node1 ~]# drbdadm secondary r0

[iyunv@node2 drbd-utils-8.9.6]# cd /mnt
[iyunv@node2 mnt]# ls
123.txt  lost+found
[iyunv@node2 mnt]# touch 111.txt
[iyunv@node2 mnt]# cd
[iyunv@node2 ~]# umount /dev/drbd1
[iyunv@node2 ~]# drbdadm secondary r0     #降级为备用服务器
[iyunv@node1 ~]# drbdadm primary r0
[iyunv@node1 ~]# mount /dev/drbd1 /mnt
[iyunv@node1 ~]# ls /mnt
111.txt  123.txt  lost+found

运维网声明 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-217656-1-1.html 上篇帖子: Cobbler实现CentOS自动安装 下篇帖子: Linux下查看单个进程占用的端口数量
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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