在Debian上用DRBD实现MySQL群集

时间:2022-07-19 07:04:39

摘要:本文旨在Debian系统上,创建一个基于DRBD磁盘镜像技术的MySQL群集及故障转移方法,同时使用了负载均衡技术来完善系统。

关键词:DEBIAN;DRBD;MYSQL;高可靠

中图分类号:TP311.131 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01

Creat Mysql Cluster with DRBD on Debian system

Ouyang Feifei

(1.Electronic Technologies College of Suzhou University,Suzhou215006,China ;2.Zhenjiang College,Zhenjiang212003,China)

Abstact:His article aims to provide a guide to install a MySQL Cluster Fail-Over based on DRBD technologies,in the mean time a loading balance used.

Keywords:DEBIAN;DRBD;MYSQL;HA

一、概述

系统使用了两种关键的技术:

HeartBeat心跳线

DRBD磁盘镜像技术

服务器间的数据复制使用1G交叉6类网线。

二、安装

安装过程分为四个步骤:

安装DRBD

安装并配置HeartBeat心跳线

安装并配置MySQL

测试

在下面的步骤中,机器名字如下:

主服务器:psrv

从服务器:ssrv

(一)DRBD

DRBD没有默认集成在内核里,但是我们可以通过m-a来编译。

psrv:~# apt-get install module-assistant

psrv:~# m-a

/etc/init.d/module-init-tools start

执行一次dmesg, 最后一行应该如下:

drbd: initialised. Version: 0.7.21

到这一步,DRBD已经安装在主服务器上了。我们创建/30的IP来做LAN的同步。在这里我们使用172.16.4.0/24,两个IP地址分别为65和66给主从服务器。

172.16.4.65 psrv.lan

172.16.4.66 ssrv.lan

我们必须相应的修改文件/etc/network/interfaces,注意更新IP地址。拷贝m-a的模块到从服务器并完成部署。我们将使用/dev/sdb分区来创建我们的DRBD,该命令将创建分区,然后我们必须创建一个DRBD的新的配置:

psrv:~# > /etc/drbd.conf

记得要再次检查一下IP地址及设备信息。第一个服务很快就开启了,然后第二个服务需要等待一两秒。查看一下DRBD的状态。Connected 说明两台服务器间的DRBD连接已经成功。Secondary/Secondary说明文件系统还暂时不能使用。我们将使用强制同步来解决此问题:

psrv:~# drbdsetup /dev/drbd0 primary

命令执行结束后,系统从Master端复制数据。当复制完成后,卷内容一致,则用psrv主机来管理DRBD。在两台服务器上创建挂载点,并且相应的修改/etc/fstab

psrv:~# mkdir /opt/drbd

在上面的文件中添加如下信息:

/dev/drbd0/opt/drbd ext3defaults,noauto 0 0

(二)安装并配置Heartbeat心跳线

这个配置流程在两台服务器上完全相同,我们在这里只讨论第一台服务器的安装配置。

psrv:~# apt-get install heartbeat

psrv:~# echo "auth 1

psrv:~# chmod 600 /etc/ha.d/authkeys

psrv:~#echo "psrv drbddisk Filesystem::/dev/drbd0::/opt/drbd::ext3 mysql Delay::1::0 IPaddr::212.200.100.100/27" > /etc/ha.d/haresources

切记检查红色部分,这个虚拟IP地址用来提供Mysql服务。

psrv:~# vim /etc/ha.d/ha.cf

bcast eth2

***

udpport 694

nodepsrv

nodessrv

auto_failback on

两台服务器的复制结束,我们便开始安装MySQL.

(三)安装和配置MySQL

MySQL的安装相对简单,但是有些注意事项需要检查:

psrv:~#apt-get install mysql-server

然后在文件/etc/f中注释下面信息:

#bind-address = 127.0.0.1

然后我们移动数据到Mysql DRBD:

psrv:~# mount/opt/drbd

psrv:/var/lib# mv mysql /opt/drbd/

psrv:/var/lib# ln -s /opt/drbd/mysql /var/lib/mysql

psrv:~#/etc/init.d/mysql start

确认无误,然后删除Mysql的自启动。

确认工作正常,停掉Mysql,添加debian-sys-maintainer参数

ssrv:~# scp -r /etc/mysql/f root@psrv.lan:/etc/mysql/

root@psrv.lan's password:

f100%312 0.3KB/s 00:00

最后,我们开启系统的心跳线。两条命令会占用一点时间,然后看一下系统日志/var/log/ha-log.服务器网卡接口的绑定eth0:0用来进行系统故障转移。可以从NOC下面的一台主机登录来进行测试:

telnet 212.200.100.100 3306

Connected to 212.200.100.100.

如果有MySQL连接拒绝的问题,则应该考虑一下双方节点的复制配置文件。

psrv:~# /etc/init.d/heartbeat stop

Stopping High-Availability services:

Done.

上一篇:分布式系统进程互斥算法的分析与改进 下一篇:医院信息化建设的内涵与实施策略

文档上传者
热门推荐 更多>