Назад | Перейти на главную страницу

Почему инфраструктура DRBD повторно синхронизирует весь раздел несколько раз в день

У меня есть настройки 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-секторным разным