Назад |
Перейти на главную страницу
Подходит ли репликация для этого сценария?
Дело:
- Промышленная ИТ-система, контролирующая и хранящая данные на двух производственных линиях
- На каждую производственную линию приходится один сервер. Каждый сервер запускает объекты автоматизации для этой производственной линии. Каждый сервер имеет локальную базу данных SQL-сервера, в которой хранятся данные для этой производственной линии.
- Программное обеспечение автоматизации имеет встроенное резервирование. Сбой сервера на сервере одной производственной линии приведет к запуску объектов автоматизации на другом сервере.
Воображаемый сценарий: контроллер диска на сервере производственной линии 1 выходит из строя. В настоящее время произойдет следующее:
- Вместо этого объекты автоматизации начнут работать на сервере производственной линии 2.
- Но когда объекты автоматизации начнут осуществлять доступ к данным на сервере 1, они, конечно же, выйдут из строя (поскольку контроллер диска не работает).
Итак, мы обсудили варианты. Коллега предложил следующее:
- Реплицируйте базу данных сервера 1 на сервер 2. И наоборот.
- Настройте доступ к данным с помощью строк подключения localhost.
- Поэтому, когда объекты автоматизации запускаются на другом сервере, их доступ к данным будет осуществляться в базе данных на сервере, на котором они работают.
У меня нет опыта репликации. Является ли репликация жизнеспособным решением проблемы, описанной выше? Что нужно помнить при настройке репликации? Другие предложения?
Если вы используете SQL2005 или 2008, вы можете рассмотреть возможность синхронного зеркального отображения базы данных между двумя серверами, при этом третий сервер действует как свидетель, который обрабатывает автоматическое переключение при отказе. Это известно как «Высокая безопасность без автоматического переключения при отказе».
http://msdn.microsoft.com/en-us/library/ms189852.aspx
http://technet.microsoft.com/en-us/library/cc917713.aspx
Или, если вы можете использовать общее хранилище между вашими серверами, вы можете рассмотреть активный / пассивный кластер Windows.
- как насчет централизованного бэкенда SQL для всех этих локальных БД?
- виртуализировать управляющую ОС со всем, что в ней есть, чтобы в случае отказа физического сервера виртуальная машина запускалась на другом сервере.
- оставьте все как есть, но оснастите серверы функциями FT, то есть двумя блоками питания, RAID10 над двумя контроллерами, двумя блоками ИБП, питающими резервные электрические сети и т. д.