DRBD介绍:
DRBD:distributed replicated block device分布式复制块设备,基于主机通过网络复制数据,是内核中控制复制数据的一个模块
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 127.0.0.1 localhost.localdomain localhost
- :1 localhost6.localdomain6 localhost6
- 192.168.169.128 web1
- 192.168.169.129 web2
- yum -y install kmod-drbd83 drbd83
加载模块:
- modprobe drbd
检查是否加载成功:
- [root@web1 drbd]# lsmod | grep drbd
- drbd 300440 4
安装成功之后/sbin目录下面有drbdadm,drbdmeta,drbdsetup命令,以及/etc/init.d/drbd启动脚本。
配置:
drbd的主配置文件为/etc/drbd.conf;为了管理的便捷性,目前通常会将些配置文件分成多个部分,且都保存至/etc/drbd.d目录中,主配置文件中仅使用"include"指令将这些配置文件片断整合起来。通常,/etc/drbd.d目录中的配置文件为global_common.conf和所有以.res结尾的文件。其中global_common.conf中主要定义global段和common段,而每一个.res的文件用于定义一个资源。
为drbd准备配置文件:
- [root@web1 ~]# cp /usr/share/doc/drbd83-8.3.13/drbd.conf /etc
为drbd配置参数,编辑global_common.conf文件添加如下几个参数:
- #vim /etc/drbd.d/global_common.conf
- disk {
- on-io-error detach;
- }
- net {
- cram-hmac-alg “sha1”;
- shared-secred “mydrbd”;
- }
- syncer {
- rate 1000M;
- }
定义一个资源/etc/drbd.d/web.res,内容如下:
- resource web {
- device /dev/drbd0;
- meta-disk internal;
- on web1 {
- disk /dev/sdb1;
- address 192.168.169.128:7789;
- }
- on web2 {
- disk /dev/sdb1;
- address 192.168.169.129:7789;
- }
- }
以上文件两个节点上必须相同,因此可以基于ssh将刚才配置的文件同步到web2节点上:
- #scp /etc/drbd.* web2:/etc
在两个节点上初始化已定义的资源并启动服务:
1)初始化资源,在两节点执行:
- # drbdadm create-md web
2)启动服务,在web1和web2上分别执行:
- #/etc/init.d/drbd start
以下两个命令可以查看启动状态:
- # cat /proc/drbd
- # drbd-overview
- drbdsetup /dev/drbd0 primary –o
- # drbd-overview
创建文件系统:文件系统的挂载只能在Primary节点进行,因此,也只有在设置了主节点后才能对drbd设备进行格式化,在主节点进行格式化后就不需要在从节点再设置格式化了。
- mkfs.ext3 /dev/drbd0
- mkdir /mnt/drbd
- mount /dev/drbd0 /mnt/drbd
DRBD主备节点切换:
1、先在主节点上卸载掉文件系统
2、把主节点设置为secondary
3、在从节点上设置为primary
4、在从节点上挂载文件系统
注:在重启之后DRBD的主从关系就会失效,我们可以在rc.local文件里面设置主从关系和挂载文件系统。
- umount /mnt/drbd #在主节点上执行
- drbdsetup /dev/drbd0 secondary #在主节点上执行
- drbdsetup /dev/drbd0 primary #在从节点上执行
- mount /dev/drbd0 primary #在从节点上执行
- drbdsetup /dev/drbd0 primary
- mount /dev/drbd0 /mnt/drbd