DRBD 详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DRBD 详解相关的知识,希望对你有一定的参考价值。
跨主机的块设备镜像系统,工作在内核中完成
drbd工作原理:客户端发起一个写操作的系统调用给文件系统,写请求再到达内核缓冲区,最到达DRBD模块,此时drbd会复制写入磁盘的数据,且进行两步操作,第一步操作是调用磁盘驱动,将数据写入本地的磁盘设备,第二部是通过网卡设备将数据发送给备用节点,备用节点的网卡接受到数据之后,将数据再发送给drbd模块,DRBD模块再调用磁盘驱动将数据写入磁盘。这就实现了数据写入的高可用.
高可用集群都需要时间同步、主机名相互通信、ssh免密码登入(node1、node2两个节点已经ok)
安装DRBD(在node1,node2上都需要安装)
1:配置yum仓库
vi
[network_drbd]
name=drbd
baseurl=http://elrepo.org/linux/elrepo/el7/x86_64/
gpgcheck=0
enabled=1
2:安装drbd内核模块、DRBD管理工具
yum install -y drbd84-utils kmod-drbd84
3:给node1、node2添加一个虚拟磁盘,且分区5G
设备 Boot Start End Blocks Id System
4:编辑
global {
usage-count no;
udev-always-use-vnr;
}
common {
handlers {
}
startup {
}
options {
}
disk {
on-io-error detach;
}
net {
cram-hmac-alg "sha1";
shared-secret "UzcHlMYSw5o";
}
syncer {
rate 1000M;
}
}
5:编辑
resource mysql {
device
disk
meta-disk internal;
on node1 {
address 192.168.43.10:7789;
}
on node2 {
address 192.168.43.11:7789;
}
}
6:将node1的配置文件拷贝一份到node2
scp -pr
7:在node1和node2上分别执行资源初始化(如果数据资源初始化不成功,可以尝试重启系统)
drbdadm create-md mysql
8:在node1和node2上启动DRBD
systemctl start drbd.service
9:查看节点同步情况
drbd-overview
10:让node1成为主节点 ,开始同步
drbdadm primary --force mysql
11:再次查看node1和node2节点数据同步情况
drbd-overview
12:等待同步完成之后,可以在node1节点直接在
mkfs -t ext4
mount
13:向/mnt目录拷贝文件,卸载挂载点,让后将node1切换为从节点
cp
umount
drbdadm secondary mysql
14:在node2上执行命令,让node2为主, 挂载/mnt,查看是否在/mnt目录下存在
drbdadm primary mysql
mount
高可用Mariadb + DRBD
需求分析:配置一个Mariadb的高可用集群,且Mariadb的数据目录由DRBD存储提供
1:分别在node1、node2中停止DRBD服务
systemctl stop drbd.service
2:如果想将drbd作为集群中的资源,那么drbd将不能开机自启,分别在node1、node2中让drbd禁止开机自启,
systemctl disable drbd.service
3:查看资源代理,这里的linbit为drbd代理的提供者
crm(live)ra# list ocf linbit
drbd
4:查看ocf中drbd代理的使用帮助
crm(live)ra# info ocf:drbd
5:定义drbd在集群中的组资源
primitive storage ocf:drbd params drbd_resource=mysql op monitor role=Master interval=15s timeout=20s op monitor role=Slave interval=10s timeout=20s
6:将drbd资源设置为主从模式
ms drbd_storage storage meta clone-max=2 clone-node-max=1 master-max=1 master-node-max=1
以上是关于DRBD 详解的主要内容,如果未能解决你的问题,请参考以下文章