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.主备切换

有时,你需要将DRBD的主备机互换一下.可以执行下面的操作: 

在主机上,先要卸载掉DRBD设备. 

    #umount /qq

将主机降级为”备机”:

    #drbdadm secondary r1

    #cat /proc/drbd (drbdadm role r1)

  可以看到Secondary/Secondary,这说明两台主机都成备机了; 

在备机slave上,将它升级为”主机”:

     # drbdadm primary r1

     # cat /proc/drbd (或者drbdadm role r1)

 出现 Primary/Secondary 说明主备已经切换过来;

  现在可以挂载使用/dev/drbd,数据也会同步到主机上。

    # mount /dev/drbd /mnt 

DRBD的安装配置到此,以后还需要多配置。



   

你可能感兴趣的:(drbd,使用配置)