当前位置:首页 > 心得体会 > 基于DRBD的数据热备程序的分析与部署:数据库热备
 

基于DRBD的数据热备程序的分析与部署:数据库热备

发布时间:2019-04-03 05:56:23 影响了:

  摘要:中小企业信息系统的建设日渐完善,对应用程序数据的热备要求也更加强烈,但其信息化资金有限,很难采用大型的集成商的数据热备软件。文章采用最少的资金投入实现数据热备的方法,通过对开源的分布式块设备复制系统进行分析和部署,实现小投资大回报。
  关键词:开源软件;DRBD;数据热备
  中图分类号:TP311     文献标识码:A     文章编号:1009-2374(2012)23-0084-03
  1 概述
  开源软件是描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。DRBD(Distributed Replicated Block Device)是就运行在Linux上开源的分布式块设备复制脚本。它通过块设备构建高可用的集群。通过系统内核模块和相关脚本实现。通过网络将整个块设备进行镜像实现数据存储的高可用性。可以看成是网络版的RAID1。该软件通过通用公共许可证(GNU GPL)发布,用户在许可协议允许的范围内自由分发和修改,使低成本的数据热备成为可能。在中小企业的信息化中,DRBD的优势得到体现。本文重点介绍了DRBD的原理和部署,通过对DRBD的原理的分析,以最小的投资完成高可用的服务器集群建设,保障数据安全、稳定。
  2 DRBD简介
  DRBD其实是介于文件系统和磁盘硬件之间的中间件。DRBD负责接收要写入文件系统的数据,并把数据写到本地磁盘,然后通过网络发送给另一台主机。另一台主机在DRBD守护进程的作用下再将接收到的数据存到自己的磁盘中。如图1所示为DRBD在Linux的I/O栈中的位置。
  图1 DRBD在Linux的I/O栈中的位置
  2.1 DRBD的工作流程
  在图1中,从结构的底层开始,两台主机的网卡通过互联网或线缆相连,实现物理上和逻辑上的通信链路,该链路是基于TCP/IP协议的;它使两个DRBD守护进程进行通讯,实现同步;DRBD通过磁盘缓存对磁盘进行操作,而文件系统及其他祼设备会将DRBD认定为块设备,通过对块设备进行操作,实现对磁盘的操作,为了提高处理的效率,文件系统在操作块设备的过程中,引入缓存机制达到高效的写入效果。
  2.2 DRBD的运行状态
  运行DRBD的设备设定有一种状态类型,可能是“主”状态或“次”状态。节点处于“主”状态时,设备(/dev/drbdX)是可以访问的。在运行数据写入的过程中,数据被写入到本地的磁盘的同时,被发送到设备状态设定为“次”的主机上,并被写入其相对应的磁盘中。“次”设备只是简单地把接收到的数据写入到自己的磁盘中。而数据的读取同样也只有在标识状态为“主”的一端进行。在DRBD的8.0及以后的版本中,支持两种的主从关系模式,主要有单主模式和双主模式。上面已经介绍过的就是单主模式,DRBD的双主模式是8.0及以后的版本才支持的,而且需要特别配置,它主要是用于负载均衡集群中,两个节点并发访问数据而设
  计的。
  2.3 DRBD的复制模式
  DRBD有三种复制同步方式,分别是异步复制协议、内存同步复制协议(也称半同步复制协议)以及同步复制协议。异步复制协议配置协议为A,它是在主节点将数据写入到本地TCP发送缓存区的时候就将同步数据发送到次节点上。如此一来同步的速度较快,但是在发生故障的时候,就会引起数据丢失。造成故障发生前的数据是一致的,而处于缓存的数据完全丢失。内存同步复制协议配置协议为B,为了尽快完成数据的同步,在主节点上进行写操作时,就认为本地磁盘的写入和次节点的数据写入已经同步完成,而事实是数据还在内存中等待实际的写入。如此一来,在没有实际完成写入的时候故障就会造成内存数据丢失。正常情况下,停电或故障都会造成两边的数据同步被破坏。同步复制协议配置协议为C,在主节点上的写操作是在主次磁盘写入已被证实后才确认同步完成。这就保证了数据同步在两端完成,不会因为故障而造成同步失效,引起数据的不一致。即使有数据丢失,主次两端的数据还是一致的。因此,在DRBD技术设置最常用的复制协议是协议C。
  2.4 DRBD 的优点
  目前现行的多数高可用性集群系统使用的是共享存储器(如HP的存储),存储器通过共享的SCSI总线或光纤通道连接多个节点。而DRBD作为一个类似共享的设备时,不需要特别的硬件支持。作为开源的软件,DRBD的使用不收取费用。在运行的过程中,DRBD运行时对处理器和内存资源的使用相对较小,能减少服务器负担。
  3 DRBD的部署与应用
  图2 DRBD部署图
  为了保障数据存储的安全性和高可用性,通常用两台硬件配置一样的服务器作为硬件服务平台(如图2)。通过配置高可用集群(high availability clusters)进行主次状态和服务程序开关的切换。高可用集群简称为HA,它主要是守护进程Hearbeat监测系统服务的运行状态,当HA监测到DRBD主服务停止后,次状态服务器在HA的作用下自动转为主状态,通过运行脚本的起动,将/dev/drbdx进行挂载使用,并启动相应的服务进程,从而保证应用服务不间断。在Linux系统下安装DRBD相对简单,但也存在以下需要注意的
  问题。
  3.1 系统的准备
  通常Linux操作系统安装后,要安装DRBD需要重新编译内核或增加块设备支持模块。重新编译内核的工作量较大,建议通过加载DRBD内核模块来实现,加载命令为:
  #Modprobe drbd
  同时还需要在hosts中添加主机名和IP信
  息。如:
  #vi/etc/hosts
  增加以下两行:
  10.1.1.4 drbd1
  10.1.1.5 drbd2
  完成这些准备工作后,可以开始配置DRBD的配置文件drbd.conf。
  3.2 使用DRBD

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3