/ dev / sdb1 Устройство или ресурс заняты

Я тестирую 2-узловой кластер drbd в виртуальном боксе. Я подключил виртуальный диск (/ dev / sdb /) и смонтировал его в каталог / mnt / drbd0. При создании ресурса командой drbdadm create я получаю сообщение об ошибке ресурса (/ dev / sdb1) is busy. нет активного процесса, связанного с /mnt/drbd0.

1
задан 1 October 2019 в 13:38
1 ответ

Не следует монтировать подключенное блочное устройство / dec / sdb . Вместо этого вы должны прикрепить его, как у вас уже есть, а затем, пока он отключен, создать метаданные DRBD на обоих узлах, вызвать устройство DRBD на обоих узлах, выбрать узел и повысить его до первичного на этом node, и, наконец, создайте и смонтируйте полученное устройство / dev / drbdX там.

Чтобы добраться туда с того места, где вы сейчас находитесь, вам необходимо сначала размонтировать блочное устройство на обоих узлах:

# umount / dev / sdb

Затем выполните шаги, описанные в приведенной выше сводке:

На обоих узлах (замените именем своего ресурса DRBD):

# drbdadm create-md <res>
# drbdadm up <res>

Вам может потребоваться стереть или сжать (сжатие не поддерживается xfs) файловую систему, чтобы освободить место для метаданных DRBD, если create-md отказывается перезаписывать файловую систему.Если у вас нет важных данных, поскольку вы только проводите тестирование, я бы просто стер их: # wipefs -a / dev / sdb

Вы должны увидеть что-то вроде этого в выводе drbdadm status :

r0 role:Secondary
  disk:Inconsistent
  node-b role:Secondary
    peer-disk:Inconsistent

Если узлы застряли в состоянии Подключение , проверьте IP-адреса в файле конфигурации и правила брандмауэра ваших узлов.

Как только вы увидите, что они Несогласованные / несовместимые , вы можете выбрать один из ваших узлов, который станет Первичным , и начать начальную синхронизацию. Затем на этом же узле (повторно) создайте свою файловую систему и смонтируйте устройство DRBD:

# drbdadm primary <res> --force
# mkfs.ext4 /dev/drbd0 # or some other filesystem
# mount /dev/drbd0 /mnt/drbd0

Затем все, что вы напишете в / mnt / drbd0 , будет реплицировано на одноранговую машину. Чтобы проверить, что все работает, вы можете размонтировать устройство с узла Primary , понизить уровень устройства до вторичного ( # drbdadm secondary ), повысить его до Primary` и смонтировать это на одноранговом узле, и вы должны увидеть, что ваша файловая система была реплицирована.

Обратите внимание, что вы не должны использовать флаг - force ни при каких обычных обстоятельствах; только когда вы создаете новое устройство DRBD или воссоздаете метаданные для существующего устройства.

1
ответ дан 3 December 2019 в 23:00

Теги

Похожие вопросы