heartbeat+DRBD+mysql+LVS集群实战

heartbeat+DRBD+mysql+LVS集群实战

分类:MYSQL

mysqlheartbeat+DRBD+mysql

四台主机

主机名 IP地址用途

dbm128 172.16.0.128 heartbeat+DRBD+MYSQL的primary节点

dbm129 172.16.0.129 heartbeat+DRBD+mysql的secondary节点

dbs130 172.16.0.130 slave(mater_host=172.16.0.233)

dbs131 172.16.0.131 slave(mater_host=172.16.0.233)

配置前的准备

1.设置hostname及解析

编辑/etc/hosts文件,添加如下内容:

172.16.0.128 dbm128

172.16.0.129 dbm129

2.新增加一块/dev/sdb5硬盘存放DRBD数据(两台都增加)

命令如下:

[root@dbm128 ~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel. Changes will remain in memory only,

until you decide to write them. After that, of course, the previous

content won’t be recoverable.

The number of cylinders for this disk is set to 6527.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help):n

Command action

e extended

p primary partition (1-4)

e

Partition number (1-4):1

First cylinder (1-6527, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-6527, default 6527):

Using default value 6527

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l

First cylinder (1-6527, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-6527, default 6527):

Using default value 6527

Command (m for help):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

3.DRBD的部署(两台机器都这么做)

yum -y install gcc gcc-c++ kernel*安装好后重启一下,免得后面出错

#wget

# tar zxvf drbd-8.4.3.tar.gz

# cd drbd-8.4.3

# ./configure –prefix=/ –with-km

#make

#make install

4.加载安装DRDB模块

#modprobe drbd

机器重启后DRBD模块消失,需要写入/etc/rc.local开机自动执行

通过lsmod来检查是否已经执行成功

[root@dbm128 drbd-8.4.3]# lsmod | grep drbd

drbd 327968 0

5.编辑配置文件(两台配置一样dbm128,,dbm129)

[root@dbm128 drbd-8.4.3]# cat /etc/drbd.conf

global {usage-count yes;}

common{syncer{rate 200M;}}

resource r0{

protocol C;

net{

cram-hmac-alg sha1;

shared-secret "FooFunFactory";

}

disk{

on-io-error detach;

fencing resource-only;

}

startup{

wfc-timeout 120;

degr-wfc-timeout 120;

}

device /dev/drbd1;

on dbm128{

disk /dev/sdb5;

address 172.16.0.128:7789;

meta-disk internal;

}

on dbm129{

disk /dev/sdb5;

address 172.16.0.129:7789;

meta-disk internal;

}

}

6.启动DRBD(两台操作)

可通过如下命令启动DRBD

[root@dbm128 drbd-8.4.3]# drbdadm create-md all

[root@dbm128 drbd-8.4.3]# /etc/init.d/drbd start

[root@dbm128 drbd-8.4.3]# drbdadm — –overwrite-data-of-peer primary all(这一步只在主服务器上做)

在主机上查看DRBD状态

[root@dbm128 ~]# cat /proc/drbd

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@dbm128, 2014-07-18 23:01:15

1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r—n-

ns:45789492 nr:0 dw:0 dr:45794304 al:0 bm:2794 lo:0 pe:3 ua:5 ap:0 ep:1 wo:f oos:6639292

[================>…] sync’ed: 87.4% (6480/51196)M

finish: 0:06:46 speed: 16,336 (18,732) K/sec

以上数据正在同步。下面同步完成

[root@dbm128 ~]# cat /proc/drbd

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@dbm128, 2014-07-18 23:01:15

1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—–

ns:52426428 nr:0 dw:0 dr:52426428 al:0 bm:3200 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

在从机上查看DRBD状态

[root@dbm129 ~]# cat /proc/drbd

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@dbm129, 2014-07-18 23:14:34

1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r—–

ns:0 nr:52426428 dw:52426428 dr:0 al:0 bm:3200 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

在执行过程中,如果出现上述信息,代表操作成功

7.格式化DRBD文件系统(只在主机上做)

[root@dbm128 ~]# mkfs.ext3 /dev/drbd1

来启动DRBD

8.挂载DRBD分区

[root@dbm128 ~]# mkdir /data

[root@dbm128 ~]# mount /dev/drbd1 /data

[root@dbm128 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

92G 4.9G 82G 6% /

/dev/sda1 99M 35M 59M 38% /boot

tmpfs 501M 0 501M 0% /dev/shm

/dev/drbd1 50G 180M 47G 1% /data

后面就把mysql数据目录放在/data上

9.安装MYSQL数据库(四台都要安装)

安装所需要系统库相关库文件

[root@dbm128 ~]#yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*cmake

[root@dbm128 ~]# groupadd mysql

[root@dbm128 ~]# useradd -r -g mysql mysql

[root@dbm128 ~]# tar zxvf mysql-5.5.25.tar.gz

[root@dbm128 ~]# cd mysql-5.5.25

也许叔本华是对的,人与人的距离太远会寂寞到寒冷,

heartbeat+DRBD+mysql+LVS集群实战

相关文章:

你感兴趣的文章:

标签云: