1С:Предприятие 8 и отказоустойчивость баз данных MS SQL 2012

advertisement
1С:Предприятие 8 и
отказоустойчивость баз данных
MS SQL 2012
Гринчук А.В.
Группа компаний Эталон
• Основана в 1987 году
• Виды деятельности – жилая недвижимость,
коммерческая недвижимость,
промышленное строительство,
строительные материалы, содержание и
эксплуатация домов
• Выручка по МСФО за 2012 – 866 млн. $
• География присутствия – Санкт-Петербург,
Москва, офисы продаж в 30 городах России
Группа компаний Эталон
• Удаленные подразделения
• Распределенные информационные базы
• Количество одновременно подключенных
пользователей 1С (центральный офис) –
свыше 300
• Количество информационных баз – более
200
• Используемые конфигурации 1С – БиТ
Финанс, ЗиУП, Бухгалтерия
Технологии отказоустойчивости
Microsoft SQL
Windows Failover Cluster (WSFC)
Технологии отказоустойчивости
Microsoft SQL
Windows Failover Cluster (WSFC)
Преимущества: высокая надежность путем
полного резервирования сервера, отсутствие
простоев при отказе сервера.
Недостатки: нет защиты отказа дисковых
массивов, высокая стоимость решения
(простаивающий резервный сервер,
аналогичный рабочему).
Технологии отказоустойчивости
Microsoft SQL
Зеркалирование (mirroring) баз данных
Технологии отказоустойчивости
Microsoft SQL
Зеркалирование (mirroring) баз данных
Преимущества: обеспечение
отказоустойчивости дисковых массивов,
возможность использования ресурсов
резервного сервера, возможность создания
географически распределенного кластера.
Недостатки: высокая стоимость решения
(необходим резервный сервер с дисковой
подсистемой, а также следящий сервер).
Технологии отказоустойчивости
Microsoft SQL
Подключение к зеркальной базе данных
клиентским приложением, не получится в
связи с тем, что эта база всегда находится в
режиме восстановления. В этом случае
можно использовать снимок (snapshot)
зеркальной базы.
Об этой и о других технологиях Microsoft
можно прочитать, например, тут http://sql.xp7.ru/archives/tag/sql-server-2005
Группы доступности AlwaysOn в
Microsoft SQL2012
Availability Groups is an enterprise-level high-availability
and disaster recovery solution introduced in SQL Server
2012 to enable you to maximize availability for one or
more user databases.
Группы доступности AlwaysOn в
Microsoft SQL2012
Группа доступности – это
совокупность реплик
доступности, их режимы
работы, совокупность баз
данных и слушатель
группы (listener)
Группы доступности AlwaysOn в
Microsoft SQL2012
Особенности.
При добавлении базы текущего сервера в группу
доступности необходимо прежде сделать архив этой
базы (модель восстановления должна быть Полная).
Для создания слушателя при создании группы
доступности потребуются полномочия
администратора домена. А при добавлении баз
данных в существующую группу доступности
достаточно будет полномочий админа SQL сервера.
Стоит еще указать на то, что вся остальная «обвязка»
(пользователи, планы обслуживания, задания агента и
т.д.), которая не входит в группу доступности, остается
локальной для сервера.
Группы доступности AlwaysOn в
Microsoft SQL2012
Преимущества и недостатки у AlwaysOn в основном
такие же как у зеркалирования, но есть и
особенности.
Основные отличия AlwaysOn от mirroring –
возможность создания реплик read-only, возможность
создания более одной копии, простота настройки,
большая гибкость, отсутствие Whitness-сервера
(вместо этого listener в группе доступности).
Появилась возможность разгрузить основную базу от
пользователей отчетов (реплика ReadOnly)
Присутствует только в MS SQL Enterprise или BI
Особенности работы 1С на MS
SQL2012
• Платформа 1С:Предприятие, начиная с
версии 8.2.17 официально поддерживает
работу с MSSQL 2012
• В MSSQL 2012 изменился синтакис строки
подключения ODBC (для AlwaysOn), 1С его
не поддерживает, есть пути ршения
Особенности работы 1С на MS
SQL2012
Особенности доработки типовых конфигураций для ReadOnly
•Регламентные задания, очевидно для базы ReadOnly их нужно
отключить
•Обработка «Панель функций», при открытии всегда пытается установить
значение параметра «ОткрыватьПриЗапускеПанельФункций» регистра
сведений «НастройкиПользователей» в значение «Истина». Пути обхода
– отключить настройку «ОткрыватьПриЗапускеПанельФункций» для
пользователей, закомментировать код или добавить специальную роль
ReadOnly, а код выполнять, если роль другая
•Обработка «Панель функций», при закрытии записывает значение
параметра «ТекущаяСтраницаПанелиФункций» регистра сведений
«НастройкиПользователей». Пути обхода – отключить настройку
«ОткрыватьПриЗапускеПанельФункций» для пользователя, добавить
специальную роль ReadOnly, а код выполнять, если роль другая
Особенности работы 1С на MS
SQL2012
Особенности доработки типовых конфигураций для ReadOnly
•Интернет поддержка пользователей (общая форма
«ИнтернетПоддержкаПользователейОшибкаДоступаКИнтернету»). При старте
конфигурации 1С предлагает соединиться с сервером 1С и при наличии
соединения устанавливает настройку в хранилище общих настроек. Пути обхода
– сбросить настройки автоподключения к интернет-поддержке путем создания
внешней обработки со следующим кодом кнопки:
ХранилищеОбщихНастроек.Сохранить("ИнтернетПоддержкаПользователей",
"ПовторитьПопыткуПодключенияПриСтартеПрограммы",Ложь);
ХранилищеОбщихНастроек.Сохранить("ИнтернетПоддержкаПользователей",
"ВсегдаПоказыватьПриСтартеПрограммы",Ложь);
•При закрытии отчета (например, оборотно-сальдовая ведомость) происходит
запись настроек отчета в справочник «СохраненныеНастройки». Пути обхода:
добавить специальную роль ReadOnly и в процедуре СохранитьНастройку
общего модуля СтандартныеОтчеты вставить проверку сохраниеня настроек,
если роль другая
Проект перехода на
отказоустойчивую систему СУБД
Цели проекта
•Повышение отказоустойчивости системы
•Повышение производительности системы за
счет разгрузки основных баз даных от
пользователей отчетов
•Оптимальное использование ресурсов
(серверов)
Проект перехода на
отказоустойчивую систему СУБД
Архитектура решения
Проект перехода на
отказоустойчивую систему СУБД
План проекта
Наименование работ
№
1
2
2.1
2.2
2.3
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
Перевод 1С на новую инфраструктуру
Проверка работоспособности настроенной архитектуры серверов
Перенос рабочих баз данных на SQL2012
Настройка групп доступности
Настройка регламентных процедур на серверах
Перемещение рабочих баз
Перевод серверов приложений 1С
Настройка кластера 1С
Настройка приложений "только чтение"
Подключение информационных баз "только чтение" пользователям
Доработка отчетов и настроек в 1С, зависимых от сервера
Настройка приложений рабочих баз
Подключение рабочих информационных баз пользователям
Настройка обновлений конфигураций
Дата начала
Дата окончания
08.04.2013
31.05.2013
08.04.2013
15.04.2013
16.04.2013
30.04.2013
16.04.2013
17.04.2013
17.04.2013
19.04.2013
22.04.2013
30.04.2013
16.05.2013
31.05.2013
16.05.2013
17.05.2013
20.05.2013
21.05.2013
21.05.2013
22.05.2013
22.04.2013
22.05.2013
23.05.2013
31.05.2013
23.05.2013
31.05.2013
23.05.2013
31.05.2013
Проект перехода на
отказоустойчивую систему СУБД
Особенности проекта
•Модель восстановления – Полная
•При планировании учесть размер журналов
транзакций
•Обслуживание баз – архивирование для
предотвращения роста журнала транзакций
•Невозможность восстановить архив SQL 2012 на
старых серверах
•Доработка конфигураций для подключения 1С в
ReadOnly
1С:Предприятие 8 и отказоустойчивость
баз данных MS SQL 2012
•
•
К сожалению, в СУБД Microsoft отказоустойчивость есть, а
балансировки по-прежнему нет. Огорчает так же отработка отказа в
AlwaysOn: активные соединения с базой отваливаются. Ожидания,
исходя из общего описания технологии на ресурсах Microsoft и по
выступлениям на различных конференциях, были несколько другими.
Но порывшись на ресурсах Microsoft, нашел вот что
http://technet.microsoft.com/ruru/library/hh213417.aspx#CCBehaviorOnFailover. Все честно сказано, но
в общих описаниях такой важной особенности нет, да и очевидно
становится только после эксперимента.
Но вместе с тем, порадовала гибкость и простота настройки и
управления AlwaysOn. Также порадовала «прозрачная» для 1С работа
реплики ReadOnly, правда при этом необходимо немного «допилить»
конфигурации 1С. Ну и стоит сказать, что текущая реализация
отказоустойчивости AlwaysOn вполне может использоваться, если для
бизнеса некритична потеря незавершенных транзакций и отключение
активных сеансов в момент переключения.
1С:Предприятие 8 и отказоустойчивость
баз данных MS SQL 2012
Спасибо за внимание!
Download