实验环境
系统CentOS 6.5 X64
Ip:172.16.25.162 172.16.25.163
epel源
每台主机有/dev/sdb1: 1073 MB挂载点/test供drbd使用
先升级nfs先关组件:
yum updatenfs-utilsnfs-utils-lib nfs4-acl-tools
yum updaterpcbind
一、安装配置
安装配置drbd:
[root@master~]#wget http://oss.linbit.com/drbd/8.3/drbd-8.3.16.tar.gz
[root@master~]#tar zxvf drbd-8.3.16.tar.gz
[root@master~]#./configure --prefix=/usr/local/drbd--with-km #--with-km是启用内核模块
[root@master~]#make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64 #KDIR随系统而变
[root@master~]#make install
[root@master~]#mkdir -p /usr/local/drbd/var/run/drbd
[root@master~]#cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/
[root@master~]#chkconfig --add drbd; chkconfigdrbd on
[root@master~]#cp drbd/drbd.ko/lib/modules/2.6.32-431.el6.x86_64/kernel/lib/
[root@master~]#modprobe drbd
[root@master~]#lsmod |grepdrbd #验证drbd模块是否加载成功
准备底层存储设备:
一块硬盘、软raid、LVM逻辑卷、甚至另一个drbd设备(drbd叠加)
准备网络配置:
推荐(不是必须)在专用的、直连的、千兆的网络上运行drbd。如果通过交换机运行drbd,建议设置一个热备的交换机同时the Linux bonding driver (in active-backup mode) is recommended
注意三点:
1) Our two DRBD hosts each have a currently unused network interface, eth1,with IP addresses 10.1.1.31 and 10.1.1.32 assigned to it, respectively.
2) No other services are using TCP ports 7788 through 7799 on eitherhost.
3) The local firewall configuration allows both inbound and outboundTCP connections between the配置drbd
drbd所有配置均在/etc/drbd.conf,默认的,该配置文件只是一个‘框架’,有如下两行
include"/etc/drbd.d/global_common.conf";
include"/etc/drbd.d/*.res";
/etc/drbd.d/global_common.conf包含drbdglobal和common段的设置,*.res文件每个包含一个resource段的配置。
注意:确保每个节点上drbd的配置文件保持一致
实验环境配置文件
global { usage-count yes; } common { protocol C; # A 数据一旦写入磁盘并发送到网络中就认为完成了写入操作 # B 收到接收确认就认为完成了写入操作 # C 收到写入确认就认为完成了写入操作 } resource r0 { on master { #master为主机名,配置文件里必须和uname–n输出的一致,不一致会导致no resources defined! device /dev/drbd1; disk /dev/sdb1;address 172.16.25.162:7789; meta-disk internal;}on slave {device /dev/drbd1; disk /dev/sdb1; address 172.16.25.163:7789; meta-disk internal; } }
初始化resource
创建设备元数据,该步骤只在设备初始化时执行一次,在两台server分别执行
[root@master~]#drbdadm create-md r0
(resource名称)一台报错:drbdadm create-md r0: exited with code 40
解决方法:dd if=/dev/zero of=/dev/sdb1 bs=1M count=10
(count数量不限,主要是为了清除/dev/sdb1上的分区信息)。成功截图如下
启动drbd
[root@master~]#/etc/init.d/drbd start
刚启动时,两台机器上drbd状态均为secondary
在drbd主上执行