分布式块设备复制(DRBD)基本环境搭建

实验环境:

192.168.0.202   主机名S202

192.168.0.203    主机名S203

分区使用逻辑卷lvdrbd

操作系统为centos6.6

概念理解:

DRBD:分布式块设备复制(Distributed Replicated Block Device)

DRBD:主从
 primary:可执行读、写操作

secondary:文件系统不能挂在

DRBD:dual primary 双主

磁盘调度器:合并读请求,合并写请求

procotol(协议类型):
 A:Async ,异步
 B:semi sync,半同步
 C:sync,同步

DRBD Source :DRBD 资源

Resource name :    资源名称,可以是除了空白字符外的任意ACSII码字符

DRBD device  :      DRBD设备,在双方节点上,此DRBD设备的文件,一般为/dev/drbdN,其主设备号为147

实验开始:

安装:

rpm -Uvh  http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

 yum install drbd84 kmod-drbd84

加载drbd模块

modprobe  drbd

查看是否加载drbd模块

lsmod |grep -i drbd

drbd的配置文件主要有:
/etc/drbd.conf
/etc/drbd.d/*

其中在drbd.d目录中已有一个全局配置文件global_common.conf,直接修改其中的参数如下:

global {
        usage-count no;
        # minor-count dialog-refresh disable-ip-verification
}

common {
        protocol C; #使用DRBD的三种协议之中的第三种C

handlers {
                # These are EXAMPLE handlers only.
                # They may have severe implications,
                # like hard resetting the node under certain circumstances.
                # Be careful when chosing your poison.

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";
                # fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
                # split-brain "/usr/lib/drbd/notify-split-brain.sh root";
                # out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
                # before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";
                # after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
        }

startup {
                # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
        }

options {
                # cpu-mask on-no-data-accessible
        }

disk {
                # size
                on-io-error detach; #使用DRBD功能(drbd outdata-peer daemon)保证数据不同步时不进行切换
                fencing disk-barrier disk-flushes
                # disk-drain md-flushes resync-rate resync-after al-extents
                # c-plan-ahead c-delay-target c-fill-target c-max-rate
                # c-min-rate disk-timeout
        }

net {
                # protocol timeout max-epoch-size max-buffers unplug-watermark
                # connect-int ping-int sndbuf-size rcvbuf-size ko-count
                # allow-two-primaries
                cram-hmac-alg "sha1" ;  #DRBD使用加密方式进行传输
                shared-secret "vgdrbd";
                #after-sb-0pri
                # after-sb-1pri after-sb-2pri always-asbp rr-conflict
                # ping-timeout data-integrity-alg tcp-cork on-congestion
                # congestion-fill congestion-extents csums-alg verify-alg
                # use-rle
        }
        syncer { rate 200M; }  #主节点和备用节点同步时使用的带宽

}

定义资源使用:

vim vgdrbd.res

resource vgdrbd {   #rescource 资源名称(自己定义)
        device /dev/drbd0;  #节点上的设备名称
        disk /dev/mapper/VolGroup-lvdrbd; #节点上使用的磁盘分区
        meta-disk internal; #DRBD原数据放置的位置(设备的内部:internal)

on S202 { #每个主机的说明以on开头 ,后面是hostname(uname -n),{}中的是主机的配置
                address 192.168.0.202:7789; #定义主机的地址 和端口
        }

on S203 {
                address 192.168.0.203:7789;
        }

}

以上的资源定义可以分开写成:

resource vgdrbd {
 
        on S202 { 
  
  device /dev/drbd0;  
         disk /dev/mapper/VolGroup-lvdrbd; 
         meta-disk internal; 
                address 192.168.0.202:7789;
        }

on S203 { 
  
  device /dev/drbd0;  
         disk /dev/mapper/VolGroup-lvdrbd; 
         meta-disk internal; 
                address 192.168.0.203:7789;
        }
}

将配置好的配置文件复制到另外一台主机上:

scp global_common.conf vgdrbd.res S203:/etc/drbd.d/

然后再每主机上执行以下命令创建DRBD信息(初始化资源):

drbdadm create-md vgdrbd  #drbdadm create-md 资源名称

ssh S203 "drbdadm create-md vgdrbd"

启动:

/etc/init.d/drbd start
ssh S203 "/etc/init.d/drbd start

查看节点信息:

cat /proc/drbd

[[email protected] ~]# cat /proc/drbd 

version: 8.4.5 (api:1/proto:86-101)

GIT-hash: 1d360bde0e095d495786eaeb2a1ac76888e4db96 build by 
[email protected]
, 2014-10-28 10:32:53

 0: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r-----

    ns:7769 nr:10 dw:7779 dr:2729 al:2 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

[[email protected] ~]#

其中ro表示角色,ds表示磁盘状态;ns:表示网络发送的数据包;dw:表示磁盘的写信息;dr:表示磁盘的读信息

drbd-overview

[[email protected] ~]# drbd-overview 

 0:vgdrbd/0  Connected Secondary/Secondary UpToDate/UpToDate

将DRBD设置为主从模式:

在想要成为主节点上执行命令:

drbdadm -- --overwrite-data-of-peer primary all

cat /proc/drbd

[[email protected] drbd.d]# cat /proc/drbd 

                                version: 8.4.5 (api:1/proto:86-101)

GIT-hash: 1d360bde0e095d495786eaeb2a1ac76888e4db96 build by 
[email protected]
, 2014-10-28 10:32:53

 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----

    ns:7769 nr:10 dw:7779 dr:3417 al:2 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

挂载:

mkfs.ext4 /dev/drbd0  #格式化资源

mount -t /dev/VolGroup/lvdrbd  /vgdrbd  #挂载到/lvdrbd目录下

主从切换命令:

drbdadmin secondary vgdrbd #将自己降级为从

drbdadmin primary vgdrdb #将自己升级为主

时间: 2024-10-25 21:36:42

分布式块设备复制(DRBD)基本环境搭建的相关文章

DRBD分布式块设备复制

一. DRBD介绍 1.1.数据镜像软件DRBD介绍分布式块设备复制(Distributed Relicated Block Deivce,DRBD),是一种基于软件.基于网络的块复制存储解决方案,主要用于对服务器之间的磁盘.分区.逻辑卷等进行数据镜像,当用户将数据写入本地磁盘时,还会将数据发送到网络中另一台主机的磁盘上,这样的本地主机(主节点)与远程主机(备节点)的数据就可以保证实时同步,当本地主机出现问题,远程主机上还保留着一份相同的数据,可以继续使用,保证了数据的安全 1.2.DRBD的基

DRBD(Distributed Replicated Block Device) 分布式块设备复制 进行集群高可用方案

DRBD是一个用软件实现的.无共享的.服务器之间镜像块设备内容的存储复制解决方案. 外文名 DRBD drbdadm 高级管理工具 drbdsetup 置装载进kernel的DRBD模块 drbdmeta 管理META数据结构 目录 1 DRBD基础 2 DRBD功能 ? 工作原理 ? 版本 DRBD基础 编辑 Distributed Replicated Block Device(DRBD)是一个用软件实现的.无共享的.服务器之间镜像块设备内容的存储复制解决方案. DRBD Logo 数据镜像

分布式块设备drbd基础概念及、原理及其主从模式配置

一.drbd基础 1.drbd基础概念 drbd(全称为Distributed Replicated Block Device,简称drbd)分布式块设备复制,说白了就是在不同节点上两个相同大小的设备块级别之间的数据同步镜像.drbd是由内核模块和相关脚本而构成,用以构建高可用性的集群.在高可用(HA)解决方案中使用drbd的功能,可以代替使用一个共享盘阵存储设备.因为数据同时存在于本地主机和远程主机上,在遇到需要切换的时候,远程主机只需要使用它上面的那份备份数据,就可以继续提供服务了. 2.d

分布式块设备DRBD9基础用法(快速上手教程)

1. 概述 1.1 介绍 DRBD?(Distributed?Replicated?Block?Device)?是?Linux?平台上的分散式储存系统.其中包含了核心模组,数个使用者空间管理程式及?shell?scripts,通常用于高可用性(high?availability,?HA)丛集.DRBD?类似磁盘阵列的RAID?1(镜像),只不过?RAID是在同一台电脑内,而DRBD是透过网络. 1.2 基本原理 DRBD是linux的内核的存储层中的一个分布式存储系统,架构分为两个部分:一个是内

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 重启系统 Test0

Centos6.5搭建分布式压力测试工具Tsung的环境搭建

各软件版本: 1.otp_src_17.1.tar.gz 2.tsung_1.5.1.tar.gz 3.7.0的Java编译环境 因工作需要,需要用TSung工具测试xmpp协议,经历了一段时间的挣扎,终将环境部署好,将一点儿小心得总结了一下,遂与大家分享一下.希望,能帮到大家.现将部署时,会出现的几个问题列举一下: 1.安装java运行环境不完全,导致在configure erlang时,虽然用了without-javac的选项,但还是总提示:jinterface     : Java com

萌妹子都能看懂的技术贴丨分布式块设备存储究竟是个啥

Mac系统下STF的环境搭建和运行

本文参考以下文章整理:MAC 下 STF 的环境搭建和运行 一. 前言 STF,全称是Smartphone Test Farm,WEB 端批量移动设备管理控制工具,就是可以用浏览器来批量控制你的移动设备,目前只支持Android设备. 二.环境搭建 1. 安装xcode和xcode 命令行工具 (安装Macport需要) Xcode:直接在App Store下载安装 Xcode Command Line Tools:在terminal中输入以下命令,然后在弹出的安装步骤中猛点下一步自动安装. 1

Linux集群系列——分布式复制块设备drbd的基础概念及配置

DRBD :Distributed Replicated Block Device分布式复制块设备heartbeat-ldirectord 作用生成规则健康状态检查corosync+ldirectordkeepalived + ipvs server :rsync+inotifyClient : rsync , sersyncSAN :把SAN网络模拟成SCSI总线, HOST initiator SAN server target(一个或多个)block级别DRBD示意图RAID1模式 :mi