- Как установить 1С на сервер
- Понятие клиент-серверной 1С
- Когда стоит переносить базу из файлового варианта в серверный?
- Установка клиент-серверной 1С
- Установить MS SQL на сервер
- Установить платформу 1С на сервер
- Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу
- Создать информационную базу в SQL
- Инструкция по настройке рабочих серверов с Технологической Платформой 1С:Предприятие
- 1. Определить, сколько информационных баз будут использоваться в кластере для работы пользователей
- 2. Определить, сколько пользователей будет работать одновременно
- 3. Настроить профили пользователей ОС, от которых будут запускаться процессы кластера
- 4. Настроить логирование и дампы
- 5. Проверить настройки операционной системы
- 5.1. Настроить рабочий сервер
- 5.2. Настроить рабочий сервер
- 5.3. Убедиться, что брадмауэр операционной системы настроен таким образом, что не запрещает процессам кластера взаимодействовать корректно.
- 5.4. Убедиться, что на рабочих серверах кластера одновременно не используется IPv4 и IPv6.
- 5.5. Убедиться, что схема управления питанием — «Высокая производительность».
- 5.6. Убедиться, что установлены компоненты Microsoft Data Access Components
- 6. Необходимо настроить сетевой стек для обеспечения возможности обработки большого числа подключений
- 7. Настроить кластер серверов
- 7.1. Необходимо добавить рабочие серверы в кластер
- 7.2. Настроить условия перезапуска
- 7.3. Настроить расположение каталога кластера
- 7.4. Настроить число соединений и информационных баз на процесс
- 7.5. Выполнить настройки для случая нескольких рабочих серверов в кластере.
- 8. Первый запуск
- 9. Отказоустойчивость
- 9.1. Проверить лицензии.
- 9.2. Установить флаг «Центральный сервер».
- 9.3. Установить флаг «Уровень отказоустойчивости»
- 9.4. Скорректировать строку соединения
- 10. Замечания
- 10.1. Не настраивайте exec backup (или аналогичные утилиты) на директории кластера серверов
- 10.2. Не настраивайте сжатие данных дисков с директорией кластера
- 10.3. Не забывайте про периодическое выполнение дефрагментации дисков ОС Windows.
- 10.4. Настроить защиту от вирусов.
Как установить 1С на сервер
В статье “Администрирование 1С” была подробно описана установка 1С на локальный компьютер. Эта статья является дополнением к предыдущей и содержит информацию о процедуре установки 1С в клиент-серверном варианте. В этой статье мы сначала разберемся с понятием клиент-серверной архитектуры, затем рассмотрим когда имеет смысл внедрять такую архитектуру и расскажем как это делать.
Понятие клиент-серверной 1С
На самом деле 1С всегда работает в варианте клиент-сервер. Но в случае, когда работа осуществляется на локальном компьютере (файловый вариант) 1С сама делит память компьютера на условно-клиентскую и условно-серверную часть и использует свою встроенную систему управления базами данных. В клиентской части формируются запросы к 1С, затем передаются в серверную и там обрабатываются, результат возвращается обратно в клиентскую. Однако принято называть это файловым вариантом работы с базой.
Вариант работы с 1С называется клиент-серверным тогда, когда для работы с базой используют сторонние СУБД. 1С поддерживает работу с: IBM DB2, MS SQL, Oracle DB, PostgreSQL. Сторонние системы управления базами данных являются намного более мощными по сравнению со встроенными в 1С и обеспечивают лучшее быстродействие, а также повышают защищенность баз. Далее в статье мы будем рассматривать внедрение клиент-серверной архитектуры на базе MS SQL. Именно SQL считается лучшим для работы с 1С. Postgree, например, требует частого реиндексирования баз, DB2, в сравнении со своими конкурентами, имеет существенные ограничения по максимальной длине числа, а Oracle имеет известные проблемы с упорядочиванием данных.
Когда стоит переносить базу из файлового варианта в серверный?
- Если с базой работают до 5-7 человек и база имеет небольшой размер — достаточно файлового варианта.
- Если с базой работают 8-12 человек и вес базы приближается к 4Гб, то имеет смысл задуматься о переходе на “клиент-сервер.” В данном случае многое зависит от личных ощущений от работы с базой при большом одновременном количестве пользователей. Дело в том, что при работе в базе каждый пользователь, обращаясь к регистрам, блокирует доступ к ним для других пользователей и другие пользователи, при попытке обращения к заблокированному регистру, встают в очередь. А в это время 1С висит. Поэтому, если подвисания при большом количестве пользователей начинают мешать работе, пора совершенствовать архитектуру.
- Если с базой работают более 15 человек и размер базы более 4Гб, то клиент-сервер необходим.
Установка клиент-серверной 1С
Для того, чтобы развернуть клиент-серверную 1С необоходимо выполнить несколько шагов.
- Установить MS SQL на сервер.
- Установить платформу 1С на тот же сервер.
- Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу.
- Создать информационную базу в SQL
Рассмотрим каждый шаг подробно.
Установить MS SQL на сервер
На сервере, или мощном компьютере, который будет работать как сервер, запустите файл “setup.exe” из папки/диска с дистрибутивом SQL. В случае, если на компьютере нет компоненты Microsoft.NET Framework установщик выдаст предупреждение. Нужно обновить операционную систему, либо просто скачать и установить framework с официального сайта Microsoft. Это бесплатно.
После запуска установщика, потребуется ввести лицензионный ключ продукта, затем, как всегда, внимательно прочитать текст лицензионного соглашения, отметить галочку “Я согласен, принимаю” и двигаться далее.
На этапе выбора компонент, если вы собираетесь использовать SQL только для работы с 1С, имеет смысл оставить всего несколько галочек: напротив “Службы компонента Database Engine”, Средства связи клиентских средств (или “Client Tool Connectivity” для английской версии) и Средства управления (Management Tool). Другие компоненты SQL при работе с 1С не используются, их устанавливать не нужно.
На закладке “Параметры сортировки” Конфигурации сервера проверьте, что выбрано “Cyrillic_General_CI_AS”.
В “Конфигурации сервера” отметьте “Смешанный режим”, как показано на рисунке, и введите пароль для суперпользователя SQL (Логин суперпользователя: sa). На этой же закладке укажите администратора данного экземпляра SQL, их может быть несколько.
На соседней закладке “Каталоги данных” выберите для пользовательских баз данных и баз данных TEMP расположение на максимально производительных дисках (например на SSD, желательно на RAID)
Нажимайте “Далее” и “Установка”. Дальнейшие настройки можно оставить по умолчанию. Дождитесь завершения установки и SQL готов к работе.
Установить платформу 1С на сервер
Установка платформы 1С описана в другой нашей статье — “Администрирование 1С”, в разделе “Установка 1С”. Установка на сервер почти полностью совпадает с установкой на локальный компьютер, с одной лишь разницей. В серверном варианте при выборе устанавливаемых компонент необходимо выбрать “Сервер 1С:Предприятия” и “Администрирование сервера 1С:Предприятия”.
Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу
Установка на клиентских компьютерах ничем не отличается от способа, описанного ранее в статье “Администрирование 1С”.
Создать информационную базу в SQL
Создание информационной базы в SQL тоже очень похоже на создание базы в файловом варианте. Разница заключается в том, что на этапе выбора типа расположения информационной базы необходимо выбрать “На сервере 1С:Предприятия”.
И далее задать необходимые параметры.
В пункте “Кластер серверов” укажите имя (а лучше IP-адрес) сервера, на который устанавливали SQL.
В пункте “Имя информационной базы” укажите любое имя, которое хотите дать базе.
Пользователь базы данных и его пароль — тот самый суперпользователь, о котором говорилось выше, на этапе установки MS SQL.
Смещение дат оставьте по умолчанию.
Необходимо отметить пункт “Создать базу данных в случае ее отсутствия” и нажать “Далее”.
Теперь база успешно создана на сервере SQL и добавлена в список доступных баз. Внизу на картинке можно увидеть результат проделанной работы.
Стоить отметить, что созданная база пока еще пустая. Это каркас, место, выделенное в SQL под вашу информационную базу. Для того, чтобы загрузить свою базу в этот каркас — необходимо воспользоваться средствами Выгрузки/Загрузки информационной базы. Процедура Выгрузки/Загрузки также описана в другой нашей статье “Администрирование 1С”.
Для того, чтобы довести систему до идеального состояния в дальнейшем необходимо будет настроить “план обслуживания” созданной базы данных. План обслуживания — это набор процедур, которые SQL будет выполнять регулярно по заданному расписанию. Например, будет регулярно делать резервные копии и удалять временные файлы. Работа с SQL выходит за рамки темы статьи и будет описана в одной из следующих.
Инструкция по настройке рабочих серверов с Технологической Платформой 1С:Предприятие
Ниже приводится инструкция по настройке рабочих серверов с Технологической Платформой 1С:Предприятие.
Рекомендуется при настройке рабочего сервера пройти указанный ниже сheck-лист и продумать, нужна ли указанная ниже настройка в вашем конкретном случае.
Если такая настройка нужна, то выполнить её. Важно на каждом пункте сознательно принимать решение о том, как именно вы хотите настроить рабочий сервер.
1. Определить, сколько информационных баз будут использоваться в кластере для работы пользователей
Существует несколько вариантов развертывания:
- в продуктивной среде и подготовительной зоне;
- в тестовой зоне;
- в зоне разработки.
Наибольшие требования с точки зрения доступности информационной системы будут в случае развертывания в продуктивной и подготовительной зонах.
В этих случаях желательно все нерабочие информационные базы вынести в отдельный кластер на отдельные серверы.
Возможно, возникнет желание сделать копию рабочей информационной базы и развернуть в том же кластере в продуктивной среде, например, для того, чтобы восстановить определенные данные за прошлые сутки. Стоит перебороть это желание и проследить, чтобы
- к копии базы не было доступа у пользователей;
- в копии базы были выключены регламентные задания;
- копия базы не участвовала в обменах.
Для восстановления данных за предыдущие сутки не стоит использовать продукционный кластер, а получать необходимые данные с подготовительной зоны информационной системы.
Рекомендуется в продуктивной зоне настраивать кластер с минимальным числом необходимых баз, чтобы снизить возможное влияние тестовых баз на работу пользователей.
В тестовой зоне и зоне разработки ограничений по числу информационных баз в кластере условно нет.
2. Определить, сколько пользователей будет работать одновременно
Число одновременно работающих пользователей информационной базы является одним из основных параметров, определяющих нагрузку на информационную систему.
Этот параметр также необходим для корректного расчета конфигурации оборудования, который выполняется исходя из
- Конфигурации системы;
- Сценария работы пользователей;
- Числа одновременно работающих пользователей;
- Используемых версий программных продуктов.
3. Настроить профили пользователей ОС, от которых будут запускаться процессы кластера
Необходимо определиться, будут ли процессы кластера серверов работать от имени различных пользователей информационной системы.
Это может быть необходимо для того, чтобы код, который выполняется в rphost точно не мог обратиться к каким-либо определенным данным на рабочем сервере или выполнить операцию с административными правами.
Для этого нужно:
- Подготовить файл swpuser.ini (http://its.1c.ru/db/v837doc/bookmark/adm/TI000000418);
- Создать пользователей операционной системы, от имени которых будут запускаться процессы кластера;
- Создать профили соответствующих пользователей;
- Настроить ограничение прав доступа пользователей к каталогам на уровне ОС, к которым процессы не должны иметь доступ;
Для того, чтобы создать профили пользователей ОС достаточно один раз войти от их имени в ОС Windows.
4. Настроить логирование и дампы
Для этого необходимо настроить:
- Технологический журнал
- Сбор дампов процессов кластера средствами Платформы (указнием в logcfg.xml секции dump) либо Windows Error Reporting Services
Хорошей практикой будет настроить сбор WER для rmngr и ragent, но не указывать rphost.
5. Проверить настройки операционной системы
5.1. Настроить рабочий сервер
5.2. Настроить рабочий сервер
Необходимо настроить рабочий сервер в соответствии с инструкцией, которая позволяет избежать ошибки «An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full»
5.3. Убедиться, что брадмауэр операционной системы настроен таким образом, что не запрещает процессам кластера взаимодействовать корректно.
Информация по клиент-серверному варианту работы здесь;
Обратите внимание на используемые порты, которые указываются в параметрах центрального сервера,
в свойствах кластера серверов,
и рабочих серверов кластера.
5.4. Убедиться, что на рабочих серверах кластера одновременно не используется IPv4 и IPv6.
5.5. Убедиться, что схема управления питанием — «Высокая производительность».
5.6. Убедиться, что установлены компоненты Microsoft Data Access Components
Этот пункт нужен для настройки с СУБД MS SQL Server.
В противном случае будете получать ошибку вида: «Компоненты OLE DB провайдера не найдены».
Скачать MDAC можно с официальных ресурсов microsoft.
6. Необходимо настроить сетевой стек для обеспечения возможности обработки большого числа подключений
Настройки, которые необходимо выполнить (в дополнение к настройке 5.2. Настроить рабочий сервер в соответствии с инструкцией):
- Запустить regedit и в ветке HKLM\System\CurrentControlSet\Services\Tcpip\Parameters указать
- MaxFreeTcbs= 100000
- TcpTimedWaitDelay= 30
- MaxUserPort= 65535
- Запустить regedit и в ветке HKLM\System\CurrentControlSet\Services\AFD\Parameters указать
- EnableDynamicBacklog= 1
- MinimumDynamicBacklog= 20
- MaximumDynamicBacklog= 20000
- DynamicBacklogGrowthDelta= 10
- Устанавливаем диапазон исходящих портов (10000; 55536)
- Выполнить: netsh int ipv4 set dynamicport tcp start=10000 num=55536
- Выполнить: netsh int ipv4 set dynamicport udp start=10000 num=55536
7. Настроить кластер серверов
7.1. Необходимо добавить рабочие серверы в кластер
Информация по работе со списком серверов кластера тут: http://its.1c.ru/db/v837doc#bookmark:cs:TI000000157
7.2. Настроить условия перезапуска
Настроить условия перезапуска по превышению порога памяти.
7.3. Настроить расположение каталога кластера
Необходимо убедиться, что
- на дисках достаточно места;
- сеансовые данные расположены на быстрых дисках;
7.4. Настроить число соединений и информационных баз на процесс
Настройку необходимо выполнить с учетом конфигурации системы
Постарайтесь выполнять настройку таким образом, чтобы она не приводила к запуску 100 процессов rphost, т.к. значительное число процессов rphost приводит к неэффективному использованию памяти процессами кластера.
Не стоит просто так уменьшать параметр «Число соединений на процесс» или «Число информационных баз на процесс».
Если у вас нет технического обоснования, почему именно так лучше, рекомендуем оставить значения по умолчанию
7.5. Выполнить настройки для случая нескольких рабочих серверов в кластере.
- Обязательно должно быть явно указано расположение:
- сервиса журнала регистрации;
- сервиса полнотекстового поиска данных;
- сервиса работы с внешними источниками данных;
Обязательно нужно продумать - расположение клиентских и серверных лицензий и сервисов лицензирования;
- расположение сеансовых данных.
8. Первый запуск
На этом этапе следует выполнить следующие шаги:
- Запустить кластер серверов, создать информационную базу;
- Зарегистрировать программные лицензии;
- Убедиться, что пользователь может войти в информационную базу без ошибок.
9. Отказоустойчивость
В случае необходимости настройки отказоустойчивого кластера, выполните следующие шаги.
9.1. Проверить лицензии.
Убедитесь, что на рабочих серверах, которые должны выполнять роль Центральных серверов достаточно лицензий для работы всех пользователей в информационной системе при отсутствии одного из Центральных серверов в случае возможного (теоретически) отказа.
9.2. Установить флаг «Центральный сервер».
Установить флаг как на рисунке ниже.
9.3. Установить флаг «Уровень отказоустойчивости»
Установить параметр, пример на рисунке ниже.
Подробную информацию про уровень отказоустойчивости вы можете прочитать в статье
Обратите внимание, что не нужно просто так указывать максимально возможный уровень отказоустойчивости, т.к. это приведет к избыточным накладным расходам.
9.4. Скорректировать строку соединения
Необходимо скорректировать строку соединения с информационной базой.
Имеется возможность указания списка резервирования с помощью строки соединения с информационной базой или в соответствующем поле свойств информационной базы.
Список указывается в формате Server1, Server2:Port, Server3.
10. Замечания
10.1. Не настраивайте exec backup (или аналогичные утилиты) на директории кластера серверов
Причина в том, что в этих директориях могут располагаться хранилища с сеансовыми данными, выполнять backup которых не нужно, а создание backp-а которых будет приводить к избыточным накладным расходам.
10.2. Не настраивайте сжатие данных дисков с директорией кластера
10.3. Не забывайте про периодическое выполнение дефрагментации дисков ОС Windows.
10.4. Настроить защиту от вирусов.
В случае расположения рабочих серверов кластера в зоне, к которой доступ строго ограничен, не имеет смысл настраивать антивирусные решения на рабочих серверах.
Настройка антивирусных решений на таких серверах будет оказывать существенное влияние на производительность при практическом отсутствии выигрыша с точки зрения защиты.
При этом, стоит обеспечить защиту антивирусными решениями те пользовательские компьютеры, с которых выполняется доступ к рабочим серверам кластера и сетевым директориям.