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

Как сделать службу Windows, не поддерживающую кластер, высокодоступной?

Я использую клиент Microsoft Dynamics NAV 2009, адаптированный для ролей (RTC), который использует трехуровневую архитектуру. Средний уровень, который Microsoft называет уровнем служб, - это приложение, не поддерживающее кластер, которое работает как служба Windows. Я определил, что мне нужен виртуальный IP-адрес и имя, чтобы мой кластер Windows мог как минимум запускать / останавливать службу на одном из кластерных серверов. В настоящее время у меня есть два сервера с Windows 2008 R2 Enterprise, которые объединены в кластер.

Как я могу сделать так, чтобы приложение / сервисный кластер уровня сервиса было осведомлено о том, что я могу сделать его высокодоступным?

Самый общий метод, который я могу придумать для этого, - это виртуализировать промежуточную службу в гипервизоре, который поддерживает высокую доступность (например, VMWare vSphere).

Конечно, это легко сделать, только если вы:

  • Иметь существующую виртуальную среду
  • Есть существующее общее хранилище
  • Иметь HA-совместимое оборудование

В остальном это сложно и дорого, но как минимум гарантированно работать с любой программное обеспечение, не поддерживающее кластер.

Установите сервис на обоих узлах кластера. Создайте новую группу ресурсов и введите в нее имя и IP-адрес. Добавьте универсальную службу и укажите ее на службу, которую вы хотите кластеризовать. Настройте службы, которым необходим доступ к службе, так, чтобы они указывали на имя кластера, которое вы добавляете в группу ресурсов.

Я сделал это для ряда служб, не связанных с кластером.