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

Не стоит ли использовать RAID 1 и NBD для создания зеркала диска для аварийного переключения?

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

Я настроил это так:

  1. Первичная машина и машина аварийного переключения.
  2. Обе машины имеют определенный раздел RAID.
  3. Машина аварийного переключения обслуживает свой раздел RAID через nbd-сервер.
  4. Первичный компьютер монтирует раздел RAID аварийного переключения через nbd-client.
  5. На основной машине два раздела RAID объединяются через mdadm в одно устройство RAID с --write-mostly установлен флаг для удаленного раздела.

Я написал несколько сценариев для автоматического запуска всего, настроил grub на аварийное переключение, чтобы у него были правильные параметры, позволяющие загружаться либо с небольшого раздела зеркалирования, либо с раздела аварийного переключения. Я протестировал, и он работает.

Проблема, с которой я столкнулся, заключается в том, что примерно раз в неделю основная машина полностью зависает. Вы не можете использовать ssh, консоль не отвечает, и после перезагрузки машины записи журнала просто останавливаются в определенное время, и в журнале нет ничего, что указывает на ошибку.

Я отключил раздел NBD и запустил все, используя только локальный диск в массиве RAID, и он работал в течение месяца без каких-либо проблем.

NBD нестабилен? Может ли RAID решить отключить локальный раздел и запустить раздел nbd в тот же момент, когда сеть каким-то образом выйдет из строя? Это просто неправильный способ сделать это?

Спасибо.

Проблема, которую вы хотите решить, является сложной.

Для зеркалирования разделов диска по сети кажется drbd правильный выбор. drbd не тривиален, но достаточно прост, чтобы правильно его настроить за несколько часов.

Если вы планируете автоматическое переключение сервисов на эти машины, вам стоит взглянуть на Linux-HA.

Но вы должны знать, что HA - это очень сложная установка, требующая крутого обучения. Все это будет тщательно протестировано перед запуском в производство. Вы были предупреждены!