DRBD工作原理及安装配置.doc_第1页
DRBD工作原理及安装配置.doc_第2页
DRBD工作原理及安装配置.doc_第3页
DRBD工作原理及安装配置.doc_第4页
DRBD工作原理及安装配置.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DRBD工作原理及安装配置1. DRBD的工作原理DRBD是一种块设备,它相当于一个网络的RAID-1的功能,通过牺牲存储容量的方式提高其可靠性,可以被用于高可用(HA)中。DRBD的实施是通过两个节点的网络同步实现的,当你将数据写入到本地的文件系统中时,通过网络将这部分数据同步到另外一个节点中,该节点会保存一份与主节点一模一样的数据,当主节点出现问题时该节点中保存的数据还可以继续使用。目前,DRBD每次只允许一个节点进行读写访问,但是这种方式对于平常的故障切换来说已经足够用了,在以后的版本中可能会支持两个节点进行存储读写。2. DRBD的复制模式DRBD的复制模式有以下三种:模式一:异步复制模式。该模式是在本地磁盘写入完成后,再将数据包发送给备份节点,当数据包在发送队列中时,系统默认写入完成。在这种模式下,如果节点发生故障,而远程的数据包仍在发送队列时,可能发生数据丢失。模式二:内存同步复制模式。一旦本地磁盘写入完成,并且数据包已经到达备份节点,在系统默认写入完成。在这种模式下,如果两个节点同时出现故障时,会发生数据丢失,因为在内存中的数据可能还没有被写入到磁盘中。模式三:同步复制模式。该模式下,只有在本地和远程节点的磁盘都写入完成时,系统默认同步完成。在这种模式下不会出现数据丢失,这是目前普遍使用的一种模式,但是该模式比较依赖于网络的带宽,影响网络流量。3. 安装配置l 准备环境配置两台虚拟机,配置好IP地址(我配置的是192.168.20.107和192.168.20.108),关闭防火墙和selinux,配好yum源和epel仓库。l 在两台机器上各加一块新的硬盘通过fdisk l命令查看所有磁盘和分区情况,在实验中可以看到新分配到的硬盘,本实验中分别在两台机器中添加了两块500G的磁盘。l 安装drbd通过yum install drdb* 命令安装drbd,如果无法yum安装可以通过手动安装,下载drbd和drbd-kmdl这两个rpm文件,切换到存放这两个文件的目录下,执行 yum install drbd*。注:下载的drbd和drbd-kmdl两个文件的版本必须一致,例如:drbd-8.4.3-33.el6.x86_64drbd-kmdl-2.6.32-431.el6-8.4.3-33.el6.x86_64尤其是drbd-kmdl中的前一部分2.6.32-431-el6这个是操作系统的版本,切换到boot目录下面即可看到。drbd-kmdl中的后一部分是drbd的版本,这两个需要一致。检查安装是否完成:rootsrv107 export# modprobe -l | grep -i drbdupdates/drbd.korootsrv107 export# ls /sbin/drbd*/sbin/drbdadm /sbin/drbdmeta /sbin/drbdsetupl 配置DRBD首先修改主机名,两台机器的环境如下:hostname:srv107.localdomain192.168.20.107hostname:srv108.localdomain192.168.20.108在两台机器的hosts文件中添加如下内容,可以互相解析:192.168.20.107 srv107.localdomain192.168.20.108 srv108.localdomain修改DRBD的配置文件rootsrv107 export# vi /etc/drbd.conf # You can find an example in /usr/share/doc/drbd./drbd.conf.exampleinclude drbd.d/global_common.conf;include drbd.d/*.res;修改global_common.conf文件内容如下:1. global2. usage-countno;3. 4. common5. protocolC;6. startup7. wfc-timeout15;8. degr-wfc-timeout15;9. outdated-wfc-timeout15;10. 11. disk12. on-io-errordetach;13. fencingresource-only;14. 15. net16. cram-hmac-algsha1;17. shared-secret123456;18. 19. syncer20. rate100M;#数据传速速率依据各自的情况修改21. 22. 创建一个drbd.res文件内容如下:1. resourcexserver2. meta-diskinternal;3. device/dev/drbd0; #device为drdb的应用层设备4. onsrv107.localdomain 5. address192.168.20.107:7789;6. disk/dev/sdb;7. 8. onsrv108.localdomain9. address192.168.20.108:7789;10. disk/dev/sdb;11. 12. 将同样的配置拷贝到另外一台机器上:scp /etc/drbd.conf 192.168.20.108:/etc/drbd.confscp /etc/drbd.d/* 192.168.20.108:/etc/drbd.d/l 在两台机器上创建drbd元数据信息:(初始化资源)rootsrv5 # drbdadm create-md allWriting meta data.initializing activity logNOT initialized bitmapNew drbd meta data block successfully created.l 启动服务service drbd start在两台机器上用下面的命令drbd-overview或者cat /proc/drbd查看,发现都是Secondary 备份状态rootsrv107 export# cat /proc/drbd version: 8.4.3 (api:1/proto:86-101)GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by gardner, 2013-11-29 12:28:00 0: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r- ns:532602788 nr:8 dw:8330832 dr:524274678 al:2276 bm:31998 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0l 选择一个主节点,执行以下命令drbdadm - -overwrite-data-of-peer primary all此时可以看到两个节点在同步,同步完成后可以看到如下结果:rootsrv107 export# cat /proc/drbd version: 8.4.3 (api:1/proto:86-101)GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by gardner, 2013-11-29 12:28:00 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-ns:532602788 nr:8 dw:8330832 dr:524274678 al:2276 bm:31998 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0l 挂载在主节点上执行以下命令:mkfs.ext3 /dev/drbd0mkdir /exportmount /dev/drbd0 /exportl 测试在主节点上切换到export目录下echo a file created in server107 test在备份节点上执行以下命令:mkdir /exportmount /dev/drbd0 /export此时发现无法mount,是因为不能再secondary端mount该硬盘。所以将主备节点对调测试是否完成同步。切换到主节点,执行以下命令:umount /export 取消mountdrbdadm secondary all 将主节点变成备用节点切换到备用节点,执行以下命令:drbdadm primary all 将备份节点变成主节点mount /dev/drbd0 /export 挂载目录此时切换到export目录下即可看到同步的内容test文件使用时通过 drbdadm cstate drbd命令可以看到资源的连接状态资源连接状态可能有以下几种:StandAlone 独立的:网络配置不可用;资源还没有被连接或是被管理断开(使用 drbdadm disconnect 命令),或是由于出现认证失败或是脑裂的情况Disconnecting 断开:断开只是临时状态,下一个状态是StandAlone独立的Unconnected 悬空:是尝试连接前的临时状态,可能下一个状态为WFconnection和WFReportParamsTimeout 超时:与对等节点连接超时,也是临时状态,下一个状态为Unconected悬空BrokerPipe:与对等节点连接丢失,也是临时状态,下一个状态为Unconected悬空NetworkFailure:与对等节点推动连接后的临时状态,下一个状态为Unconected悬空ProtocolError:与对等节点推动连接后的临时状态,下一个状态为Unconected悬空TearDown 拆解:临时状态,对等节点关闭,下一个状态为Unconected悬空WFConnection:等待和对等节点建立网络连接WFReportParams:已经建立TCP连接,本节点等待从对等节点传来的第一个网络包Connected 连接:DRBD已经建立连接,数据镜像现在可用,节点处于正常状态StartingSyncS:完全同步,有管理员发起的刚刚开始同步,未来可能的状态为SyncSource或PausedSyncSStartingSyncT:完全同步,有管理员发起的刚刚开始同步,下一状态为WFSyncUUIDWFBitMapS:部分同步刚刚开始,下一步可能的状态为SyncSource或PausedSyncSWFBitMapT:部分同步刚刚开始,下一步可能的状态为WFSyncUUIDWFSyncUUID:同步即将开始,下一步可能的状态为SyncTarget或PausedSyncTSyncSource:以本节点为同步源的同步正在进行SyncTarget:以本节点为同步目标的同步正在进行PausedSyncS:以本地节点是一个持续同步的源,但是目前同步已经暂停,可能是因为另外一个同步正在进行或是使用命令(drbdadm pause-sync)暂停了同步PausedSyncT:以本地节点为持续同步的目标,但是目前同步已经暂停,这可以是因为另外一个同步正在进行或是使用命令(drbdadm pause-sync)暂停了同步VerifyS:以本地节点为验证源的线上设备验证正在执行VerifyT:以本地节点为验证目标的线上设备验证正在执行通过 drbdadm dstate drbd可以看到硬盘的连接状态,正常应该如下:rootnod1 # drbdadm dstate drbdUpToDate/UpToDate本地和对等节点的硬盘有可能为下列状态之一:Diskless 无盘:本地没有块设备分配给DRBD使用,这表示没有可用的设备,或者使用drbdadm命令手工分离或是底层的I/O错误导致自动分离Attaching:读取无数据时候的瞬间状态Failed 失败:本地块设备报告I/O错误的下一个状态,其下一个状态为Diskless

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论