参考文章
http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86:drbd%E7%9A%84%E4%BD%BF%E7%94%A8
http://4459478.blog.51cto.com/4449478/869381
http://blog.csdn.net/hanxin1987216/article/details/6928427
http://blog.csdn.net/greensurfer/article/details/7606951
配置环境:两主机各增加一硬盘,大小为1GB,作为drbd的资源,先要进行分区,不要格式化,因为在drbd中用的是drbd设备!
hostname
IP
nod1.zhaochj.com
192.168.133.131
nod2.zhaochj.com
192.168.133.140
[root@nod1 ~]# uname -r #两主机所用系统版本相同,在2.6.33后系统已支持drbd
2.6.32-220.el6.x86_64
两主机同时关闭防火墙与selinux
[root@nod1 ~]service iptables stop
[root@nod1 ~]setenforce 0 可以修改/etc/selinux/config文件
修改两主机的主机名与hosts文件:
[root@nod1 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nod1.zhaochj.com #在133.140中把nod1改为nod2即可
[root@nod1 ~]# vim /etc/hosts #两主机上是相同修改,目的是能够解析主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
nod1.zhaochj.com
192.168.133.131
nod2.zhaochj.com
192.168.133.140
安装配置:
[root@nod1 ~]# tar -xvzf drbd-8.4.2.tar.gz
[root@nod1 ~]# cd drbd-8.4.2
[root@nod1 drbd-8.4.2]# ./configure --prefix=/usr/local/drbd --with-km
[root@nod1 drbd-8.4.2]# make KDIR=/usr/src/kernels/2.6.32-220.el6.x86_64/
[root@nod1 drbd-8.4.2]# make install
[root@nod1 drbd-8.4.2]# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/
[root@nod1 drbd-8.4.2]# chkconfig --add drbd
[root@nod1 drbd-8.4.2]# chkconfig drbd on
安装drbd模块:
[root@nod1 drbd-8.4.2]# cd drbd
[root@nod1 drbd]# pwd
/root/drbd-8.4.2/drbd
[root@nod1 drbd]# make clean
[root@nod1 drbd]# make KDIR=/usr/src/kernels/2.6.32-220.el6.x86_64/
[root@nod1 drbd]# cp drbd.ko /lib/modules/2.6.32-220.el6.x86_64/kernel/lib/
[root@nod1 drbd]# depmod #创建模块依赖关系的列表
[root@nod1 drbd]# vim /usr/local/drbd/etc/drbd.d/global_common.conf 确保有以下
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
定义资源:
[root@nod1 drbd]# vim /usr/local/drbd/etc/drbd.d/r0.res
resource r0{
on nod1.zhaochj.com{
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.133.131:7788;
meta-disk internal;
}
on nod2.zhaochj.com{
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.133.140:7788;
meta-disk internal;
}
}
说明:
device 是自定义的物理设备的逻辑路径
disk 是磁盘设备,或者是逻辑分区
address 是机器监听地址和端口
meta-disk 这个不是很清楚,
建立resource,初始化:
[root@nod1 drbd]# modprobe drbd
载入模块
[root@nod1 drbd]# lsmod | grep drbd
确认模块是否载入
[root@nod1 drbd]# dd if=/dev/zero of=/dev/sdb1 bs=1M count=100,把一些资料写入
[root@nod1 drbd]# drbdadm create-md r0 建立 drbd resource,此命令后有交互,键入yes即可
[root@nod1 drbd]# drbdadm up r0 启动drbd,也可以/etc/init.d/drbd start
/usr/local/drbd/var/run/drbd: No such file or directory
/usr/local/drbd/var/run/drbd: No such file or directory
报没有这些目录
[root@nod1 drbd]# mkdir -p /usr/local/drbd/var/run/drbd 建立这些目录
再[root@nod1 drbd]# drbdadm up r0
[root@nod1 drbd]# cat /proc/drbd 查看状态信息
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by
[email protected], 2012-09-29 15:21:32
1: cs:WFConnection ro:Secondary/Unknown ds:Inconsistent/DUnknown C r----s
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:1044124
以上的这些操作也要在nod2.zhaochj.com执行一次,保持各个配置文件的相同。
设置primary node:
将nod1.zhaochj.com设置成主服务
[root@nod1 ~]# drbdadm primary --force r0
[root@nod1 ~]# cat /proc/drbd 状态已改变
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by
[email protected], 2012-09-29 15:21:32
1: cs:Connected ro:Primary/Secondary ds:UpToDate/Diskless C r-----
ns:0 nr:0 dw:0 dr:672 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:1044124
创建drbd文件系统:
[root@nod1 ~]# mkfs.ext4 /dev/drbd1 注意这里是drdb1,不是/dev/sdb1
[root@nod1 ~]# mkdir /tmp/drbdtest 创建挂载目录
[root@nod1 ~]# mount /dev/drbd1 /tmp/drbdtest/ 挂载
drbd同步测试:
[root@nod1 ~]# tar -cvzf /tmp/drbdtest/drbd.tar.gz drbd-8.4.2 把drbd-8.4.2压缩到/tmp/drbdtest下
[root@nod1 ~]# umount /dev/drbd1
[root@nod1 ~]# drbdadm secondary r0
[root@nod1 ~]# ssh 192.168.133.140
[root@nod2 ~]# drbdadm primary r0
[root@nod2 ~]# mount /dev/drbd1 /tmp/drbdtest/
[root@nod2 ~]# ll /tmp/drbdtest/
总用量 9816
-rw-r--r--. 1 root root 10035175 9月 29 2012 drbd.tar.gz
drwx------. 2 root root 16384 9月 29 2012 lost+found
同步成功!