Настройка отказоустойчивой системы

09.02.13

База данных - Инструменты администратора БД

Доступность данных это одно из основных требований бизнеса в IT-организациях.
Данная статья основана на опыте по развитию и поддержке решений на платформе 1С:Предприятия. В статье описаны некоторые довольно часто встречающиеся ситуации, вызывающие сложности при настойке отказоустойчивой системы (Зеркалирование баз данных на MS SQL).

Ставилась задача по настройке автоматической отказоустойчивости и отсутствию возможности утраты данных  для 1С - была рализована с настройкой кластера 1С и кластера MS SQL.

Но хотелось, чтобы базы на MS SQL - были зеркальные, потому что :

Основные достоинства Database Mirroring

  1.       Восстановление менее 3 секунд
  2.       Полноценный резерв
  3.       Два отдельных сервера
  4.       Две отдельных копии данных
  5.       Взаимодействие между серверами через стандартное сетевое соединение
  6.       Нет специальных требований на аппаратное обеспечение
  7.       Самоконтроль
  8.       Высокая доступность для базы данных

Но 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.

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2980    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3541    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177753    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27382    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61320    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    31111    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10986    5    8    

9
Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Gandalf Белый 10.02.13 09:31 Сейчас в теме
Тема конечно интересная, но очень слабое описание...
Что бы посмотреть как настраивается зеркалирование SQL и для чего "следящий" сервер нужно искать "в сети много ресурсов, которые дают подробную инструкцию".
И что за приложение написано, оно пингует эти сервера или как-то по другому проверяет?
Работа через веб-сервер это один из вариантов или в данной ситуации необходимость?
Было бы еще очень интересно посмотреть на скриншоты настроек SQL-сервера.
Дмитрий74Чел; +1 Ответить
5. maverick76 11 10.02.13 12:43 Сейчас в теме
(1) (1) Подробную инструкцию со скриншотами по настройке такой системы,заканчиваю оформлять, прикреплю к данной публикации.
2. DitriX 2091 10.02.13 09:32 Сейчас в теме
Что то как то сыро. Вы бы могли поподробней рассказать как делали настройку со стороны 1С?
Не пробовали ли ставить 1с на следящий сервер, а остальные добавить к нему в виде рабочих машин.
Тогда все подключались бы к нему, а он уже распределял кого куда.
Поставить это можно на веб сервер, так как фактически через него идет подключение, и если он ляжет, то толку от следящего сервера никакого.

Я уже точно этого всего не помню, но хотелось бы разобраться :)
8. maverick76 11 12.02.13 16:03 Сейчас в теме
(2) DitriX, Идея хорошая - попробую...
3. aspirator23 339 10.02.13 10:13 Сейчас в теме
Эта технология обеспечивает отказоустойчивость системы.

Но, насколько помню есть особенности:
1.Данный способ требует трех SQL серверов. Для MSSQL есть решение когда работают только
два. Правда в этом случае автоматическое переключение не работает, но экономия на лишнем сервере.

2.Более важно то что в предложенном способе при выполнении транзакции она будет завершена, только после записи в базы обоих серверов SQL. То есть будет "просадка" производительности. При использовании же двух серверов, есть режим отложенной записи, который выполняет запись на второй сервер, не задерживая транзакцию на основном.
4. maverick76 11 10.02.13 12:37 Сейчас в теме
(3) aspirator23, По пункту 1 вашего комментария: Выбор отказоустойчивого решения зависит от стратегического развития информационных технологий,бюджета. А по пункту 2: конечно есть выбор между более высокой производительностью и более высокой надежностью: Database Mirroring имеет два уровня надежности:
-FULL – фиксация при записи лога на Mirror(Допускает автоматическое восстановление,нет потери данных)
-OFF – фиксация при записи лога на Principal
6. Said 10.02.13 13:39 Сейчас в теме
Не совсем понятны две вещи:
Останется ли система работоспособной, если откажет вебсервер или следящий сервер?
И можно ли совсестить эти два сервера на одной машине? На сколько высока на них нагрузка?
7. maverick76 11 10.02.13 14:57 Сейчас в теме
(6) Said, при отказе следящего-партнеры могут формировать кворум самостоятельно, самое главное в системе,что данные не потеряются,а развернуть вебсервер думаю не составит такого труда,как в сравнении с восстановлением данных.Нагрузка на следящий сервер очень мала:отвечает на запрос проверки связи,отвечает на вопрос “Жив ли другой сервер?”.
9. zzz_natali 61 13.02.13 07:53 Сейчас в теме
При таком обильном задействовании серверов(железа) напрашивается полная виртуализация(Hyper-V) безотказного кластера:
сервачок а-ля blade
базо-помойка nat storage
И всегда помним главную вещь: сколько времени уйдет, чтобы осмыслить на какой момент времени у нас всё поднялось после аварийного краша. :)
10. maverick76 11 13.02.13 08:45 Сейчас в теме
(9) zzz_natali, Такое решение имеет место быть... :-)
11. max44 13.02.13 09:25 Сейчас в теме
maverick76 Когда меняете конфигурацию и требуется изменение структуры БД (например добавили новый справочник и т.п. ...) Зеркалирование нужно останавливать? (иначе конфигурацию не поменять), а после смены конфигурации восстанавливать полный бэкап на зеркале и подымать зеркалирование? при большом размере БД и частых изменения конфигурации весмьма затратный
15. maverick76 11 14.02.13 14:40 Сейчас в теме
(11) max44, Зачем останавливать? Работайте,как если бы был один SQL сервер.
12. Den_D 54 14.02.13 12:59 Сейчас в теме
(0) А сколько ключей для Сервера 1С: Предприятия требуется, на каждый?
13. Den_D 54 14.02.13 13:01 Сейчас в теме
И чем хуже настройка кластера серверов Предприятия и и кластера windows и SQL на 2-х машинах с общим дисковым массивом RAID 10?
14. maverick76 11 14.02.13 14:36 Сейчас в теме
(13) Den_D, время простоя < 3 сек.,у кластера 20 сек.+ восстановление БД,у зеркала - устойчивость к сбою дисковой подсистемы, у кластера -нет...
16. Den_D 54 14.02.13 14:52 Сейчас в теме
(14) восстановление БД потребуется только если накроется отказоустойчивая дисковая подсистема. При этом она же является независимой от самих серверов. Переключение будет автоматическим, меньше будет разнообразных отдельных машин.
18. maverick76 11 14.02.13 23:00 Сейчас в теме
(16) Den_D, Такую систему я уже реализовывал,а это новая реализация с использованием зеркала
17. Den_D 54 14.02.13 14:53 Сейчас в теме
(14) и все же А сколько ключей для Сервера 1С: Предприятия требуется?
19. maverick76 11 14.02.13 23:04 Сейчас в теме
(17) Den_D, 2 аппаратных ключа,1-10 лицензий,2-100 лицензий
21. nyam-nyam 21.02.18 09:30 Сейчас в теме
(14) Время простоя серверов может и меньше 3 сек, только вот судя по описанию, пользователю понадобится перезапускать 1С если вдруг SQL переключится во время работы. В итоге время простоя будет больше. У кластера с общим хранилищем переключение SQL серверов проходит вообще незаметно для пользователей.
20. dyak84 21.02.13 11:03 Сейчас в теме
Задум автора интересный но для практической реализации нужно более детальное описание. Автору спасибо за проделаную работу, золотое зерно в ней есть
Оставьте свое сообщение