分布式复制块设备(Distributed Replicated Block Device,drbd)
通过网络实现块设备数据实时镜像,可以简单地理解为一种基于网络的raid1;drbd工作在内核空间,它镜像复制的是二进制数据 ,按位bit对应,数据同时存在于本地主机和远程主机上,在遇到需要切换的时候,远程主机只需要使用它上面的那份备份数据,就可以继续提供服务了;作为高可用性的集群的资源,可以代替作为共享设备
工作原理
- 进行数据的写操作时,数据到达drbd管理模块后,分为两份,一份正常地写入本地磁盘,另一份通过网络备份到从设备,如图
图片来自官网
进行复制时有以下三个协议(标准)
A协议:异步复制协议Async
- 一旦本地磁盘写入已经完成,数据包已在本地TCP/IP发送队列中,则认为是完成的
- 缺点:主节点发生故障时,可能发生数据丢失,因为写入到远程节点上的数据可能仍在发送队列,速率高但数据最易丢失
B协议:半同步复制协议Semi Sync
- 一旦本地磁盘写入已完成且复制的数据包到达了对等节点peer,即使还没写入磁盘,则认为写在主节点上被认为是完成的
- 缺点:主节点发生故障时,虽然数据到达了从节点,但有可能还没有写入磁盘
C协议:同步复制协议sync
- 只有在本地和远程节点的数据都全部写入了磁盘,才是完成的
- 优点:没有数据丢失,所以一般使用这种协议模式,虽然数据安全性高但效率最低
集群模式
主从模式:
- primary:可读写
- secondary:文件系统不能挂载,不能读写,只用于备份
全为主模式:
- 基于DLM:Distributed Lock Manager和GFS2/OCFS2集群文件系统实现全为主节点的模型
模式转换
主先卸载变成从,从变成主挂载使用即可
DRBD Source:和高可用集群资源概念不同(应事先做好规划,比如:mydrbd、dev/drbd0、/dev/sda5)
- Resource name:空格字符外的任意ASCII码
- DRBD drvice:和raid设备类似/dev/md0、1、...,在双方节点上一般为/dev/drbd1、2、...,主设备号为147
- disk:在双方节点上的存储设备
- 网络配置:数据同步时使用的网络配置,带宽速率限制等
相关文件:
/etc/drbd.conf
- 对以下两个配置文件的包含
/etc/drbd.d/global_common.conf
global_common.conf
- 定义全局配置 #默认参数即可
common:
- protocol:协议ABC
- handlers:处理策略、脑裂策略等
- startup:同步属性定义启动超时等
- disk:磁盘设置,I/O等
- net:网络配置,带宽定义、超时设置、传输加密设置等
- syncer:速率定义等
/etc/drbd.d/*.res
- 具体资源配置文件
时间: 2024-10-20 17:32:33