Ставилась задача по настройке автоматической отказоустойчивости и отсутствию возможности утраты данных для 1С - была рализована с настройкой кластера 1С и кластера MS SQL.
Но хотелось, чтобы базы на MS SQL - были зеркальные, потому что :
Основные достоинства Database Mirroring
- Восстановление менее 3 секунд
- Полноценный резерв
- Два отдельных сервера
- Две отдельных копии данных
- Взаимодействие между серверами через стандартное сетевое соединение
- Нет специальных требований на аппаратное обеспечение
- Самоконтроль
- Высокая доступность для базы данных
Но 1С сама не может переключиться на другую базу-тогда пришло такое решение.
В проекте были задействованы 6 серверов: 2 сервера 1С, 3 SQL сервера и 1 веб-сервер (рис.1).
Был настроен кластер серверов 1С: Центральный и резервный (на рис.1) T1C и T1Сс, затем настроено зеркальное отображение базы данных. Сделав это - будет не просто улучшена возможность аварийного восстановления вашего приложения, вы будете использовать высокий уровень доступности зеркального отображения базы данных - функция, которую вы найдете в SQL Server 2005 и выше, это означает, что отказоустойчивость базы данных, в случае если потеряете ваш главный SQL сервер. Нам понадобиться 3 SQL сервера (TSQL1, TSQL2, TSQL3). 2 SQL сервера (Principal и Mirror) должны быть идентичными, например, это означает версия (Standard или Enterprise), пакеты обновлений должны быть одинаковы на обоих серверах. Третий сервер может быть SQL Server Standard, Enterprise, Workgroup или Express. Свидетель (Witness) сервер будет, пинговать 2 других серверах, если есть что-то неправильно, это сервер имеет способность узнавать о начале автоматического перехода на другой, он не будет содержать базу данных, поэтому бессмысленно использовать SQL Server, кроме Express Edition.
Создав базы на серверах 1С и SQL – серверах опубликуем из конфигуратора веб-сервис на сервере TIIS.
Подробно как настраивать ваше написанное, описывать не стал, в сети много ресурсов, которые дают подробную инструкцию об этом.
Сама 1С не может переключиться на другой SQL сервер, при остановке главного. Выход - было написано приложение для запуска 1С.(рис.2)
Приложение проверяет работу SQL серверов - включен ли сервер физически, потом происходит проверка работоспособности самого SQL-сервера, а затем запускает 1С через введенный адрес для IE.