
Каков базовый процесс, стоящий за высокой доступностью nfs на 2 серверах? Допустим, я использую heartbeat для переключения плавающего IP между 2 серверами. Затем у меня есть сторонний сервер, который монтирует общий ресурс nfs на основе этого IP. Идея в том, что я могу манипулировать файлами, а затем, если произойдет переключение, nfs останется активным и будет временно недоступен, поскольку nfs и IP переключаются на другой сервер.
Однако мне интересно, как будет проходить рабочий процесс. На данный момент при ручном отказе я могу сделать node1 основным drbd и смонтировать drbd как экспорт nfs с плавающим IP. Затем, если я захочу выполнить отказ, я могу размонтировать диск drbd, сделать сервер вторичным, затем сделать node2 основным, смонтировать drbd nfs, а затем новый IP появится на node2.
Правильная ли это идея? Если я попытаюсь аккуратно размонтировать монтирование nfs/drbd, это может закончиться неудачей, поскольку nfs все еще обращается к нему (т. е. если сторонний сервер обращается к общему ресурсу).
Есть ли способ реализовать аналогичный процесс с ручным переключением на резервный ресурс, но с быстрым переключением на резервный ресурс?
решение1
Следуя вашему подходу, вам необходимо помнить об остановке службы nfs при выполнении аварийного переключения, поэтому шаги должны быть следующими:
- Остановить службу NFS на узле 2
- РазмонтироватьNFS-дискна узле2
- Переместить IP-адрес сервиса с узла 2 на узел 1
- СмонтируйтеNFS-дискна узле1
- Запустите службу NFS на узле node1
У вас есть и другие альтернативы, например, вы можете использовать кластерную файловую систему (например, RedHatГФС), таким образом вы могли бы смонтироватьNFS-дискна обоих серверах. Затем вам решать, хотите ли вы просто перемещаться с узла на узел в случае сбоя или даже каким-то образом сбалансировать их, чтобы они были Актив/Актив.