• 两台Linux完美实现双机热备 2012年09月22日 18:57:30 阅读数:1844 http://www.51testing.com/html/06/n-186706-4.html 一直想做基于linux双机热备,一直没有时间和机会。一直以为只要做双机热备的实验就必须...

    两台Linux完美实现双机热备

    2012年09月22日 18:57:30

    阅读数:1844

    http://www.51testing.com/html/06/n-186706-4.html

    一直想做基于linux的双机热备,一直没有时间和机会。一直以为只要做双机热备的实验就必须两台机器外接一个存储。甚至一个月以前在学习keepalived的时候还在琢磨keepalvied去掉哪些条件可以实现双机热备。直到一个月以前设计存储方案的时候部门老大给了一个国外的链接介绍drbd+nfs实现nfs的热备方案的时候,我的眼前一亮,这不就是我一直想做的不依靠存储实现热备的解决方案吗?

      先来纠正一下自己的错误认识吧,没接触keepalived和heartbeat的时候,道听途说的认为keepalived出现以后就没有必要再用heartbeat了。在仔细学习了这两个传奇人物以后发现:keepalived是专门为高可用的集群而诞生的,而heartbeat生是双机热备的人死是双机热备的死人。

      好了,说说本文实现的原理吧。大体来说就是heartbeat+drbd。heartbeat自是不用说,用它来实现资源的统一调度;而drbd就是本文的重头戏。这一个什么东东呢?官方的东东咱就不说了。用咱们自己的话说,就是实现两台机器的两块硬盘的实时完整复制(drbd即磁盘镜像)。它的出现,解决了两台机器做双机时的数据一致性问题。

      ok,废话半天,说一下本文的实现环境:

      os:ubuntu9.04

      ip1:192.168.1.11 drbd1

      ip2:192.168.1.12 drbd2

      disk:/dev/sdb1(一个8G的分区)

      通过drbd,挂在每台机器上的sdb1这块分区将成为咱们“存储”。let's go !

      ++++++现在开始两台机器配置一样++++++

      1.设定hosts

      vi /etc/hosts

      192.168.1.11 drbd1

      192.168.1.12 drbd2

      注意:比如在1.11这台机器上。drbd1是你执行hostname命令看到的,而不是随手一写的哟:)

      2.安装并配置drbd

      1).安装drbd。

      你可以去http://oss.linbit.com/drbd/下载最新的版本。本文为了方便直接从ubuntu的源进行安装

      apt-get install drbd8-utils

      2).创建配置文件

      如果用apt-get或者yum的方式安装的话,会默认创建配置文件,而编译安装则不会。不管直接清空或改名,写入以下内容。

     

      vi /etc/drbd.conf
      common {
      syncer { rate 10M; }           #速率
      }
      resource r0 {
      protocol C;
      disk { on-io-error detach; }
      on drbd1 {                     #drbd1为第一台机器的机器名
      device /dev/drbd0;         #创建的虚拟资源
      disk /dev/sdb1;            #实际的物理分区,一定要注意,是一个单独的分区,而且是未经格式化的
      address 192.168.1.11:7788; #第一台机器的ip地址,及通讯端口
      meta-disk internal;        #类型,局域网
      }
      on drbd2 {
      device /dev/drbd0;
      disk /dev/sdb1;
      address 192.168.1.12:7788;
      meta-disk internal;
      }
      }

     

     

     3)创建资源

      drbdadm create-md r0 #r0为刚才配置文件里的资源名

      会提示三个疑问,如果你英文还可以的话,可以阅读一下,不然的话,直接回车。在终点你会看到

      success

      :)

      4)启动drbd服务

      /etc/init.d/drbd start

      cat /proc/drbd

      你应该可以看到

     

     

      注意里面我标注的"Secondary/Secondary"意思是说现在这块盘是从盘,主盘不知道。

      ++++++现在开始只在drbd1上操作++++++

      5)初始化网络硬盘

      drbdsetup /dev/drbd0 primary -o

      cat /proc/drbd

      你会发现现在已经是“Primary/Secondary”了,而且已经开始同步硬盘状态。

      为了实时的查看同步情况,你可以在drbd1上执行

      watch -n1 cat /proc/drbd

     

      同步还在进行

    经过一段时间的等待,你会发现成功完成!

    同步完成以后,在drbd2上查看硬盘状态

     

      注意磁盘状态是:“Secondary/Primary”

     

      格式化网络磁盘

      6)设置drbd开机启动

      在两台机器上都执行

      chkconfig drbd on

     

     7)手工测试drbd是不是正常工作

      在drbd1上建立3个文件

     

      在drbd2上验证结果

     

      ok,我们现在已经确定drbd是正常工作的了。也相信在这么细致的介绍下,你已经熟悉了它是怎么工作了。我们现在有了“网络存储”了。下一步就是让一个东东帮我们调度资源了。简单的几步配置有请heartbeat出场

      3.配置heartbeat

      1)安装heartbeat

      apt-get install heartbeat

      2)配置heartbeat

     

     

      vi /etc/heartbeat/ha.cf
      logfacility local0
      keepalive 2
      deadtime 10
      auto_failback off
      bcast eth0
      node drbd1 drbd2
      vi /etc/heartbeat/haresources
      drbd1 drbddisk::r0 Filesystem::/dev/drbd0::/mnt::ext3
      vi authkeys
      auth 3
      3 md5 abc
      chmod 600 authkeys

     

      3)相同的配置复制到drbd2

      scp authkeys haresources ha.cf root@192.168.1.12:/etc/heartbeat/

     

      4)确保服务都是正常运行的

      /etc/init.d/drbd start

      /etc/init.d/heartbeat start

      5)切换测试

      通过cat /proc/drbd查看drbd的状态或者mount查看/mnt是不是已经挂载确定资源所在的机器。然后在那台机器的/mnt新建立一些文件并停掉那台机器上的heartbeat。看另一台机器上/mnt是不是被自动挂载了呢?里面是不是有刚创建的文件?good luck!

      总结:基本两台linux实现的双机热备到此就要结束了。回顾一下环境:两台机器;两块独立的分区,最好是一样大,只分区,而没有格式化;linux操作系统;drbd网络磁盘;heartbeat实现资源调度;好像就这么多东西吧。可能您要说了,看完这篇文章,一点实际意义都没有,因为只是实现了共享磁盘。哈哈,我要说,要想发挥威力就要仔细的看一下heartbeat的资源调度了,有了这位大管家,还有啥实现不了的服务呢?

    展开全文
  • 一、何为双机热备? 所谓的双机热备无非就是以7X24小时不中断的为企业提供服务为目的,各种双机热备的技术很多,那么华为使用了这个共有协议的热备协议——VRRP。 华为的双机热备是通过部署两台或多台防火墙实现热备...
  • 双机热备方案设计 2019-06-04 16:42:07
    1什么是双机热备方案  双机热备就是使用互为备份的两台服务器共同执行同一服务,其中一台主机为工作机(Primary Server),另一台主机为备份机(Standby Server),保证系统不间断的运行。双机热备软件就是实现...
  • 1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说。 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器...
  • 一直想做基于linux双机热备,一直没有时间和机会。一直以为只要做双机热备的实验就必须两台机器外接一个存储。甚至一个月以前在学习keepalived的时候还在琢磨keepalvied去掉哪些条件可以实现双机热备。直到一个月...
  • Mysql双机热备linux下) 2017-12-07 00:13:06
    接续上一篇关于mysql双机热备实现原理分析,在本文经过深思熟虑和多次用不同的方式实测试后。最后在这篇文章中,用一个小例子来完成mysql双机热备的实现。 Mysql数据库没有增量备份的机制,当数据量太大的时候备份...
  • 一直想做基于linux双机热备,一直没有时间和机会。一直以为只要做双机热备的实验就必须两台机器外接一个存储。甚至一个月以前在学习keepalived的时候还在琢磨keepalvied去掉哪些条件可以实现双机热备。直到一个月...
  • 一、何为双机热备? 所谓的双机热备无非就是以7X24小时不中断的为企业提供服务为目的,各种双机热备的技术很多,那么华为使用了这个共有协议的热备协议——VRRP。 华为的双机热备是通过部署两台或多台防火墙实现热备...
  • 一、概述双机热备指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备。双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-...
  • mysql双机热备的实现 2016-11-17 17:52:16
    接续上一篇关于mysql双机热备实现原理分析,在本文经过深思熟虑和多次用不同的方式实测试后。最后在这篇文章中,用一个小例子来完成mysql双机热备的实现。 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是...
  •  RoseHA双机系统的两台服务器(主机)都与磁盘阵列(共享存储)系统直接连接,用户的操作系统、应用软件和RoseHA高可用软件分别安装在两台主机上,数据库等共享数据存放在存储系统上,两台主机之间通过私用心跳网络...
  • 双机热备是什么意思?为什么要用双机热备双机热备有哪些种类?包含了哪些双机热备软件?下面就来简单地说说。 什么是双机热备? 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。...
  • Keepalived的热备方式 基于VRRP热备份协议,以软件的方式实现Linux服务器的多机热备份功能。是通过共有的虚拟IP地址(VIP)对外提供服务;每个热备组内只能有一个服务器提供服务,其他服务器处于冗余状态,若当前...
  • 这里我们仅仅只利用Keepalive做双机热备,也就是保证服务器的高可用性,其他的不用管。可能您会说这样在实际应用中很少会这样用,这您可就错了,Keepalived仅仅做双机热备的情况还是有的,我就碰到过几次这样的案例...
  • Rose HA 双机热备软件概述 在双机热备(或称双机容错)的架构中,除了要考虑切换时间外,要根据每个系统的作业环境,包括网路系统是单网或是双网,数据库的安装和作业内容及用户端的设备是经由广域网路、区域网路...
1 2 3 4 5 ... 20
收藏数 2,505
精华内容 1,002