author:headsen  chen

date: 2017-11-20  15:11:21

notice: 个人原创,转载请注明,否则依法追究法律责任

前期准备:

两台机器:配置主机名分别为: local.aaa.com 和local2.aaa.com

配置IP地址分别为:   192.168.115.143 和 192.168.115.180 并且能上网

配置时间服务:ntpdate ,使得两台主机的时间都准确并一致

配置两台主机的hosts文件,使得都能相互ping通主机名

 1,安装(两台都要)

[root@client 桌面]# wget http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

[root@client 桌面]# yum -y install elrepo-release-6-8.el6.elrepo.noarch.rpm

[root@client 桌面]# yum -y install drbd84-utils kmod-drbd84

[root@client 桌面]# modprobe drbd
[root@client 桌面]# lsmod | grep drbd
drbd 374888 0
libcrc32c 1246 1 drbd
[root@client 桌面]#

2,分区(但不格式化和挂载,两台都要)(两台服务器的同步分区要一样大)

[root@local2 桌面]# lsblk

[root@local2 桌面]# fdisk /dev/sdb

[root@local2 桌面]# lsblk
。。。
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 2G 0 part
sr0 11:0 1 1024M 0 rom
[root@local2 桌面]#

3,配置

3.1.参数配置:(两台都要)

vim /usr/local/drbd/etc/drbd.conf
清空里面的配置,添加如下配置:

resource r0{
protocol C;
startup { wfc-timeout 0; degr-wfc-timeout 120;}
disk { on-io-error detach;}
net{
timeout 60;
connect-int 10;
ping-int 10;
max-buffers 2048;
max-epoch-size 2048;
}
syncer { rate 100M;}
on local.aaa.com{
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.115.143:7788;
meta-disk internal;
}
on local2.aaa.com{
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.115.180:7788;
meta-disk internal;
}
}

将这个配置文件传到另外一台服务器上,要求两台服务器的这个配置文件要一模一样。

3.2.创建DRBD设备并激活r0资源:两台都要)

# mknod /dev/drbd0 b 147 0

# drbdadm create-md r0

等待片刻,显示success表示drbd块创建成功
----------------
Writing meta data...
initializing activity log
NOT initializing bitmap
New drbd meta data block successfully created.
--== Creating metadata ==--
As with nodes, we count the total number of devices mirrored by DRBD
at http://usage.drbd.org.
The counter works anonymously. It creates a random number to identify
the device and sends that random number, along with the kernel and
DRBD version, to usage.drbd.org.
http://usage.drbd.org/cgi-bin/insert_usage.pl?
nu=716310175600466686&ru=15741444353112217792&rs=1085704704
* If you wish to opt out entirely, simply enter 'no'.
* To continue, just press [RETURN] //出现[RETURN]按回车
success
----------------
再次输入该命令:
# drbdadm create-md r0
成功激活r0
----------------
[need to type 'yes' to confirm] yes
Writing meta data...
initializing activity log
NOT initializing bitmap
New drbd meta data block successfully created.

3.3 启动DRBD服务:(两台都要)

# service drbd start

注:需要主从共同启动方能生效

3.4.查看状态:(两台都要)

cat /proc/drbd

version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@drbd1.example.com,
2013-05-27 20:45:19
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:1060184 或者 service drbd status drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@drbd1.example.com,
2013-05-27 20:45:19
m:res cs ro ds p mounted fstype
0:r0 Connected Secondary/Secondary Inconsistent/Inconsistent C

注:这里ro:Secondary/Secondary表示两台主机的状态都是备机状态,ds是磁盘状态,显示的状态内容为“不一致”,这是因为DRBD无法判断哪一方为主机,应以哪一方的磁盘数据作为标准。

3.5.将drbd1主机配置为主节点:(node1)

# drbdsetup /dev/drbd0 primary --force

分别查看主从DRBD状态:

(node1)

service drbd status

drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@local.aaa.com,
2013-05-27 20:45:19
m:res  cs         ro                 ds                 p  mounted  fstype
0:r0   Connected  Primary/Secondary  UpToDate/UpToDate  C (node2) service drbd status drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@local2.aaa.com,
2013-05-27 20:49:06
m:res  cs         ro                 ds                 p  mounted  fstype
0:r0   Connected  Secondary/PrimaryUpToDate/UpToDate  C

注:ro在主服务器上显示 Primary/Secondary , ds显示UpToDate/UpToDate;

ro在从服务器上显示 Secondary/Primary  , ds显示UpToDate/UpToDate表示主从配置成功。

3.6 挂载DRBD:(node1)

从刚才的状态上看到mounted和fstype参数为空,所以我们这步开始挂载DRBD到系统目录

# mkfs.ext4 /dev/drbd0

# mount /dev/drbd0 /data

注:Secondary节点上不允许对DRBD设备进行任何操作,包括只读,所有的读写操作只能在Primary节点上进行,只有当Primary节点挂掉时,Secondary节点才能提升为Primary节点继续工作。
 
4、模拟故障

(node1)

cd /data
touch 1 2 3 4 5
cd ..
umount /data
drbdsetup /dev/drbd0 secondary

注:这里实际生产环境若DRBD1宕机,在DRBD2状态信息中ro的值会显示为Secondary/Unknown,只需要进行DRBD提权操作即可。 (node2)

drbdsetup /dev/drbd0 primary
mount  /dev/drbd0 /data
cd /data
touch 6 7 8 9 10
ls
--------------
1  10  2  3  4  5  6  7  8  9  lost+found

查看(node1)(node2)DRBD状态:

(node2)
service drbd status drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@local2.aaa.com,
2013-05-27 20:49:06
m:res cs ro ds p mounted fstype
0:r0 Connected Primary/Secondary UpToDate/UpToDate C /data ext4 (node1)
service drbd status drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@local.aaa.com,
2013-05-27 20:45:19
m:res cs ro ds p mounted fstype
0:r0 Connected Secondary/Primary UpToDate/UpToDate C

centos6上yum安装drbd(内核:2.6.32.696)的更多相关文章

  1. centos6.8上yum安装zabbix3.2

    centos6.8上yum安装zabbix3.2 zabbix3.2安装文档:https://www.zabbix.com/documentation/3.2/manual/installation/ ...

  2. centos7和centos6通过yum安装JDK1.8

    centos7和centos6通过yum安装JDK1.8 查看JDK的安装路径# java -version============================查看Linux系统版本信息# cat ...

  3. centos6下yum安装mariadb数据库的解决方法

    在centos6下Yum安装mariadb数据库时老是提示无法正常安装,看错误日志才发现,是没有mariadb release源文件在/etc/yum.repos.d/中,为此,我特意在新建文件: # ...

  4. CentOS6 CentOS7 yum安装图形界面

    CentOS6 yum安装图形界面yum groupinstall -y "Desktop" "Desktop Platform" "Desktop ...

  5. 转载:centos上yum安装apache+php+mysql等

    1. 更新系统内核到最新. [root@linuxfei ~]#yum -y update 系统更新后,如果yum安装时提示错误信息,请执行以下命令修复. [root@linuxfei ~]#rpm ...

  6. Solr6.5在Centos6上的安装与配置 (一)

    这篇文章主要是介绍在Centos6上Solr6.5的安装与配置. 一.安装准备及各软件使用版本说明: 1.JDK8,版本jdk1.8.0_121下载地址:jdk-8u121-linux-x64.tar ...

  7. Centos6.8 yum安装LNMP

    1.Centos6系统库中默认是没有nginx的rpn包的,所以我们需要先更新下rpm依赖库 (1):使用yum安装nginx,安装nginx库 rpm -Uvh http://nginx.org/p ...

  8. 在CentOs7上yum安装redis

    在开始安装步骤之前,先把我的CentOs和redis版本号列出来: # 系统/软件 版本号 1 CentOS7 CentOS Linux release 7.2.1511 (Core) 2 redis ...

  9. centos6服务器YUM安装LNMP(LINUX+NGINX+MYSQL+PHP)

    之前都用的lamp,这次配置一个lnmp来看看,试试Nginx是不是好用 关闭SELINUXvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXT ...

随机推荐

  1. 上帝之眼APP——实时定位监控、即时通讯

    项目地址 https://github.com/guoyaohua/GodsEYE 开发环境 Android studio 2.3.1 极光推送IM SDK 百度鹰眼SDK 背景介绍 定位监控系统,不 ...

  2. 0_OpenCV3.4.0+Visual Studio2017 + win10环境配置

    研究生学习方向是计算机视觉,因此想从传统的算法开始,于是尝试安装Opencv做一些项目.在安装过程中碰到很多问题,搭建成功后立刻记录下来,一遍以后查看. 安装环境:windows10 64bit 专业 ...

  3. 航空客户价值分析特色LRFMC模型——RFM升级

    本文转载自微信公众号TIpDM. 每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 我们说RFM ...

  4. IOS开发之XCode学习013:步进器和分栏控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIStepper和UISegmente ...

  5. 在visual studio 2017中配置Qt

    简述 这两天因为软件工程课要用vs2017写一个C++的GUI界面,就打算学习Qt,但是vs2017配置起Qt来不像vs2013,15那么简单,而且现在网上对于vs2017配置Qt的教程很少,也不详细 ...

  6. Postman教程——发送第一个请求

    系列文章首发平台为果冻想个人博客.果冻想,是一个原创技术文章分享网站.在这里果冻会分享他的技术心得,技术得失,技术人生.我在果冻想等待你,也希望你能和我分享你的技术得与失,期待. 前言 过年在家,闲来 ...

  7. Centos7.2 搭建Lamp服务器以及迁移WordPress个人博客详细过程

    其实自己的博客搭了有段时间了,但是由于自己不太确定是不是一定要用wd的框架,以及实验室公网服务器的不稳定,就一直荒废着. 今天偶然间看到了腾讯云对于学生的优惠活动,毕业之前每月只要8元的云服务器(就算 ...

  8. C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识

    自己刚学习C#,总结了一些知识,想分享给大家.毕竟刚学习这门语言,学得不深,如果哪里有错误,请帮忙指出一下哈,谢谢! 1.(int)可用于单精度.双精度等其他数值类型的转换(到整型int),不能用于转 ...

  9. Python Cookbook(第3版)中文版:15.21 诊断分段错误

    15.21 诊断分段错误¶ 问题¶ 解释器因为某个分段错误.总线错误.访问越界或其他致命错误而突然间奔溃. 你想获得Python堆栈信息,从而找出在发生错误的时候你的程序运行点. 解决方案¶ faul ...

  10. 洛谷P3796 【模板】AC自动机(加强版)(AC自动机)

    洛谷题目传送门 先膜一发yyb巨佬 orz 想学ac自动机的话,推荐一下yyb巨佬的博客,本蒟蒻也是从那里开始学的. 思路分析 裸的AC自动机,这里就不讲了.主要是这题太卡时了,尽管时限放的很大了.. ...