1 安装环境介绍

1.1 系统环境

  内核:3.10.0-862.el7.x86_64 
  版本:CentOS Linux release 7.5.1804 (Core)
  主服务器:hostname = mysql-master-01  心跳通信 IP = 172.16.1.50
  从服务器:hostname = mysql-master-02  心跳通信 IP = 172.16.1.51

注意:以下操作主从同时执行

1.2 前期准备

  关闭防火墙和selinux。

  主从服务器的/etc/hosts一样,如下:

    172.16.1.50   mysql-master-01
    172.16.1.51 mysql-master-02

2 开始安装drbd-84-utils

  2.1 yum源安装:

    rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

  2.2 drbd 安装:    

    yum -y install drbd84-utils kmod-drbd84 

  2.3 让内核加载 drbd 模块

  [root@mysql-master- ~/]# modprobe drbd
  [root@mysql-master-01 ~/]# lsmod |grep drbd
  drbd
  libcrc32c xfs,drbd   [root@mysql-master- ~/]# echo "modprobe drbd">>/etc/rc.local # 加入开机自启动
  [root@mysql-master-01 ~/]# chmod +x /etc/rc.d/rc.local

3 创建配置文件   注意:主从配置完全一样

  3.1 创建全局配置

[root@mysql-master-01 ~/]# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.bak
[root@mysql-master-01 ~/]# cat > /etc/drbd.d/global_common.conf <<-EOF
global {
usage-count no;
}
common {
net {
protocol C;
}
}
EOF

  3.2 创建资源配置文件

[root@mysql-master-01 ~/]# cat  > /etc/drbd.d/mysql_data.res <<-EOF
resource mysql_data {
disk /dev/sda4;
device /dev/drbd0;
meta-disk /dev/sda3[];
# meta-disk internal; # 内部模式
on mysql-master- {
address 172.16.1.50:;
}
on mysql-master- {
address 172.16.1.51:;
}
}
EOF

3.3 主从服务器都需要添加如下分区、如下操作:
  /dev/sda3 为 500M # 作为 create-md  这个分区一定不能用 mkfs 来格式化
  /dev/sda4 为 2G  # 数据
  刚分完区要通知内核:partprobe /dev/sda

  3.3.1 格式化:/dev/sda4

  [root@mysql-master-01~/]# drbdadm up all && drbdadm -- --overwrite-data-of-peer primary all &&mkfs.xfs /dev/drbd0 或者 mkfs.xfs /dev/sda4

  meta-data=/dev/sda4              isize=512    agcount=4, agsize=125120 blks
   = sectsz=512 attr=2, projid32bit=1
   = crc=1 finobt=0, sparse=0
  data = bsize=4096 blocks=500480, imaxpct=25
   = sunit=0 swidth=0 blks
  naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  log =internal log bsize=4096 blocks=2560, version=2
   = sectsz=512 sunit=0 blks, lazy-count=1
  realtime =none extsz=4096 blocks=0, rtextents=0

  3.3.2 初始化设备元文件3.4 启动系统服务

  drbdadm create-md mysql_data 或者 drbdadm create-md all 

3.5 启动系统服务

 [root@mysql-master-~/]#drbdadm up all
 [root@mysql-master-~/]#systemctl start drbd

4 主节点操作

  4.1 首次,数据不一致,主覆盖从令数据一致(自动设为主盘)

   [root@mysql-master-01 ~/]# drbdadm -- --overwrite-data-of-peer primary mysql_data 或者 drbdadm -- --overwrite-data-of-peer primary all 

  或者强制设置为主:

  [root@mysql-master-01 ~/]# drbdadm primary all --force 或者 drbdadm primary mysql_data --force 

  4.2 查看同步进程

  4.2.1 刚开始同步

[root@mysql-master-/etc/drbd.d/]# cat /proc/drbd
version: 8.4.- (api:/proto:-)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, -- ::
: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r-----
ns: nr: dw: dr: al: bm: lo: pe: ua: ap: ep: wo:f oos:
[==>.................] sync'ed: 16.6% (1673256/2001920)K
finish: :: speed: , (,) want: , K/sec

  4.2.1 同步完成

[root@mysql-master-~/]# cat /proc/drbd
version: 8.4.- (api:/proto:-)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, -- ::
: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
ns: nr: dw: dr: al: bm: lo: pe: ua: ap: ep: wo:f oos:

提示:如果是 drbd90-utils 版本,显示结果是不一样的。

[root@store-nfs-~/]#cat /proc/drbd
version: 9.0.- (api:/proto:-)
GIT-hash: 62f906cf44ef02a30ce0c148fec223b40c51c533 build by mockbuild@, -- ::
Transports (api:): tcp (9.0.-)

  4.3 同步完成就可以挂在,往里面写数据了

  [root@mysql-master-~/]# mount /dev/drbd0 /mnt/ 

  4.4 创建测试文件

touch /mnt/file{..}
ls -l /mnt
total
-rw-r--r--. root root Jun : file1
-rw-r--r--. root root Jun : file2
-rw-r--r--. root root Jun : file3

  4.5 卸载文件系统并切换为备节点  

umount /mnt
drbdadm secondary mysql_data

5 从节点操作

  5.1 确认文件主节点的数据是否同步到从节点

drbdadm primary mysql_data
mount /dev/drbd0 /mnt
ls -l /mnt
total 0
-rw-r--r--. 1 root root 0 Jun 10 09:43 file1
-rw-r--r--. 1 root root 0 Jun 10 09:43 file2
-rw-r--r--. 1 root root 0 Jun 10 09:43 file3

  注意:从节点不能提供访问

6 如果启用了防火墙需打开7788端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="ip_address" port port="7788" protocol="tcp" accept'
firewall-cmd --reload

 到此配置完成!!!

CentOS7 yum安装配置 drbd-84-utils (外部模式)的更多相关文章

  1. centos7 yum安装配置redis 并设置密码

    原文:https://www.cnblogs.com/fanlinglong/p/6635828.html centos7 yum安装配置redis 并设置密码 1.设置Redis的仓库地址 yum ...

  2. (转)centos7.0安装配置DRBD

    原文:http://gushiren.blog.51cto.com/3392832/1685207 首先确保两台机器时间同步,配置ssh. 方法一通过yum源安装:yum安装默认路径是/etc/drb ...

  3. CentOS7 yum安装配置

    一.安装必要包 yum install gcc 二.linux下安装 #下载 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar ...

  4. centos7 yum安装配置redis

    1.设置Redis的仓库地址 yum install epel-release 2.安装redis yum install redis 修改配置文件,监听所有的IP地址 vim /etc/redis. ...

  5. CentOS7 yum安装配置 +redis主从配置

    一.安装必要包 yum install gcc 二.linux下安装 #下载 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar ...

  6. CentOS7 yum 安装配置 MySQL 5.7

    1.配置yum源 # 下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm # 安装 ...

  7. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

  8. centos7 yum安装MongoDB

    centos7 yum安装MongoDB   原文博客地址http://xgs888.top/post/view?id=64 centos7 yum安装mongodb: 1:创建仓库 vi /etc/ ...

  9. CentOS7 yum 安装 Nginx最新版本

    CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarc ...

随机推荐

  1. RAMOS测速

    WIN7X64-DDR31600-RAMOS测速,连续读取17GB/S,连续写入10GB/S,4K读写都是1GB/S左右.不错哦.

  2. ES - Dynamic templates 动态模板

    1.ES Mapping 在lucene中,索引中每个字段都需要指定很多属性,例如:是否分词.采用哪个分词器.是否存储等. 在ES中,其实索引中每个字段也需要指定这些属性,我们有时候并没有对这些属性进 ...

  3. Dell Inspiron 620 / Vostro 260 BIOS 开启 AHCI 模式

    1.Dell Vostro 260 台式机,WIN7 旗舰版   2.登陆 DELL 官方支持站点,获取 MS-A10.exe 安装文件   3.从网络中获取 AMIBCP.exe 工具,双击打开此程 ...

  4. SQL SERVER2008 数据库日志文件的收缩方法

    最近公司的数据库随着业务量的增多,日志文件巨大(超过300G),造成磁盘空间不够用,进而后来的访问数据库请求无法访问. 网上类似的方法也很多,但不可行,如下是我实践过,可行的,将日志文件收缩至任意指定 ...

  5. scala中Either的一种使用场景

    用scala有一年多了,对于scala中的Option和Try使用的较为频繁,对其应用场景相对熟悉一些.而对于Either,仔细回想一下却发现几乎(完全)没有使用过,其实并不是没有遇到过Either的 ...

  6. webapi xml序列化删除<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">标签

    在WebApiConfig.Register中加入config.Formatters.Remove(config.Formatters.XmlFormatter); 移除默认的xml序列化器

  7. Java之框架Spring(一)

    1. Spring是什么? Spring是一个开源框架 Spring为简化企业级应用而生.可以实现以前只有EJB才能实现的功能 Spring是一个IOC(DI)和AOP容器框架 具体描述:轻量级:Sp ...

  8. leetcode每日刷题计划-简单篇day4

    腰酸腿疼肝数模 被教育说代码风格像是小学生而且有点冗余 QAQ之前面试官好像也说过orz努力改努力改 今天把前两天跳过的vector给简单看了一下补上了 Num 14 最长公共前缀 Longest C ...

  9. css边框的一些属性

    边框样式值如下:none : 无边框.与任何指定的border-width值无关hidden : 隐藏边框.IE不支持dotted : 在MAC平台上IE4+与WINDOWS和UNIX平台上IE5.5 ...

  10. 201772020113 李清华《面向对象程序设计(java)》第18周学习总结

    1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: ...