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:裂脑受害者不是一个完整的设备同步,相反,还有可能执行本地修改的回滚操作,而将裂脑幸存者的所做的修改完整的传输到裂脑受害者。当重新完成同步后,就认为裂脑问题已经解决,两个节点的数据再次达成一致,形成一个冗余复 制的存储系统。






本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1333465,如需转载请自行联系原作者

目录
相关文章
|
运维
Rados故障处理操作手册
Ceph故障处理Rados操作手册
239 1
|
网络安全 KVM 虚拟化
基于DRBD的KVM动态迁移
本篇内容记录了基于DRBD的KVM动态迁移的相关操作。
248 0
基于DRBD的KVM动态迁移
|
API
DRBD常用管理篇
      在DRBD进入使用阶段之后,要经常查看它的工作状态,通过这些状态来判断DRBD运行情况。 1) 使用drbd-overview命令观察状态      最为简便的方式就是运行drbd-overview命令 # drb...
1409 0
|
存储 网络安全 Perl