DRBD示例配置在CentOS 4.5上

DRBD在CentOS 4.5上的示例配置

什么是DRBD?

DRBD是分布式复制块设备的缩写。 DRBD是一种旨在构建高可用性群集的块设备。 这是通过(专用)网络镜像整个块设备来完成的。 您可以将其视为网络RAID1。

预配置要求:

我使用以下系统设置的两个节点:

  1. cnode1.rnd(hostname),IP地址为172.16.4.80。 操作系统CentOS 4.5,18 GB的两个SCSI硬盘。 关于分区我在cnode1.rnd上使用了以下方案:
  2. / dev / sda1 / 13257MB ext3主

    / dev / sda2 4095MB交换主

    / dev / sdb1 umounted 128MB ext3 primary(对于DRBD的元数据)

    / dev / sdb2 umounted 4306MB ext3 primary(用作DRBD的磁盘)

  3. cnode2.rnd(hostname),IP地址为172.16.4.81。 操作系统CentOS 4.5一个IDE驱动器10 GB。 在cnode2.rnd上使用了以下分区方案:
  4. / dev / hda1 / 4503MB ext3主

    / dev / hda2 769MB交换主

    / dev / hda3 unmounted 128MB ext3 primary(用于DRBD的元数据)

    / dev / hda4 unmounted 4306MB ext3; 主要(用作DRBD的磁盘)

分区的大小和名称可能会根据磁盘容量和使用的硬盘而有所不同。 您可以根据需要定义分区方案。

我的/ etc / hosts文件在两个节点(cnode1.rnd&cnode2.rnd)看起来像这样:

127.0.0.1		localhost.localdomain		localhost
172.16.4.80		cnode1.rnd			cnode2
172.16.4.81		cnode2.rnd			cnode3	

DRBD安装:

在cnode1.rnd和cnode2.rnd上安装DRBD软件和DRBD的内核模块:

yum install -y kmod-drbd drbd

使用insmod加载DRBD的内核模块:

insmod /lib/modules/2.6.9-55.0.9.EL/extra/drbd.ko

用lsmod验证该模块是否加载。 如果看到DRBD,则转到样品配置部分。

配置DRBD:

DRBD的配置文件是/etc/drbd.conf 。 因此,我们将编辑此文件并对其进行以下更改,并将其复制到另一个节点( /etc/drbd.conf在两个节点上都相同)。

在cnode1.rnd上使用任何编辑器编辑这个文件。 我正在使用vi:

vi /etc/drbd.conf
resource r0 {
  protocol C;
        incon-degr-cmd "halt -f";
        startup {
    degr-wfc-timeout 120;    # 2 minutes.
  }
        disk {
    on-io-error   detach;
  }
        net {
  }
syncer {
        rate 3M;
        group 1;
        al-extents 257;
  }
  on cnode1.rnd {
    device    /dev/drbd0;
    disk      /dev/sdb2;
    address   172.16.4.80:7789;
    meta-disk /dev/sdb1[0];
  }
  on cnode2.rnd {
    device    /dev/drbd0;
    disk      /dev/hda4;
    address   172.16.4.81:7789;
    meta-disk /dev/hda3[0];
  }
}

保存更改并将其复制到另一个节点(cnode2.rnd):

scp /etc/drbd.conf root@172.16.4.81:/etc/

现在让我们在两个节点上启动DRBD守护程序,但在此之前,我们要在下次重新启动时启动DRBD守护程序。 为此,我们将在两个节点上使用命令chkconfig。

chkconfig --level 235 drbd on
/etc/init.d/drbd start

您会发现DRBD已经启动了同步过程。 你可以看到它运行:

/etc/init.d/drbd status

要么

cat /proc/drbd

drbd.conf配置技术细节:

协议:

  1. 数据写入磁盘并发送到网络后,写操作即可完成。
  2. 一旦接收确认到达,B写操作就完成了。
  3. 一旦写入确认到达,C写入操作就完成了。

主机名:

应该完全匹配输出

uname -n

设备:

要使用的设备节点:/ dev / drbd0 - DRBD块设备。

地址,端口:

要绑定到本地或连接到伙伴节点的inet地址和端口。

元盘:

用于存储元数据的磁盘。 DRBD允许您将其元数据放在相同的后备设备上,其中放置实际可用的生产数据(内部元数据),或者在单独的块设备(外部元数据)上。 我已经在外部元数据块设备上为元数据分配了128 MB。 但是,您可以关注下面给出的表格来估计元数据大小

阻止装置大小 DRBD元数据
1 GB 2 MB
100 GB 5 MB
1 TB 33 MB
4 TB 128 MB

Incon-degr-cmd:

如果集群以降级模式启动,但知道数据不一致(较低级设备报告io-error),应该做什么。

on-io-error分离:

如果较低级设备报告io-error,节点将丢弃其后备存储设备,并以无盘模式继续。

degr-wfc-timeout:

等待连接超时,如果此节点是降级的群集。 这是使用而不是wfc-timeout(等待集群超时)。

同步:

限制重新同步过程使用的带宽。

组:

一组中的所有设备都将重新同步并行。 组的重新同步按升序序列化。

范围:

自动执行热区检测。 通过该参数,您可以控制热区域可以获得多少。 每个扩展区标记4M的后备存储(=低级设备)。 如果主节点意外离开群集,则在重新加入失败节点后,活动集所覆盖的区域必须重新同步。 数据结构存储在元数据区中,因此活动集的每次更改都是对元数据设备的写操作。 更多数量的扩展区域提供更长的重新同步时间,但对元数据的更新更少。

做和不要:

不要尝试将DRBD安装在二级状态。 一旦设置了DRBD,就不要绕过它或直接访问底层设备!

测试DRBD:

使cnode1.rnd主并将主节点(cnode1.rnd)的块设备装载到/ mnt / disk上

drbdsetup /dev/drbd0 primary --do-what-I-say
mount /dev/drbd0 /mnt/disk

复制一些文件和文件夹:

cp -r /root/documents /mnt/disk

现在umount DRBD的块设备,并使主节点“secondary”:

umount /mnt/disk/
drbdadm secondary all

将cnode2.rnd主/挂载块设备放在/ mnt / disk上

drbdsetup /dev/drbd0 primary --do-what-I-say
mount /dev/drbd0 /mnt/disk

你会发现文件存在于cnode2.rnd上。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏