zoukankan      html  css  js  c++  java
  • DRBD原理学习

    DRBD定义
    DRBD的全称为Distributed ReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。你可以把它看作是一种网络RAID。它允许用户在远程机器上建立一个本地块设备的实时镜像
    类似RAID1,不过RAID1在本地,而DRBD是透过网络
    工作过程
    DRBD Primary负责接收数据,把数据写到本地磁盘并发送给另一台主机DRBD Secondary。另一个主机再将数据存到自己的磁盘中。目前,DRBD每次只允许对一个节点进行读写访问,但这对于通常的故障切换高可用集群来说已经足够用了。有可能以后的版本支持两个节点进行读写存取。

    DRBD复制模式:

    1. 协议A:
      异步复制协议。一旦本地磁盘写入已经完成,数据包已在发送队列中,则写被认为是完成的。在一个节点发生故障时,可能发生数据丢失,因为被写入到远程节点上的数据可能仍在发送队列。尽管,在故障转移节点上的数据是一致的,但没有及时更新。这通常是用于地理上分开的节点

    2. 协议B:
      内存同步(半同步)复制协议。一旦本地磁盘写入已完成且复制数据包达到了对等节点则认为写在主节点上被认为是完成的。数据丢失可能发生在参加的两个节点同时故障的情况下,因为在传输中的数据可能不会被提交到磁盘

    3. 协议C:
      同步复制协议。只有在本地和远程节点的磁盘已经确认了写操作完成,写才被认为完成。没有任何数据丢失,所以这是一个群集节点的流行模式,但I /O吞吐量依赖于网络带宽

    一般使用协议C

  • 相关阅读:
    redis系列之1----redis简介以及linux上的安装
    springboot利用redis实现分布式锁(redis为单机模式)
    tomcat多个springboot项目启动失败
    rabbitmq启动时出错epmd error for host
    rabbitmq安装
    redis关闭报没有权限No auth
    rabbitmq添加自启动 centos7环境
    springboot rabbitmq 找不到队列
    MyBatis常用标签
    vue 强制刷新组件重新渲染
  • 原文地址:https://www.cnblogs.com/tyzZ001/p/5754760.html
Copyright © 2011-2022 走看看