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

[经验分享] CentOs6.5配置安装DRBD

[复制链接]

尚未签到

发表于 2018-4-28 08:31:25 | 显示全部楼层 |阅读模式
  实验环境:
  (1) 使用CentOS6.5版本两台
  (2) 使用163的yum源(配置方法参考下方)
  (3) 两台虚拟机添加相同的虚拟硬盘,我采用的是10G
DSC0000.jpg

  操作系统 主机名 IP                       drbd磁盘
  CentOS6.5        local.aaa.com 192.168.1.13          /dev/sdb4
  CentOS6.5        local2.aaa.com   192.168.1.12       /dev/sdb4
  注意事项:
  (1) 配置ip地址如果存在DNS请保证虚拟机的主机名符合FQDA,并在DNS上做正常解析,或者写入hosts文件(/etc/hosts)
  (2) 关闭selinux(setenforce 0)关闭iptables (service iptables stop)或者写入规则
  一、 DRBD准备
  1、 yum配置
  (1) 进入yum源配置目录cd /etc/yum.repos.d
  (2) 备份系统自带的yum源mv CentOS-Base.repo CentOS-Base.repo.bak
  (3) 下载163网易的yum源:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
  (4) 更改文件名mv CentOS6-Base-163.repo CentOS-Base.repo
  (5) 更新玩yum源后,执行下边命令更新yum配置,使操作立即生效yum clean all yum makecache
  2、DRBD安装
  (1) 首先我们要升级内核,升级之后我们重启 yum -y update kernel
  yum install kernel-devel 这里请注意要加载新的内核
  (2) rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
  (3) 安装DRBD yum -y install drbd83-utils kmod-drbd83
  (4) 加载DRBD模块到内核 modprobe drbd
  (5) 检测DRBD是否安装成功 lsmod | grep drbd
  显示信息:drbd 332493 0
DSC0001.jpg

  (6) modprobe -l | grep -i drbd 可以查看路径
  安装完成后会在/etc/init.d/drbd生成启动脚本
  3、 初始化磁盘
  (1) 首先使用fdisk –l 确定你新加虚拟磁盘的盘号
  (2) 使用fdisk /dev/盘号 进行分区不需要格式化 (具体操作请参考(http://liumingyuan.blog.51cto.com/9065923/1604923)
  二、 DRBD配置
  (DRBD的配置文件主要分三个比分:global、common和resource。在运行的时候默认读取配置文件的路径是/etc/drbd.conf,这个文件描述了DRBD的一些配置参数以及设备与硬盘分区的映射关系,默认情况下是空的,不过在DRBD的源代码包中包含了配置文件的样例)
  一般情况下global_common.conf(本次实验文件所在目录/etc/drbd.d/)文件仅包含global和common部分配置(理解为全局配置),在/etc/drbd.d/*.res的文件定义于一个资源(理解为主机定义)。
  其实可以将DRBD配置整合到drbd.conf文件中,不过这样做在资源比较多的情况下会变得混乱。
  (1) 本次采用分布式配置首先我们来配置/etc/drbd.d/global_common.conf
  内容如下:
  global {
  usage-count no; #是否参加DRBD使用者统计,默认是参加
  }
  common {
  syncer {rate 200M;} #主节点和备用节点同步时最大的网络速率
  protocol C; #使用DRBD的第三种同步协议,表示收到远程主机的写入确认后认为写入完成
  handlers {
  pri-on-incon-degr "echo o > /proc/sysrq-trigger ;halt -f";
  pri-lost-after-sb "echo o > /proc/sysrq-trigger ;halt -f";
  local-io-error "echo o >/proc/sysrq-trigger ;halt -f";
  fence-peer "/usr/lib64/heartbeat/drbd-peer-outdater -t 5";
  pri-lost "echo pri-lost. Have a look at the log files. | mail -s 'DRBD Alert'root";
  split-brain "/usr/lib/drbd/notify-splot-brain.sh root";
  out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
  }
  net { #DRBD同步时使用的验证方式和密码
  cram-hmac-alg "sha1";
  shared-secret "MySQL-HA";
  }
  disk { #使用dpod功能(drbd outdate-peer daemon)保证数据在同步时不能进行切换
  on-io-error detach;
  fencing resource-only;
  }
  startup {
  wfc-timeout 120;
  degr-wfc-timeout 120;
  }
  }
  (2) 其次我们在drbd.d目录下创建以.res为后缀的文件,本次创建的文件是drbd.res目录是/etc/drbd.d/
  内容如下:
  resource r0 { #定义资源名称为r0
  on local.aaa.com { #每个主机的说明以on开头 后面是主机名hostname
  device /dev/drbd0; #定义DRBD使用磁盘的逻辑路径
  disk /dev/sdb4; #/dev/drbd0 使用的磁盘分区
  address 192.168.1.13:7788; #设置DRBD的监听端口,与另一台主机通信
  meta-disk internal; #DRBD元数据存放方式 internal 内部
  }
  on local2.aaa.com {
  device /dev/drbd0;
  disk /dev/sdb4;
  address 192.168.1.12:7788;
  meta-disk internal;
  }
  }
  (3) 创建haclient组并设置权限 原因是:我们会使用drbd-peer-outdater fence-peer程序。使用该机制dopd心跳插件程序,就需要能够调用drbdsetup和drbdmeta根特权。
  命令如下:
  groupadd haclient
  chgrp haclient /sbin/drbdsetup
  chmod o-x /sbin/drbdsetup
  chmod u+s /sbin/drbdsetup
  chgrp haclient /sbin/drbdmeta
  chmod o-x /sbin/drbdmeta
  chmod u+s /sbin/drbdmeta
  (4) 使用scp 将配置文件复制到另一台计算机上 scp 192.168.1.13:/etc/dbrd.d/* /etc/drbd.d/
  并执行groupadd haclient
  chgrp haclient /sbin/drbdsetup
  chmod o-x /sbin/drbdsetup
  chmod u+s /sbin/drbdsetup
  chgrp haclient /sbin/drbdmeta
  chmod o-x /sbin/drbdmeta
  chmod u+s /sbin/drbdmeta
  (5) 在启动DBRD之前,需要分别在两台主机上的指定分区(这里是sdb4)上创建提供DRBD记录信息的数据块
  drbdadm create-md r0(r0表示之前定义的资源)或者执行drbdadm create-md all
  正确的提示是:
  Writing meta data...
  initializing activity log
  NOT initialized bitmap
  New drbd meta data block successfully created.
  (6) 在两个节点上启动DRBD服务 服务脚本位于/etc/init.d/drbd
  /etc/init.d/drbd start
  (7) 执行cat /proc/drbd
  输出内容如下
  version: 8.3.16 (api:88/proto:86-97)
  GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
  0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
  ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:10482024
  输出解释:
  ro表示角色信息,第一次启动DRBD时,两个节点默认都处于Secondary状态
  ds表示磁盘状态信息,“nconsistent/Inconsistent”即 “不一致/不一致”状态表示两个节点的磁盘数据不一样
  ns表示网络发送的数据包信息
  dw表示磁盘写信息
  dr表示磁盘读信息
  (8) 设置主用节点在默认情况下没有主用节点和备用节点之分因此需要设置两个主机的主次,选择需要设置为主用节点的主机执行以下命令
  drbdsetup /dev/drbd0 primary -o 也可以执行以下命令 drbdadm -- --overwrite-data-of-peer primary all
  执行之后需要设置哪个主用节点就可以使用另一条命令
  /sbin/drbdadm primary r0 或者/sbin/drbdadm primary all
  稍等片刻后查看/proc/drbd
  输出如下:
  version: 8.3.16 (api:88/proto:86-97)
  GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
  0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
  ns:10482024 nr:0 dw:0 dr:10482696 al:0 bm:640 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
  ro的状态变成Primary/Secondary
  ds状态也变成UpToDate/UpToDate 表示实时同步
  (9) 挂载DRBD设备在主节点上挂载以下操作
  mkfs.ext4 /dev/drbd0
  mount /dev/drbd0 /mnt (这里是挂载到mnt下根据需要自行挂载)
  (10) 测试DRBD数据镜像
  在主节点的挂载点/mnt下创建一个文件
  dd if=/dev/zero of=/mnt/ceshi.tmp bs=10M count=20
  完成后接着查看备用主机上的文件是否同步过去了
  首先先停止DRBD服务,为了保证数据的一致性
  /etc/init.d/drbd stop
  mount /dev/sdb4 /mnt (这里挂载是/dev/sdb4物理分区,因为DRBD在启动的时候才会加载DRBD设备到系统中)
  ls /mnt 即可查看到文件
DSC0002.png

  检查完成后umount卸载挂载点后在开启服务

运维网声明 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-452928-1-1.html 上篇帖子: centos 的yum仓库搭建 下篇帖子: 【CentOS】NTP Server
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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