У меня есть настройки DRBD Primary / Secondary 2 узла, как показано
global { usage-count no; }
common { syncer { rate 4M; } }
resource r0 {
protocol B;
startup {
wfc-timeout 15;
degr-wfc-timeout 60;
}
net {
cram-hmac-alg sha1;
shared-secret "whateverblahblahblah";
max-buffers 4096;
max-epoch-size 4096;
}
handlers {
split-brain "/usr/lib/drbd/notify-split-brain.sh admin@mydomain.com";
}
on node01.chofert.com {
device /dev/drbd0;
disk /dev/sdb1;
address <public_IP_1>:7788;
meta-disk internal;
}
on node02.chofert.com {
device /dev/drbd0;
disk /dev/sdb1;
address <public_IP_2>:7788;
meta-disk internal;
}
}
Я перешел на протокол B, так как узлы находятся в разных сетях, и этого достаточно для моих нужд. И скорость ограничена 4 МБ, так как общая пропускная способность между серверами составляет 12 МБ (я знаю, что это мало, но запись действительно занимает несколько байтов в день).
Проблема, вероятно, из-за ночного процесса, который съедает процессор, DRBD вылетает примерно через 2 часа. После этого, несмотря на довольно низкую интенсивность записи, в день происходит как минимум 2 или 3 полных повторной синхронизации раздела.
У меня вопрос: как DRBD работает при репликации? Я имею в виду, почему я вижу полную повторную синхронизацию раздела, а не записанные только несколько байтов?
Может ли разница всего в 1 сектор повлиять на правильное поведение DRBD?
РАЗДЕЛ НА УЗЛЕ1:
Disk /dev/sdb1: 8588 MB, 8588886528 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16775169 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
РАЗДЕЛ НА УЗЛЕ2
Disk /dev/sdb1: 8588 MB, 8588886016 bytes
64 heads, 32 sectors/track, 8191 cylinders, total 16775168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Оооок отвечу себе:
После нескольких тестов и работы я могу подтвердить: разделы / диски, задействованные в блоке репликации DRBD, должны быть абсолютно идентичны по своей геометрии. Вот и все ! Поэтому, если вы используете виртуальную среду, самое надежное - просто клонировать тот же файл, который используется для виртуального тома.
возможно, об этом явно сказано где-нибудь в DRBD wiki; я сам не нашел.
:(
Никто не знает? Хорошо, это непросто протестировать на производственной инфраструктуре, которая у меня есть, но, поскольку каждая маленькая деталь имеет значение, я думаю, что мне нужно как-то изменить размер дисков, чтобы избавиться от проблем с 1-секторным разным