Как я могу сделать службу Windows, которая не поддерживает кластеры, высокой доступности?
Я использую Microsoft Dynamics NAV 2009 Role-Tailored Client (RTC), который использует 3-уровневую архитектуру. Средний уровень, который Microsoft называет уровнем службы, - это приложение, не поддерживающее кластеры, которое работает как служба Windows. Я определил, что мне нужен виртуальный IP-адрес и имя, чтобы мой кластер Windows мог как минимум запустить / остановить службу на одном из кластерных серверов. В настоящее время у меня есть два сервера с Windows 2008 R2 Enterprise и кластеризованы.
Как я могу сделать приложение / сервис-кластер уровня службы осведомленным до уровня, который я могу сделать его высокодоступным?
2 ответа
Наиболее общий метод, который я могу придумать для этого, заключается в виртуализации службы среднего уровня в гипервизоре, поддерживающем высокую доступность (например, VMWare vSphere).
Конечно, это просто, если вы:
- Иметь существующую виртуальную среду
- Есть существующее общее хранилище
- Наличие HA-совместимого оборудования
В противном случае это сложно и дорого, но по крайней мере гарантированно работать с любым некластерным программным обеспечением.
Установите службу на обоих узлах кластера. Создайте новую группу ресурсов и поместите туда имя и IP-адрес. Добавьте универсальную службу и укажите ее для службы, которую вы хотите кластеризовать. Настройте службы, которым требуется доступ к службе, чтобы указать имя кластера, которое вы указали в группе ресурсов.
Я сделал это для ряда некластерных служб.