DRBD测试环境搭建

先卸载两边节点原来磁盘设备所对应的挂载目录,并在fstab里注释掉相关行,防止系统启动时自动挂载

以下顺序不能颠倒

安装elrepo源

rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm

yum install kernel-devel kernel kernel-headers -y

yum install drbd83-utils.x86_64 kmod-drbd83.x86_64 -y

重启系统

Test01

eth0     192.168.56.11

eth1     192.168.66.11

Test02

eth0     192.168.56.12

eth1     192.168.66.12

安装包

drbd83-8.3.13-2.el5.centos.x86_64.rpm

kmod-drbd83-8.3.13-1.el5.centos.x86_64.rpm

然后需要加载drbd模块

modprobe drbd

eth0是基本网卡

eth1直连专门用来做DRDB的通信

在Test01和Test02上分别添加路由,表示drbd通信走各自的eth1网卡流量,放入rc.loacl以便开机自动启动

Test01:route add -host drbd02 dev eth1

Test02:route add -host drbd01 dev eth1

配置文件里的部分说明

startup {
wfc-timeout 120;             #等待连接的timeout.如果没有连接会一直阻塞.0表示unlimited.
degr-wfc-timeout 120;     #单节点集群中等待连接的timeout.
}

先执行drbdadm create-md r0

做好配置文件后启动节点两边的drbd服务前执行drbdadm create-md r0

如果出现报错,一般是因为你对这个分区进行了文件系统的创建,使用以下命令抹除文件系统的信息.

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

#如果drbd-overview命令查看到如下状态

ro:Secondary/Secondary ds:Inconsistent/Inconsistent

以下命令可以不用执行

#节点两边都执行drbdadm up all

只在Test01上执行,设置Test01上的drbd为主节点

drbdadm -- --overwrite-data-of-peer primary r0

如果主节点变成Primary连,就可对其格式化了.

如果在主节点上遇到如下问题

0:web Connected Secondary/Secondary Inconsistent/Diskless C r----

则在主节点上执行

drbdsetup /dev/drbd0 primary -o

然后就可以对其格式化了

drbdadm up all 报错

1.0: Failure: (124) Device is attached to a disk (use detach first)

解决:drbdadm detach r0

2.0: Failure: (124) Device is attached to a disk (use disconnect first)

解决:drbdadm disconnect r0

在备节点上查看数据是否同步过来了

先停掉drbd资源,然后挂载原始分区查看

drbdadm down r0

mount /dev/sdb1 /drbd

drbdadm up all 相当于如下命令的组合:

drbdadm attach all

drbdadm syncer all

drbdadm connect all

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

手动切换主备

正常状态切换

主切从

umount /drbd

drbdadm secondary r0

从切主

drbdadm primary r0

mount /dev/drbd0 /drbd

主节点关机或停止主节点drbd服务的切换
关闭主节点服务,此时挂载的drbd分区就自动在主节点卸载了,然后在备用节点执行切换命令:
[[email protected] ~]#drbdadm primary all
此时会报错:
2.State change failed: (-7) Refusing to be Primary while peer is not outdated
Command ‘drbdsetup 2 primary‘ terminated with exit code 11
因此,必须在备用节点执行如下命令:
[[email protected] ~]#drbdadm -- --overwrite-data-of-peer primary all
此时就可以正常切换了.
当在备用节点执行切换到主节点命令后,原来的主用节点自动变为备用节点.无需在主用节点再次执行切换到备用节

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

处理DRBD脑裂的情况

脑裂的状态

ro:Secondary/Unknown

选择一个机器作为secondary,在该机上执行

drbdadm secondary all

drbdadm disconnect all

drbdadm -- --discard-my-data connect all

在另外一台机器上执行

drbdadm connect all

查看drbd资源状态

[[email protected] ~]# drbdadm cstate r0
Connected

[[email protected] ~]# drbd-overview

0:r0  Connected Primary/Secondary UpToDate/UpToDate C r----- /drbd ext3 1004M 188M 806M 19%

留意syncer rate参数设置.这个凭借网络速率和磁盘的写入速率.官方给一个值:
千兆网络同步速率约莫在125MB/S,百兆网络同步速率约莫在11MB/S,但我测试同步速率最大能到218MB/S.这个同步速率和磁盘写入速率(hdparm -Tt /dev/drbd0测试结果)中的最小值乘以30%后的值就是应当设置的值.譬喻:同步速率125MB/S,磁盘写入速率110MB/S,那么这个应当设置不能高出33MB/S,缘故起因是,DRBD同步有个差别的进程用来做数据的传输,一个replication进程用来同步一些block的批改,这个值不凭借这个值的设置,是在Synchronization进程应用的带宽之外的带宽来传输.一个Synchronization进程用来同步处理赏罚,受限于这个值的设置,以是这值应当多思量好,假如把设置的太大,把全部的带宽占满了,会导致replication进程没有可用带宽应用,导致IO收场出现同步不正常.

时间: 2024-10-01 22:16:50

DRBD测试环境搭建的相关文章

[软件测试]Linux环境中简单清爽的Google Test (GTest)测试环境搭建(初级使用)

本文将介绍单元测试工具google test(GTEST)在linux操作系统中测试环境的搭建方法.本文属于google test使用的基础教程.在linux中使用google test之前,需要对如下知识有一些了解: (1)C/C++编程方法 (2)makefile的编写 (3)linux命令行操作 (4)GTEST背景知识:它是用来干什么的?它用什么语言编写的?它的一些基本语法?等等 以上知识不需要做到熟能生巧,只要达到入门级别,使用GTEST不会费任何力气,毕竟GTEST也不是一个高门槛的

Appium Android测试环境搭建 for Mac

Appium Android测试环境搭建 涉及的资源,工具都很多 ,从网上各种资料查找,整合一下资源,针对小白级别. 1.Appium安装: 转载自:http://www.cnblogs.com/oscarxie/p/3894559.html. 2.Mac配置Android环境变量: 转载自:http://www.jianshu.com/p/84f3baf1682c 3.Mac安装Android模拟器genymotion: 转载自:http://blog.csdn.net/l_215851356

测试环境搭建

软?件?测?试?环?境?的?搭?建 http://wenku.baidu.com/link?url=5SC-IFbVxfdiZzr4uJYrBVI543iMDzeWcWK9upvs_tsYkUYcsAU5j145jQDP_fZCtCA1Tz6XWDWx3FyxBPALNP2a4EUHOVic4nb2uQFxv-e 软件测试,测试环境搭建需要考虑哪些方面? http://zhidao.baidu.com/link?url=oBDiBjh9jTyo3g_ZSvZP67iFrbimu9aH-VinLF

【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃,最终成功运行,确实不容易,故此写篇文章,供大家参考,让大家少走弯路.一. 安装Appium(1) 先安装node-js,然后通过node-js命令安装 Appium     在https://nodejs.org/en/download/ 下载 macOS Installer (.pkg) 安装,

【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结

Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始iOS真机测试之前,请大家务必 将 Appium 1.6.3 + xcode 8 在iOS模拟器上的环境搭建OK,请参见我的上一篇博文:Appium 1.6.3在Xcode 8, iOS 10.2(模拟器)测试环境搭建经验总结 如果iOS模拟器上的环境OK,再来真机上搭建,要不然 你还是放弃吧. 进入

Hadoop单机Hadoop测试环境搭建

Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0.0.1 YARN001 4. 解压缩hadoop-2.7.3.tar.gtz到/home/zhangzhenghai/cluster目录下 5. 配置etc/hadoop/hadoop-env.sh 配置JAVA_HOME环境变量 export JAVA_HOME=/home/zhangzhengh

Andriod SDK和Loadrunner的HTTP协议测试环境搭建

Andriod SDK和Loadrunner的HTTP协议测试环境搭建 1.Andriod SDK安装 1.1 安装JDK(不累述) 1.2 配置环境变量 配置JDK的系统变量环境,我们需要设置三个系统变量,分别是JAVA_HOME,Path和CLASSPATH.下面是这三个变量的设置防范. JAVA_HOME 先设置这个系统变量名称,变量值为JDK在你电脑上的安装路径:C:\Program Files\Java\jdk1.8.0_20.创建好后则可以利用%JAVA_HOME%作为JDK安装目录

Linux测试环境搭建的学习建议

随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基础开始 常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题.而有些朋友们常常一接触Li

LAMP测试环境搭建

linux安装比较简单,此处略去. mysql安装 yum install mysql mysql-server /etc/init.d/mysqld  start  #启动mysql chkconfig mysqld on      #设置mysql为开启启动 cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf   # mysql_secure_installation     #为root账户设密码 service mysqld restart