`

两台linux完美实现双机热备

阅读更多

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

      先来纠正一下自己的错误认识吧,没接触keepalived和heartbeat的时候,道听途说的认为keepalived出现以后就没有必要再用heartbeat了。在仔细学习了这两个传奇人物以后发现:keepavled是专门为高可用的集群而诞生的,而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的资源调度了,有了这位大管家,还有啥实现不了的服务呢
分享到:
评论

相关推荐

    linux下免费的双机热备软件

    双机热备的核心是心跳检测机制,两台服务器通过发送心跳信号来确认对方的状态。正常情况下,主服务器处理所有请求,备份服务器处于待机状态。一旦主服务器心跳停止,备份服务器会立即接管服务,实现零中断的切换。 ...

    双机热备方案及双机热备软件选择

    这两台服务器分别为主服务器和备用服务器,它们的数据通过ServHA镜像双机热备软件(ServHAMirror)实现实时同步,保证两台服务器上的数据完全一致。 **2.2.2 镜像双机热备方案软硬件要求** - **硬件要求**:需要两...

    SpringBoot项目中利用Redis实现系统双活_双机热备

    SpringBoot项目中利用Redis实现系统双活和双机热备是一种常见的解决方案,旨在提高服务的容错能力,防止单点故障影响整个系统的运行。本文将深入探讨如何在SpringBoot项目中配置和利用Redis来实现这一目标。 首先,...

    keepalived + redis 实现双机热备

    标题 "keepalived + redis 实现双机热备" 涉及到的是在IT行业中构建高可用性系统的关键技术。keepalived 和 redis 是两个关键组件,它们一起工作以确保服务的持续运行,即使在主服务器故障时也能无缝切换到备份...

    Centos 7.4 DHCP 双机热备

    DHCP 配置是双机热备系统的核心部分,我们需要在两台服务器上都进行配置: 4.1. 主 DHCP 上,修改 /etc/dhcp/dhcpd.conf 配置文件,添加 DHCP 作用域: 在主 DHCP 服务器上,执行以下命令:vim /etc/dhcp/dhcpd....

    基于Linux的双机热备系统研究与设计.pdf

    双机热备的基本原理是,在两台互相备份的服务器上同时运行相同的服务,一台作为主机工作,另一台作为备机监控主机状态。正常情况下,主机对外提供服务,备机处于待命状态。当主机发生故障时,备机能够快速接管服务,...

    Linux双机热备实验

    ### Linux双机热备实验详解 #### 一、双机热备概念与重要性 双机热备,也称为高可用性集群(High Availability Cluster),是一种通过两台或多台服务器协同工作来提供不间断服务的技术。当主服务器发生故障时,...

    oracle数据库双机热备安装手册.pdf

    Oracle 数据库双机热备是指在两台服务器之间实现数据库的自动切换,以确保数据库的高可用性。当一台服务器出现故障时,另一台服务器自动接管服务,保障数据库的正常运行。 知识点2: MSCS(Microsoft Cluster ...

    VMware双机热备配置(Heartbeat)

    VMware双机热备配置是一种确保高可用性的重要技术,通过Heartbeat机制实现两台服务器之间的实时监控和切换,以保证关键业务的连续运行。在VMware环境下,双机热备能够有效避免单一服务器故障导致的服务中断,提高...

    linux基于keepalived的mysql双机热备实现方案(详细过程完整版)

    1. 在两台Linux服务器上安装MySQL数据库: - 从官网下载MySQL安装包,上传至服务器的/opt/目录。 - 给安装包分配755权限并解压。 - 使用RPM包管理器安装MySQL,包括server、client、devel等组件。 六、...

    Linux双机热备实验.pdf

    4. **双机热备(HA)和心跳(heartbeat):** 在Linux双机热备实验中,心跳检测是实现HA的关键技术,通常用heartbeat软件来实现。heartbeat负责监控集群中各节点的状态,一旦发现某个节点出现问题,它可以迅速将服务...

    利用Heartbeat实现双机热备配置

    本文将详细介绍如何利用Heartbeat在两台Linux服务器之间搭建双机热备系统。 #### 二、Heartbeat双机热备环境准备 ##### 1. 硬件环境 - **虚拟化平台**:VMware - **操作系统**:Red Hat AS4 - **Heartbeat版本**...

    Linux上实现oracleHA双机热备

    ### Linux上实现Oracle HA双机热备的关键知识点 #### 一、实施环境说明与拓扑设计 **实施说明**:本文档旨在详细说明如何在Linux环境下实现Oracle HA(高可用性)双机热备方案。该方案利用了Red Hat Cluster Suite...

    双机热备方案(RoseHA)

    RoseHA是是一种热备软件,能够实现双机热备,提供高可用性和高可靠性的服务器解决方案。 热备技术分类 热备技术是指在服务器系统中,使用多台服务器来提供高可用性的技术。热备技术可以分为共享磁盘、镜像磁盘和非...

    双机热备下ORACLE的安装方法

    1. **双机热备**: 双机热备是指在两台服务器之间进行数据同步,当主服务器发生故障时,备用服务器能够立即接管工作,确保服务不间断。在这种环境中,Oracle数据库的配置必须确保两台服务器不会同时访问共享资源,...

    Linux上的heartbeat双机热备服务架设

    在Linux系统中,心跳(Heartbeat)是一种用于实现双机热备(High Availability,简称HA)的服务,确保关键服务在一台服务器出现故障时能够迅速切换到另一台备用服务器上,从而保证系统的高可用性和稳定性。...

    IBM双机热备方案

    - **高可用性**: 双机热备方案通过两台服务器互相备份,能够在一台服务器发生故障时迅速切换到另一台,从而实现高可用性。 - **故障自动切换**: 当主服务器出现故障时,备份服务器会自动接管主服务器的工作,确保...

    Redhat linux双机热备

    总的来说,Redhat Linux双机热备通过HeartBeat的监控和DRBD的数据同步,实现了高可用性的部署。这种方案特别适用于中小型企业,可以保护关键服务免受单点故障的影响,确保业务的连续性和稳定性。

    svn服务用svnsync命令双机热备

    在SVN环境中实现双机热备,主要是利用`svnsync`工具进行数据同步,保证两台服务器上的版本库保持一致。 #### 实现步骤 1. **创建目标目录** 首先在备用服务器上创建一个与主服务器版本库结构相同的目录,并初始...

Global site tag (gtag.js) - Google Analytics