1、安装第三方yum源
# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
# yum -y --enablerepo=elrepo install drbd83-utils kmod-drbd83
# modprobe drbd #加载安装drbd
2、分配一个分区
# fdisk /dev/sdb
# partprobe /dev/sdb
# partx /dev/sdb #扫描加载新的分区
3、修改配置文件
# cp /etc/drbd.conf /etc/drbd.conf.bak
# cp /usr/share/doc/drbd83-utils-8.3.16/drbd.conf.example /etc/
1)修改配置文件# vi global_common.conf
# 以下是去除注释后的配置
global {
usage-count yes; # 是否参加DRBD使用者统计
}
common {
protocol C; # 使用协议C.表示收到远程主机的写入确认后,则认为写入完成.
}
2)定义一个资源
# vi /etc/drbd.d/r1.res
resource r0 {
net {
cram-hmac-alg sha1; # 设置主备机之间通信使用的信息算法.
shared-secret "mydrbd"; # 共享密码
}
on node1 { # 每个主机的说明以“on”开头,后面是主机名.在后面的{}中为这个主机的配置.
device /dev/drbd0; # 一个DRBD设备(即:/dev/drbdX),叫做“资源“.里面包含一个DRBD设备的主备节点的相关信息.
disk /dev/sdb1; # /dev/drbd0使用的磁盘分区是/dev/sdb1
address 10.10.0.224:7789;
meta-disk internal;
}
on node2 {
evice /dev/drbd0;
disk /dev/sdb1;
address 10.10.0.226:7789;
meta-disk internal;
}
}
4、同步配置文件。以上文件在两个节点上必须相同,因此,可以基于ssh将刚才配置的文件全部同步至另外一个节点。
# scp -r /etc/drbd.* node2:/etc
5、在两个节点上初始化已定义的资源并启动服务:
1)初始化资源,在Node1和Node2上分别执行:
# drbdadm create-md web
2)启动服务,在Node1和Node2上分别执行:
# service drbd start
3)查看启动状态:
# cat /proc/drbd
也可以使用drbd-overview命令来查看:
# drbd-overview
6、设置node1为primary
# drbdadm -- --overwrite-data-of-peer primary r1
drbd 8.4中第一次设置某节点成为主节点的命令
# drbdadm primary --force resource
7、创建文件系统
# mke2fs -j -L DRBD /dev/drbd0
# mkdir /mnt/drbd
# mount /dev/drbd0 /mnt/drbd
8、同步测试
在node1创建一个文件
# touch /mnt/drbd/1.txt
在node2上的drbd处于启动状态时,它无法挂载/dev/sdb1分区。因为/dev/sdb1正处于使用状态.在node2上操作。
# service drbd stop
# mount /dev/sdb1 /mnt/drbd/
# ll /mnt/drbd/ #可以看到从node1上同步过来的数据
## 默认在从节点中写入的数据,在从节点上开启drbd后,会被主节点的数据覆盖
9、主从切换
# node1上操作
# umount /dev/drbd0
# drbdadm secondary r1
# node2操作
# drbdadm primary r1
10、脑裂问题:
新的节点启动不了一直处于To abort waiting enter'yes'[ -- ]:[ 13]:[ 15]:[ 16]:[ 18]:[ 19]:[ 20]:[ 22] 等待状态
在新的主上执行
# drbdadm disconnect r1
# drbdadm primary r1
在新的从上执行
# drbdadm disconnect r1
# drbdadm secondary r1
# drbdadm -- --discard-my-data r1
# drbdadm connect r1
然后在新的主上执行
# drbdadm connect r1