DRBD是一种网络RAID 1,它能够将两台独立主机的存储设备作为RAID1来使用,两台机器来管理RAID1,而这个RAID1的两个底层存储分别放置在这两台主机上,因此任何一台主机或者是底层存储损坏都不会影响企业或者是单位生产环境中的使用,等到损坏的主机或底层存储被修复或者是替换后将数据同步过去就可以了。
DRBD的管理和控制不是特别复杂,只要认真的学习本书中提到的方方面面即可,必要时可以访问DRBD的官方网站以便进行更深层次的学习。
陶利军编著的《DRBD权威指南(基于Corosync+Heartbeat技术构建网络RAID)》中的内容包括了6个部分共16章的内容,讲述了DRBD的理论和生产环境的部署及运维,以及和其他程序的结合应用,包括:LVM、GFS等基础底层软件,和Heartbeat、Corosync、Pacemaker等高可用软件,实现基于DRBD服务器之上的服务高可用。
在Linux操作系统下,对于数据的安全可以通过DRBD来实现,通过它可以在不专业的硬件上实现专业的存储。DRBD是一种网络RAID 1,它能够将两台独立机器的存储作为RAID1来使用,两台机器来管理RAID1。
陶利军编著的《DRBD权威指南(基于Corosync+Heartbeat技术构建网络RAID)》分为6个部分共16章,内容包含:DRBD理论基础、DRBD技术基础、DRBD技术特点、优化DRBD性能、安装和配置DRBD、管理DRBD、常见的管理任务、故障排除和错误恢复、DRBD与其他应用程序的集成、Pacemaker集群和DRBD的集成、DRBD使用LVM、GFS与DRBD、DRBD与Heartbeat的集成、运维案例(Pacemaker + DRBD+其他 / Heartbeat+DRBD+NFS)、图形化管理工具LCMC。
《DRBD权威指南(基于Corosync+Heartbeat技术构建网络RAID)》适合存储工程师、网络管理员、网络工程师作为参考书使用。
第1部分 DRBD理论基础
第1章 DRBD技术基础/2
1.1 内核模块/2
1.2 用户空间工具/3
1.3 资源/3
1.4 资源角色/4
第2章 DRBD技术特点/5
2.1 单主模式/5
2.2 双主模式/5
2.3 复制数据传输模式/5
2.4 多种传输复制数据的协议/6
2.5 有效地同步策略/7
2.5.1 可变的同步速率/7
2.5.2 锁定同步速率/7
2.5.3 基于校验和的复制/8
2.6 延时同步复制数据/8
2.7 在线设备验证/8
2.8 复制流量的完整性检测/9
2.9 脑裂通知和自动恢复/10
2.10 支持磁盘刷新/10
2.11 磁盘错误处理策略/11
2.12 处理过期数据的策略/11
2.13 三路复制/12
2.14 使用DRBD代理实现远距离复制/13
2.15 基于“运送”的复制/14
2.16 浮动对点/14
第3章 优化DRBD性能/15
3.1 优化DRBD/15
3.1.1 优化DRBD吞吐量/15
3.1.2 优化DRBD延时/17
3.2 关于调优的建议/18
3.2.1 为DRBD设置CPU掩码/18
3.2.2 修改网络的MTU/18
3.2.3 使用deadline I/O调度方式/19
第2部分 安装和配置DRBD/
第4章 通过预编译二进制安装DRBD/23
4.1 由LINBIT提供的安装包/23
4.2 由发行商提供的软件包/24
4.2.1 SUSE Linux Enterprise Server/24
4.2.2 Debian GNU/Linux/25
4.2.3 CentOS/25
4.2.4 Ubuntu Linux/29
第5章 从源代码编译安装DRBD/30
5.1 下载DRBD源代码/30
5.2 从DRBD仓库牵出DRBD源程序/31
5.3 从源代码构建特定平台的DRBD二进制安装包/34
5.3.1 检测构建DRBD的依赖性/34
5.3.2 准备内核源码/35
5.3.3 准备DRBD的编译树/36
5.3.4 构建DRBD用户空间工具/37
5.3.5 编译DRBD 作为内核模块/37
5.4 构建DRBD的RPM安装包/44
5.5 构建DRBD的Debian安装包/53
第6章 配置DRBD/54
6.1 准备底层存储设备/54
6.2 准备网络配置/54
6.3 配置资源/56
6.3.1 配置举例/57
6.3.2 配置global部分/59
6.3.3 配置 common 部分/60
6.3.4 配置 resource 部分/60
6.4 第一次启用DRBD资源/61
6.5 初始化设备同步/64
6.6 使用基于“运送”的复制/65
第3部分 管理DRBD
第7章 常见的管理任务/68
7.1 检测DRBD状态/68
7.1.1 通过drbd-overview命令获取DRBD的状态/68
7.1.2 通过伪文件系统/proc/drbd了解DRBD的状态信息/68
7.1.3 连接状态/70
7.1.4 资源角色/72
7.1.5 磁盘状态/73
7.1.6 I/O状态标志/74
7.1.7 性能指标/74
7.2 启用和禁用资源/76
7.2.1 启用资源/76
7.2.2 禁用资源/76
7.3 重新配置资源/76
7.4 资源的升级和降级/77
7.5 基本的手动故障转移/77
7.6 更新DRBD版本/78
7.6.1 更新仓库/78
7.6.2 更新安装包/78
7.6.3 配置迁移/81
7.7 将DRBD 8.4降级到8.3/84
7.8 启用双主模式/84
7.8.1 永久双主模式/84
7.8.2 临时双主模式/85
7.8.3 系统启动时自动提升双主模式/85
7.9 使用在线设备验证/85
7.9.1 启用在线设备验证/86
7.9.2 执行在线验证/86
7.9.3 自动在线验证/86
7.10 配置同步的速率/87
7.10.1 在配置中锁定同步速率/89
7.10.2 临时锁定同步速率的配置/91
7.10.3 可变同步速率的配置/91
7.11 配置基于校验和的同步/92
7.12 配置阻塞策略和暂停复制/92
7.13 配置处理I/O错误策略/93
7.14 配置复制流量完整性检测/94
7.15 调整资源大小/95
7.15.1 在线增大资源大小/95
7.15.2 离线增大资源大小/95
7.15.3 在线缩小资源大小/96
7.15.4 离线缩小资源大小/97
7.16 禁用后台驱动器缓存/98
7.17 配置脑裂行为/98
7.17.1 脑裂通知/99
7.17.2 脑裂自动恢复策略/100
7.18 创建三个节点的设置/101
7.18.1 设备堆叠的注意事项/101
7.18.2 配置堆叠资源/102
7.18.3 启用堆叠资源/103
7.19 使用DRBD代理/103
7.19.1 DRBD代理部署注意事项/103
7.19.2 安装/104
7.19.3 许可文件/105
7.19.4 配置代理/105
7.19.5 控制DRBD代理/106
7.19.6 DRBD的代理插件/107
7.19.7 故障查找/108
第8章 故障排除和错误恢复/109
8.1 处理硬盘驱动器错误/109
8.1.1 从DRBD手动分离硬盘驱动器/109
8.1.2 出现I/O错误自动分离硬盘驱动器/109
8.1.3 在使用内部元数据的情况下替代失败磁盘/110
8.1.4 在使用外部元数据的情况下替代失败磁盘/110
8.2 处理节点错误/111
8.2.1 处理临时Secondary节点错误/111
8.2.2 处理临时Primary节点错误/111
8.2.3 处理永久节点错误/111
8.3 手动脑裂恢复/112
第4部分 DRBD与其他应用程序的集成
第9章 Pacemaker集群和DRBD的集成/115
9.1 认识Pacemaker/115
9.1.1 Pacemaker的功能/115
9.1.2 Pacemaker的结构/116
9.1.3 Pacemaker的内部组成/117
9.1.4 Pacemaker的集群类型/118
9.2 在Pacemaker中添加DRBD后台服务/119
9.3 在集群中使用基于资源级别的栅功能/120
9.3.1 使用资源级别的栅功能——dopd/120
9.3.2 使用基于资源级别的栅功能/122
9.4 在Pacemaker 集群中使用堆叠的DRBD资源/122
9.4.1 向Pacemaker 集群中添加异地灾备/122
9.4.2 在Pacemaker 集群中使用堆叠资源实现4路冗余/124
9.5 两个基于SAN的Pacemaker集群之间DRBD数据复制/127
9.5.1 DRBD资源配置/127
9.5.2 Pacemaker 资源配置/128
9.5.3 站点的故障转移/129
第10章 DRBD使用LVM/130
10.1 LVM 简介/130
10.2 使用逻辑卷作为DRBD后端设备/133
10.3 在DRBD的同步中自动使用LVM快照/144
10.4 配置DRBD资源作为物理卷/150
10.5 在现有卷组中添加新的DRBD卷/153
10.6 DRBD与LVM的嵌套配置/154
10.7 使用Pacemaker实现高可用/156
第11章 GFS与DRBD/157
11.1 GFS primer/157
11.2 创建适合于GFS的DRBD资源/157
11.3 配置LVM识别DRBD资源/158
11.4 配置集群支持GFS/158
11.5 创建GFS文件系统/159
11.6 使用GFS文件系统/159
第12章 DRBD与Heartbeat的集成/161
12.1 安装Heartbeat/161
12.1.1 下载安装glue/161
12.1.2 下载安装heartbeat/163
12.1.3 下载安装agents/165
12.2 配置Heartbeat/167
12.2.1 ha.cf文件/169
12.2.2 haresources文件/175
12.2.3 authkeys文件/175
12.3 启动Heartbeat/176
12.3.1 环境部署/176
12.3.2 启动主Heartbeat/177
12.3.3 启动备用Heartbeat/180
12.4 测试Heartbeat/182
12.4.1 正常情况下访问/183
12.4.2 宕掉主节点/183
12.4.3 重新启动主节点/186
第5部分 运维案例
第13章 Pacemaker+DRBD+其他/191
13.1 安装集群软件/191
13.1.1 在CentOS 5.6系统上/191
13.1.2 在CentOS 6.3系统上/194
13.1.3 安装集群管理软件/199
13.1.4 其他设置/200
13.2 Corosync安装包/201
13.2.1 配置文件/202
13.2.2 命令参考/206
13.3 Pacemaker安装包/214
13.3.1 配置文件/216
13.3.2 命令参考/218
13.4 Crm工具/223
13.4.1 crm命令行选项/224
13.4.2 用户接口使用介绍/225
13.4.3 命令参考/233
13.5 pacemaker-cli安装包/273
13.5.1 命令参考/274
13.5.2 配置Corosync/289
13.5.3 启动Corosync/290
13.6 校验安装/292
13.6.1 校验Corosync安装/292
13.6.2 校验Pacemaker安装/293
13.7 配置服务/293
13.7.1 添加虚拟IP地址/294
13.7.2 添加Web服务/299
13.8 添加其他配置/300
13.8.1 根据需要设置STONITH设备/300
13.8.2 禁用故障恢复使用节点/300
13.9 执行Active/Passive测试/301
13.10 Pacemaker与DRBD的结合/303
13.10.1 安装DRBD/303
13.10.2 配置DRBD/309
13.11 主备切换测试/315
13.11.1 维护切换测试/315
13.11.2 故障切换测试/319
第14章 Heartbeat+DRBD+NFS/325
14.1 安装DRBD/325
14.1.1 安装DRBD 8.2.1/325
14.1.2 启动/327
14.1.3 设置为Primary端/328
14.2 使用DRBD设备/329
14.3 对Primary角色的切换/330
14.4 设置NFS/331
14.5 与Heartbeat结合/331
14.6 配置DRBD/332
14.7 客户端挂接NFS/334
14.8 故障/334
14.9 升级安装/334
14.9.1 安装DRBD 8.4.1/334
14.9.2 编辑DRBD的配置文件/335
14.10 目录结构分析/338
14.10.1 rpm安装包/338
14.10.2 tar安装包/340
14.11 用户命令/342
14.11.1 drbd/342
14.11.2 drbdsetup/348
14.11.3 drbdmeta/351
14.11.4 drbd-overview/352
14.12 对Primary角色的切换配置文件/353
14.12.1 drbd.d/353
14.12.2 global_common.conf/353
14.12.3 *.res文件/354
14.12.4 drbd.conf/355
14.13 脑裂处理/365
14.13.1 拔掉主(Primary)节点的所有网线/366
14.13.2 拔掉备用(Secondary)节点的所有网线/367
14.13.3 主(Primary)宕机/369
14.13.4 另一种情况/372
14.13.5 又一种情况/375
14.14 添加资源/376
14.14.1 添加磁盘/376
14.14.2 添加配置文件/378
14.14.3 启用资源/380
14.15 主备节点切换/383
14.15.1 运行时切换/383
14.15.2 停止DRDB服务切换/385
第6部分 图形化管理工具LCMC
第15章 认识Linux集群管理器LCMC/387
15.1 安装方式/387
15.2 下载并安装LCMC/387
15.3 运行LCMC/389
第16章 使用Linux集群管理器LCMC/390
16.1 添加机器和集群/390
16.1.1 添加主机向导/392
16.1.2 添加集群向导/395
16.2 集群管理/399
16.2.1 连接和断开集群/399
16.2.2 添加和移除集群/400
16.2.3 集群资源管理/400