首页 > 代码库 > drbd学习

drbd学习

1 drbd是内核级别 文件--drbd--磁盘



2 准备环境

双网卡 数据口和传递drbd心跳线

[root@master ~]# ifconfig |grep -A 1 eth

eth0      Link encap:Ethernet  HWaddr 00:0C:29:65:14:0F  

          inet addr:192.168.100.10  Bcast:192.168.100.255  Mask:255.255.255.0

--

eth1      Link encap:Ethernet  HWaddr 00:0C:29:65:14:19  

          inet addr:10.0.0.7  Bcast:10.0.0.255  Mask:255.255.255.0

和一块磁盘

主机 

master 和 slave


hosts文件需要对心跳线互相解析


添加主机路由

route add -host 10.0.0.8  dev eth1

3 安装drbd软件

Centos 6.4


可编译安装

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

uname -r

ls /usr/src/kernels/2.6.32-358.el6.x86_64/

./configure --prefix=/usr/local/drbd --with-km   #激活内核模块

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

make install


[root@slave drbd-8.4.3]# modprobe drbd

[root@slave drbd-8.4.3]# lsmod |grep drbd

drbd                  325754  0 

libcrc32c               1246  1 drbd



chkconfig --add drbd

chkconfig drbd on



modprobe drbd

4 配置文件

[root@master ~]# cat /usr/local/drbd/etc/drbd.conf 

# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example



global {

       usage-count no;

       # minor-count dialog-refreshdisable-ip-verification

}


common {

       protocol C;

       syncer {

               rate  100M;

               verify-alg sha1;

       }


}


resource  data {


       disk {

            on-io-error detach;

       }

#节点1

       on master {

              device  /dev/drbd0;   #drbd的裸设备

              disk   /dev/sdb1;     #数据在此分区

              address 10.0.0.7:7788;

              meta-disk  internal     ;

              }


#节点2

       on slave {

              device  /dev/drbd0;

              disk   /dev/sdb1;

              address 10.0.0.8:7788;

              meta-disk  internal  ;

              }

}



4 创建磁盘

fdisk 分隔一块/dev/sdb1


(一定不能进行格式化挂载  因为存的是drbd meta文件格式)

5 创建drbd meta

drbdadm create-md data

起资源

启动服务

启动所有资源

drbdadm up all

或者 

drbdadm up data


6 如何使用

#把master节点作为主节点

Drbdadm primary --force data

#只能在一个节点上进行

mkfs.ext4 /dev/drbd0

#挂载drbd的裸设备进行使用

mount /dev/drbd0 /mnt/



7 常用查看

modprobe drbd
lsmod |grep drbd

drbdadm dump all

cat /proc/drbd

drbdadm role data



#变成secondary 

drbdadm secondary data



本文出自 “学通信,第一份工作运维” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1842651

drbd学习