Você está limitando a largura de banda com "rate = 33M" por quê? Você está usando o protocolo síncrono "C" por quê?
Eu geralmente uso o protocolo "A" e 8 MB de buffer. Para uma linha Gigabit e tráfego intenso, limito a "rate = 90M".
Eu vejo um desempenho bem maior com o DRBD do que o manual do usuário diz que eu deveria receber. Estou usando o DRBD 8.3.7 (Fedora 13 RPMs).
Eu configurei um teste DRBD e medi o throughput de disco e rede sem o 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
/ é um volume lógico no disco com o qual estou testando, montado sem DRBD
iperf:
[ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
De acordo com as Expectativas de sobrecarga de throughput , o gargalo seria o que é mais lento, a rede ou o disco e o DRBD devem ter uma sobrecarga de 3%. No meu caso, a rede e a E / S parecem ser bastante parecidas. Parece que eu deveria ser capaz de obter cerca de 100 MB / s.
Então, com o dispositivo raw drbd, eu obtenho
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
que é mais lento do que eu esperaria. Então, depois de formatar o dispositivo com o ext4, recebo
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
Isso não parece certo. Deve haver algum outro fator jogando nisso que eu não conheço.
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;
}
}
Para o hardware, tenho duas máquinas idênticas:
A rede é de 1 Gb conectada por meio de um switch. Eu sei que uma conexão direta é recomendada, mas isso poderia fazer muita diferença?
Editado
Eu apenas tentei monitorar a largura de banda usada para tentar ver o que está acontecendo. Eu usei ibmonitor e medi a largura de banda média enquanto fiz o teste dd 10 vezes. Eu tenho:
Parece que, com o ext4, o drbd está usando cerca de metade da largura de banda usada com o dispositivo bruto, portanto, há um gargalo que não é a rede.
Você está limitando a largura de banda com "rate = 33M" por quê? Você está usando o protocolo síncrono "C" por quê?
Eu geralmente uso o protocolo "A" e 8 MB de buffer. Para uma linha Gigabit e tráfego intenso, limito a "rate = 90M".
Tags performance linux drbd