redhat6.5下 heartbeat+drbd的HA高可用集群 搭建 图文教程

简介:

drbd的功能为磁盘共享,当你在对服务器1的磁盘进行数据更改的时候,服务器2的磁盘会实时同步,再通过heartbeat服务对两个服务器进行心跳监测,一旦1的心跳无法被2接收(比如heartbeat挂掉,比如网络坏掉等等),则2会对1的服务自动进行接管

实验前提:

做此实验,需要两个虚拟机。

这两个虚拟机需要

1.设置网络为固定的子网IP,博主在这里是172.25.10.4和172.25.10.5

2.通过修改/etc/sysconfig/network  以及/etc/hosts两个文件来修改域名以及解析,我给两台虚拟机分别改为server4.example.com以及server5.example.com

3.关闭SELINUX并且开机自启关闭

4.关闭火墙并且开机自启关闭

5.配置yum源为如下形式

[Server]
name=Red Hat Enterprise Linux Sever
baseurl=http://172.25.10.250/6.5/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]
name=Red Hat Enterprise Linux HighAvailability
baseurl=http://172.25.10.250/6.5/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]
name=Red Hat Enterprise Linux LoadBalancer
baseurl=http://172.25.10.250/6.5/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


[ResilientStorage]
name=Red Hat Enterprise Linux ResilientStorage
baseurl=http://172.25.10.250/6.5/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ScalableFileSystem]
name=Red Hat Enterprise Linux ScalableFileSystem
baseurl=http://172.25.10.250/6.5/ScalableFileSystem
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

(配置yum源为基本功,在此不赘述)


开始实验:

安装heartbeat:

把heartbeat的几个安装包scp给4和5,


然后进入目录yum install -y * 全部安装(4,5都安装)

        ha.cf           Main configuration file
        haresources     Resource configuration file
        authkeys        Authentication information

这三个是配置文件,在/usr/share/doc/heartbeat下

开始修改配置文件

修改ha.cf:




keepalive   2   每过2妙进行一次心跳监测

deadtime  30  如果30秒收不到心跳,断定1挂掉了

warntime  10   10秒收不到i心跳,进行警告

initdead  60  在heartbeat启动的时候,如果1启动后60秒2还没有启动,则启动失败

udpport  1348   使用1348端口  (注意不要使用已经使用过的端口如80等等)

bcast  eth0  表示使用eth0的当前网络

auto_failback on 在1挂掉后2会接管业务,但是当1修好后,如果这个参数为on则会再次接管业务,如果为off,则1不会再次接管业务

两个重要的配置文件,鄙人才疏学浅,并不理解其中奥秘

node server4.example.com这里是说明这个heartbeat中有多少个结点,分别是谁

ping 172.25.10.250 是指定一个稳定能ping通的IP,这里是为了监测网络环境

修改haresources文件:

server4.example.com IPaddr::172.25.10.100/24/eth0 httpd 前面写哪个节点,哪个节点就是主节点,这里的IPaddr是设定提供访问的IP(只要是本网段的没用过的子网就OK)

最后写的是所支持的服务,这里博主做测试用的是http服务

修改authkeys文件:

这里是设置加密方式,crc是指铭文加密


把改好的仨文件cp到/etc/ha.d,把authkeys chmod 600
把仨文件scp 到另一个结点的/etc/ha.d/

实现4,5切换即成功

如下所示:



                  成功!


安装drbd:

get drbd包,


放在mnt下

tar zxf drbd-8.4.2.tar.gz

cd drbd-8.4.2



进行编译,源码安装

./configure --enable-spec --with-km

根据提示安装相关包

yum install -y gcc,flex,rpm-build,kernel-devel


把/mnt下的drbd-8.4.2.tar.gz cp到/root/rpmbuild/SOURCES(如果root下没有rpmbuild,就先执行一遍rpmbuild -bb drbd.spec)


创造rpm包:

rpmbuild -bb drbd.spec

rpmbuild -bb drbd-km.spec


安装刚刚生成的rpm包

cd

cd rpmbuild/RPMS/x86_64
rpm -ivh *
把x86_64 scp给第二个节点,同样rpm -ivh *


给两个虚拟机都安装一块虚拟硬盘

fdisk -l 查看虚拟硬盘在哪里,我的是在vda,所以下面这个文件中,我就要写vda


开始配置

cd /etc/drbd.d

vim example.res


resource example {
meta-disk internal;
device /dev/drbd1;
syncer {
verify-alg sha1;
}
on server4.example.com {
disk /dev/vda;
address 172.25.10.4:7789;
}
on server5.example.com {
disk /dev/vda;
address 172.25.10.5:7789;
}
}

给另一个节点也发一份

scp /etc/drdb.d/example.res 172.25.10.5:/etc/drbd.d


两边都开启drbd服务

两边都drbdadm create-md example
两边都/etc/init.d/drbd start
把第一个节点设成主节点drbdadm primary example --force

cat /proc/drbd(看到走进度条)

就是这个:



mkfs.ext4 /dev/drbd1    格式化

mount /dev/drbd1 /mnt    挂载
ls
建立一个文件然后把他umount再把他设置为secondary,把第二个节点设置为primary,然后mount就可以在第二个节点的mnt看到你的文件了


这次,我们用mysql服务来进行测试实验

两个都安装数据库
第一个节点打开数据库,再关闭 (这里一定要关闭了再进行下一步!不然mysql会无法启动!


然后把/var/lib/mysql/* cp -r 到/mnt(此时drbd1挂载在/mnt)

umount /mnt

mount /dev/drbd1 /var/lib/mysql


更改mysql文件的权限:

chown mysql.mysql /var/lib/mysql/ -R


打开/etc/ha.d/haresources

server4.example.com IPaddr::172.25.10.100/24/eth0 drbddisk::example Filesystem::/dev/drbd1::/var/lib/mysql::ext4 mysqld
给第二个节点也scp一份


开始测试:

打开两边的heartbeat

可以完成heartbeat自动挂载,在ip addr show 可以看到172.25.10.100,如果把节点一的heartbeat关闭,2可以自动挂载上,并且会自动开启mysql服务

至此,实现功能


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值