我看到DRBD的性能比用户手册说的要大得多。 我正在使用DRBD 8.3.7(Fedora 13 RPMs)。
我已经设置了DRBDtesting,并测量了没有DRBD的磁盘和networking的吞吐量:
dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct 536870912 bytes (537 MB) copied, 4.62985 s, 116 MB/s
/是我正在testing的磁盘上的逻辑卷,安装时没有DRBD
iperf的:
[ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
根据吞吐量开销的预期 ,瓶颈将是较慢的,networking或磁盘和DRBD应该有3%的开销。 在我的情况下,networking和I / O似乎相当匹配。 这听起来像我应该能够达到100 MB /秒左右。
所以,用原始的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_common.conf
global { usage-count yes; } common { protocol C; } syncer { al-extents 1801; rate 33M; }
data_mirror.res
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; } }
对于硬件,我有两台相同的机器:
networking通过交换机连接1Gb。 我知道build议使用直接连接,但它可以使这种差别更大吗?
编辑
我只是试着监视用来试图看看发生了什么的带宽。 我使用ibmonitor ,测量平均带宽,而我运行ddtesting10次。 我有:
它看起来像ext4,drbd使用的原始设备的一半左右的带宽,所以有一个瓶颈,不是networking。
为了限制带宽,“rate = 33M”为什么? 你正在使用同步协议“C”为什么?
我通常使用协议“A”和8 MB缓冲区。 对于千兆线路和繁忙的stream量,我限制为“速率= 90M”。