为什么我发现 DRBD 的性能受到很大影响?

为什么我发现 DRBD 的性能受到很大影响?

我发现 DRBD 的性能损失比其用户手册中说的要大得多。我使用的是 DRBD 8.3.7 (Fedora 13 RPM)。

我已经设置了 DRBD 测试并测量了没有 DRBD 的磁盘和网络的吞吐量:

dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct
536870912 bytes (537 MB) copied, 4.62985 s, 116 MB/s

/ 是我正在测试的磁盘上的逻辑卷,没有使用 DRBD 安装

iperf的:

[  4]  0.0-10.0 sec  1.10 GBytes   941 Mbits/sec

根据吞吐量开销预期,瓶颈将是网络或磁盘中较慢的那个,而 DRBD 的开销应为 3%。就我而言,网络和 I/O 似乎相当均衡。听起来我应该能够获得大约 100 MB/s 的速度。

因此,使用原始 drbd 设备,我得到

dd if=/dev/zero of=/dev/drbd2 bs=512M count=1 oflag=direct
536870912 bytes (537 MB) copied, 6.61362 s, 81.2 MB/s

这比我预期的要慢。然后,当我用 ext4 格式化设备时,我得到了

dd if=/dev/zero of=/mnt/data.tmp bs=512M count=1 oflag=direct
536870912 bytes (537 MB) copied, 9.60918 s, 55.9 MB/s

这似乎不对。一定还有其他我不知道的因素在起作用。

全局通用配置文件

global {
usage-count yes;
}

common {
protocol C;
}

syncer {
al-extents 1801;
rate 33M;
}

数据镜像

resource data_mirror {
    device /dev/drbd1;
    disk   /dev/sdb1;

    meta-disk internal;

    on cluster1 {
       address 192.168.33.10:7789;
    }

    on cluster2 {
       address 192.168.33.12:7789;
    }
}

就硬件而言,我有两台相同的机器:

  • 6 GB 内存
  • 四核 AMD Phenom 3.2Ghz
  • 主板 SATA 控制器
  • 7200 RPM 64MB 缓存 1TB WD 硬盘

网络通过交换机连接,为 1Gb。我知道建议直接连接,但这能造成这么大的差别吗?

已编辑

我刚刚尝试监控使用的带宽,看看发生了什么。我用监控系统并测量了运行 dd 测试 10 次时的平均带宽。我得到了:

  • 平均写入 ext4 速度约为 450Mbits
  • 平均约 800Mbits 写入原始设备

看起来,使用 ext4 时,drbd 使用的带宽大约是原始设备所用带宽的一半,因此存在一个不是网络的瓶颈。

答案1

您为什么使用“rate=33M”来限制带宽?为什么使用同步协议“C”?

我通常使用协议“A”和 8 MB 缓冲区。对于千兆线路和大流量,我限制为“速率=90M”。

相关内容