一种基于 DRBD 实现的 ALUA 解决方案
发表于|更新于|项目相关
|浏览量:
文章作者: imoyao
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 别院牧志!
相关推荐

2018-05-27
关于 DRBD 脑裂问题的总结
本文在编写时基于官网 8.4 英文版本。由于英语水平和当时认知所限,翻译中难免有聱牙诘屈甚至误导别人之处。今天翻阅官网发现已经出现了基于 9.0 版本的中文文档,所以大家可以直接去浏览官方文档。 什么是DRBD脑裂脑裂(split brain)是指由于集群节点之间的所有网络链路的临时故障,以及可能由于集群管理软件的干预或人为错误,导致两个节点在断开连接时都切换到主节点(primary)角色的情况。这是一种潜在的有害状态,因为它意味着对数据的修改可能是在任一节点上进行的,而没有复制到对等节点。因此,在这种情况下,很可能已经创建了两个不同的数据集,这些数据集不能简单地合并。 怎么判定脑裂查看日志信息如果DRBD出现脑裂,会在 /var/log/message 出现一条日志: Split-Brain detected but unresolved, dropping connection! 当发生split brain之后,如果查看连接状态,其中至少会有一个是StandAlone状态,另外一个可能也是StandAlone(如果是同时发现split brain状态),也有可能是 WF...
2018-09-11
DRBD 备忘记录
这是一个关于 DRBD 的使用备忘录。 开始阅读之前,请先注意示例中使用的 DRBD 版本 drbdadm -V# DRBDADM_VERSION=8.4.3 注意:安装的 kernel-devel 的内核源码(内核源码路径/usr/src/kernel/)和当前系统的 kernel 版本(uname -r)不一致的话需要把当前内核更新一下。在2.6.33及以上版本的内核默认中有DRBD,之前在用的DRBD主要8.0、8.2、8.3 三个版本,对应的rpm包是drbd,drbd82和drbd83,因此需要安装对应的内核模块,对应的名字为kmod-drbd,kmod-drbd82,kmod-drbd83。由于drbd是作为内核模块进行工作的,故建议使用与内核对应的版本,对应关系如下表。 Linux releases DRBD releases 2.6.33 8.3.7 2.6.34 8.3.7 2.6.35 8.3.8 2.6.36 8.3.8.1 2.6.37 8.3.9 2.6.38 8.3.9 2.6.39 8.3.10 3.0 ...
2018-08-28
DRBD 使用外部元数据
裂脑一旦发生,需要及时排查问题所在,最大限度保护数据完整性。 meta data存放位置优缺点比较internal meta-datameta-data 和数据存放在同一个底层设备之上,它通过在设备末端预留一个区域以存储元数据做到这一点。 优点: 一旦 meta-data 创建之后,就和实际数据绑在了一起,在维护上会更简单方便,不用担心 meta-data 会因为某些操作而丢失。另外在硬盘损坏丢失数据的同时,meta-data 也跟着一起丢失,当更换硬盘之后,只需要执行重建 meta-data 的命令即可,丢失的数据会很容易的从其他节点同步过来。 缺点: 如果底层设备是单一的磁盘,没有做 raid,也不是 lvm 等,那么可能会对写入吞吐量产生负面影响。因为每一次写 io 都需要更新 meta-data 里面的信息,那么每次写 io 都会有两次,而且肯定会有磁头的较大寻道移动,因为 meta-data 都是记录在设备的最末端的,这样就会造成写 io 的性能降低。 external meta datameta-data存放在独立的,与存放数据的设备分开的设备之上。 优点...
2018-08-29
DRBD 状态指标记录
在管理DRBD的时候,需要关注drbd相关的各种状态指标,本文主要记录相关的指令及显示含义。 DRBD状态概览drbd-overviewdrbd statuscat /proc/drbd # 9.0废止在drbd9中,更多的是使用drbdadm或drbdsetup来获取节点的状态信息。 以上命令略有不同,可自行对照 [root@Storage drbd]# pwd/usr/lib/drbd[root@Storage drbd]# ./drbd status# 输出示例drbd driver loaded OK; device status:version: 8.4.3 (api:1/proto:86-101)GIT-hash: 89a2942***221f964d3ee515 build by root@third, 2017-07-20 10:58:42m:res cs ro ds p mounted fstype0:drbd0 ...
2018-01-11
CentOS7 环境下配置 DRBD
本文主要记录DRBD的配置过程和功能验证。 本文使用64位CentOS,基本环境: +-----------------------+ | +----------------------+| [ DRBD_A (Server#1) ] | 10.10.17.18 | 10.10.17.19 | [DRBD_B (Server#2) ] || node01 +--------------+---------------+ node02 || | | |+-----------------------+ +----------------------+DRBD 服务器A :ip:10.10.17.18,hostname:DRBD_ADRBD 服务器B :ip:10.1...
2018-01-11
CentOS7 下源码安装 DRBD
最近开发中又要用到DRBD做远程复制的功能,网上搜到很多都是yum安装的办法,这里记录一下源码安装的办法。 准备工作关闭防火墙systemctl disable firewalldsystemctl stop firewalld 关闭 SELinuxsed -i -e "s/=enforcing/=disabled/g" /etc/selinux/configsetenforce 0 安装依赖yum -y update yum -y install gcc make automake autoconf libxslt libxslt-devel flex rpm-build wget 注意: 安装kernel-devel一定要和uname -r获取结果一致。 rpm -q kernel-develuname -r# 3.10.0-327.el7.x86_64 返回的内核版本应当一致,否则建议用本地源安装kernel-devel。 下载/解压源码官方地址:https://www.linbit.com/en/drbd-community/drbd-downlo...
公告
This is my Blog

