两台linux完美实现双机热备【来源网络尚未实践】

【来源:http://rainbird.blog.51cto.com/211214/225541/】

一直想做基于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 [email protected]:/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的资源调度了,有了这位大管家,还有啥实现不了的服务呢?

时间: 2024-10-19 07:33:09

两台linux完美实现双机热备【来源网络尚未实践】的相关文章

U-Mail邮件系统分布式+双机热备方案确保同步稳定传输

眼下随着企业信息化建设如火如荼的推进,越来越多的企业选择自建邮件系统作为信息中转枢纽和储存档案库.员工对邮件系统的依赖和信任也带来了潜在隐患,那就是假如该系统服务器发生宕机或不可控因素而停止服务,会出现难以估量的后果. 首先让我们来看看都有哪些情况困扰着企业的通联,具体来说有这么几种: 1.停电等故障频繁发生: 2.服务器所在地互联网基础设施建设严重落后: 3.两地网络互通问题(比方说南方电信网与北方联通之间出现龃龉): 4.国际出入口带宽不稳定.延时大: 5.国家与国家之间防火墙干扰: 6.当

双机热备软件

双机热备技术已经发展了将近二十年,目前市场上的双机软件的品牌也很多,如今服务器的磁盘容量越来越大,基本能满足客户的数据存储需要,所以目前2台服务器直接做成双机热备的环境越来越多,接下来简单分析一下目前镜像方式的不同:一些品牌软件采用的是基于文件的字节级复制方式,校验需要很长时间,而且只能采用异步方式同步,不能达到实时!还有一些品牌的双机软件是基于磁盘分区的块级数据同步方式,可以做到实时同步,而且是主机的新一条数据写入并完全同步给备机才会执行下一条数据的写操作!另外建立一个关于这方面的技术讨论QQ

Linux下部署ftp双机热备 keepalived+ftp

Linux环境下FTP实现双机热备 生产环境中要实现数据存储,本下昂木使用ftp+MFS实现数据存储, 为预防鸡群中ftp单点故障,采用ftp+keepalived实现高可用 两台FTP服务器已安装完毕,且能正常访问,IP地址分别为192.168.10.192和192.168.10.193 vip设置为192.168.10.190 第一步 安装 热备服务软件: LVS: ipvsadm-1.26-3.1.i586.rpm KeepAlived: keepalived-1.2.13.tar.gz

非常强悍并实用的双机热备+负载均衡线上方案

Heartbeat+DRBD+NFS+Keepalived+Lnmp 对于网站服务器来说,可靠性之重要不用我多说,但要想做到可靠性一般需要昂贵的设备,这里最主要是就是数据同步用的共享磁盘了,磁盘柜+磁盘一共下来是20多万,这对于追求最高性价比的双机负载热备方案来说是极其不靠谱的,尤其是中小型企业,私有企业,一般经理是不会考虑这么高的成本的.我们通常做都是四台服务器+一个磁盘柜子+千兆交换机,那么这个成本下来将近30万了,而且这个方案有个弊端就是 存储依然存在单点故障,除非使用双控制+双电源+双主

​Keepalived双机热备

Keepalived双机热备 Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健检查功能,如判断LVS负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集.在非LVS群集环境中使用时Keepalived也可以作为热备软件使用. Keepalived采用VRRP(virtual  router  redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能.VRRP是

keepalived+nginx实现双机热备

keepalived是一个类似于layer3, 4, 5 交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器. 官网地址:http://www.keepalived.o

keepalived+nginx双机热备+负载均衡

keepalived+nginx双机热备+负载均衡 最近因业务扩展,需要将当前的apache 转为nginx(web), 再在web前端放置nginx(负载均衡).同时结合keepalived 对前端nginx实现HA. nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都

CentOS系统MySQL双机热备配置

1  概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个特点:一是它免费提供源码,二是爱好者可以按照自己的需要自由修改.复制和发布程序的源码,并公布在Internet上.这就吸引了世界各地的操作系统高手为Linux编写各种各样的驱动程序和应用软件,使得Linux成为一种不仅只是一个内核,而且包括系统管理工具.完整的开发环境和开发工具.应用软件在内,用户很

keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可以阅读本章,即使部分读者使用Nginx负载均衡,但是在大流量下性能相对于工作在链路层的LVS真是不能同日而语,并且LVS不仅可以实现WEB方面的负载均衡,其他诸如数据库.FTP.Mail等都可以实现. 通常对于小型网站,很多都使用单台服务器,顶多在弄个缓存服务器.数据库服务器.但是一旦流量上来,单台