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

Почему DRBD не перезапускается?

У нас есть 10 серверов, в основном недорогие настольные компьютеры, все под управлением CentOS 5.1 и Xen. Все эти 10 серверов запускают виртуальные машины Xen. Кто-то отключил питание серверного шкафа, и у пары машин сгорели жесткие диски, и они больше не загружаются. Не беспокойтесь, все образы дисков виртуальных машин имеют зеркальные копии DRBD на разных серверах, мне просто нужно запустить их, пока я работаю над резервным копированием этих двух машин.

Я заменил загрузочный диск на каждом из них и переустановил CentOS, Xen и DRBD. Однако после перезагрузки все серверы могут нормально видеть свои локальные устройства DRBD, но сообщать о состоянии «WFConnection» - ожидает подключения - для удаленного канала. Каждое устройство сообщает как «Вторичное / Неизвестное». Я проверил:

Кто-нибудь знает, почему DRBD до сих пор отказывается подключаться?

Если у вас «раздвоение мозга», вы можете использовать следующие команды, чтобы разрешить его:

  1. Определите, какой сервер имеет наиболее точные данные (назовите его A - вызовите другой сервер B)
  2. на B: drbdadm secondary all; drbdadm -- --discard-my-data connect all
  3. на: drbdadm primary all; drbdadm connect all

Я настроил drbd так, чтобы он уведомлял меня, если возникает состояние разделения мозга. Вы можете сделать это в /etc/drbd.conf, используя раздвоение мозга обработчик под обработчики заголовок.

Вам придется вручную сделать раздел основным drbdadm primary all. Затем вам нужно будет смонтировать раздел.

Вы используете сердцебиение? В таком случае сердцебиение должно позаботиться обо всем за вас. Просто беги /usr/lib/heartbeat/hb_takeover.

Хорошо, я нашел ответ. Как указал Брент, устройство DRBD должно быть основным, прежде чем вы сможете запускать с него виртуальную машину Xen. Но я еще даже не дошел до этого этапа, два устройства DRBD на разных машинах отказывались признать существование другого. Я наконец подумал проверить / var / log / messages после перезагрузки и увидел строку «Обнаружен Split-Brain, разрывает соединение!», Которая дала мне кое-что для Google и показала следующие инструкции:

http://www.drbd.org/users-guide/s-resolve-split-brain.html

Это оказалось решением - DRBD не смог определить, какое устройство на какой машине было обновленным, поэтому вам нужно вручную указать, какое из них использовать. Было бы неплохо, если бы DRBD мог сообщать о проблеме как о статусе («SPTBrain» вместо просто «WFConnection», возможно), поскольку / var / log / messages содержит в себе целую кучу информации, и я пропустил сообщение об ошибке при первом Пару раз смотрел.