Drbd
Drbd是什么
是基于块设备在不同的高可用服务器对之间同步和镜像数据的软件。drbd是基于文件系统底层的,DRBD的核心功能通过Linux的内核实现,最接近系统的IO栈,即block层级同步。可以理解为基于网络的raid-1
端口
默认端口 7788
DRBD的工作模式
主备模式
DRBD仅主节点可以提供访问备节点只有在主节点宕机后才能访问
主主模式
需要采用共享文件系统,如GFS,OCFS2,用于需要从2个节点并发访问数据的场合
Drbd同步数据的模式
1 实时同步
数据写入本地磁盘和远端服务器都成功后才返回写入成功 DRBD服务的协议C 一般使用协议C
2 异步同步
当数据写入到本地成功后就返回写入成功 服务协议A
3 内存同步
半同步复制协议,本地写入成功并将数据发送到对方后立即返回, 服务协议B
工作原理
在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,
切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了.
一般情况下文件写入磁盘的步骤是: 写操作 --> 文件系统 --> 内存缓存中 --> 磁盘调度器 --> 磁盘驱动器 --> 写入磁盘。而DRBD的工作机制如上图所示,数据经过buffer cache后有内核中的DRBD模块通过tcp/ip协议栈经过网卡和对方建立数据同步。