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

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С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    10261    86    36    

93

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    9539    46    5    

76

SALE! %

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

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

15000 10000 руб.

10.11.2023    11142    40    27    

66

SALE! %

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

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

4800 3840 руб.

14.01.2013    189733    1146    0    

916

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

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

14400 руб.

29.04.2020    33299    107    152    

73

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73281    629    45    

88

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

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

3600 руб.

06.02.2017    32338    145    18    

51

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

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

4200 руб.

10.11.2015    63070    94    59    

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