码迷,mamicode.com
首页 > 其他好文 > 详细

DRBD的使用配置

时间:2015-02-07 07:00:50      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:drbd

                            DRBD安装配置

  环境:两台运行着 Centos6.5.X86_64的机器

 安装前的准备:


      主机名       IP               磁盘名      容量

    master(主) 192.168.174.128   /dev/sdb1     20G

    backup(备) 192.168.174.130   /dev/sdb1     20G


  分别在两台机器上修改相应主机名并在/etc/hosts的文件中加入

           master  192.168.174.128

           backup  192.168.174.130

 源码安装需要安装一些依赖包

   yum install -y kernel-devel flex kernel-headers


1.源码下载

  下载地址: http://oss.linbit.com/drbd/

    cd /usr/local/src

    wget http://oss.linbit.com/drbd/8.4/drbd-8.4.3.tar.gz


2.安装

    # tar zxvf drbd-8.4.3.tar.gz

    # cd drbd-8.4.3.tar.gz

    # ./configure --prefix=/usr/local/drbd --with-km

    # make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64/

      # make install

    # mkdir -p /usr/local/drbd/var/run/drbd

    # cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/init.d/

   # chkconfig --add drbd 

安装drbd模块

    # cd drbd

    # make clean

    # make make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64/

    # cp drbd.ko /lib/modules/2.6.32-431.el6.x86_64/kernel/lib/

    # modprobe drbd

    # lsmod|grep drbd  //如下显示已加载

  drbd                  325786  4

  libcrc32c               1246  1 drbd


3.配置

 1) 编辑全局配置global_common.conf文件

    # cd /usr/local/drbd/etc/drbd.d/

    # vim global_common.conf   //主要的基本配置如下:

global {

        usage-count yes;     

}

common {

         protocol C;

        disk {

          on-io-error detach;

        }

          syncer {

                 rate 1024M;

}

}

 2) 创建drbd资源文件

    # vim /usr/local/drbd/etc/drbd.d/drbd.res   //写入如下内容;

resource  r1 {

           on  master {

           device  /dev/drbd0;

           disk    /dev/sdb1;

           address 192.168.174.128:7789;

           meta-disk  internal;

      }



           on   slave {

           device  /dev/drbd0;

           disk    /dev/sdb1;

           address  192.168.174.130:7789;

           meta-disk  internal;

       }

}


 4.启动 (两台机器的安装和配置文件都是一样的)

    启动前先创建资源

    分别在两台机器上运行:drbdadm create-md r1

    运行此命令可能会出错,解决方法:

    在机器上运行:dd if=/dev/zero of=/dev/sdb1 bs=1M count=100

    再执行 drbdadm create-md r1

   #/etc/init.d/drbd start   

   #drbdadm role r1

 Secondary/Secondary      //此表示两台机器都是备机;

  在主的机器上运行:

  #drbdadm primary all     //把此机器设置主机,在哪个机器上运行,哪个就是主机;

  #drbdadm -- --overwrite-data-of-peer primary all  //若是drbdadm primary all命令运行失败,则执行此命令,设置主机;

   #drbdadm role r1

Primary/Secondary      //此表示 主备节点已设置;

  #cat /proc/drbd      //查看drbd的状态

version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@master, 2015-02-05 16:06:01
1: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r---
   ns:42688 nr:0 dw:0 dr:42688 al:0 bm:2 lo:4 pe:0 ua:4 ap:0
       [==>.................] sync‘ed: 14.7% (262464/305152)K
       finish: 0:02:58 speed: 1,440 (1,292) K/sec
       resync: used:1/31 hits:2669 misses:3 starving:0 dirty:0 changed:3
       act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0

主备机状态分别是”主/备”,主机磁盘状态是”实时”,备机状态是”不一致”. 
在第3行,可以看到数据正在同步中,即主机正在将磁盘上的数据,传递到备机上.现在的进度是14.7%.同步完成后如下:

version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@master, 2015-02-05 16:06:01
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
   ns:20964116 nr:0 dw:463280 dr:20965513 al:103 bm:1280 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0


5.使用DRBD

  你现在可以把主机上的DRBD设备挂到目录下使用,备机上的DRBD设备无法挂载

  master# mkdir /qq

  master# mount /dev/sdb1 /qq

  master# df -h 

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  3.2G   14G  19% /
tmpfs           242M     0  242M   0% /dev/shm
/dev/sda1       194M   27M  158M  15% /boot
/dev/drbd0       20G  172M   19G   1% /qq

 现在,我们在qq目录里建立一个200M的文件: 

master# dd if=/dev/zero of=/qq/test bs=1M count=200

操作完成后,在slave(备机)上执行: 
我们先停止DRBD(以下是在备机上操作) 

master# /etc/init.d/drbd stop

现在,我们可以将hdb1进行挂载 

slave# mount /dev/drbd1 /mnt
slave# ls /mnt/ -hl

总用量 201M
drwx------  2 root root  12K 2月  6 16:44 lost+found
-rw-r--r--  1 root root 200M 2月  6 17:20 test
slave# umount /mnt

可以看到,在主机master上产生的文件test.tmp,也完整的保存在备机slave的DRBD分区上. 
这就是DRBD的网络RAID-1功能. 在主机上的任何操作,都会被同步到备机的相应磁盘分区上,达到数据备份的效果.

6.主备切换



   

本文出自 “浅浅的淡淡” 博客,请务必保留此出处http://cuixiang.blog.51cto.com/8204722/1612516

DRBD的使用配置

标签:drbd

原文地址:http://cuixiang.blog.51cto.com/8204722/1612516

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!