精品两台linux完美实现双机热备.docx

上传人:b****6 文档编号:4421032 上传时间:2022-12-01 格式:DOCX 页数:8 大小:19.03KB
下载 相关 举报
精品两台linux完美实现双机热备.docx_第1页
第1页 / 共8页
精品两台linux完美实现双机热备.docx_第2页
第2页 / 共8页
精品两台linux完美实现双机热备.docx_第3页
第3页 / 共8页
精品两台linux完美实现双机热备.docx_第4页
第4页 / 共8页
精品两台linux完美实现双机热备.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

精品两台linux完美实现双机热备.docx

《精品两台linux完美实现双机热备.docx》由会员分享,可在线阅读,更多相关《精品两台linux完美实现双机热备.docx(8页珍藏版)》请在冰豆网上搜索。

精品两台linux完美实现双机热备.docx

精品两台linux完美实现双机热备

【关键字】精品

两台linux完美实现双机热备

ip1:

ha1

ip2:

ha2

物理磁盘10g

系统分区5g

disk:

/dev/sda1(一个2G的分区)

disk:

/dev/sda2(一个2G的分区)

通过drbd,挂在每台机器上的sdb1这块分区将成为咱们“保存”。

let'sgo!

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

1.设定hosts

vi/etc/hosts

ha1

ha2

注意:

比如在1.11这台机器上。

drbd1是你执行hostname命令看到的,而不是随手一写的哟:

2.安装并配置drbd

1).安装drbd。

你可以去/下载最新的版本。

本文为了方便直接从ubuntu的源进行安装

更新apt源

执行操作

拷贝sources.list到/etc/apt覆盖原文件

拷贝resolv.conf到/etc覆盖原文件

apt-getupdate

apt-getinstalldrbd8-utilsdrbd8-module-sourcebuild-essentialmodule-assistant

module-assistantauto-installdrbd8

磁盘分区

cfdisk/dev/sda

sda2:

2G

sda3:

2G

创建分区后重启

2).创建配置文件

备机上文件从主机上拷贝

如果用apt-get或者yum的方式安装的话,会默认创建配置文件,而编译安装则不会。

不管直接清空或改名,写入以下内容。

vi/etc/drbd.conf

common

{

syncer

{

rate500M;

}

}

resourcer0

{

protocolC;

startup{wfc-timeout30;degr-wfc-timeout120;}

disk

{

on-io-errordetach;

}

onha1

{

device/dev/drbd0;

disk/dev/sda2;

address;

meta-diskinternal;

}

onha2

{

device/dev/drbd0;

disk/dev/sda2;

address;

meta-diskinternal;

}

}

resourcer1

{

protocolC;

startup{wfc-timeout30;degr-wfc-timeout120;}

disk

{

on-io-errordetach;

}

onha1

{

device/dev/drbd1;

disk/dev/sda3;

address;

meta-diskinternal;

}

onha2

{

device/dev/drbd1;

disk/dev/sda3;

address;

meta-diskinternal;

}

}3)创建资源

修改hosts文件

Vi/etc/hosts

ha1

ha2

drbdadmcreate-mdr0#r0为刚才配置文件里的资源名

drbdadmcreate-mdr1#r1为刚才配置文件里的资源名

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

在终点你会看到

success

:

4)启动drbd服务

/etc/init.d/drbdstart

等待单机数据同步完成

cat/proc/drbd

你应该可以看到

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

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

5)初始化网络硬盘

drbdsetup/dev/drbd0primary-o

cat/proc/drbd

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

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

watch-n1cat/proc/drbd

同步还在进行

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

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

注意磁盘状态是:

"Secondary/Primary"

格式化网络磁盘

6)设置drbd开机启动

在两台机器上都执行

chkconfigdrbdon

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

在drbd1上建立3个文件

在drbd2上验证结果

ok,我们现在已经确定drbd是正常工作的了。

也相信在这么细致的介绍下,你已经熟悉了它是怎么工作了。

我们现在有了“网络存储”了。

下一步就是让一个东东帮我们调度资源了。

简单的几步配置有请heartbeat出场

建立/data/mysql文件夹用来移植MYSQL数据文件

3.配置heartbeat

1)安装heartbeat

apt-getinstallheartbeat

2)配置heartbeat

vi/etc/heartbeat/ha.cf

logfacilitylocal0

keepalive2

deadtime10

auto_failbackoff

bcasteth0

nodedrbd1drbd2

vi/etc/heartbeat/haresources

heart2drbddisk:

:

r0Filesystem:

:

/dev/drbd0:

:

/mnt:

:

ext3

viauthkeys

auth3

3md5abc

chmod600authkeys

3)相同的配置复制到drbd2

scpauthkeysharesourcesha.cfroot@

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

/etc/init.d/drbdstart

/etc/init.d/heartbeatstart

5)切换测试

通过cat/proc/drbd查看drbd的状态或者mount查看/mnt是不是已经挂载确定资源所在的机器。

然后在那台机器的/mnt新建立一些文件并停掉那台机器上的heartbeat。

看另一台机器上/mnt是不是被自动挂载了呢?

里面是不是有刚创建的文件?

goodluck!

总结:

基本两台linux实现的双机热备到此就要结束了。

回顾一下环境:

两台机器;两块独立的分区,最好是一样大,只分区,而没有格式化;linux操作系统;drbd网络磁盘;heartbeat实现资源调度;好像就这么多东西吧。

可能您要说了,看完这篇文章,一点实际意义都没有,因为只是实现了共享磁盘。

哈哈,我要说,要想发挥威力就要仔细的看一下heartbeat的资源调度了,有了这位大管家,还有啥实现不了的服务呢?

本文出自“rainbird”博客,转载请与作者联系!

安装MYSQL

取消mysql自动启动

servicemysqlstop

update-rc.d-fmysqlremove

update-rc.d-ftomcat6remove

update-rc.d-fheartbeatremove

update-rc.dheartbeatdefaults

迁移MySQL数据目录

未分类,byAthurgFeng.

话说在VPS中,重装系统也许是不可避免的事。

对于很多VPS供应商而言,尤其是Linux客户机的VPS。

所谓的重装,也就是直接用一块已经安装好系统的新硬盘镜像,替换掉以前的就是了。

因此很多VPS供应商明确的指出——“VPS系统重装后,Windows客户机的C盘数据将清空,Linux客户机所有数据将清空,请客户做好备份”。

大家都知道,中国的拨号式“宽带”。

对于备份整个服务器,简直是有点找抽的做法。

因此作为服务商推出一项新策略——智能备份。

简单的说,就是直接将给你的硬盘空间一分为二,一半用于运行,一半用于备份。

所以常常号称40G硬盘空间的你,实际上只能得到20G可用空间。

这样的确起到了备份的作用,但是付出的代价也是极为巨大的。

既然服务商的方案我们不想采用,又更不想每次重装都要下载、上传整个硬盘。

那我们怎么办呢?

方法很简单,借鉴Windows的做法,将数据和程序物理性的分开处理。

即将磁盘分区修改为两个以上,一个存储系统程序,一个用于存储数据。

这里,我们要说的就是MySQL数据的剥离。

知道MySQL的人都知道,MySQL的默认数据存放于/var/lib/mysql。

这里我们假定将这个数据位置修改为/home/mysql。

于是就有了我们三步走的迁移攻略了:

1.停下mysql服务;

2.复制数据到新位置:

要注意的是,mysql的数据及其数据存储目录的属主和属组都是mysql。

而通常我们貌似也不知道mysql用户的密码,所以怎么办呢?

当然是以root用户来复制咯。

所以这一要注意,复制完成后,切记要将新目录及其子目录、文件的属组、属主修改为mysql;

3.修改MySQL配置文件/etc/mysql/f,将datadir设置项的值设置为新的数据位置/home/mysql。

这里提供个小脚本,请注意这个脚本的适用环境是ArchLinux,其他发行版可参考。

主要的差别在于默认的MySQL配置文件路径、默认的MySQL数据存储目录、修改后的MySQL数据存储目录。

OLD_PATH=/var/lib/mysql

NEW_PATH=/data/mysql

#很多发行版的MySQL配置目录可能是/etc/f

CFG_PATH=/etc/mysql/f

install-D${NEW_PATH}

cp-rvf${OLD_PATH}/*${NEW_PATH}

chown-Rmysql:

mysql${NEW_PATH}

sed-ibackup"s/^datadir.*/datadirt=/data/mysql/p"${CFG_PATH}

修改my。

Cnf文件

[mysqld]

#

#*BasicSettings

#

user=mysql

pid-file=/var/run/mysqld/mysqld.pid

socket=/var/run/mysqld/mysqld.sock

port=3306

basedir=/usr

datadir=/data/mysql/mysql

tmpdir=/tmp

language=/usr/share/mysql/English

修改vi/etc/heartbeat/haresources

加入mysql,tomcat

ha1IPaddr:

:

drbddisk:

:

r0Filesystem:

:

/dev/drbd0:

:

/data/mysql:

:

ext3drbddisk:

:

r1Filesystem:

:

/dev/drbd1:

:

/home:

:

ext3mysqltomcat6

将MYSQL数据库映射到第二台机器上启动myslq出错的解决方式

拷贝第一台机器/etc/mysql/f

/usr/../mysqladmin

覆盖第二台机器

取消mysql自动启动

servicemysqlstop

update-rc.d-fmysqlremove

tomcat6也不自动启动

drbd脑裂处理

一个朋友告诉我要是脑裂了,一般管理员也就脑裂了,你不知道哪台现在正在提供服务,我的例子倒是很好找,我有个虚IP,这个虚IP在哪漂着,哪台就是主,然后在从机上手动恢复

步骤是:

1、先umountdrbd的分区

2、drbdadmdisconnectall

3、drbdadmsecondaryall

4、drbdadm----discard-my-dataconnectall

如果还不行,在主上执行drbdadmconnectall就行了

我试验时是这么恢复的,仅供参考。

此文档是由网络收集并进行重新排版整理.word可编辑版本!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1