Свойства кластера сервера 1с предприятие 8.3. Менеджер под каждый сервис

Рассмотрим процесс настройки и установки 1С кластера серверов на двух и более физических серверах.

Имеем 2 сервера: SERVER1 и SERVER2:

  • на обе машины устанавливаем сервер 1С 8;
  • создаем на каждом сервере по кластеру 1С 8.3 (стандартный кластер, рабочий сервер пока 1, тот, который держит кластер);
  • добавляем рабочие процессы и пр. ( идентичны на обоих серверах);
  • на SERVER1 добавляем информационную базу;
  • в список резервирования SERVER1 добавляем SERVER2 (должен быть 2-м в списке);
  • в список резервирования SERVER2 добавляем SERVER1 (должен быть 1-м в списке);
  • ждем, пока синхронизируются список ИБ и сеансов (ок. 1 минуты).

Все — отказоустойчивость настроили.

Пример настройки

Условие задания:

Есть сервер: V81CORA (192.168.1.222), на котором установлен сервер 1С: Предприятия и зарегистрированы две информационные базы: test и test1.

Есть сервер Z3060015, который необходимо использовать для создания отказоустойчивого кластера 1С из двух серверов: V81CORA и Z3060015.

Это наиболее простой случай создания и использования отказоустойчивого кластера серверов 1С предприятия 8.2.

Решение.

  1. Имеем один сервер V81CORA с единственным рабочим процессом. Все установки – по умолчанию (1540, 1541) На нем зарегистрированы 2 базы 1C.

Свойства рабочего процесса V81CORA 1:

2. На втором сервере (Z3060015) поднимаем сервер 1C: Предприятия с единственным рабочим процессом. На нем нет зарегистрированных информационных баз. Все установки – по умолчанию (1540, 1541).

Аренда 1С:ERP Облачное решение
от 2000 руб./мес.

Управление доставкой Для торговых и курьерских компаний!

1C:ЭДО Узнайте о всех преимуществах электронного документооборота!

Прекращение поддержки
«1С:КА ред. 1.1»!
Организуйте переход на «1С:КА 2.4»

Аренда сервера 1С
в облаке
Работайте в 1С удаленно с экономией до 70%!


Кластер серверов 1С - построение высоконагруженных систем

Заказать демонстрацию Заказать

В данной статье будут рассмотрены несколько вариантов структуры 1С для высоконагруженных систем (от 200 активных пользователей), построенных на базе клиент-серверной архитектуры – их преимущества и недостатки, стоимость инсталляции и сравнительные тесты производительности каждого варианта.

Мы не будем проводить описание, оценку и сравнение общепринятых и всем давно известных классических схем построения серверной структуры 1С, таких как отдельный сервер 1С и отдельный сервер СУБД, либо кластер Microsoft SQL с кластером 1С. Таких обзоров великое множество, в том числе и проведенных самими производителями программных продуктов. Мы предложим обзор схем построения структуры 1С, которые встречались за последние несколько лет в наших ИТ-проектах для среднего и крупного бизнеса.

Требования к высоконагруженным системам 1С

Высоконагруженные системы 1С, работающие с крупными массивами данных в режиме 24/7/365 подвержены факторам риска, которые в стандартных ситуациях обычно не наблюдаются. Как следствие, для их устранения и упреждения требуется применение особенных схем архитектуры 1С и новых технологий.

Катастрофоустойчивость СУБД. В процессе проектирования архитектуры 1С делается упор на вычислительные мощности и высокую доступность сервисов, выраженную в их кластеризации. Серверы 1С:Предприятие по умолчанию способны работать в дублирующем кластере, а для кластера СУБД обычно применяется промышленная система хранения данных (СХД) и технология кластеризации (к примеру, Microsoft SQL Cluster). Однако, ситуация становится плачевной, когда проблемы случаются с самой СХД (зачастую, по нашему опыту последних лет – это проблемы программного характера). Тогда у ИТ-инженера резко возникают две проблемы – где взять актуальные данные и куда их развернуть в кратчайшие сроки, поскольку система хранения данных с нужным объемом быстрого массива дисков недоступна.

Требования к безопасности базы данных. Работая с проектами среднего и крупного бизнеса, мы регулярно сталкиваемся с требованиями по защите персональных данных (в частности, для выполнения пунктов ФЗ-152). Одним из условий выполнения этих требований является обеспечение должной сохранности персональных данных, что требует шифрования базы данных 1С.

При разработке схемы высоконагруженных систем 1С обычно обращают внимание в первую очередь на параметры дисковой системы ввода\вывода, на которой расположены базы данных. Но помимо этого, еще существует активная утилизация ресурсов ЦПУ и потребление ОЗУ сервером 1С. Зачастую именно этого типа ресурсов и не хватает, возможности аппаратной модернизации текущего сервера 1С исчерпываются и требуется добавление новых серверов 1С, работающих с единым сервером СУБД.

Схемы организации кластеров серверов 1С

Схема с кластером 1С-серверов, подсоединенным к кластеру с синхронной репликацией SQL AlwaysOn по протоколу IP. Данная схема является одним из качественных вариантов решения проблемы катастрофоустойчивости базы данных 1С (см. Рисунок 1). Технология кластеризации баз SQL AlwaysOn основана на принципе онлайн-синхронизации таблиц SQL между основным и резервным серверами без вмешательства конечного пользователя. С помощью SQL Listener есть возможность переключиться на резервный сервер SQL в случае выхода из строя основного, что позволяет назвать данную систему полноценным катастрофоустойчивым кластером SQL, благодаря использованию двух независимых серверов SQL. Технология SQL Always On доступна только в версии Microsoft SQL Enterprise.


Рисунок 1 - схема кластера серверов 1С + SQL AlwaysOn


Вторая схема идентична первой, добавлено только шифрование баз SQL на основном и резервном сервере. Мы уже упоминали о том, что работа с последними ИТ-проектами показала, что компании начали гораздо больше внимания уделять вопросу безопасности данных, по различным причинам – требования ФЗ-152, рейдерские захваты серверов, утечка данных в облаке и тому подобное. Так что считаем данный вариант схемы 1С довольно актуальным (см. Рисунок 2).


Рисунок 2 - схема кластера серверов 1С + SQL AlwaysOn с шифрованием


Кластер серверов 1С "active-active", подсоединенный к единственному серверу СУБД по протоколу IP. В противовес потребностям в отказоустойчивости и безопасности – некоторым структурам в первую очередь требуется повышенная производительность, так сказать «вся вычислительная мощь». Поэтому максимальный приоритет отдается увеличению количества вычислительных кластеров сервера 1С, на которые современная платформа 1С позволяет дифференцировать различные типы вычислений и фоновые задания (см. Рисунок 3). Конечно же, комплектация основных ресурсов сервера SQL тоже должна быть на уровне, однако сам сервер баз данных представлен в единственном числе (видимо, расчет идет на своевременное резервное копирование баз).


Рисунок 3 - схема кластера серверов 1С с одним сервером СУБД


Сервер 1С и СУБД на одном аппаратном сервере с SharedMemory. Поскольку наши практические тесты ориентированы на сравнение производительности разных схем, то обязательно требуется некий эталон для сравнения нескольких вариантов (см. Рисунок 4). В качестве эталона, по нашему мнению, нужно взять схему расположения сервера 1С и СУБД на одном аппаратном сервере без виртуализации с взаимодействием по SharedMemory.


Рисунок 4 - схема сервера 1С и СУБД на одном аппаратном сервере с SharedMemory


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


Критерии оценки архитектур 1С Кластер 1С + SQL AlwaysOn Кластер 1С + SQL AlwaysOn с шифрованием
Кластер 1С с одним сервером СУБД
Классический 1С+СУБД SharedMemory
Легкость инсталляции и обслуживания Удовл. Удовл. Хорошо Отлично
Отказоустойчивость Отлично Отлично Удовл. Не применимо
Безопасность Удовл. Отлично Удовл. Удовл.
Бюджетность Удовл. Удовл. Хорошо Отлично

Таблица 1 - сравнение вариантов построения систем 1С


Как видим, остается один важный критерий, значение которого предстоит выяснить – это производительность. Для этого мы проведем серию практических тестов на выделенном тестовом стенде.

Описание методики тестирования

Этап тестирования состоит из двух ключевых инструментов синтетической генерации нагрузки и имитации работы пользователей в 1С. Это тест Гилева (TPC-1C) и «Тест центр» из инструментария 1С: КИП.

Тест Гилева. Тест относится к разделу универсальных интегральных кроссплатформенных тестов. Он может применяться как для файлового, так и для клиент-серверного вариантов 1С:Предприятие. Тест оценивает количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость отрисовки интерфейса, влияния ресурсных затрат на обслуживание виртуальной среды, перепроведения документов, закрытия месяца, расчета зарплаты и т.п. Универсальность позволяет делать обобщенную оценку производительности не привязываясь к конкретной типовой конфигурации платформы. Результатом теста является сводная оценка измеряемой системы 1С, выраженная в условных единицах.

Специализированный «Тест центр» из инструментария 1С: КИП. Тест-центр – инструмент автоматизации многопользовательских нагрузочных испытаний информационных систем на платформе 1С:Предприятие 8. С его помощью можно моделировать работу предприятия без участия реальных пользователей, что позволяет оценивать применимость, производительность и масштабируемость информационной системы в реальных условиях. Используя инструментарий 1С: КИП, на основании процессов и контрольных примеров формируется матрица «Список Объектов макета базы ERP 2.2» для сценария тестирования производительности. В макете базы 1С: ERP 2.2 генерируются обработкой данные по Нормативно-справочной информации (НСИ):

  • Несколько тысяч номенклатурных позиций;
  • Несколько организаций;
  • Несколько тысяч контрагентов.

Тест осуществляется в рамках нескольких групп пользователей. Группа состоит из 4 пользователей, у каждого из которых есть своя роль и перечень последовательных операций. Благодаря гибкому механизму задания параметров для тестирования, можно запускать тест на разное количество пользователей, что позволит оценить поведение системы при различных нагрузках и определить параметры, которые могут привести к снижению показателей производительности. Проводится 3 теста по 3 итерации в которых разработчик 1С запускает тест с эмуляцией работы пользователей и замеряет время выполнения каждой операции. Выполняются замеры всех трех итераций для каждой из схем структуры 1С. Результатом теста является получение среднего времени выполнения операции для каждого документа матрицы.

Показатели «Тест центра» и теста Гилева будут отражены в сводной таблице 2.

Тестовый стенд

Сервер терминального доступа – виртуальная машина, использовалась для управления инструментами тестирования:

  • vCPU - 16 ядер 2.6GHz
  • RAM - 32 ГБ
  • I\o: Intel Sata SSD Raid1
  • RAM - 96 ГБ
  • I\o: Intel Sata SSD Raid1

Сервер 1С и СУБД - физический сервер

  • CPU - Intel Xeon Processor E5-2670 8C 2.6GHz – 2 шт
  • RAM - 96 ГБ
  • I\o: Intel Sata SSD Raid1
  • Роли: Сервер 1С 8.3.8.2137, Сервер MS SQL 2014 SP 2

Выводы

Можем сделать вывод, что по среднему времени выполнения операции наиболее оптимальной является схема №3 «Кластер серверов 1С "active-active", подсоединенный к единственному серверу СУБД по протоколу IP» (см. Таблица 2). Для обеспечения отказоустойчивости такой архитектуры мы рекомендуем строить классический отказоустойчивый кластер MSSQL с размещением базы данных на отдельной СХД.

Важно отметить, что наиболее оптимальное соотношение факторов минимизации простоя, отказоустойчивости и сохранности данных - у схемы №1 «Кластер 1С-серверов, подсоединенный к кластеру с синхронной репликацией SQL AlwaysOn по протоколу IP», при этом падение производительности по отношению к самому производительному варианту составляет примерно 10%.

Как мы видим по результатам тестов, синхронная репликация базы SQL AlwaysOn достаточно негативно влияет на производительность. Объясняется это тем, что система SQL ждет окончания репликации каждой транзакции на резервный сервер, не позволяя работать с базой в это время. Этого можно избежать если настроить асинхронную репликацию между MSSQL серверами, но при таких настройках мы не получим автоматического переключения приложений на резервную ноду в случае сбоя. Переключение придется выполнять вручную.

На базе облака EFSOL мы предлагаем нашим клиентам кластер серверов 1С в аренду. Это позволяет существенно сэкономить средства на построение собственной отказоустойчивой архитектуры для работы с 1С.



Схема архитектуры 1С

Среднее время выполнения операции, сек

Около двух лет назад мы публиковали материал о сервере 1С Предприятия на платформе Linux, интерес к этой теме велик до сих пор. В тоже время многое успело измениться, платформа 1С не стоит на месте и чаще всего внедрение выходит за рамки простого повторения инструкций. Это неудивительно, сервер 1С Предприятия сложный продукт, поэтому мы решили начать этот цикл статей, нацеленный на более глубокое изучение предмета.

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

Хотелось бы еще раз подчеркнуть чрезвычайную важность того, о чем пойдет речь ниже. Не обладая данными знаниями будет проблемно добиться стабильной работы, не говоря уже о диагностике узких мест и увеличении производительности. В итоге может получится классическая картина: вроде бы железо мощное, сделано все по инструкции, а тормозит. К сожалению, большинство инструкций для начинающих (и наша в том числе) содержат информацию лишь о том как сделать, не заостряя внимание что именно делается и почему. Поэтому начнем исправляться.

Клиент-серверная версия 1С Предприятия представляет собой трехуровневую структуру (т.н. "трехзвенка"), в которую входят: клиент, сервер 1С Предприятия и сервер СУБД. Это полностью независимые компоненты, которые могут сочетаться в любой допустимой комбинации для достижения наилучшего результата. Рассмотрим следующую схему:

Начнем с клиентов, текущая версия платформы (8.2) предусматривает использование трех типов клиентов. Разберем их подробнее.

Толстый клиент

Это классическое клиентское приложение 1С, до выхода платформы 8.2 он был единственно доступным видом клиента. Схема работы толстого клиента следующая: клиентское приложение запрашивает данные у сервера 1С, то в свою очередь запрашивает их из БД и предает обратно клиенту, на котором и производится их обработка. Как можно заметить, данная схема неоптимальна: сервер 1С по сути является всего лишь прослойкой между клиентом и БД, все вычисления происходят на клиенте. Это накладывает повышенные требования на клиентские ПК, т.к. вычислительные мощности сервера не используются. Стоит четко понимать, что в режиме толстого клиента вы не получите увеличения быстродейстивия от перехода к клиент-серверной версии, возможно даже наоборот.

Тонкий клиент

Его можно назвать основным видом клиентского приложения для платформы 8.2, в теории, на практике не все так гладко и мы еще к этому вернемся. Схема его работы кардинально иная: клиент запрашивает данные у сервера 1С, тот получает их из БД, обрабатывает и отдает клиенту результат вычислений. Основная вычислительная нагрузка при этом ложится на сервер, поэтому особых требований к клиентским ПК и каналу от клиента к серверу не предъявляется.

Также тонкий клиент может работать как по протоколу TCP/IP в локальной сети, так и через HTTP через интернет. Для этого требуется еще один посредник - веб-сервер, который передает запросы клиента серверу 1С, никакой обработки данных на веб-сервере не производится, он используется исключительно как транспорт. Преимущества тонкого клиента понятны, он позволяет, при наличии мощного сервера, значительно ускорить работу с программой, также значительно снижается сетевой трафик, что весьма актуально для офисных сетей.

Веб-клиент

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

Теперь о ложке дегтя в бочке меда. Для нормальной работы в режиме тонкого и веб-клиентов конфигурация должна работать в режиме управляемого приложения и поддерживать все функции в данном режиме. Режим управляемого приложения является основным для платформы 8.2 и довольно радикально отличается от того, что было раньше, в том числе и внешне. Визуально управляемое приложение можно отличить по новому интерфейсу, отличительными чертами которого являются вкладки и гиперссылки:

Как минимум, непривычно, особенно в сравнении с классическим интерфейсом, но не спешите радоваться, увидев новый интерфейс, кроме внешнего вида, конфигурация должна поддерживать исполнение на сервере всего своего функционала, вполне может оказаться, что в режиме тонкого и веб-клиента будут доступны не все возможности.

На сегодня в режиме управляемого приложения работает лишь часть типовых конфигураций, такие как: Управление небольшой фирмой, Управление торговлей 11, Розница 2 и Зарплата и управление персоналом. Эти решения могут использовать все преимущества новой платформы. Бухгалтерия предприятия 2.0 не использует режим управляемого приложения и в тонком и веб-клиентах работать не будет, это же относится и ко многим сторонним решениям, таким как "Камин" и т.п.

Выводы

По возможности следует использовать тонкий клиент, так как это позволяет переложить все вычисления на сторону сервера комфортно работать даже на медленных каналах, в т.ч. через интернет. При этом следует помнить, что работа в режиме Конфигуратора возможна только через толстый клиент, который также придется использовать для работы с конфигурациями еще не переведенными в режим управляемого приложения.

Веб-клиент следует использовать тогда, когда нет возможности воспользоваться тонким, например с чужого ПК в командировке, при этом следует быть готовым к отсутствию или некорректной работе некоторых функций.

Кластер серверов 1С

Разобравшись с клиентами, перейдем к серверам. Система предусматривает использование трех видов серверов: Сервер 1С, сервер СУБД и веб-сервер. Важно понимать что данные сервера полностью независимы друг от друга, это придает системе гибкость и позволяет рационально использовать вычислительные ресурсы.

Также система не накладывает никаких требований к платформам. Вы можете совместно использовать как Windows так и Linux сервера, в качестве веб-сервера можно использовать Apache и IIS, из СУБД поддерживаются PostgreSQL, MS SQL Server, IBM DB2 и Oracle. Поэтому никто не мешает вам создать схему, в которой сервер 1С работающий на платформе Linux будет работать совместно с сервером БД под управлением Windows Server и IIS и наоборот. Кроме того вы можете использовать несколько серверов СУБД (как и веб-серверов) располагая разные базы на разных серверах.

Такой подход позволяет гибко комбинировать, расширять и изменять существующую конфигурацию в зависимости от текущих потребностей, при этом для конечного пользователя все будет происходить максимально прозрачно. Например вы можете вынести ресурсоемкую ИБ на отдельный сервер СУБД, изменив только параметры подключения к БД в настройках сервера не затрагивая клиентских настроек.

И наконец самое интересное: кластер серверов 1С Предприятия. Да, именно так, не одиночный сервер, а кластер серверов. Обычно здесь и начинаются непонятки, особенно если сервер один. Однако все встает на свои места, если принять во внимание, что понятие кластера серверов в первую очередь логическое, однако данный подход легко позволяет масштабировать схему повышая ее производительность или отказоустойчивость.

Любой кластер состоит из Центрального сервера 1С Предприятие и рабочих серверов. В простейшей конфигурации это будет один и тот же физический сервер. Однако при необходимости мы можем добавить дополнительные рабочие сервера, нагрузку по которым будет балансировать центральный сервер. Это позволяет быстро и прозрачно для пользователей увеличить вычислительную мощь системы и увеличить отказоустойчивость. Кластер также не накладывает требований к однородности платформы, в его составе могут работать сервера как под управлением Windows, так и под управлением Linux.

Какие выводы можно сделать из вышесказанного? Во первых, клиент-серверная система 1С Предприятие является весьма гибкой и позволяет оптимальным образом использовать доступные вычислительные ресурсы для получения оптимального результата. Какую именно конфигурацию выбрать, зависит от конкретных задач и средств, выделяемых для их решения.

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

И наоборот, при использовании управляемого приложения в режиме тонкого клиента сервер СУБД и кластер серверов лучше разнести по разным серверам, каждый из которых будет оптимизирован под свою задачу.

Буквально вчера обновили все программное обеспечение сервера. Затронем, пожалуй, самые интересные и новые возможности кластера серверов «1С:Предприятие 8.3».

Как настроить кластер серверов для «1С:Предприятие 8.2» можно посмотреть в предыдущей . На некоторых моментах заострять внимание не буду, они уже были описаны в ранее.

ТАК ЧТО ЖЕ ИЗМЕНИЛОСЬ В КЛАСТЕРЕ «1С:Предприятие 8.3»:

Первым делом, после установки кластера «1С:Предприятие 8.3» ранее необходимо было создать рабочие процессы. Как оказалось, процессы кластера теперь создаются автоматически в зависимости от нагрузки на учетную систему.

Пробный запуск фоновых заданий основной базы заставило кластер «1С:Предприятие 8.3» безконечно перегружать rphost.exe и дополнительный rphost.exe никак не хотел создаваться. Покопавшись в настройках все стало понятно.

Максимальный объем памяти рабочих процессов - это объем памяти, который могут использовать рабочие процессы вместе. Нужно быть очень внимательными при установке параметра, измеряется в байтах . Если установить неверное значение (недостаточное для нормальной работы пользователей) пользователям будет выдана ошибка «Недостаточно свободной памяти на сервере «1С:Предприятие»». Так же эту ошибку можно получить, когда на сервере «1С:Предприятие» закончилась квота по памяти.

Безопасный расход памяти за один вызов - позволяет контролировать расход памяти при серверном вызове, измеряется в байтах . Если вызов использует больше памяти чем положено, этот вызов будет завершен в рамках кластера 1С без перезапуска рабочего процесса (rphost.exe ). Соответственно «неудачник», который выполнил вызов сервера, утратит сеанс с базой данных без влияния на работу других пользователей.

Объем памяти рабочих процессов, до которого сервер считается производительным - при превышении этого параметра сервер в кластере «1С:Предприятие 8.3» перестанет принимать новые соединения.

Количество ИБ на процесс - позволяет изолировать информационные базы по рабочим процессам. По умолчанию у текущего кластера «1С:Предприятие 8.3» было установлено значение - «8», но на протяжении нескольких часов работы сервер вел себя нестабильно, сеансы пользователей зависали. После изоляции каждой информационной базы (значение - «1») проблемы пропали.

Количество соединений на процесс - по умолчанию значение «128». Так как у текущей базы очень большая нагрузка фоновыми заданиями (расчет логистики, анализ прайс-листов, анализ конкурентов и прочее) было принято решение уменьшить количество до «25».

Немного изменились настройки и самого кластера «1С:Предприятие 8.3»:


Уровень отказоустойчивости - это количество рабочих серверов, которые могут одновременно выйти из строя, и это не приведет к аварийному завершению работы пользователей. Резервные сервисы запускаются автоматически в количестве, необходимом для обеспечения заданной отказоустойчивости. В реальном режиме времени выполняется репликация активного сервиса на резервные.

Режим распределения нагрузки - есть два варианта параметра: «Приоритет по производительности» — памяти сервера тратится больше и производительность выше, «Приоритет по памяти» — кластер «1С:Предприятие 8.3» экономит память сервера.

Вместо послесловия. Кластер «1С:Предприятие 8.3» работает заметно шустрее и надежнее, создание сеанса пользователя с информационной базой происходит в разы быстрее, интерфейс в режиме совместимости с «1С:Предприятие 8.2.16», можно сказать, летает. Конечно, есть и нюансы, но куда ж без них. Успехов в настройке нового кластера «1С:Предприятие 8.3».

Кластер серверов 1С:Предприятия 8 (1C:Enterprise 8 Server Cluster)

Кластер серверов 1С:Предприятия 8 является основным компонентом платформы, который обеспечивает взаимодействие между системой управления базами данных и пользователем в случае варианта клиент-серверной работы. Кластер дает возможность организовать бесперебойную, устойчивую к отказам, конкурентную работу для значительного количества пользователей с объемными информационными базами.

Кластер серверов 1С:Предприятия 8 – это логическое понятие, которое обозначает совокупность процессов, которые обслуживают один и тот же комплект информационных баз.

Можно выделить следующие возможности кластера серверов, как основные:

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

Клиент-серверный вариант. Схема работы

При этом варианте работы с сервером взаимодействует клиентское приложение. Кластер серверов, в свою очередь, взаимодействует с сервером баз данных.

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

Кластер адресуется для клиентского соединения по имени центрального сервера и, возможно, номеру сетевого порта. В случае если сетевой порт используется стандартный, то для соединения хватает просто указать имя центрального сервера.

Во время установки соединения к центральному серверу кластера обращается клиентское приложение. Основываясь на анализе статистики загруженности рабочих процессов, центральный сервер переправляет клиентское приложение к необходимому рабочему процессу, который должен его обслуживать. Данный процесс может быть активирован на любом рабочем сервере кластера, в частности и на центральном сервере.

Обслуживание соединения и аутентификация пользователя поддерживаются этим рабочим процессом до момента прекращение работы клиента с конкретной информационной базой.

Кластер серверов

Элементарный кластер серверов может представлять собой единственный компьютер и содержать только один рабочий процесс.

На рисунке можно наблюдать все элементы, которые, так или иначе, принимают участие в работе кластера серверов. Это следующие элементы:

  • процессы кластера серверов:
    o ragent.exe;
    o rmngr.exe;
    o rphost.exe;
  • хранилища данных:
    o список кластеров;
    o реестр кластера.

Процесс ragent.exe, называемый – агент сервера, обеспечивает функционирование компьютера как составной части кластера. Следовательно, компьютер, на котором запущен процесс ragent.exe, следует называть рабочим сервером. В частности одной из функциональных обязанностей ragent.exe является ведение реестра кластеров, которые находятся на конкретном рабочем сервере.

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

Сам кластер серверов состоит из таких элементов:

  • один или несколько процессов rmngr.exe
  • реестр кластера
  • один или несколько процессов rphost.exe.

Менеджер кластера (процесс rmngr.exe). Он служит для управления функционирования всего кластера. В состав кластера может входить несколько процессов rmngr.exe, один их которых всегда будет главным менеджером данного кластера, а остальные процессы – дополнительными менеджерами. Центральным сервером кластера следует называть рабочий сервер, на котором действует главный менеджер кластера, и который содержит список кластера. Именно ведение реестра кластера является одной из функций главного менеджера кластера.

Рабочий процесс (процесс rphost.exe). Именно он, непосредственно, обслуживает клиентские приложения, взаимодействуя с сервером баз данных. В этом процессе могут исполняться некоторые процедуры конфигурации серверных модулей.

Масштабируемость 1С версии 8.3

Масштабируемость кластера серверов осуществляется следующими способами:

  • увеличивают количество менеджеров в кластере и распределение сервисов между ними
  • увеличивают количество рабочих процессов, которые функционируют на данном рабочем сервере
  • увеличивают количество рабочих серверов, из которых состоит кластер.

Использование одновременно нескольких менеджеров.

Функции, которые исполняет менеджер кластера, разделяются на несколько сервисов. Данные сервисы можно назначить разным менеджерам кластера. Это дает возможность равномерно распределить нагрузку по нескольким процессам.

Однако некоторые сервисы могут быть использованы только главным менеджером кластера:

  • сервис конфигурации кластера
  • сервис управления предметами отладки
  • сервис блокировок кластера.

Для прочих сервисов допустимы в назначение произвольные менеджеры кластера:

  • сервис журналов регистрации
  • сервис блокировки объектов
  • сервис заданий
  • сервис полнотекстового поиска
  • сервис сеансовых данных
  • сервис нумерации
  • сервис пользовательских настроек
  • сервис времени
  • сервис транзакционных блокировок.

Использование одновременно нескольких рабочих процессов.

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

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

Отказоустойчивость 1С версии 8.3

Устойчивость к отказам в работе кластера обеспечивается тремя направлениями:

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

Резервирование кластера 1С версии 8.3

Несколько кластеров объединяются в группу резервирования. Кластеры, которые находятся в такой группе, автоматически синхронизируются.

В случае выхода из строя активного кластера, его заменяет следующий рабочий кластер группы. После того, как неработоспособный кластер будет восстановлен, он станет активным после синхронизации данных.

Резервирование рабочих процессов 1С версии 8.3

Для каждого из рабочих процессов есть возможность указания вариантов его использования:

  • использовать
  • не использовать
  • использовать как резервный.

В случае аварийного завершения работы какого-либо процесса, кластер начинает использовать вместо него неактивный на данный момент резервный процесс. При этом происходит автоматическое перераспределение имеющейся на него нагрузки.

Устойчивость 1С версии 8.3 к обрыву канала связи

Так как каждому пользователю обеспечивается собственный сеанс связи, то кластер сохраняет данные о подключавшихся пользователях и о том, какие действия ими выполнялись.

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

Сеансы работы в 1С версии 8.3

Сеанс дает возможность определить активного пользователя конкретной информационной базы и определить поток управления от этого клиента. Различают следующие типы сеансов:

  • Тонкий клиент, Веб-клиент, Толстый клиент – эти сеансы возникают при обращении соответствующих клиентов к информационной базе
  • Соединение типа «Конфигуратор» — оно возникает при обращении к информационной базе конфигуратора
  • СОМ-соединение – образовывается при использовании внешнего соединения для обращения к информационной базе
  • WS-соединение – возникает в случае обращения к информационной базе веб-сервера, как следствие обращения к опубликованному на веб-сервере Web-сервису
  • Фоновое задание – образовывается, когда рабочий процесс кластера обращается к информационной базе. Служит такой сеанс для исполнения кода процедуры фонового задания,
    Консоль кластера – создается, когда утилита администрирования клиент-серверного варианта обращается к рабочему процессу
  • СОМ-администратор – возникает в случае обращения к рабочему процессу с использованием внешнего соединения.
  • Работа при использовании различных операционных систем

Любые процессы кластера серверов могут функционировать как под операционной системы Linux, так и под операционной системы Windows. Это достигается тем, что взаимодействие кластеров происходит под управлением протокола TCP/IP. Также в состав кластера могут входить рабочие серверы под управлением любой из этих операционных систем.

Утилита администрирования кластера серверов 8.3

В комплекте поставки системы имеется утилита для администрирования варианта клиент-серверной работы. Эта утилита дает возможность изменения состава кластера, управления информационными базами, и оперативно анализировать транзакционные блокировки.