zoukankan      html  css  js  c++  java
  • CentOS使用yum安装drbd

    CentOS 6.x系统要升级到最新的内核才支持

    CentOS 6.x

    rpm -ivh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
    yum -y install drbd83-utils kmod-drbd83

    CentOS 7.x

    rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
    yum install -y drbd84-utils kmod-drbd84

    加载模块:

    modprobe drbd
    echo drbd >/etc/modules-load.d/drbd.conf

    两台机器时间同步,并修改/etc/hosts文件

    10.205.22.185 node1
    10.205.22.187 node2

    两台主机分别修改主机名

    hostname node1
    hostname node2

    修改配置文件(两台机器配置一样)

    /etc/drbd.d/global_common.conf配置文件

    global {
        usage-count yes; #是否参加DRBD使用者统计,默认是参加
    }
    common {
        protocol C; #使用DRBD的第三种同步协议,表示收到远程主机的写入确认后认为写入完成
        handlers {   
           pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
           pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
           local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
      }
        startup {
            wfc-timeout          240;
            degr-wfc-timeout     240;
            outdated-wfc-timeout 240;
        }
        disk {
            on-io-error detach;
        }
        net { #DRBD同步时使用的验证方式和密码
            cram-hmac-alg md5;
            shared-secret "testdrbd";
        }
        syncer {
            rate 30M; #主节点和备用节点同步时最大的网络速率
        }
    }

    /etc/drbd.d/r0.res配置文件

    resource r0 { 
    on node1 {
      device     /dev/drbd0;
      disk       /dev/sdb1;
      address    10.205.22.185:7898;
      meta-disk  internal;
     }
    on node2 {
      device     /dev/drbd0;
      disk       /dev/sdb1;
      address    10.205.22.187:7898;
      meta-disk  internal;
     }
    }

    准备好/dev/sdb1分区

    初始化磁盘文件格式,比喵创建数据块的时候报错。

     dd if=/dev/zero bs=1M count=1 of=/dev/sdb1; sync

    在两台机器上分别创建数据块

    drbdadm create-md r0

    在两台机器都启动服务

    /etc/init.d/drbd start

    设定主,并查看状态(drbd84-utils版本用, drbdadm -- --overwrite-data-of-peer primary r0设为主)

    drbdsetup /dev/drbd0 primary -o 
    cat /proc/drbd

    在主上格式磁盘,挂载并写入文件,主备切换查看同步情况

    mkfs.ext4 /dev/drbd0
    mount /dev/drbd0 /drbd

    主备手动切换:

    1.先将主上面的磁盘卸载掉并降级
    umount /dev/drbd0
    drbdadm secondary r0
     
    2.在备机上升级为主机
    drbdadm primary r0
     
    3.挂载磁盘
    mount /dev/drbd0 /media/mnt
  • 相关阅读:
    使用Jackson对字典翻译
    通过代理的方式实现对httpClient的监控,超时回调
    mapstruct 1.4.2和lombok 1.18.16之后版本,报错和mapstruct生成空的实现
    jenkins + sonar 中文文件名报错解决
    linux 启动jar脚本
    easyUI关键(常见)组件详解
    shiro三连斩之概念
    SpringMVC请求参数总结
    springboot jsp,过滤器,拦截器
    CentOS添加使用
  • 原文地址:https://www.cnblogs.com/wsl222000/p/5777382.html
Copyright © 2011-2022 走看看