Кластер серверов 1C:Предприятие 8.2 – дальнейшее развитие технологий сервера 8.2.
Сервер может работать «как 8.1″, т.е. в нем осталась совместимость с предыдущими технологиями.
И плюс реализован новый подход к работе сервера. Теперь вместо процессов важную роль сеансы.
Сеансы позволяют выполнять балансировку загруженности и отказоустойчивости в управляемом приложении.
Менеджер кластера теперь стал сложнее. Часть функций теперь можно выделить в отдельный процесс и даже разместить на другом рабочем сервере кластера. Это позволяет балансировать загруженность сервера.
Это позволяет обеспечить непрерывность работы:
При разрыве физического соединения клиента с кластером (уборщица выдернула кабель, отключилось питание сетевого оборудования, неполадки у провайдера) не приходится заново подключаться к информационной базе и начинать всю работу сначала. После восстановления физического соединения пользователь может продолжить работу с того места, на котором она была прервана.
Если требуется техническое обслуживание компьютеров кластера, их можно выключать прямо во время работы, не останавливая работу пользователей с информационной базой.
При выходе из строя любого сервера кластера работа пользователей не остановится она будет автоматически переведена на резервный кластер и/или на резервные рабочие процессы. Для пользователей такой переход будет незаметным.
Если один из рабочих процессов кластера завершится аварийно, подключенные к нему пользователи будут автоматически переведены на другие или резервные рабочие процессы. Такой переход также будет незаметен для пользователей.
Кластер 1С 8.3
Сервер 8.3 характеризуется переработанным заново внутренним кодом, хотя «снаружи» может показаться что это слега доработанный 8.2.
Сервер стал более «авто настраиваемым», часть параметров типа количества рабочих процессов теперь не создается вручную, а рассчитывается исходя из описаний требований задач по отказоуйсточивости и надежности.
Это снижает вероятность неправильной настройки сервера и понижает требования к квалификации админов.
Получил развитие механизм балансировки нагрузки, который можно использовать либо для повышения производительности системы вцелом, либо использовать новый режим «экономии памяти», который позволяет работает «с ограниченной памятью» в случаи если используемая конфигурация «любит отъедать память».
Стабильность работы при использовании больших объемов памяти определятся новыми параметрами рабочего сервера.
Особенно интересен параметр «безопасный расход памяти за один вызов». Для тех кто плохо представляет что это такое — лучше не тренируйтесь на «продуктивной» базе. Параметр «Максимальный объем памяти рабочих процессов» позволяет при «переполнении» не обваливать весь рабочий процесс, а только один сеанс «с неудачником». «Объем памяти рабочих процессов, до которого сервер считается производительным» позволяет заблокировать новые соединения как только будет преодолен этот порог памяти.
Рекомендую изолировать рабочие процессы по информационным базам, к примеру указать параметр «Количество ИБ на процесс = 1″. При нескольких высоконагруженных базах это позволит уменьшить взаимное влияние как по надежности, так и по производительности.
Отдельный вклад в стабильность системы вносит «расходование» лицензий/ключей. В 8.3 появилась возможность использования «менеджера программных лицензий» напоминая менеджер «аладина». Цель — возможность вынести ключ на отдельную машину.
Реализован он в виде еще одного «сервиса» в менеджера кластера. Вы можете использовать к примеру «свободный» ноутбук. Добавьте его в кластер 1с 8.3, создайте на нем отдельный менеджер с сервисом «сервис лицензирования». В ноутбук можно воткнуть аппаратных hasp-ключ, или активировать программные лицензии.
Наибольший интерес для программистов должен представлять «Требования назначения функциональности».
Так на ноутбуке с ключом защиты чтобы не запускать пользователей на сервер кластера надо добавить «требования» для объекта требования «Клиентское соединение с ИБ» — «Не назначать», т.е. запретить рабочим процессам данного сервера обрабатывать клиентские соединения.
Еще больший интерес предоставляет возможность запускать «только фоновые задания» на рабочем сервере кластера без сеансов пользователей. Таким образом можно высоконагруженные задачи (код) вынести на отдельный машины. При чем можно одно фоновое задание «закрытия месяца» через «Значение дополнительного параметра» запускать на одном компьютере, а фоновое задание «Обновление полнотекстового индекса» на другом.Уточнение происходит через указание «Значение дополнительного параметра». Например если указать BackgroundJob.CommonModule в качестве значения, то можно ограничить работу рабочего сервера в кластере только фоновыми заданиями с любым содержимым. Значение BackgroundJob.CommonModule.<Имя модуля>.<Имя метода> — укажет конкретный код.
ПАРАМЕТРЫ РАБОЧЕГО СЕРВЕРА
Максимальный объем памяти рабочих процессов — это объем памяти, который могут использовать рабочие процессы вместе. Нужно быть очень внимательными при установке параметра, измеряется в байтах. Если установить неверное значение (недостаточное для нормальной работы пользователей) пользователям будет выдана ошибка "Недостаточно свободной памяти на сервере 1С". Так же эту ошибку можно получить, когда на сервере 1С закончилась квота по памяти.
Безопасный расход памяти за один вызов — позволяет контролировать расход памяти при серверном вызове, измеряется в байтах. Если вызов использует больше памяти чем положено, этот вызов будет завершен в рамках кластера 1С без перезапуска рабочего процесса (rphost.exe). Соответственно "неудачник", который выполнил вызов сервера, утратит сеанс с базой 1С без влияния на работу других пользователей.
Объем памяти рабочих процессов, до которого сервер считается производительным — при превышении этого параметра сервер в кластере 1С перестанет принимать новые соединения.
Количество ИБ на процесс — позволяет изолировать информационные базы по рабочим процессам. По умолчанию у текущего кластера 1С было установлено значение — "8", но на протяжении нескольких часов работы сервер себя очень нестабильно, сеансы пользователей зависали. После изоляции каждой информационной базы (значение — "1") проблемы пропали.
Количество соединений на процесс — по умолчанию значение "128". Так как у текущей базы очень большая нагрузка фоновыми заданиями (расчет логистики, анализ прайсов, анализ конкурентов и прочее) было принято решение уменьшить количество до "25".
Немного изменились настройки и самого кластера 1С:
Уровень отказоустойчивости — это количество рабочих серверов, которые могут одновременно выйти из строя, и это не приведет к аварийному завершению работы пользователей. Резервные сервисы запускаются автоматически в количестве, необходимом для обеспечения заданной отказоустойчивости. В реальном режиме времени выполняется репликация активного сервиса на резервные.
Режим распределения нагрузки — есть два варианта параметра: "Приоритет по производительности" - памяти сервера тратится больше и производительность выше, "Приоритет по памяти" - кластер 1С экономит память сервера.
Решение возможных проблем с установкой
При установке серверной части 1С:Предприятия 8.1 вы можете создать нового пользователя или выбрать существующую учетную запись.
В случае выбора существующей учетной записи вы должны указать правильный пароль и подтверждение, иначе запуск серверной части далее приведет к ошибке.
При первом запуске Агента кластера создается кластер «по умолчанию».
Кластер по умолчанию имеет следующие характеристики:
· номер порта – 1541;
· диапазон IP портов – 1560:1591;
· поддержка многих рабочих процессов – выключена;
· один рабочий процесс, номер порта устанавливается из указанного диапазона.
Если при первом запуске агента кластера возникли какие-либо проблемы, то кластер по умолчанию может быть не создан. Это проявляется в том, что при запуске агента сервера (ragent) он стартует, но не запускает другие процессы кластера (rmngr, rphost). Список кластеров srvribrg.lst при этом выглядит так:
{
{0},
В этом случае можно остановить процесс ragent, удалить список кластеров (srvribrg.lst) и запустить ragent снова.
Проверьте совпадение портов, указанного в параметре port командной строки запуска сервиса агента сервера и заданного в диалоге параметров центрального сервера консоли кластеров:
- Остановите сервис 1C:Enterprise 8.1 Server Agent.
Если Агент серверов запущен как приложение, остановка выполняется нажатием комбинации клавиш Ctrl+C.
- Убедитесь, в Диспетчере задач (Task Manager), что все процессы ragent, rmngr, rphost завершились. При необходимости завершите их при помощи Task Manager.
- Откройте свойства сервиса 1C:Enterprise 8.1 Server Agent.
- Обратите внимание на строку «Исполняемый файл» ( Path to executable). В ней имеется параметр -d, за которым следует каталог данных кластера. Все файлы, относящиеся к кластеру, находятся в этом каталоге.
- Удалите все содержимое этого каталога.
- Запустите сервис 1C:Enterprise 8.1 Server Agent.
- Убедитесь, в Диспетчере задач (Task Manager), что все процессы ragent, rmngr, rphost стартовали.
- Запустите консоль кластера и зарегистрируйте в ней центральный сервер. Консоль должна подсоединиться к центральному серверу и показать один кластер, созданный по умолчанию.
Возможными проблемы отказа работы Кластера серверов являются проблемы с ключами защиты, правами учетной записи служб, некорректными параметрами запуска.
- Ключ защиты серверной части устанавливается ЛОКАЛЬНО на каждый сервер предприятия
- Не задавайте учетную запись службы с пустым паролем
- При нескольких кластерах используемые порты не должны пересекаться
Обратите внимание, что в процессе установки платформы 1С:Предприятие 8.1 могут быть выданы сообщения об ошибках. Ниже перечислены наиболее вероятные сообщения. Указаны причины, вызвавшие сообщения и шаги к устранению.
Ошибка 1069: служба не запущена из-за ошибки входа в систему
Проблема связана с правами учетной записи на запуск от имени системной службы. Откройте утилиту Local Security Policy (Локальная политика безопасности) и добавьте пользователя (от имени которого происходит запуск Рабочих серверов Кластера) к политикам Logon as service (Работа в качестве сервиса) и Logon as batch (Работа в качестве пакетного задания) job.
При нарушении данных, хранящихся в служебных файлах, и запуск Рабочих серверов Кластера может оказаться неудачным. Убедитесь, что агент сервера 1С:Предприятия 8.1 запущен (процесс ragent в Task Manager).
Не забудьте, что средством анализа также является аудит событий Windows. Для этого посмотрите, появляются ли какие-нибудь «подозрительные» сообщения в журнале событий Windows.
Ошибка 8007056B / 800708C5
The new password does not meet the password policies. The password may be too short or you have already used this password recently.
Причина: указанный пароль для учетной записи в диалоговом окне «Установка сервера 1С:Предприятие» не удовлетворяет требованиям политики безопасности.
Решение: Задать новый пароль для выбранной учетной записи, удовлетворяющий требованиям политики безопасности либо ослабить требования применяемой политики безопасности, т.е. не требовать «сложного» пароля, не ограничивать количество знаков в пароле, не проверять попыток повторения и т.д.
Ошибка 1923: нет привилегий для установки сервисом
Причина: Ошибка связана с правами установки учетной записи в качестве приложений. Такая ошибка характерна для попыток установки сервера на контроллере домена, где предъявляются повышенные меры безопасности.
Решение: Не использовать контроллер домена для размещения сервера предприятия или ослабить требования безопасности и указать для выбранной учетной записи права «Работы в качестве службы», «Работы в качестве пакетного задания».
Ошибка 80070056
Your password could not be changed. Each password must be used for at least x days.
Причина и Решение: Еще одна ошибка, возникающая при нарушении требований политики безопасности к используемым паролям. Решение аналогично ошибке 800708C5.
Windows Sockets — 11004(0х00002AFC)
1) Убедиться, что на Рабочем сервере кластера в Диспетчере задач (Task Manager) запущены :
Агент сервера (ragent.exe),
Менеджер Кластера (rmngr.exe),
Рабочий процесс Кластера (rphost.exe).
2) Для проверки разрешения имен ip-адреса выполните в командной строке:
ping имя_машины
В отклике системы на команду нас интересует, определиться ли ip-адрес.
3) Если имя определилось, но Рабочий процесс по-прежнему не находится, то убедитесь, что определение Ip-адреса имени <имя машины> и <имя машины>.<имя домена> определяются не по-разному.
(Windows Sockets — 10054(0×00002746).
Удаленный хост принудительно разорвал соединение.
Такое сообщение может быть получено в случае перезагрузки сервера или принудительного удаления Рабочего процесса.
Эта ошибка обычно не появляется при повторном подключении. Если ошибка осталась, необходимо расследовать причины отказа рабочих серверов кластера.
Такая ошибка может происходить при достижении рабочим процессом использования максимального объема памяти в 32х битных системах.
Другим случаем является попытка подключения от клиента с сообщением об ошибке:
(Windows Sockets — 10060(0x0000274C)
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
Сущность этой ошибки – отсутствие отклика в течении определенного времени (таймаута).
1) Убедитесь, что брандмауэр не блокирует трафик приложения. Выключите брандмауэр.
Для этого в командной строке выполните команду (команда доступна начиная с Windows XP и Windows Server 2003, в более ранних версиях встроенного брандмауэра нет, однако может быть установлено стороннее ПО):
netsh firewall set opmode disable
Если команда будет выполнена успешно, вы получите сообщение:
Ок.
Кроме брандмауэра блокировать трафик могут сетевые фильтры. Они по умолчанию выключены. Тем не менее, убедитесь, что это так:
- Откройте папку «Сетевые подключения».
- Щелкните правой кнопкой мыши сетевое подключение, которое требуется настроить, и выберите команду Свойства.
- На вкладке Общие (для подключения по локальной сети) или на вкладке Сеть (для всех остальных подключений) выберите Протокол Интернета (TCP/IP) и нажмите кнопку Свойства.
- Нажмите кнопку Дополнительно.
- Откройте вкладку Параметры, выберите параметр Фильтрация TCP/IP и нажмите кнопку Свойства.
- Убедитесь, что флажок Задействовать фильтрацию TCP/IP (все адаптеры) снят.
2) Убедитесь, что ресурсы процессора не загружены на 100% (CPU%).
3) Выполните замер сетевой активности интерфейсов клиента и сервера. Нагрузка на сетевой адаптер не должна превышать 60%.
(Windows Sockets — 10061(0x0000274D)
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
Характерной причиной такой ошибки является отсутствие запущенного Агента сервера. Запустите сервер вручную или выполните перезагрузку сервера для автоматического старта.
Также смотрите видео:
Настройка параметров кластера серверов 1С:Предприятие 8.3 (5 бесплатных видео) на сайте Курсы-по-1С.рф
http://xn----1-bedvffifm4g.xn--p1ai/news/2015-12-01-1c-servers-clusters-tune-and-speed-up