drbd+mysql构建高可用数据库

db1:192.168.44.151
db2:192.168.44.152

创建一个新的sdb
pvcreate /dev/sdb1
vgcreate vgdb /dev/sdb1
lvcreate -L +1000M -n /dev/vgdb/lvdb
lvcreate -L +256M -n /dev/vgdb/lvmeta
lvdisplay | more
yum -y install drbd82 kmod-drbd82
vim /etc/drbd.conf
global {
usage-count yes;
}

common {
syncer { rate 10M; }
}

resource r0 {
protocol C;
handlers {
pri-on-incon-degr "echo 0 > /proc/sysrq-trigger ; halt -f";
pri-lost-after-sb "echo 0 > /proc/sysrq-trigger ; halt -f";
local-io-error "echo 0 > /proc/sysrq-trigger ; halt -f";
outdate-peer "/usr/lib/heartbeat/drbd-peer-outdater -t 5";
}

startup{
}

disk {
on-io-error detach;
}

net {
after-sb-Opri disconnect;
after-sb-1pri disconnect;
after-sb-2pri disconnect;
rr-conflict disconnect
}

syncer {
rate 10M;
al-extents 257;
}

on db1.hbn.local {
device /dev/drbd0;
disk /dev/vgdb/lvdb;
address 192.168.44.151:7788;    #本机ip地址
meta-disk /dev/vgdb/lvmeta[1];
}

on db2.hbn.local {
device /dev/drbd0;
disk /dev/vgdb/lvdb;
address 192.168.44.152:7788;    #另外一台机器的ip地址
meta-disk /dev/vgdb/lvmeta[1];
}

}

scp /etc/drbd.conf root@192.168.44.152:/etc/

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.all.arp_ignore = 2
net.ipv4.conf.eth0.arp_announce = 2

sysctl -p

scp /etc/sysctl.conf root@192.168.44.152:/etc/

@db1,db2
modprobe drbd
echo "modprobe drbd" >> /etc/rc.local
drbdadm create-md r0
groupadd haclient
chgrp haclient /sbin/drbdsetup
chmod o-x /sbin/drbdsetup
chmod u+x /sbin/drbdsetup
chgrp haclient /sbin/drbdmeta
chmod o-x /sbin/drbdmeta
chmod u+x /sbin/drbdmeta
drbdadm attach r0
drbdadm syncer r0
drbdadm connect r0
drbdadm -- --overwrite-data-of-peer primary r0   #on db1
drbdadm up all
drbdadm -- primary all        #on db1
watch cat /proc/drbd
mkfs.ext3 /dev/drbd0
mkdir /data
mount /dev/drbd0 /data


yum -y install mysql-server
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock

[mysql]
socket=/data/mysql/mysql.sock

[client]
socket=/data/msyql/mysql.sock

cd /data
mkdir mysql
chown mysql:mysql mysql/
yum -y install heartbeat heartbeat-pils heartbeat-stonith heartbeat-devel        #安装epel源

vim /etc/ha.d/ha.cf
logfacility local0
keepalive 2
#deadtime 30 # USE THIS!!
deadtime 10
#we use two heartbeat links,eth2 and serial 0
bcast eth0
#serial /dev/ttyS0
baud 19200
auto_failback off
node db1.hbn.local
node db2.hbn.local

scp /etc/ha.d/ha.cf root@db2:/etc/

@192.168.44.151
vim /etc/ha.d/haresources
db1.hbn.local IPaddr::192.168.44.150/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/data::ext3 mysqld

@192.168.44.152
vim /etc/ha.d/haresources
db1.hbn.local IPaddr::192.168.44.150/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/data::ext3 mysqld

vim /etc/ha.d/authkeys
auth 3
3 md5 hbn

scp /etc/ha.d/authkeys  db2:/etc/ha.d
chmod 600 /etc/ha.d/authkeys

chkconfig --level 235 heartbeat on
chkconfig --level 35 mysqld off

/etc/init.d/heartbeat start
/etc/init.d/drbd status

Re: MySQL 高可用工具 DRBD 实战部署详解 ========================================# DRBD 是什么(用三句话总结) 目的:类似于 rsync + inotify 数据目录(/data)变化时,实现数据同步 功能:类似于本地磁盘阵列 raid-1,保持磁盘或者分区的一致性,但最终的目的是(/data)数据目录的一致性。 原理:类似于MySQL的主从复制,一份写在磁盘中,一份写在二进制日志中;DRBD原理也是一份写在磁盘中,另一份通过DRBD软件,经过tcp/ip协议,基于block变化,传输到远程磁盘中做记录。 # DRBD 的功能 Distributed Replicated Block Divice(缩略:DRBD)(分布式复制块设备) 基于高可用 HA 服务器之间的数据同步解决方案 基于块设备在不同的高可用服务器之间同步和镜像数据的软件,通过它可以实现在网络中的两台服务器之间基于“块”(block)设备级别的实时或异步镜像或同步复制(【原理】:类似MySQL主从复制) # DRBD 的目的 类似于DRBD ≈(rsync + inotify)的架构:单inotify基于文件系统‘上层’,当文件系统中有数据发生变化,就调用 rsync 服务,将文件系统中的文件同步到备库。 但是DRBD是基于文件系统底层(主要区别),即 block 块级别的更‘底层’,而 inotify是在文件系统之上的实际物理文件(文件复制),因此DRBD效率更高(类似克隆方式 GHOST 克隆软件)! 相对而言:(rsync + inotify)工作原理(效率低...)... # DRBD 的应用 heartbeat + DRBD + nfs/mfs/gfs    下章演示... heartbeat + DRBD + mysql    本章演示... heartbeat + DRBD + oracle   甚至放弃 Oracle 原厂 RAC + DataGuard 等标配 HA方案        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leo0718

你的鼓励就是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值