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

[经验分享] DRBD+HeartBeat架构实验

[复制链接]

尚未签到

发表于 2015-11-21 11:31:54 | 显示全部楼层 |阅读模式
HeartBeat模块
  CRM:(Cluster Resource Manager)集群的大脑,根据heartbeart收集回来的节点状态交给CCM模块来更新集群的member ship,并指挥LRM对节点资源进行“启动”,“停止”,总之就是决定资源最终应该在那个节点上运行。
  LRM:(Local Resource Manger)操作和管理资源的模块,负责对资源监控,启动,停止。三个资源脚本存放路径
  heartbeat: /etc/ha.d/resoruce.d
  ocf :  /usr/lib/resource.d/heartbeat
  lsb:  /etc/init.d
  CIB:收集资源的原始信息以及不断更新资源的状态变化,保存在cib.xml。相当于cluster.conf文件,即集群配置文件。
  CCM:保持各节点之间的成员关系,heatbeat仅仅是一个通信工具,而CCM让所有节点组成了一个集群。

HeartBeat配置文件
  keeplived 2   多长时间广播一次心跳
  warntime 10 10秒内备用节点接受不到主节点的心跳,就向日志写一次警告,但不会发生资源切换。
  deadtime 30 30秒内接收不到主节点的心跳,就判定主节点死亡,备用节点立即接管主节点资源。
  initdead  120 主节点因故障重启,重启时间较长。
  udpport 694    使用广播心跳的端口
  ucast eth1      指定心跳网卡
  auto_failback on 当主机服务器恢复正常,资源从备用节点上自动切回
  node node1    设置主机名,通过uname命令查看
  node node2

DRBD
  Distributed Replicated Block Device(DRBD)是一种基于软件的,无共享,复制的存储解决方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像。DRBD工作在内核 当中的,类似于一种驱动模块。DRBD相当于一个RAID1功能的存储。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。DRBD的架构如下图
DSC0000.jpg



实验

主机名称:HaMater和HaBack
  HaMaster eth0:192.168.10.20
  HaBack eth0:   192.168.10.21
  HaMaster eth1: 192.168.10.10
  HaBack eth1:    192.168.10.20      
  安装heartbeat yum install -y heartbeat
  实验架构图如下
DSC0001.jpg



下载和安装DRBD(在HaMaster和HaBack上执行)
  http://oss.linbit.com/drbd/
  tar zxvf drbd-8.4.3.tar.gz
  cd drbd-8.4.3
  ./configure --prefix=/usr/local/drbd --with-km
  make KDIR=/usr/src/kernels/`uname -r`/(指定内核所在的绝对路径)
  mkdir -p /usr/local/drbd/var/run/drbd/
  cp /usr/local/drbd/etc/rc.d/init.d/drbd  /etc/rc.d/init.d/
  chkconfig --add drbd
  chkconfig drbd on
  



安装DRDB模块(在HaMaster和HaBack上执行)
  进入DRBD的解压目录的drbd中,cd /root/software/drbd-8.4.3/drbd
  make clean
  make KDIR=/usr/src/kernels/`uname -r`/
  cp drbd.ko   /lib/modules/`uname -r`/kernel/lib/
  depmod
  



添加存储(实验对的存储为/dev/sdb1,在HaMaster和HaBack上执行)
  fdisk /dev/sdb(进行分区)
  fdisk -l 查看分区
  



配置DRBD(在HaMaster和HaBack上执行)
  ① DRBD主配置文件
  /usr/local/drbd/etc/drbd.conf,该文件中包含一个全局配置文件和所有的资源文件,内容如下
  

include "drbd.d/global_common.conf";
include "drbd.d/*.res";
  
  
  
  ② 修改global_common.conf文件,在net处添加上protocol C;
  /usr/local/drbd/etc/drbd.d/global_common.conf
DSC0002.jpg
  ③ 添加资源文件,新建资源r0,命名为 r0.res,内容如下

resource r0{
on HaMaster{
device /dev/drbd0;
disk   /dev/sdb1;
address 192.168.10.20:7789;
meta-disk internal;
}
on HaBack{
device /dev/drbd0;
disk   /dev/sdb1;
address 192.168.10.21:7789;
meta-disk internal;
}
}
  ④ 加载DRDB模块
  modprobe  drbd
  查看 lsmod | grep drbd


  (为什么执行下面一个步骤,不太清楚)
  dd if=/dev/zero of=/dev/sdb1 bs=1M count=100
  创建资源 r0:drbdadm create-md r0
  启动资源:drbdadn up 0
  启动服务:/etc/init.d/drbd start
  ⑤ 主从节点状态查看和主从节点设置
  查看节点drbd状态:cat  /proc/drbd
  设置主节点:drbdadm primary --force r0
  设置从节点:drbdadm secondary r0
  ⑥ 格式化drbd,并挂载
  mkfs.ext3  /dev/drbd0
  mkdir /db
  mount /dev/drbd0 /db
  ⑦ 测试
  手动切换主从节点,通过cat /proc/drbd查看
DSC0003.jpg

安装和配置HeartBeat(在HaMaster和HaBack上执行)
  ① 安装: yum -y install heartbeat
  ② 从安装路径下复制模板文件

cd /usr/share/doc/heartbeat-2.1.3
cp ha.cf authkeys haresources /etc/ha.d/

  ③ 配置 ha.cf

logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
ucast eth1 192.168.10.10(对方心跳网卡IP)
node HaMaster
node HaBack

  ④ 配置 authkeys

auth 1
1 crc
  ⑤ 配置 haresources

HaMaster drbddisk::r0 Filesystem::/dev/drbd0::/db::ext3 mysqld
测试
  启动DRBD:service drbd start (HaMaster和HaBack)
  启动heartbeat:service heartbeat(HaMaster和HaBack)
  使用 tail -f /var/log/messages查看服务启动日志
  使用 mount查看硬盘是否在HaMaster上挂载,而位在HaBack上挂载
  使用 /etc/init.d/mysqld 查看mysql是否启动。
  


  停止HaMaster上的heartbeat,查看资源是否能被HaBack全部接管
  重新启动HaMaster上的heartbeat,查看资源能从HaBack上接管回来。
  



参考
  1. 博客:http://czmmiao.iyunv.com/blog/1773079
  2. 51CTO视频:http://edu.iyunv.com/course/course_id-2.html



运维网声明 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-141788-1-1.html 上篇帖子: heartbeat及相关组件的安装 下篇帖子: Heartbeat基本介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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