Какой путь достижения отказоустойчивости выбрать?

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

Имеется система, которая общается с внешним миром посредством USB(Com-порт), RS-232 и Ethernet. На данный момент все крутится на нескольких ПК с Windows 7, на которых установлено некластеризируемое ПО, которое требует физического присутствия USB-HASP(по сети не понимает). ПО работает с MS SQL Server 2008 R2. На каждом ПК стоит Win7, ПО, MS SQL, Hasp-ключ и несколько физических интерфейсов.

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

Основная часть сбоев приходится на USB, RS-232-устройства/интерфейсы. Уже отработан механизм замены этих узлов на подобные, существенно более стабильные, но с Ethernet. Правда приходится привлекать Debian, Dos, Asterisk.

Заодно принято решение крутить все это на отказоустойчивом кластере виртуальных машин на двух имеющихся Dell PowerEdge R810, минимальными вложениями апгрейднутыми до необходимой конфигурации. Платное ПО для кластеризации рассматривается очень неохотно ввиду того, что неясно, когда оно себя отобъет.

На данный момент на двух имеющихся нодах(в режиме тестирования) развернут Proxmox 5 + GlusterFS отдельным линком. Для обеспечения кворума планируется использование третей ноды на малопроизводительном ПК, OrangePi или чем то подобном, что пройдет боевые испытания. Пока в качестве этой ноды используется виртуалка VirtualBox на рабочем ПК c 8 Гб HDD, 512 Мб ОЗУ, debian 9 + proxmox(без подключения к GlusterFS).

Пока все прекрасно работает, виртуальные машины Windows 7 успешно мигрируют онлайн за 5-10 минут, успешно мигрируют при краше одной из нод, НО ...с перезагрузкой( Как (вполне логично)оказалось, Proxmox не умеет онлайн миграцию с сохранением состояния при отваливании ноды и, как я смог выяснить, даже то, что это умеет за деньги, делает это не достаточно уверенно.

Как быть, если этот пятиминутный простой крайне нежелателен? Основная проблема с Windows, пятиминутный простой на вспомогательных ОС допустим. Предполагаю, что нужно организовать две виртуалки с Windows Server 2008 R2(в кластер их?), которые поднять на двух нодах. На обеих виртуалках поднять MS SQL в кластерной конфигурации и каким то образом организовать мигрирование IP-шников этих виртуалок с одной на другую, при этом одна из них должна спать, когда работает другая(active/passive), иначе в базе будет бардак из за отсутствия связи с оборудованием на одной из машин. ПО выступает только как посредник между базой и интерфейсами и все состояние ПО определяется данными в БД, поэтому подключение к базе и интерфейсам другого экземпляра ПО ни к чему плохому не приведет.

О каких технологиях почитать? Что использовать? Денег на отдельное хранилище вряд ли кто то даст, поэтому надо попробовать обойтись без него.

Так же интересует вопрос с HASP ключами в таком случае. Стоит ли заморачиваться с пробросом этих USB c помощью Debian+OrangePi, или сразу покупать что то на подобии AnywhereUSB? Может есть еще какие то варианты?

Прошу сильно не пинать, так как это по сути мой первый серьезный проект, спросить не у кого и если с Linux кластеризацией все пошло достаточно бодро, то c Windows в этом плане что то совсем все плохо. Настраивать вместо меня не прошу, просто подскажите как поступить.
  • Вопрос задан
  • 497 просмотров
Пригласить эксперта
Ответы на вопрос 1
@antonsr98
Системный Администратор
у меня 3 ноды на VE 5 хранилище внешнее на iscsi uplink 10Gb/s, миграция идет без reboot. виртуальные машины 2008r2 Терминальный сервер, два АД, сервер бд MSSql, сервер 1с и PostgresQL, не считая zabbix астерисков и прочего. Лучше железка AnyWareUSB
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы