共计 2351 个字符,预计需要花费 6 分钟才能阅读完成。
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 详解 http://www.linuxidc.com/Linux/2013-08/89035.htm
DRBD 中文应用指南 PDF http://www.linuxidc.com/Linux/2013-08/89034.htm
CentOS 6.3 下 DRBD 安装配置笔记 http://www.linuxidc.com/Linux/2013-06/85600.htm
基于 DRBD+Corosync 实现高可用 MySQL http://www.linuxidc.com/Linux/2013-05/84471.htm
CentOS 6.4 下 DRBD 安装配置 http://www.linuxidc.com/Linux/2013-09/90536.htm
DRBD 的详细介绍 :请点这里
DRBD 的下载地址 :请点这里