1 drbd是内核级别 文件--drbd--磁盘
2 准备环境
双网卡 数据口和传递drbd心跳线
[[email protected] ~]# 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
[[email protected] drbd-8.4.3]# modprobe drbd
[[email protected] drbd-8.4.3]# lsmod |grep drbd
drbd 325754 0
libcrc32c 1246 1 drbd
chkconfig --add drbd
chkconfig drbd on
modprobe drbd
4 配置文件
[[email protected] ~]# 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