Установка серверной базы 1С:Предприятие — критически важный этап развертывания корпоративной системы, от которого зависит стабильность работы всех бизнес-процессов компании. Неправильная конфигурация может привести к замедлению отчетов, потере данных или даже полной остановке работы бухгалтерии. Эта инструкция поможет избежать типичных ошибок и настроить серверную часть с учетом современных требований к производительности и безопасности.
Мы рассмотрим все этапы: от выбора СУБД (PostgreSQL, MS SQL, IBM DB2) до тонкой настройки кластера 1С:Предприятие 8.3. Особое внимание уделим оптимизации для работы с большими объемами данных (100+ ГБ) и специфике виртуализированных сред (VMware, Hyper-V). Все рекомендации актуальны для последних версий платформы и поддерживаемых операционных систем.
1. Выбор СУБД для серверной базы 1С
От правильного выбора системы управления базами данных зависит до 40% производительности 1С в режиме клиент-сервер. Рассмотрим три основных варианта, поддерживаемых платформой:
- 🔹 Microsoft SQL Server — традиционное решение для Windows-инфраструктуры. Оптимален для компаний с существующими лицензиями Microsoft и требованиями к интеграции с другими продуктами экосистемы (Power BI, SharePoint).
- 🔹 PostgreSQL — бесплатная альтернатива с открытым кодом. Рекомендуется для Linux-серверов и проектов с ограниченным бюджетом. Версия 15+ показывает лучшие результаты при работе с большими транзакциями.
- 🔹 IBM DB2 — корпоративное решение для высоконагруженных систем. Используется в банках и крупных холдингах, где критична отказоустойчивость.
Для 90% средних предприятий оптимальным выбором станет PostgreSQL 15/16 — он бесплатен, стабилен и имеет встроенные механизмы репликации. MS SQL Server целесообразно выбирать только при наличии корпоративных лицензий или специфических требований к отчетности.
| Параметр | MS SQL Server | PostgreSQL | IBM DB2 |
|---|---|---|---|
| Стоимость лицензии | От 900$ за ядро | Бесплатно | От 5000$ за сервер |
| Макс. размер БД | 524 ПБ | 32 ТБ | 128 ТБ |
| Поддержка Linux | Ограниченная | Полная | Полная |
| Встроенная репликация | Да (Always On) | Да (Logical Replication) | Да (HADR) |
⚠️ Внимание: При выборе PostgreSQL для 1С обязательно используйте сборку от PostgresPro или официальный пакет от 1С — они включают необходимые патчи для корректной работы с платформой. Стандартные дистрибутивы из репозиториев Linux могут вызывать ошибки при работе с большими транзакциями.
2. Требования к серверному оборудованию
Минимальные и рекомендуемые характеристики сервера зависят от количества одновременно работающих пользователей и объема базы данных. Для базы размером до 50 ГБ и 20-30 пользователей достаточно:
- 🖥️ Процессор: Intel Xeon E5-2620 (6 ядер) или аналогичный AMD EPYC
- 🧠 ОЗУ: 32 ГБ (из них 16 ГБ выделяется под СУБД)
- 💾 Хранилище: SSD NVMe 500 ГБ (RAID 1) для системы + SAS 1 ТБ (RAID 10) для базы
- 🌐 Сеть: 1 Гбит/с (для 50+ пользователей — 10 Гбит/с)
Для высоконагруженных систем (100+ пользователей, база 100+ ГБ) требуется:
- 🖥️ Процессор: 2× Intel Xeon Gold 6248 (40 ядер суммарно)
- 🧠 ОЗУ: 128 ГБ (64 ГБ под СУБД, 32 ГБ под 1С, остальное — кэш)
- 💾 Хранилище: All-Flash массив 10 ТБ (RAID 6) с производительностью 100K IOPS
- 🌐 Сеть: 10 Гбит/с с резервированием каналов
Особое внимание уделите подсистеме хранения: для 1С критична скорость случайного чтения/записи (IOPS). Traditional HDD покажут себя крайне плохо даже при небольшой нагрузке. Оптимальное решение — SSD с интерфейсом NVMe для системных дисков и SAS 15K в RAID 10 для данных.
⚠️ Внимание: При виртуализации сервера 1С на VMware ESXi или Hyper-V обязательно настройте резервирование ресурсов (CPU/Memory Reservation) не менее 70% от выделенных мощностей. В противном случае возможны зависания при пиковых нагрузках.
3. Установка и настройка СУБД
Рассмотрим процесс установки на примере PostgreSQL 15 — наиболее популярного варианта для 1С на сегодняшний день. Для Windows Server 2022 и Ubuntu Server 22.04 LTS процедура будет отличаться.
3.1 Установка PostgreSQL на Windows
1. Скачайте дистрибутив с официального сайта PostgresPro (версия для 1С).
2. Запустите установщик с правами администратора.
3. На этапе выбора компонентов обязательно отметьте:
- Сервер
- pgAdmin 4
- Командные утилиты
- Stack Builder (для последующей установки расширений)
4. Укажите путь установки: C:\PostgreSQL\15 (без пробелов!).
5. Задайте пароль для пользователя postgres (запомните его — потребуется для настройки 1С).
6. На этапе настройки сервиса выберите порт 5432 и локаль Russian_Russia.1251.
-- Пример конфигурации postgresql.conf для 1С:
shared_buffers = 4GB -- 25% от общего ОЗУ сервера
effective_cache_size = 12GB -- 75% от общего ОЗУ
maintenance_work_mem = 1GB -- Для операций VACUUM
work_mem = 64MB -- Для сложных запросов
random_page_cost = 1.1 -- Оптимизация для SSD
max_connections = 200 -- Для 50 пользователей 1С
3.2 Установка PostgreSQL на Linux (Ubuntu/Debian)
Для установки на Linux выполните команды:
# Добавляем репозиторий PostgresPro
sudo sh -c 'echo "deb http://repo.postgrespro.ru/1c-15/$(lsb_release -cs) $(lsb_release -cs)-pgpro-1c-15 main" > /etc/apt/sources.list.d/pgpro-1c.list'
wget -qO - https://repo.postgrespro.ru/1c-15/keys/pgpro-repo-add.key | sudo apt-key add -
Устанавливаем сервер и клиент
sudo apt update
sudo apt install postgresql-pro-1c-15 postgresql-pro-1c-15-contrib
Настраиваем автозапуск
sudo systemctl enable postgresql@15-main
sudo systemctl start postgresql@15-main
После установки необходимо отредактировать файл /etc/postgresql/15/main/postgresql.conf (аналогично Windows-конфигурации) и файл pg_hba.conf для настройки аутентификации:
# Добавляем строку в pg_hba.conf
host all all 192.168.1.0/24 md5
☑️ Проверка установки PostgreSQL
4. Установка платформы 1С:Предприятие 8.3
Серверное ПО 1С состоит из двух основных компонентов:
1. Сервер 1С:Предприятия — обрабатывает бизнес-логику
2. Агент сервера 1С — управляет кластерами и распределением нагрузки
Процесс установки на Windows Server 2022:
- Скачайте дистрибутив с сайта 1С (раздел "Технологическая платформа")
- Запустите
setup.exeс правами администратора - Выберите компоненты:
- 📌 Сервер 1С:Предприятия
- 📌 Агент сервера 1С:Предприятия
- 📌 Консоль администрирования серверов
- 📌 Сервер хранилища конфигураций (если нужно)
C:\Program Files\1cv8Локальная система или доменного пользователя с правами администратораДля Linux используйте официальные .deb или .rpm пакеты. Пример установки на Ubuntu:
sudo dpkg -i 1c-enterprise83-server_8.3.23.1234_amd64.deb
sudo dpkg -i 1c-enterprise83-ws_8.3.23.1234_amd64.deb
sudo apt --fix-broken install
После установки проверьте статус служб:
sudo systemctl status srv1cv83 # Сервер 1С
sudo systemctl status rag1cv83 # Агент сервера
⚠️ Внимание: При установке на Linux обязательно проверьте наличие библиотекlibxslt1.1иlibgsf-1-114. Их отсутствие приведет к ошибкам при работе с отчетами и выгрузке в Excel. Установите их командойsudo apt install libxslt1.1 libgsf-1-114.
5. Создание и настройка кластера серверов 1С
Кластер серверов 1С позволяет распределять нагрузку между несколькими рабочими процессами (rphost) и обеспечивать отказоустойчивость. Минимальная конфигурация включает:
- 🔧 Центральный сервер — управляет кластером
- 🖥️ Рабочие серверы — обрабатывают запросы пользователей
- 📡 Агент сервера — мониторит состояние кластера
Для создания кластера:
- Откройте
Консоль администрирования серверов 1С(ras.exe) - Подключитесь к центральному серверу (localhost:1540 по умолчанию)
- Создайте новый кластер:
- Укажите имя кластера (например,
MainCluster) - Выберите порт центрального сервера (по умолчанию
1541) - Задайте порт агента сервера (
1540) - Укажите диапазон портов для рабочих процессов (
1560-1591)
- Укажите имя кластера (например,
- Максимальное количество соединений:
100(на процесс) - Лимит памяти:
4096МБ (или 25% от ОЗУ сервера) - Таймаут сеанса:
3600секунд
Для распределенной инсталляции (несколько физических серверов) добавьте дополнительные рабочие серверы в кластер через консоль администрирования. Убедитесь, что:
- 🔒 Порты
1540-1591открыты в фаерволле между серверами - 🕒 Время на всех серверах синхронизировано (используйте NTP)
- 📁 Каталоги временных файлов (
Temp) доступны для записи
Как проверить синхронизацию времени между серверами
Выполните команду на всех серверах кластера:
w32tm /query /status
Разница во времени не должна превышать 5 секунд. При больших расхождениях настройте службу времени:
w32tm /config /syncfromflags:manual /manualpeerlist:"pool.ntp.org" /reliable:yes /update
net stop w32time && net start w32time
6. Создание информационной базы на сервере
Теперь, когда инфраструктура готова, можно создать саму базу данных 1С. Это можно сделать двумя способами:
6.1 Через консоль администрирования
- Откройте
Консоль администрирования серверов 1С - Подключитесь к вашему кластеру
- Выберите
Информационные базы → Создать - Заполните параметры:
- Имя:
MainBase(или другое осмысленное название) - Тип СУБД:
PostgreSQL(или ваша СУБД) - Сервер базы данных:
localhost(или IP сервера БД) - Имя базы данных:
mainbase_db(будет создана автоматически) - Пользователь:
postgres(или специально созданный пользователь) - Пароль: *** (указанный при установке PostgreSQL)
- Язык:
Русский - Кодировка:
UTF-8(обязательно!)
- Имя:
D:\1C_Bases\MainBaseАутентификация 1С:ПредприятияГотово и дождитесь создания базы6.2 Через командную строку (для автоматизации)
Используйте утилиту rac (Remote Administration Console):
rac infobase create --cluster=localhost\MainCluster ^
--name=MainBase ^
--dbms=PostgreSQL ^
--db-server=localhost ^
--db-name=mainbase_db ^
--db-user=postgres ^
--db-pwd=your_password ^
--locale=ru ^
--charset=utf-8 ^
--dir=D:\1C_Bases\MainBase ^
--security=Enterprise
Для проверки успешного создания базы выполните:
rac infobase list --cluster=localhost\MainCluster
Вы должны увидеть вашу базу в списке с статусом Зеленый (работоспособна).
При создании базы на PostgreSQL всегда указывайте кодировку UTF-8, даже если в вашей компании используют только кириллицу. Это позволит избежать проблем с импортом данных из внешних источников и работой с многоязычными конфигурациями.
7. Оптимизация производительности серверной базы
После успешного развертывания необходимо выполнить базовую оптимизацию для обеспечения стабильной работы. Основные направления:
7.1 Настройка PostgreSQL для 1С
Отредактируйте файл postgresql.conf (расположение зависит от ОС):
# Основные параметры для 1С
shared_buffers = 8GB # 25% от ОЗУ сервера
effective_cache_size = 24GB # 75% от ОЗУ
maintenance_work_mem = 2GB # Для операций обслуживания
work_mem = 128MB # Для сложных запросов
random_page_cost = 1.1 # Оптимизация для SSD
max_worker_processes = 16 # Количество ядер процессора
max_parallel_workers_per_gather = 8
max_parallel_workers = 16
max_parallel_maintenance_workers = 4
Параметры журнала
wal_level = replica
synchronous_commit = local # Для репликации
max_wal_size = 4GB
min_wal_size = 1GB
Мониторинг
log_min_duration_statement = 1000 # Логировать медленные запросы (мс)
log_line_prefix = '%t [%p]: ' # Формат лога
log_lock_waits = on # Логировать блокировки
7.2 Настройка кластера 1С
В консоли администрирования серверов 1С отредактируйте параметры кластера:
- 🔧 Макс. количество соединений: 150 (на рабочий процесс)
- 🔧 Лимит памяти: 8192 МБ (или 50% от ОЗУ сервера)
- 🔧 Таймаут неактивного сеанса: 1800 секунд
- 🔧 Количество рабочих процессов: по 1 на каждые 4 ядра CPU
- 🔧 Приоритет рабочих процессов:
Выше обычного
7.3 Оптимизация операционной системы
Для Windows Server 2022:
# Отключаем ненужные службы
Stop-Service -Name "DiagTrack" -Force
Set-Service -Name "DiagTrack" -StartupType Disabled
Настраиваем приоритет фоновых задач
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile" /v "SystemResponsiveness" /t REG_DWORD /d 10 /f
Оптимизируем сеть
reg add "HKLM\SOFTWARE\Microsoft\MSMQ\Parameters" /v "TCPNoDelay" /t REG_DWORD /d 1 /f
Для Linux (Ubuntu/Debian):
# Настраиваем swappiness
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p
Оптимизируем файловую систему
echo "deadline" > /sys/block/sda/queue/scheduler
Увеличиваем лимиты файлов
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
Регулярное выполнение операции VACUUM ANALYZE в PostgreSQL критично для поддержания производительности 1С. Настройте автоматическое выполнение этой команды раз в неделю через pgAgent или cron.
8. Типичные ошибки и их решение
Даже при правильной установке возможны проблемы. Рассмотрим наиболее распространенные:
| Ошибка | Причина | Решение |
|---|---|---|
Не удалось подключиться к информационной базе |
Не запущен агент сервера 1С или закрыт порт 1541 | |
Ошибка формата потока (Платформа 8.3.23.1234) |
Несовпадение версий платформы на сервере и клиенте | Обновите клиентские приложения до версии сервера |
Недостаточно памяти для выполнения операции |
Превышен лимит памяти, заданный в кластере 1С | Увеличьте параметр Лимит памяти в настройках кластера или оптимизируйте запросы |
Ошибка блокировки в PostgreSQL |
Долгие транзакции блокируют таблицы | |
Для диагностики проблем используйте:
- 🔍 Журналы 1С:
C:\Program Files\1cv8\srvinfo\reg_1541\ - 🔍 Журналы PostgreSQL:
/var/log/postgresql/postgresql-15-main.log - 🔍 Монитор производительности Windows:
perfmon.msc - 🔍 Утилиты Linux:
top,htop,iotop
⚠️ Внимание: Если после обновления платформы 1С перестали работать отчеты с использованием СКД (Система компоновки данных), проверьте наличие файлов шаблонов в каталоге C:\Program Files\1cv8\8.3.23.1234\bin\1cv8\tmplts. При их отсутствии скопируйте их из старой версии платформы или переустановите компоненту "Шаблоны компоновки данных".
FAQ: Частые вопросы по установке серверной базы 1С
Можно ли использовать MySQL или MariaDB для серверной базы 1С?
Нет, платформа 1С:Предприятие официально поддерживает только Microsoft SQL Server, PostgreSQL и IBM DB2. Хотя технически можно подключиться к MySQL через ODBC, это не поддерживается компанией 1С и чревато потерями данных при сложных транзакциях. Для небольших баз (до 10 ГБ) можно рассмотреть файловый вариант 1С без использования СУБД.
Как перенести базу с файлового варианта на серверный?
Процедура переноса включает несколько этапов:
- Создайте новую информационную базу на сервере через консоль администрирования
- В конфигураторе файловой базы выполните
Администрирование → Выгрузить информационную базу(файл.dt) - В конфигураторе серверной базы выполните
Администрирование → Загрузить информационную базу - Проверьте целостность данных через
Тестирование и исправление
Для баз размером более 20 ГБ рекомендуется использовать утилиту 1cv8.exe с ключом /DisableStartupDialogs /Out"D:\backup.dt" /D"ИмяФайловойБазы" для выгрузки.
Сколько рабочих процессов 1С нужно создавать в кластере?
Оптимальное количество рабочих процессов (rphost) рассчитывается по формуле:
- Для CPU до 8 ядер: количество процессов = количество ядер × 1.5 (округляем в меньшую сторону)
- Для CPU 8+ ядер: количество процессов = количество ядер × 1.25
- Максимальное количество: 16 процессов (даже для 32-ядерных серверов)
Пример: для сервера с 2× Intel Xeon Silver 4210 (20 ядер суммарно) оптимально создать 12-13 рабочих процессов.
Как настроить резервное копирование серверной базы 1С?
Рекомендуемая схема резервирования:
- Ежедневное инкрементальное резервирование (через
pg_dumpили1cv8.exe /DumpIB) - Еженедельное полное резервирование (с проверкой целостности)
- Ежемесячное тестирование восстановления на тестовом сервере
Пример скрипта для PostgreSQL:
pg_dump -U postgres -F c -b -v -f "D:\Backups\1c_backup_$(date +%Y%m%d).dump" mainbase_db
Проверка целостности
pg_restore --verify -U postgres -d postgres "D:\Backups\1c_backup_$(date +%Y%m%d).dump"
Для автоматического резервирования используйте pgAgent (PostgreSQL) или Task Scheduler (Windows). Храните резервные копии не менее 30 дней с ротацией.