文档章节

Centos6下DRBD的安装配置

linuxprobe16
 linuxprobe16
发布于 2016/11/14 14:31
字数 1540
阅读 12
收藏 0
点赞 0
评论 0
导读 Distributed Replicated Block Device(DRBD)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)。DRBD的核心功能通过Linux的内核实现,最接近系统的IO栈,但它不能神奇地添加上层的功能比如检测到EXT3文件系统的崩溃。DRBD的位置处于文件系统以下,比文件系统更加靠近操作系统内核及IO栈。

Centos6下DRBD的安装配置Centos6下DRBD的安装配置

一、安装环境说明

系统版本:CentOS6.5

DRBD版本:DRBD-8.4.3

node1:   192.168.7.88(drbd1)
node2:   192.168.7.89 (drbd2)

(node1)为仅主节点配置
(node2)为仅从节点配置
(node1,node2)为主从节点共同配置

二、准备环境:(node1,node2)

1.关闭iptables和SELINUX,避免安装过程中报错

service iptables stop                       //关闭iptables
setenforcing 0                                 //暂时关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux      //永久关闭selinux

2.设置hosts文件

vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.7.88    drbd1
192.168.7.89    drbd2

3.在两台虚拟机上添加一块2G硬盘sdb作为DRBD,分别分区为sdb1,大小1G,并在本地系统创建/data目录,不做挂载操作。

fdisk /dev/sdb

----------------

n-p-1-回车-"+1G"-wq

----------------

mkdir /data

4.时间同步:

ntpdate -u asia.pool.ntp.org

三、DRBD的安装部署

1.安装依赖包:(node1,node2)

yum install gcc gcc-c++ make glibc flex kernel-devel kernel-headers

2.安装DRBD:(node1,node2)

wget http://oss.linbit.com/drbd/8.4/drbd-8.4.3.tar.gz

tar zxvf drbd-8.4.3.tar.gz

cd drbd-8.4.3

./configure --prefix=/usr/local/drbd --with-km

make && make install

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

加载DRBD模块:

modprobe drbd

查看DRBD模块是否加载到内核:

lsmod |grep drbd

四、DRBD的配置

1.参数配置:(node1,node2)

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 30M;}
on drbd1.example.com{
  device /dev/drbd0;
  disk   /dev/sdb1;
  address 192.168.7.88:7788;
  meta-disk internal;
}
on drbd2.example.com{
  device /dev/drbd0;
  disk   /dev/sdb1;
  address 192.168.7.89:7788;
  meta-disk internal;
}
}

2.创建DRBD设备并激活r0资源:(node1,node2)

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.启动DRBD服务:(node1,node2)

service drbd start

注:需要主从共同启动方能生效
4.查看状态:(node1,node2)

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无法判断哪一方为主机,应以哪一方的磁盘数据作为标准。

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@drbd1.example.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@drbd2.example.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和Secondary/Primary ds显示UpToDate/UpToDate表示主从配置成功。
6.挂载DRBD:(node1)

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

mkfs.ext4 /dev/drbd0

mount /dev/drbd0 /data

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

五、模拟故障

(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@drbd2.example.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@drbd1.example.com,
2013-05-27 20:45:19
m:res  cs         ro                 ds                 p  mounted  fstype
0:r0   Connected  Secondary/Primary  UpToDate/UpToDate  C

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

本文转载自:http://www.linuxprobe.com/centos6-drdb-setup-instal.html

共有 人打赏支持
linuxprobe16
粉丝 8
博文 697
码字总数 135203
作品 0
河东
yum -y install kmod-drbd83 drbd83 安装不了nopackage解决

yum -y install kmod-drbd83 drbd83 安装不了,由于centos6.4的iso并没有drbd的rpm包,采用互联网上的资源下载安装elrep,可以直接yum install drbd wget http://elrepo.reloumirrors.net/elre...

rock912
2014/10/18
155
1
corosync+pacemaker+drbd+mysql 实现mysql的高可用

拓扑如下:但是主从没有做配置,只做了主mysql的高可用 node1: 心跳:172.16.0.11 drbd:10.1.1.11 固定:192.168.1.166 node2: 心跳:172.16.0.12 drbd:10.1.1.12 固定:192.168.1.167 V...

曉魚兒
07/02
0
0
Centos5.5+heartbeat+drbd+oracle10g双机配置

一、安装环境说明: 操作系统:centos5.5x86 主要软件及版本:heartbeat2.0.8 drbd-8.4.0 依赖软件及版本:libnet 1.1.2.1(heartbeat所需) 数据库版本:oracle 10201 32位 安装前规划: 网...

鱼北子
2012/09/11
0
1
DRBD环境搭建

http://git.linbit.com/drbd-9.0.git/ 一、配置环境需求 两个节点,一主一次:Host1、Host2 节点环境 Linux Distribution(含有make, gcc, kernel-devel等工具),本次使用 CentOS 7.1 DRBD ...

dhb_oschina
2016/04/01
210
0
centos7.5部署heartbeat+DRBD+mysql高可用方案

做双机热备方案需要用到Hearbeat和存储设备(如果没存储设备,可以用DRBD代替,但是最好用存储设备)。 Heartbeat:如果热备服务器在规定的时间内没有收到主服务器心跳消息那么热备服务器会认...

sailikung
05/18
0
0
Heartbeat+DRBD+MySQL高可用方案

Heartbeat+DRBD+MySQL高可用方案 =============================================================================== 概述: ==========================================================......

逐梦小涛
06/26
0
0
项目:一次测试环境下的高可用NFS文件服务器(DRBD+heartbeat+NFS)

什么是DRBD? 分布式复制块设备。当你将数据写入本地的DRBD设备上的文件系统时,数据同时会被发送到远程端的另一边的DRBD设备文件系统里,保障数据实时同步,当本地的DRBD设备突然故障,远程...

出VU时代
2016/09/21
0
0
Centos6.5 配置  DRBD8.4.3

   废话不多说,现在开始:  1.2台虚拟机,Centos6.5系统,系统配置啥的都一样,能互相ping 通。把它们称为A和B。  2. A: server iptables stop setenforce 1 ...

曾国藩_6868
2016/01/13
0
0
DRBD+keepalived+LAMP+discuz

DRBD(Distributed Replicated Block Device)是一个基于块设备级别在远程服务器直接同步和镜像数据的开源软件,类似于RAID1数据镜像,通常配合keepalived、heartbeat等HA软件来实现高可用性。...

Anonymous123
2015/08/29
0
0
Heartbeat + Drbd

Heartbeat是Linux-HA工程的一个组件,自1999年开始到现在,发布了众多版本,是目前开源Linux-HA项目最成功的一个例子,在行业内得到了广泛的应用。Heartbeat通过以太网交叉线后者串口电线来传...

兮缘
2017/03/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

全新内存布局Android5 for one x

众所周知Android5.0默认ART模式,运行速度加倍,软件占用内存也加倍,我们one x这种元老机采用旧的内存布局,data空间2g ART模式下安装几个软件也就不够用了。最近逛国外的xda论坛,发现有大...

CrazyManDF
6分钟前
0
0
web3j转账

 web3 转账功能   为了完成以太坊交易,必须有几个先决条件   1、对方的以太坊地址   2、确定要转账的金额   3、自己地址的转账权限   4、大于转账金额的以太币,以太币转账其实就...

智能合约
7分钟前
0
0
10.28 rsync工具介绍 , rsync常用选项, rsync通过ssh同步

rsync远程同步 重点!重点!!重点!!! 例子 • rsync -av /etc/passwd /tmp/1.txt • rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt rsync格式 • rsync [OPTION] … SRC DEST • rs......

Linux_老吴
20分钟前
0
0
iis php 环境搭建,非常详细的教程

准备篇 一、环境说明: 操作系统:Windows Server 2016 PHP版本:php 7.1.0 MySQL版本:MySQL 5.7.17.0 二、相关软件下载: 1、PHP下载地址: http://windows.php.net/downloads/releases/ph...

T_star
23分钟前
0
0
Day35 rsync通过服务同步

rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口。 log file:指定日志文件。 pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等...

杉下
28分钟前
1
0
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了...

ios122
28分钟前
0
0
rsync至ssh同步

rsync: 文件同步工具,可实现“增量拷贝”;使用yum安装rsync包 常用选项:-a=-rtplgoD (-r同步目录,-t保持文件的时间属性,-p保持文件的权限属性,-l保持软连接,-g保持文件的属组,-o保持...

ZHENG-JY
34分钟前
0
0
TradingView 学习笔记

#前言 公司最后需要使用TradingView展示K线图走势。由于之前没接触过,拿到文档时一脸蒙逼。还好找到二篇文章+Demo代码,直接改改就行了。 #被批 由于上面的懵懂,有个问题困扰4个小时没解决...

hihubs
34分钟前
0
0
10.28 rsync工具介绍~10.31 rsync通过ssh同步

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

洗香香
36分钟前
1
0
卷积为什么要旋转180度

参考《最容易理解的对卷积(convolution)的解释》 https://blog.csdn.net/bitcarmanlee/article/details/54729807 这篇博客详细讲解了“卷积”,提及了为什么要反转180度,我简述下。 1.卷积的...

datadev_sh
45分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部