设为首页 收藏本站
查看: 849|回复: 0

[经验分享] DRBD+Heartbeat+Mysql环境搭建

[复制链接]

尚未签到

发表于 2019-1-7 08:07:14 | 显示全部楼层 |阅读模式
  环境:Centos 6.6 64位
  服务器:
  Master节点: GuoletaoTest01  IP地址:192.168.2.25
  Slave节点:GuoletaoTest02 Ip地址: 192.168.2.26
  VIP地址:192.168.2.30


  •   一 DRBD 环境搭建:
  1) 添加附加库:
  官方网站:http://elrepo.org/tiki/tiki-index.php
  以下测试针对Centos 6.6 版本:
  1)import public key:
  rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

  2)安装库:
  rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

  2) 安装 DRBD:
  DRBD官方网站:http://drbd.linbit.com/docs/install/
  yum install drbd kmod-drbd
  3)两台服务器上的分区/dev/sdb1作为drbd的网络mirror分区;
   格式化分区    fdisk /dev/sdb
  mkfs.ext4 /dev/sdb1
  
  4)开始配置drbd
  [root@GuoletaoTest01 bin]# drbdsetup /dev/drbd1 primary -o   
[root@GuoletaoTest01 bin]# drbdadm primary mysql_data
  编辑drbd文件:
  [root@GuoletaoTest01 drbd.d]# cat /etc/drbd.d/mysql.res
#设定资源名称为: mysql_data
resource mysql_data {
            protocol C;
            net {
                 cram-hmac-alg sha1;
                 shared-secret "abc";
            }
            on GuoletaoTest01 {
                 device    /dev/drbd1;
                 disk      /dev/sdb1;  #挂载drbd对应的系统分区;
                 address   192.168.2.25:7898;
                 meta-disk internal;
            }
            on GuoletaoTest02 {
                 device    /dev/drbd1;
                 disk      /dev/sdb1;
                 address   192.168.2.26:7898;
                 meta-disk internal;
            }
}
  两边启动drbd服务:
  /etc/init.d/drbd start
  查看drbd的状态:
  /etc/init.d/drbd status
  [root@GuoletaoTest01 resource.d]# /etc/init.d/drbd status
drbd driver loaded OK; device status:
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
m:res         cs         ro                 ds                 p  mounted  fstype
1:mysql_data  Connected  Primary/Secondary  UpToDate/UpToDate  C  /data    ext4
  如果heartbeat没有安装或者启动,测试时可以手动指定主drbd,命令如下:
  指定 drbd的本地为master节点:drbdadm primary mysql_data
  挂载drbd分区到本地:mount /dev/drbd1 /data

  •   二 Heartbeat安装:
  rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  yum -y install heartbeat*
  

  配置要点:
HA有三个配置文件:
  密钥文件:authkeys
  配置主文件:ha.cf
  HA主管的资源配置文件:haresources
  PS:
  自写的资源启动脚本存放目录:/etc/ha.d/resource.d
  HA配置主目录:/etc/ha.d/
  
  1)认证文件配置:
  cat authkeys
  auth 1
  1 crc
  2)ha.cf配置:
  master上的配置文件:
   cat ha.cf
logfile /var/log/ha-log

keepalive 2
deadtime 30
warntime 10
initdead 60

udpport 694

#bcast em1
  #设置单播地址,对方ip
ucast eth0 192.168.2.26

auto_failback off
node GuoletaoTest01
node GuoletaoTest02

ping 192.168.2.1  #填写网络中网关的地址
hopfudge 1
deadping 5

respawn hacluster /usr/lib64/heartbeat/ipfail
#apiauth ipfail gid=haclient uid=hacluster2
  slave节点上的配置文件:
  [root@GuoletaoTest02 ha.d]# cat ha.cf
logfile /var/log/ha-log

keepalive 2
deadtime 30
warntime 10
initdead 60

udpport 694

#bcast em1
ucast eth0 192.168.2.25


auto_failback off
node GuoletaoTest01
node GuoletaoTest02
ping 192.168.2.1

hopfudge 1
deadping 5

respawn hacluster /usr/lib64/heartbeat/ipfail
#apiauth ipfail gid=haclient uid=hacluster2
  

  3)资源配置文件:
  cat haresources  
  GuoletaoTest01 IPaddr::192.168.2.30/32/eth0 drbd_primary
  说明:
  GuoletaoTest01          为主节点的主机名

  IPaddr::192.168.2.30/32/eth0        network用于设定集群的IP地址、子网掩码和网络设备标识 等。需要注意的是,这里指定的IP地址就是集群对外服务的IP地址

  

  drbd_primary     resource-group用来指定需要Heartbeat托管的服务,也就是这些 服务可以由Heartbeat来启动和关闭。如果要托管这些服务,就必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc /init.d/或者/etc/ha.d/resource.d/目录下,Heartbeat会根据脚本的名称自动去/etc/init.d或者/etc /ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。

  

  4)资源切换脚本:
  本脚本复制drbd的切换,已经mysql,redis服务的启动和关闭:
  

  [root@GuoletaoTest01 resource.d]# cat drbd_primary
#!/bin/bash
case "$1" in
start)
    drbdadm primary mysql_data
    mount /dev/drbd1 /data
    service mysql55 start
    service redis start
;;
stop)
    service mysql55 stop
    service redis stop
    umount /dev/drbd1
    drbdadm secondary mysql_data
;;
esac
exit 0
  


  •   三 mysql和redis数据库data存放目录的修改与调整:
  1)mysql数据库data存放目 录修改到/data/mysql55/var/
  具体做法如下(在drbd主节点启动后,并且mount成功后执行即可,从节点不需要操作,因为会通过drbd的机制同步过去!):
  mkdir -p /data/mysql55/var/
  chown -R mysql:mysql /data/mysql55
  2)修改mysql配置文件:
  [root@GuoletaoTest02 etc]# cat my.cnf
[client]
port=33066
socket="/var/lib/mysql/mysql.sock"

[mysql]
default-character-set=utf8

[mysqld]
port=33066
basedir="/webser/mysql55"
#datadir="/webser/mysql55/var"
datadir="/data/mysql55/var"
socket="/var/lib/mysql/mysql.sock"
  然后执行以下命令:
  /webser/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql55/var/ --basedir=/webser/mysql55/
  最后在drbd的主节点上启动mysql即可。
  

  

  然后创建相关目录:
  mkdir -p data/redis/
  然后在drbd节点上启动redis服务即可!
  以上测试都没有问题了。就可以关闭mysql,drbd服务;
  启动整个集群顺序:
  依次主从,然后启动drbd,再heartbeat服务;
  /etc/init.d/drbd start
  /etc/init.d/heartbeat start
  注意设置成开机自启动;
  关闭集群的顺序:
  先从后主:
  先关闭heartbeat,然后关闭drbd服务!
  /etc/init.d/heartbeat stop

  /etc/init.d/drbd stop

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660141-1-1.html 上篇帖子: Heartbeat+drbd+mysql的高可用部署 下篇帖子: MySQL+Heartbeat+DRBD架构部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表