- 浏览: 1318427 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (351)
- Java General (37)
- .net General (2)
- Linux Toy (55)
- Oracle (81)
- Mysql (11)
- Programer Career (12)
- Oh, my living ! (2)
- Shell Script (8)
- Web Service (0)
- Linux Server (22)
- Php/Python/Perl (3P) (2)
- Javascript General (5)
- Saleforce Apex Dev (2)
- Web General (5)
- Xen & VM tech. (17)
- PSP (13)
- OpenSolaris (34)
- php (1)
- RAI/flex/action script (16)
- asterisk/CTI (7)
- 交互设计 (6)
- English (3)
- Lucene (1)
最新评论
-
GuolinLee:
markmark
JVM调优总结 -Xms -Xmx -Xmn -Xss -
di1984HIT:
写的太好啊。
JVM调优总结 -Xms -Xmx -Xmn -Xss -
javajdbc:
javajdbc 写道
JVM调优总结 -Xms -Xmx -Xmn -Xss -
javajdbc:
...
JVM调优总结 -Xms -Xmx -Xmn -Xss -
alvin198761:
非常感谢,国外的被封杀了,你这里还有一份
How to Convert An Image-Based Guest To An LVM-Based Guest
一直想做基于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的资源调度了,有了这位大管家,还有啥实现不了的服务呢
发表评论
-
扩大虚拟机硬盘空间的方法
2010-11-18 07:53 2141虚拟机是Xen,但同样适用于KVM. 虚拟机硬盘格式为raw. ... -
挂载虚拟机镜像文件里的 LVM 逻辑分区
2010-10-08 10:52 2325如果按照 “在 CentOS ... -
apache 设置中的两个指令 EnableMMAP/EnableSendfile
2010-06-29 21:18 14021apache 中的目录为 windows 共享文件夹时,出 ... -
squid server
2010-03-25 23:01 1544For fine control you may need t ... -
lvm on xen
2010-03-25 22:18 1522Moving a Xen Guest into an LVM ... -
apache 的模块安装
2010-01-23 13:18 3706Apache HTTP服务器是一个模块化的软件,管理员可以通过 ... -
redmine & ruby 在ubuntu 上的安装笔记
2009-12-05 11:07 2509edmine & ruby 在ubuntu 上的安装笔 ... -
windows 无盘机,更新主机名.
2009-11-11 22:03 1369同用一个镜像的无盘机,开机后更新主机名. 写个run. ... -
如何用ssh挂载远程目录
2008-10-30 11:09 1651如何用ssh挂载远程目录 ... -
How to userspace l7 filter on Ubuntu
2008-10-23 08:00 2872How to userspace l7 filter on ... -
Ubuntu 中 apache2+tomcat+mod_jk
2008-09-05 07:45 23571. 分别下载jdk和tomcat, 不建议使用源里的包,因为 ... -
Virtual Hosting With Proftpd And MySQL (Incl. Quot
2008-07-07 17:48 1797This document describes how ... -
Differences Between NFS and iSCSI
2008-06-27 09:44 1404NFS and iSCSI provide funda ... -
Ssh 无密码登录的怪问题
2008-06-23 14:21 1801今天为做Oracle RAC 做ssh的免密码登陆,出现也这个 ... -
dovecot + postfix + postfixadmin 建立mail服务器中的几个事项
2008-05-27 22:48 13725我是新手! 第一次建 ... -
在UBUNTU里安装SquirrelMail邮件服务器
2008-05-27 10:24 2577我没有在UBUNTU里安装过S ... -
查看 apache2 安装了哪些模块
2008-05-26 15:23 5324root@ubuntu-idc:/# apache2ctl - ... -
使用mod_cband管理Apache 2带宽和流量
2008-02-28 22:24 1930About the module mod_cband is ... -
Apache 1.3 基于IP限制带宽
2008-02-28 14:17 1779安装步聚: /usr/local/apache/bin/ ... -
ruby on rails应用性能优化之道
2008-01-24 11:54 3598JavaEye网站从2006年9月11 ...
相关推荐
双机热备的核心是心跳检测机制,两台服务器通过发送心跳信号来确认对方的状态。正常情况下,主服务器处理所有请求,备份服务器处于待机状态。一旦主服务器心跳停止,备份服务器会立即接管服务,实现零中断的切换。 ...
这两台服务器分别为主服务器和备用服务器,它们的数据通过ServHA镜像双机热备软件(ServHAMirror)实现实时同步,保证两台服务器上的数据完全一致。 **2.2.2 镜像双机热备方案软硬件要求** - **硬件要求**:需要两...
SpringBoot项目中利用Redis实现系统双活和双机热备是一种常见的解决方案,旨在提高服务的容错能力,防止单点故障影响整个系统的运行。本文将深入探讨如何在SpringBoot项目中配置和利用Redis来实现这一目标。 首先,...
标题 "keepalived + redis 实现双机热备" 涉及到的是在IT行业中构建高可用性系统的关键技术。keepalived 和 redis 是两个关键组件,它们一起工作以确保服务的持续运行,即使在主服务器故障时也能无缝切换到备份...
DHCP 配置是双机热备系统的核心部分,我们需要在两台服务器上都进行配置: 4.1. 主 DHCP 上,修改 /etc/dhcp/dhcpd.conf 配置文件,添加 DHCP 作用域: 在主 DHCP 服务器上,执行以下命令:vim /etc/dhcp/dhcpd....
双机热备的基本原理是,在两台互相备份的服务器上同时运行相同的服务,一台作为主机工作,另一台作为备机监控主机状态。正常情况下,主机对外提供服务,备机处于待命状态。当主机发生故障时,备机能够快速接管服务,...
### Linux双机热备实验详解 #### 一、双机热备概念与重要性 双机热备,也称为高可用性集群(High Availability Cluster),是一种通过两台或多台服务器协同工作来提供不间断服务的技术。当主服务器发生故障时,...
VMware双机热备配置是一种确保高可用性的重要技术,通过Heartbeat机制实现两台服务器之间的实时监控和切换,以保证关键业务的连续运行。在VMware环境下,双机热备能够有效避免单一服务器故障导致的服务中断,提高...
Oracle 数据库双机热备是指在两台服务器之间实现数据库的自动切换,以确保数据库的高可用性。当一台服务器出现故障时,另一台服务器自动接管服务,保障数据库的正常运行。 知识点2: MSCS(Microsoft Cluster ...
1. 在两台Linux服务器上安装MySQL数据库: - 从官网下载MySQL安装包,上传至服务器的/opt/目录。 - 给安装包分配755权限并解压。 - 使用RPM包管理器安装MySQL,包括server、client、devel等组件。 六、...
4. **双机热备(HA)和心跳(heartbeat):** 在Linux双机热备实验中,心跳检测是实现HA的关键技术,通常用heartbeat软件来实现。heartbeat负责监控集群中各节点的状态,一旦发现某个节点出现问题,它可以迅速将服务...
本文将详细介绍如何利用Heartbeat在两台Linux服务器之间搭建双机热备系统。 #### 二、Heartbeat双机热备环境准备 ##### 1. 硬件环境 - **虚拟化平台**:VMware - **操作系统**:Red Hat AS4 - **Heartbeat版本**...
RoseHA是是一种热备软件,能够实现双机热备,提供高可用性和高可靠性的服务器解决方案。 热备技术分类 热备技术是指在服务器系统中,使用多台服务器来提供高可用性的技术。热备技术可以分为共享磁盘、镜像磁盘和非...
### Linux上实现Oracle HA双机热备的关键知识点 #### 一、实施环境说明与拓扑设计 **实施说明**:本文档旨在详细说明如何在Linux环境下实现Oracle HA(高可用性)双机热备方案。该方案利用了Red Hat Cluster Suite...
1. **双机热备**: 双机热备是指在两台服务器之间进行数据同步,当主服务器发生故障时,备用服务器能够立即接管工作,确保服务不间断。在这种环境中,Oracle数据库的配置必须确保两台服务器不会同时访问共享资源,...
在Linux系统中,心跳(Heartbeat)是一种用于实现双机热备(High Availability,简称HA)的服务,确保关键服务在一台服务器出现故障时能够迅速切换到另一台备用服务器上,从而保证系统的高可用性和稳定性。...
- **高可用性**: 双机热备方案通过两台服务器互相备份,能够在一台服务器发生故障时迅速切换到另一台,从而实现高可用性。 - **故障自动切换**: 当主服务器出现故障时,备份服务器会自动接管主服务器的工作,确保...
总的来说,Redhat Linux双机热备通过HeartBeat的监控和DRBD的数据同步,实现了高可用性的部署。这种方案特别适用于中小型企业,可以保护关键服务免受单点故障的影响,确保业务的连续性和稳定性。
在SVN环境中实现双机热备,主要是利用`svnsync`工具进行数据同步,保证两台服务器上的版本库保持一致。 #### 实现步骤 1. **创建目标目录** 首先在备用服务器上创建一个与主服务器版本库结构相同的目录,并初始...