DRBD 管理、故障处理部分

1、DRBD开机自自动(chkconfig --add drbd),需要注意一下wait time out选项:
      wfc-timeout 120;  如果为0的话,它会无限的等待下去;
      在配置高可用如keepalived时候,要注意 先保证drbd数据的一致性;然后在启动keepalived
      小插曲:
      在linux 自起中,先运行 /etc/rc.d/rc#. d  里面设定的脚本,最后是/etc/rc.local ,如果同样是在某运行级别下的脚本,根据S后面的数字,数字越小优先级越高,所以drbd的数字要比keepalived的小一些;
  2、磁盘IO故障
      推荐配置为 detach 策略;这个时候主从角色状态没有改变,磁盘状态变为diskless(这个需要监控);
      模拟实验:
      drbd-primary:
      drbdadm detach all;
      此时磁盘还处于挂接状态;为了正常切换角色,执行以下命令:
      drbdadm secondary all;
      umount /dev/drbd0;
      在drbd-secondary 上执行:
      drbdadm primary all;
      mount /dev/drbd0 /data
  3、更换磁盘
    如果secondary节点出现磁盘故障需要换硬盘:
    注意:新添加的硬盘的磁盘名如果被占用,需要修改配置文件!
    进行的操作:
    drbdadm create-md  all
    service drbd start
    drbdadm attach all
    drbdadm secondary all
    以上情况 属于内部元数据, 下面可以看看使用外部元数据更换硬盘;
    除以上操作外,还有进行 drbdadm invalidate  all
    即进行以下操作:
    drbdadm create-md all
    drbdadm attach all
    drbdadm invalidate  all
    drbdadm secondary all
  4、处理节点故障:
    当primary node 出现故障后,Drbd并不升级存活的节点到主,需要集群管理程序重要做。
    切换完毕后需要做 的事情:
      1)将出现故障的硬件替换为与之类似性能和容量的磁盘。(性能最好一致;替换为磁盘容量比较小,会导致drbd拒绝连接被替换的节点。)
      2)安装基本系统和应用程序。
      3)安装drbd并从幸存的节点上拷贝/etc/drbd.conf和所有的/etc/drbd.d
      4)drbdadm create-md resource (创建元数据设备)
      5)service  drbd start
      6)drbdadm attach resource (将drbd资源和后端设备连接 )
      7)drbdadm syncer resource  (设置drbd资源的同步参数)
      8)drbdadm connect resource  (连接对等节点)
      Look:千万不要初始化设备,
  5、脑裂问题处理
      DRBD检测到primary 恢复连接并变成可用,和对等节点达成初步的握手。如果drbd检测到两个节点(也可能是两个节点断开时)都是主角色,它就连接关闭复制的连接。可以在系统日    志中发现:Split-Brain detected, dropping connection!
      一个节点将保持始终以StandAlone状态连接资源,另外一个节点也可能处于StandAlone状态(如果两个节点被探测到同时处于裂脑状态),也可能是WFConnection状态(如果对等接在    还没有来得及探测到裂脑就down掉的话)。
      必须手工干预选择丢失一个节点的修改被丢失(这个节点被称为裂脑受害者),除非配置drbd的裂脑自动修复。
      (在出现脑裂的情况下,service drbd stop 是不会生效的,返回会hang住,一直处于等待状态)
      在需要放弃修改的那一端做如下操作:
      drbdadm secondary <resource>
      drbdadm -- --discard-my-data connect <resource>
      在其他节点上(裂脑幸存者),如果它的状态也为StandAlone状态,可输入以下命令:
      drbdadm connect <resource>
      如果节点已经处于WFConnection状态,可是省略这一步,因为它会自动进行重新连接。
      当连接时裂脑受害者将立即改变连接状态为SyncTarget,并被主节点覆盖其余节点的修改。
      Look:裂脑受害者不是一个完整的设备同步,相反,还有可能执行本地修改的回滚操作,而将裂脑幸存者的所做的修改完整的传输到裂脑受害者。当重新完成同步后,就认为裂脑问题已经解决,两个节点的数据再次达成一致,形成一个冗余复 制的存储系统。

相关阅读

Linux 高可用(HA)集群之DRBD详解

DRBD中文应用指南 PDF

CentOS 6.3下DRBD安装配置笔记

基于DRBD+Corosync实现高可用MySQL

CentOS 6.4下DRBD 安装配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e1dd4e7e7c9622cdd22406bc4329e45e.html