DRDB分布式复制块设备

上传人:桔**** 文档编号:490370749 上传时间:2023-10-09 格式:DOCX 页数:11 大小:57.51KB
返回 下载 相关 举报
DRDB分布式复制块设备_第1页
第1页 / 共11页
DRDB分布式复制块设备_第2页
第2页 / 共11页
DRDB分布式复制块设备_第3页
第3页 / 共11页
DRDB分布式复制块设备_第4页
第4页 / 共11页
DRDB分布式复制块设备_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《DRDB分布式复制块设备》由会员分享,可在线阅读,更多相关《DRDB分布式复制块设备(11页珍藏版)》请在金锄头文库上搜索。

1、DRDB一、DRBD简介分布式复制块设备(DRBD, Dis tribu ted Replica ted Block Device )是一种基 于Linux的软件组件,它是由内核模块和相关程序而组成的,通过网络镜像促 进共享存储系统的替换。也就是说:当你将数据写入本地的DRBD设备上的文件 系统时,数据会同时被发送到网络中的另外一台主机之上,并以完全相同的形式 记录在一个文件系统中(实际上文件系 统的创建也是由DRBD的同步来实现的)。 本地节点(主机)与远程节点(主机)的数据可以保证实时的同步,并保证IO 的一致性。所以当本地节点的主机出现故障时,远程节点的主机上还会保留有一 份完全相同的数

2、据,可以继续使用,以达到高可用的目的。在高可用(HA)解决方案中使用DRBD的功能,可以代替使用一个共享盘阵存储设 备。因为数据同时存在于本地主机和远程主机上,在遇到需要切换的时候,远程 主机只需要使用它上面的那份备份数据,就可以继续提供服务分布式复制块设备(DRBD)是在90年代末由Philipp Reisner和Lars Ellenberg 设想和开发的。开发者是为了创建一个Linux安全标准,以最低成本提供最佳的 安全保障。分布式复制块设备的当前版本可以与 Linux 的普通版本一起使用, 用于在被动系统和主动系统之间进行存储数据的同步复制。数据可以在两个系统 同时读取和输入。分布式复制

3、块设备还支持资源级别防护。分 布式复制块设备(DRBD)工程与一组称为Heartbeat的管理程序一起使用。它已经被收集到Linux 的一些发行版中,目前流行的Linux中只有Centos有预编译好的安装包和对应 内核。分布式复制块设备(DRBD)是LINBIT信息技术有限责任公司的一个注册商标, 总部设在奥地利维也纳。该软件已通过通用公共许可证(GNU GPL)发布,它可 以在许可协议允许的范围内自由分发和修改。二、DRBD的工作原理理解DRBD其实就是网络RAID-1,二台服务器中就算其中的某台因电源或主板损 坏而宕机而对数据无任何影响(可以用硬盘RAID-1来理解DRBD),而真正的热切

4、 换可以通过 Heartbeat 来实现,这样切换过程跟 Keepalived 类似,是非常短及 不需要人为干预的。三、DRBD的使用DRBD 需要构建在底层设备之上,然后构建出一个块设备出来。对于用户来说, 一个DRBD设备,就像是一块物理的磁盘,可以在商脉内创建文件系统。DRBD所 支持的底层设备有以下这些类:(1)一个磁盘,或者是磁盘的某一个分区(2)一个 soft raid 设备(3)一个 LVM 的逻辑卷(4)一个 EVMS (Enterprise Volume Management System,企业卷管理系统) 的卷(5)其他任何的块设备 我们的线上环境采取的第一种,即用单独的磁

5、盘来做的 DRBD。四、DRBD的配置过程 我查阅了网上大量的教程类文间,感觉写得不算是详细;今天我登陆到服务器上, 发现我的DRBD+Heartbeat已经稳定运行了 161天(海量图片文件服务器),相当 的稳定和高效。如果没有线上环境的同学也不要着急,大家完全可以根据我的文 章用VMware works tat ion6.0+Cen tos5.x系统实现这个实验,达到熟练掌握的目 的。需要注意的地方我会重点说明,整个测试过程参考生产服务器。服务器1: ,单独拿一块硬盘sdb作DRBD服务器2: ,单独拿一块硬盘sdb作DRBD网络拓补很简单: eth0:192.168.4.191,物理 b

6、ridge 连接,eth1:10.0.0.1, 这个可以采用虚拟网段 VM eth0:192.168.4.192,物理 bridge 连接,eth1:10.0.0.2, 这个可以采用虚拟网段 VM5VIP:192.168.4.194,这个是通过 Heartbeat 来实现的,原理跟 Keepalived类似,它通过在某台服务器的eth0:0上绑定,如果遇到故障就转移,达到高HA 的目的;这个同时也是对外提供服务的 IP。Hosts 的配置在二台机器上一样,不需要太复杂,只配置心跳部分即可,即: 192.168.4.191 192.168.4.192 centos2另外关于时间同步一说,蛮多哥

7、哥说要nt pda te,其实也没什么必要;不过为了 线上环境的严谨,这步就做一下吧, ntpdate ntp.api.bz。DRBD的安装和配置DRBD 官方网站:http:/www.linux-ha.org/DRBD源码下载地址:http:/ http:/www.linux-ha.org/DRBD/FAQ目前流行的Linux中只有Centos有预编译好的安装包和对应内核.如果不想用 Centos 可以选择从源码安装.DRBD有两种安装模式:直接编译进内核或作为一个可加载的内核模块编译.以下使用的是CentOS 5.2 i386系统安装与测试:1. 安装依赖库.yum install gcc

8、 gcc-c+ make glibc flex2. 在primary和secondary上都使用相同的安装方法:1. tar zxvf drbd-8.0.6.tar.gz2. cd drbd-8.0.63. make4. /make KDIR=/usr/src/linux *内核所在的位置*, 如果没有更改内核 可5. /直接运行make,软件会直接到/lib/module里边去寻找系统环境,6. /如果是新的内核需要对内核进行编译安装,否则make时候会错误中 断掉.7. make install3. 安装完主要生成命令: “drbdsetup”, “drbdadmin”和配置文件: /et

9、c/drbd.conf启动文件: /etc/init.d/drbd模块文件:drbd.ko (在编译好的安装包目录下的drbd下可以找到)1. ls /lib/modules/2.6.18-128.el5/kernel/drivers/block/2. cpqarray.ko drbd.ko nbd.ko sx8.ko所有命令和配置文件都可以在源码包编译成功的目录下面找到./scrip ts/drbd.conf是最原始的配置文件,当/e tc/drbd.conf被破坏,可以 直接拷贝覆盖掉.4. drbd采用的是模块控制的方式,所以先要加载drbd.ko模块.1. modprobe drbd2

10、. 查看drbd模块是否已经加载到内核中了:3. lsmod | grep drbd4. drbd 226352 2/有的话表示加载模块成功.5. 先确认两台要镜像的机器是否正常, 之间的网络是否通畅, 需要加载的硬盘 是否处于umount状态.6. 在两台主机上都创建硬件设备drbd.1. mknod /dev/drbd0 b 147 02. /mknod /dev/drbd1 b 147 13. /mknod /dev/drbd2 b 147 2 如需多个 drbd 设备则依次去创建.7. 二台机器将/dev/sdbl互为镜相(两台机器配置相同).1. yum -y install por

11、tmap2. yum -y install nfs3. mkdir /d/创建共享目录.4. vim /etc/exports5. /d 10.1.2.0/255.255.252.0(rw,no_root_squash,no_all_squash,syn c)6. /etc/init.d/portmap start7. chkconfig - level 3 portmap on8. chkconfig - level 3 nfs off9. /nfs 不需要启动, 也不需要设置成开机自动运行, 这些都将由后面的 heartbeat 来完成.8. 配置 drbd.DRBD运行时,会读取一个配置

12、文件/etc/drbd.conf.这个文件里描述了 DRBD设备与硬盘分区的映射关系,和DRBD的一些配置参数1. rootcentos1 # cat /etc/drbd.conf2. #创建一个资源,名字叫 r03. resource r0 4. protocol C;5. #采用C协议,表示收到远程主机的写入确认后,则认为写入完成。6. startup wfc-timeout0;degr-wfc-timeout 120; 7. disk on-io-errordetach;8. net 9.timeout 60;10.connect-int 10;11.ping-int 10;12.max

13、-buffers 2048;13.max-epoch-size 2048;14.1. syncer rate 30M; 2. #设置主备节点同步时的网络速率最大值3. on 4. device/dev/drbd0;5. disk/dev/sdb;6. address 10.0.0.1:7788;7. meta-disk internal;8. 9. on 10. device/dev/drbd0;11. disk/dev/sdb;12. address10.0.0.2:7788;13. meta-diskinternal;14. 15. 16. #每个主机的说明以on开头,分别是各自的主机

14、名,再后面的为这个主机的配置;监听端口为79. drbd的启动,激活前面配置的drbd资源“r0.(两个节点都要执行)在启动DRBD之前,你需要分别在两台主机的hdbl分区上,创建供DRBD记录信息 的数据块.分别在两台主机上执行:1. rootcentosl /# drbdadm create-md r0/创建 r0 的资源,r0是我们在drbd.conf里定义的资源名称.2. rootcentos2 /# drbdadm create-md r0现在可以启动drbd 了,分别在两台主机上执行.1. rootcentos1 /# /etc/init.d/drbd start #我喜欢用 service drbd start2. rootcentos2 /# /etc/init.d/drbd start设置drbd开机自动启动.1. rootcentos1 /# chkconfig -add drbd2. rootcentos2 /# chkconfig -add drbd现在可以查看drbd当前的状态,然后在centos1上执行:1. rootcentos1 /# cat /proc/drbd2. version: 8.0.0 (api:86/proto:86)3. SVN Revision: 2713 build by rootcentos1, 2008-06-2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号