Как разместить базу 1С 8.3 на сервере и настроить кластер

· 10 мин

Содержание

Чтобы разместить базу 1С на сервере, нужны три вещи: сервер 1С:Предприятия 8.3 с серверной лицензией, СУБД (MS SQL Server или PostgreSQL) и сама информационная база, созданная в кластере через консоль администрирования. Файловую базу переносят выгрузкой в .dt и загрузкой в новую серверную базу . Пользователи подключаются строкой вида Srvr="имя_сервера";Ref="имя_базы";.

Есть и упрощённые варианты. Файловая база в общей папке подходит для 3–5 человек. Терминальный сервер с файловой базой выдерживает чуть больше. Клиент-серверный вариант нужен, когда пользователей 10 и больше, база перевалила за 4–5 ГБ или начались блокировки и «зависания» при проведении.

Подготовка к размещению: сервер, лицензии и схема

Сначала решите, на чём будет жить база. От этого зависят бюджет, скорость и то, кто отвечает за железо.

ВариантКогда выбираютПлюсыМинусы
🖥️ Физический сервер в офисе20+ пользователей, своя ИТ-службаПолный контроль, нет «соседей» по дискуПокупка, обслуживание, ИБП, охлаждение
☁️ Виртуальная машина (свой гипервизор)Уже есть кластер виртуализацииСнимки, быстрый перенос, гибкие ресурсыДелит диски и процессор с другими ВМ
🌐 Аренда в облаке (VPS/выделенный)Нет серверной, распределённые офисыНе нужно своё железо, быстрый стартЗадержки сети, зависимость от провайдера

Ориентиры по ресурсам для связки «сервер 1С + СУБД на одной машине» (примерно, для типовых конфигураций):

ПользователейЯдраПамятьДиск
до 10416 ГБSSD от 240 ГБ
10–306–832 ГБNVMe SSD, RAID 1
30–808–1664–128 ГБNVMe, отдельные тома под данные и журналы

Частота ядра для 1С важнее их количества. Один тяжёлый отчёт или закрытие месяца выполняется в одном потоке, и 3,5 ГГц дают заметно больше, чем 2,2 ГГц на сорока ядрах.

Для работы в клиент-серверном режиме нужна лицензия на сервер 1С:Предприятия 8 (ПРОФ или КОРП) плюс клиентские лицензии на каждого одновременно работающего пользователя. Клиентские лицензии от файлового варианта переиспользуются, серверная покупается отдельно.

Перед установкой подготовьте:

  1. 📌 Статический IP-адрес сервера и понятное имя в DNS.
  2. 📌 Учётную запись администратора ОС.
  3. 📌 Дистрибутивы: «Технологическая платформа», СУБД, при необходимости — PostgreSQL в сборке для 1С.
  4. 📌 Серверную и клиентские лицензии (пинкоды программной лицензии или USB-ключи).
  5. 📌 Свежую выгрузку .dt текущей базы.
Какой вариант размещения подойдёт вам?

Операционная система и СУБД для базы 1С на сервере

Сервер 1С 8.3 работает на Windows Server и на Linux (Ubuntu, Debian, Astra Linux, РЕД ОС, Альт). Выбор обычно диктуют СУБД и навыки администратора.

СвязкаКому подходитЧто учесть
Windows Server + MS SQL ServerПривычная среда, админ знает WindowsЛицензии Windows и SQL Server стоят дорого
Windows Server + PostgreSQLХотят уйти от платной СУБД, не меняя ОСPostgreSQL нужен в сборке с патчами для 1С
Linux + PostgreSQLИмпортозамещение, экономия на лицензияхНужен администратор Linux

Настройка MS SQL Server под 1С

При установке и после неё проверьте пять параметров:

  • 🔤 Параметры сортировки — Cyrillic_General_CI_AS. Задаётся при установке экземпляра, потом поменять сложно.
  • 💾 Максимальная память сервера (max server memory) — оставьте ОС и процессам 1С 6–8 ГБ, остальное отдайте SQL. Без ограничения SQL заберёт всю память, и rphost начнёт свопиться.
  • ⚙️ Max degree of parallelism — для 1С обычно ставят 1. Запросы платформы короткие, параллелизм больше мешает.
  • 📂 Расположение файлов — данные, журнал транзакций и tempdb на разные диски или тома, если есть возможность.
  • 🔐 Режим проверки подлинности — смешанный. Для 1С создайте отдельного SQL-пользователя с правами создавать базы, не используйте sa в работе.

PostgreSQL под 1С

Обычный «ванильный» PostgreSQL из репозитория дистрибутива для 1С не годится. Нужна сборка с патчами: от фирмы 1С или Postgres Pro. Номер версии PostgreSQL берите из списка поддерживаемых для вашего релиза платформы.

После установки PostgreSQL сразу поправьте postgresql.conf: shared_buffers около четверти памяти, effective_cache_size — половина-три четверти. Значения по умолчанию рассчитаны на слабую машину.

Установка сервера 1С:Предприятия 8.3

На Windows

  1. Запустите setup.exe из дистрибутива технологической платформы.
  2. В списке компонентов отметьте «Сервер 1С:Предприятия 8», «Администрирование сервера 1С:Предприятия» и «1С:Предприятие 8» (клиент пригодится для загрузки базы).
  3. На шаге установки сервера выберите вариант «как сервис Windows». Мастер предложит создать пользователя USR1CV8, под которым будет работать служба.
  4. Завершите установку и проверьте в «Службах», что служба агента сервера запущена.
  5. Через меню «Пуск» выполните «Регистрация утилиты администрирования серверов». Без этого консоль администрирования не откроется.

На Linux

Платформа ставится из пакетов .deb или .rpm (или единым установщиком в новых релизах). Файлы ложатся в /opt/1cv8/. После установки запустите службу сервера и включите автозапуск. Имя службы зависит от релиза, найти его можно так:

systemctl list-unit-files | grep -i 1c

Для управления кластером на Linux поднимите сервер администрирования ras (порт по умолчанию 1545) и работайте через rac или через консоль с Windows-машины.

Порты, которые надо открыть

ПортПроцессНазначение
1540ragentАгент сервера
1541rmngrМенеджер кластера
1560–1591rphostРабочие процессы
1545rasСервер администрирования (если используется)
1433 / 5432СУБДMS SQL / PostgreSQL, только между сервером 1С и СУБД

Порт СУБД наружу не открывайте. К базе данных ходит только сервер 1С, пользователям он не нужен.

Создание базы на сервере и перенос файловой базы

Пустую базу удобнее создать в консоли «Администрирование серверов 1С:Предприятия»:

  1. Разверните дерево: Центральный сервер 1С:Предприятия 8.3 → Кластеры → Локальный кластер → Информационные базы.
  2. Правой кнопкой по «Информационные базы» → «Создать» → «Информационная база».
  3. Заполните поля:
    • Имя — латиницей, без пробелов, например buh_ooo_romashka. Это имя войдёт в строку подключения.
    • Сервер баз данных — имя сервера СУБД (или localhost, если на этой же машине).
    • Тип СУБД — MS SQL Server или PostgreSQL.
    • База данных — имя базы в СУБД, удобно совпадает с именем в кластере.
    • Пользователь и пароль сервера БД — тот SQL-пользователь, которого вы создали.
    • Смещение дат — для MS SQL ставят 2000.
  4. Включите «Создать базу данных в случае её отсутствия».
  5. «Разрешить выдачу лицензий сервером 1С:Предприятия» — «Да», если лицензии стоят на сервере.
  6. Нажмите «ОК» и дождитесь создания пустой базы.

То же можно сделать из окна запуска 1С: «Добавить» → «Создание новой информационной базы» → вариант «На сервере 1С:Предприятия».

Перенос существующей файловой базы

  1. В старой базе откройте Конфигуратор: Администрирование → Выгрузить информационную базу, сохраните файл .dt.
  2. Добавьте в список баз новую серверную базу и откройте её в Конфигураторе.
  3. Выполните Администрирование → Загрузить информационную базу и выберите файл .dt.
  4. После загрузки откройте базу в режиме «1С:Предприятие» и проверьте остатки по ключевым счетам или регистрам.

Загрузка .dt полностью заменяет данные в целевой базе. Если перепутать базу в списке, вы затрёте рабочие данные без возможности отмены.

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

Рабочие процессы, сеансы и таймауты

Сколько рабочих процессов нужно

Вся работа пользователей выполняется в процессах rphost. В 8.3 их число платформа регулирует сама, исходя из настроек рабочего сервера в консоли (ветка «Рабочие серверы» → свойства сервера):

  • 🔢 Количество ИБ на процесс — сколько баз может обслуживать один процесс.
  • 👥 Количество соединений на процесс — сколько сеансов он держит, прежде чем платформа запустит следующий.
  • 🧠 Максимальный объём памяти рабочих процессов и Безопасный расход памяти за один вызов — защита от «тяжёлого» отчёта, который съест всю память.

Для небольшой организации значения по умолчанию обычно подходят. Менять их стоит, когда один rphost разрастается до 10–15 ГБ и база тормозит у всех сразу. Тогда уменьшите количество соединений на процесс — нагрузка разойдётся по нескольким процессам.

Проблемные процессы платформа может перезапускать сама. В свойствах кластера задаются интервал перезапуска и допустимый объём памяти процесса. Для 24/7-работы это лучше, чем ручной перезапуск службы.

Таймауты сеансов и блокировок

Тут три разных настройки, их часто путают:

НастройкаГдеЧто делает
Время ожидания блокировки данныхКонфигуратор: Администрирование → Параметры информационной базыСколько секунд транзакция ждёт освобождения данных, прежде чем выдать ошибку блокировки
Время засыпания пассивного сеансаТам жеЧерез сколько секунд сеанс без связи с клиентом «засыпает» и перестаёт держать лицензию
Время завершения спящего сеансаТам жеЧерез сколько секунд уснувший сеанс удаляется окончательно

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

Ставить короткое время завершения спящего сеанса имеет смысл, если лицензий впритык. Тогда «зависшие» после обрыва связи сеансы быстрее освобождают места.

Настройка доступа пользователей к базе на сервере

Подключение клиента

На каждом рабочем месте ставится клиент 1С той же версии, что и сервер. Номер платформы клиента должен совпадать с номером сервера до последней цифры, иначе подключение не пройдёт.

В окне запуска: «Добавить» → «Добавление в список существующей информационной базы» → «На сервере 1С:Предприятия». Укажите имя кластера (имя сервера) и имя базы в кластере. Если менеджер кластера работает не на порту 1541, укажите порт через двоеточие: server1c:1641.

Для массовой раздачи используйте общий файл списка баз .v8i или строку подключения:

Srvr="server1c";Ref="buh_ooo_romashka";

Пользователи и права

  • 👤 Пользователей базы создают в самой программе: в типовых конфигурациях — Администрирование → Настройки пользователей и прав → Пользователи.
  • 🔑 Для доменной сети включите аутентификацию ОС. Пользователь входит без пароля 1С под своей учётной записью Windows.
  • 🛡️ Администратора кластера задайте в консоли (ветка «Администраторы» кластера). Без этого любой, у кого есть консоль, может удалить базу.

Удалённый доступ

Толстый и тонкий клиент напрямую через интернет к серверу 1С не выводят. Варианты: VPN, терминальный сервер (RDP) или публикация базы на веб-сервере IIS/Apache для тонкого и веб-клиента по HTTPS.

Производительность и мониторинг сервера 1С

Большинство «тормозов» на сервере вызывают не настройки 1С, а диск и СУБД. Проверяйте по порядку:

  1. Диск. Очередь к диску на томе с базой не должна стабильно держаться высокой. HDD под базой 1С — частая причина медленной работы.
  2. Память СУБД. Проверьте, что лимит памяти SQL задан и ОС не уходит в своп.
  3. Обслуживание базы. Еженедельно — перестроение индексов, ежедневно — обновление статистики. В MS SQL это делается планом обслуживания, в PostgreSQL — VACUUM ANALYZE (автоочистка должна быть включена).
  4. Сеть. Между сервером 1С и СУБД — гигабит и выше, без промежуточных маршрутизаторов.
  5. Энергосбережение. На Windows Server включите план питания «Высокая производительность». Режим «Сбалансированный» занижает частоту процессора.

Чем смотреть, что происходит

  • 📊 Консоль кластера: ветка «Сеансы» покажет, кто работает, сколько памяти и времени вызовов занимает сеанс, ветка «Блокировки» — кто кого ждёт.
  • 📝 Технологический журнал: включается файлом logcfg.xml в каталоге conf платформы. Пишите в журнал только нужные события (например, длительные вызовы и взаимоблокировки), иначе он займёт весь диск за день.
  • 🖥️ Счётчики ОС: загрузка процессора по ядрам, свободная память, очередь диска.
# Linux: список сеансов через сервер администрирования
rac cluster list
rac session list --cluster=<uuid_кластера>

Резервное копирование и восстановление базы на сервере

Для клиент-серверной базы основной инструмент — копии средствами СУБД. Выгрузка .dt идёт долго, а при работающих пользователях может дать несогласованные данные. Её делают перед обновлением и переносом, а не каждую ночь.

СпособКак частоЧто даёт
Полная копия СУБДЕжедневно ночьюВосстановление на конец прошлого дня
Копия журнала транзакций (MS SQL, модель Full)Каждые 15–60 минутВосстановление на любой момент дня
pg_dump / копия кластера PostgreSQLЕжедневноАналог полной копии
Выгрузка .dtПеред обновлением, переносомПереносимый файл для любой СУБД

Правило 3-2-1 работает и здесь: три копии, на двух разных носителях, одна — вне сервера и вне офиса.

# PostgreSQL: сжатая копия одной базы
pg_dump -U postgres -Fc -f /backup/buh_$(date +%F).dump buh_ooo_romashka

Как восстановить

  1. Заблокируйте начало сеансов в свойствах базы в консоли кластера.
  2. Восстановите копию в СУБД: в MS SQL — через «Восстановить базу данных» в Management Studio, в PostgreSQL — pg_restore в пустую базу.
  3. Снимите блокировку и проверьте данные в 1С.

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

Частые вопросы

Можно ли разместить сервер 1С и СУБД на разных машинах?
Да. При 30+ пользователях это даже предпочтительно. Главное — быстрая сеть между ними и одинаковое время на обоих серверах.
Нужна ли серверная лицензия, если пользователей всего трое?
Да, клиент-серверный режим без лицензии на сервер 1С:Предприятия не работает. Для трёх человек проще оставить файловую базу.
Можно ли держать на одном сервере несколько баз разных организаций?
Да, в одном кластере может быть десятки баз. Каждая получает своё имя в кластере и свою базу в СУБД.
Почему клиент не подключается после обновления сервера?
Версия клиента должна точно совпадать с версией сервера. Установите на рабочие места ту же платформу или настройте автоматическое обновление клиента через общий каталог.
Что делать, если сервер 1С не виден с рабочих мест?
Проверьте, что имя сервера разрешается в IP с клиента, и что брандмауэр пропускает порты 1540, 1541 и диапазон 1560–1591.