• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > linux DRBD编译安装与配置方法

linux DRBD编译安装与配置方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了linux drbd,drbd,drbd heartbeat,drbd安装,drbd官网等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

DRBD介绍

DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。 DRBD Logo数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)。DBRD的核心功能通过Linux的内核实现,最接近系统的IO栈,但它不能神奇地添加上层的功能比如检测到EXT3文件系统的崩溃。DBRD的位置处于文件系统以下,比文件系统更加靠近操作系统内核及IO栈。

DRBD编译安装

安装所需依赖: 

yum -y install gcc kernel-devel kernel-headers flex
</div>

开始安装drbd,下载地址:http://oss.linbit.com/drbd/

安装用户空间工具:

cd /tmp
wget http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gz
tar xzf drbd-8.4.1.tar.gz
cd drbd-8.4.1
./configure --prefix=/usr/local/drbd --with-km
make KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/
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
</div>

安装drbd模块:

cd drbd 
make clean 
make KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/ 
cp drbd.ko /lib/modules/`uname -r`/kernel/lib/ 
depmod
</div>

注:usr/src/kernels/2.6.18-274.18.1.el5-i686/这个内核源码树路径需要根据自己的系统修改。

DRBD配置

建立分区

假如现在有第二块硬盘hdb,两个node都要分区。

#fdisk /dev/hdb                                                      //准备为 hdb 建立分区
 The number of cylinders for this disk is set to 20805.
 There is nothing wrong with that, but this is larger than 1024,
 and could in certain setups cause problems with:
 1) software that runs at boot time (e.g., old versions of LILO)
 2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 Command (m for help): n                                              //键入 n 表示要建立分区
 Command action
    e   extended
    p   primary partition (1-4)
 p                                                                    //键入 p 表示建立主要分区
 Partition number (1-4): 1                                            //键入 1 为此主要分区代号
 First cylinder (1-20805, default 1):                                 //开始磁柱值,按下 enter 即可
 Using default value 1
 Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): //结束磁柱值,按下 enter 即可
 Using default value 20805
 Command (m for help): w                                              //键入 w 表示确定执行刚才设定
 The partition table has been altered!
 Calling ioctl() to re-read partition table.
 Syncing disks.
 [root@node1 yum.repos.d]# partprobe                                  //使刚才的 partition table 变更生效
</div>

建立分区完成后使用指令 fdisk -l 确定 partition talbe 状态

#fdisk -l
 Disk /dev/hda: 21.4 GB, 21474754560 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *           1          13      104391   83  Linux
 /dev/hda2              14        2610    20860402+  8e  Linux LVM
 Disk /dev/hdb: 10.7 GB, 10737377280 bytes
 16 heads, 63 sectors/track, 20805 cylinders
 Units = cylinders of 1008 * 512 = 516096 bytes
    Device Boot      Start         End      Blocks   Id  System
 /dev/hdb1               1       20805    10485688+  83  Linux
</div>

建立分区完成后请建立 /db 目录。 (Node1 及 Node2 都必须建立)

#mkdir /db
</div>

建立Drbd配置文件

主要定义两块global和resource。

vi /usr/local/drbd/etc/drbd.conf
</div>
写入:

include "drbd.d/global_common.conf";
include "drbd.d/*.res";

vi /usr/local/drbd/etc/drbd.d/global_common.conf
写入
global {
  usage-count yes;
}
common {
  net {
    protocol C;
  }
}

vi /usr/local/drbd/etc/drbd.d/r0.res
写入
resource r0 {
  on node1 {
    device    /dev/drbd1;
    disk      /dev/hdb1;
    address   192.168.1.101:7789;
    meta-disk internal;
  }
  on node2 {
    device    /dev/drbd1;
    disk      /dev/hdb1;
    address   192.168.1.103:7789;
    meta-disk internal;
  }
</div>

设置Hostname

根据上面的resource配置文件,需要对192.168.1.101和192.168.1.103分别设置hostname为node1和node2,设置方法如下:

vi /etc/sysconfig/network
修改HOSTNAME为node1
</div>
vi /etc/hosts
写入
192.168.1.101 node1
192.168.1.103 node2
</div>

使node1 hostnmae临时生效

hostname node1
</div>

node2机器设置类似。

设置Resource

以下操作需要在node1和node2操作。

#modprobe drbd                                    //载入 drbd 模块
#lsmod|grep drbd                                  //确认 drbd 模块是否载入
 drbd                  228528  0
 #dd if=/dev/zero of=/dev/hdb1 bs=1M count=100     //把一些资料塞到 hdb 內 (否则 create-md 时有可能会出现错误)
 #drbdadm create-md r0                             //建立 drbd resource
 #drbdadm up r0                                  //启动 resource r0
</div>

查看node1和node2的状态应该类似下面的:

cat /proc/drbd
version: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by root@localhost.localdomain, 2012-02-12 06:05:36
 m:res  cs         ro                   ds                         p  mounted  fstype
 0:r0   Connected  Secondary/Secondary  Inconsistent/Inconsistent  C
</div>

表明现在已经启动服务,但还没有设置同步(即需要设置Primary Node)

设置Primary Node

以下操作仅在node1执行。

设置node1为primary node:


drbdadm primary --force r0

drbdadm primary --force r0
</div>

再次查看node1的状态:

#cat /proc/drbd
version: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by root@localhost.localdomain, 2012-02-12 06:47:37
 
 1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:52892 nr:0 dw:0 dr:52892 al:0 bm:10 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
</div>

我们看到状态已经变成Primary/Secondary,即设置primary node成功。

创建DRBD文件系统

以下操作仅在node1执行。

上面已经完成了/dev/drbd1的初始化,现在来把/dev/drbd1格式化成ext3格式的文件系统。

#mkfs.ext3 /dev/drbd1
</div>

然后将/dev/drbd1挂载到之前创建的/db目录。

#mount /dev/drbd1 /db
</div>

现在你只要把数据写入/db目录,drbd即会立刻把数据同步到备机192.168.1.103的/dev/hdb1分区上。

Drbd同步测试

当在备机node2启动drbd时,它是无法挂载/dev/hdb1分区的,我们可以尝试写些数据到node1的目录/db上,然后停止node2的drbd。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • linux DRBD编译安装与配置方法

相关文章

  • 2017-05-12Linux使用文本浏览器lynx并显示中文的方法
  • 2017-05-12Linux中用于进程显示的top命令使用实例集锦
  • 2017-05-12快速浏览Linux下基本的用户和用户组管理命令
  • 2017-05-12在Linux中使用which和whereis命令来查找和定位文件
  • 2017-05-12Linux的系统监控工具dstat常见用法总结
  • 2017-05-12Linux中文件系统的目录结构详细介绍
  • 2017-05-12Linux中的wget网络下载命令使用全解
  • 2017-05-12linux下控制帐户过期的多种方法讲解
  • 2017-05-12linux下.run文件的安装与卸载方法
  • 2017-05-12linux系统磁盘分区及把磁盘挂载到系统中的方法

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • 在Linux系统中安装web端的远程连接工具Wetty
    • Linux为何如此深得人心呢?10项原因精选
    • Linux系统中vmstat的基本使用指南
    • 一波Linux下常用的文件相关命令小整理
    • Linux图形化界面下使用命令进行截图的方法
    • Linux中的mail邮件命令的各种参数使用详解
    • linux如何修改分区id?修改linux分区类型的方法
    • linux系统中怎么查看cpu信息?
    • Linux中cron命令的用法详解
    • 在Linux命令终端中查看和编辑曾执行过的命令

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有