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

HA NFS с одним основным DRBD

Каков основной процесс nfs высокой доступности на 2 серверах? Скажем, я использую heartbeat для переключения на плавающий IP-адрес между двумя серверами. Затем у меня есть сторонний сервер, который монтирует общий ресурс nfs на основе этого IP-адреса. Идея состоит в том, что я могу манипулировать файлами, а затем, если произойдет аварийное переключение, nfs останется активным и будет временно недоступен, поскольку nfs и IP переключаются на другой сервер.

Однако меня интересует рабочий процесс. На данный момент с ручным переключением при отказе я могу использовать node1 как основной drbd и смонтировать drbd как экспорт nfs с плавающим IP. Затем, если я хочу выполнить аварийное переключение, я могу размонтировать диск drbd, установить сервер как вторичный, затем установить node2 как первичный, смонтировать drbd nfs, и тогда новый IP появится на node2.

Это правильная идея? Если я попытаюсь аккуратно отключить монтирование nfs / drbd, это может привести к сбою, потому что nfs все еще обращается к нему (например, если сторонний сервер обращается к общему ресурсу).

Есть ли способ реализовать аналогичный процесс с ручным переключением при отказе, но быстро?

Следуя вашему подходу, вы должны помнить об остановке службы nfs при отработке отказа, поэтому шаги должны быть следующими:

  1. Остановить службу NFS на узле 2
  2. Размонтируйте Диск NFS на узле 2
  3. Перенести IP-адрес службы с узла2 на узел1
  4. Установите Диск NFS на узле 1
  5. Запустите службу NFS на узле 1

У вас есть другие альтернативы, например, вы можете использовать файловую систему кластера (например, RedHat GFS), таким образом вы можете установить Диск NFS на обоих серверах. Тогда вам решать, хотите ли вы просто перемещаться от узла к узлу в случае сбоя или даже каким-то образом сбалансировать их, чтобы они были активными / активными.