DRBD на блочном дисковом устройстве
Я пытаюсь настроить DRBD на устройстве с сырым диском /dev/sdb
без таблицы разделов и стека LVM PV/VG/LV
Поскольку этот диск является виртуальным, и гипервизор, который я использую, разрешает расширение диска "на лету", я не хочу беспокоиться об операциях LVM или переразметке, когда придет время расширить мою файловую систему DRBD.
Мое определение ресурса не может быть проще
resource data {
device /dev/drbd1;
meta-disk internal;
disk /dev/sdb;
on node1 {
address 10.10.10.16:7789;
}
on node2 {
address 10.10.10.17:7789;
}
}
Создание метаданных работ
# drbdadm create-md data
initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.
Но операция присоединения не удалась
# drbdadm attach data
1: Failure: (127) Device minor not allocated
additional info from kernel:
unknown minor
Command 'drbdsetup-84 attach 1 /dev/sdb /dev/sdb internal' terminated with exit code 10
Сообщение об ошибке действительно звучит так, будто команда ожидает индекс таблицы разделов в качестве вспомогательного кода устройства.
Как мне подключить необработанное устройство к ресурсу DRBD?
2 ответа
В очень специфическом случае пакета Debian DRBD нет необходимости использовать "прикрепление данных".
Вот минимальная последовательность запуска и запуска DRBD с Debian:
- Создайте свой файл ресурсов
/etc/drbd.d/data.res
на обоих узлах, как правило, для определения/dev/drbd1
(напомните этот номер тома1
для очистки растровых операций!) - взывать
drbdadm create-md data
на обоих узлах - Запустите службу на обоих узлах, они должны ждать готовности друг друга:
systemctl start drbd.service
- подтвердить
Connected
состояние сdrbdadm cstate data
, Если нет, не продолжайте до тех пор , пока не будет решена проблема запуска службы или подключения к сети. - На
primary
только для узла, очистите растровое изображение для предотвращения бесполезной начальной синхронизации:drbdadm -- --clear-bitmap new-current-uuid data/1
(помните последний параметр:resourceName/volumeNumber
) - На
primary
только узел, продвигать узел какprimary
:drbdadm primary data
С этого момента primary
узел, /dev/drbd1
Устройство доступно для любых регулярных операций блока, таких как blockdev
или же mkfs
,
Аккуратно запускайте операцию очистки растрового изображения, она отбрасывает любые данные, которые может содержать вторичный узел. Кстати, это действительно удобно для начальной настройки, так как предотвращает полную запись хранилища вторичного узла в течение нескольких часов, заставляя уровень виртуализации распределять блоки в хранилище, что раздражает из-за тонкой подготовки.
drbdadm attach data
не единственная команда, которую вы хотите использовать после создания метаданных.
Для запуска вашего устройства должна работать одна из следующих процедур:
# drbdadm create-md data
# drbdadm up data
-- или же --
# drbdadm create-md data
# drbdsetup-84 new-resource data
# drbdsetup-84 new-minor data 1 0
# drbdmeta 1 v08 /dev/sdb internal apply-al
# drbdsetup-84 attach 1 /dev/sdb /dev/sdb internal
# drbdsetup-84 connect data ipv4:10.10.10.16:7789 ipv4:10.10.10.17:7789 --protocol=C
Как только вы это сделаете, у вас будет устройство с состоянием соединения "Подключен" и состоянием диска "Несогласованный / Несогласованный"; это будет всегда / только после создания новых метаданных на обоих узлах. Оттуда просто выберите один узел для продвижения на Первичный, что приведет к синхронизации DRBD с Первичного -> Вторичного:
# drbdadm primary data --force
Вы никогда не должны при нормальных обстоятельствах использовать "--force" для продвижения вашего устройства DRBD.
Тем не менее, вы также сказали:
Поскольку этот диск является виртуальным, и гипервизор, который я использую, разрешает расширение диска "на лету", я не хочу беспокоиться об операциях LVM или переразметке, когда придет время расширить мою файловую систему DRBD.
Это, вероятно, не будет работать с DRBD. DRBD помещает свои метаданные в конец блочного устройства, и в этих метаданных отслеживается количество блоков (и других вещей). Динамическое расширение поддерживающего блочного устройства может вызвать проблемы для вас.