Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

1C-UNIX-SOCKET-TMP-ERR 1С:Предприятие и СУБД

1С: Сбой создания сокета доменной зоны Unix (/tmp/1C_... / scn...)

Обновлено: 21.08.2026 · Официальная документация ↗

Архитектура межпроцессного взаимодействия (IPC) 1С в Linux

Для высокоскоростного обмена данными между процессами кластера (ragent $\leftrightarrow$ rmngr $\leftrightarrow$ rphost) платформа 1С:Предприятие использует механизм Unix Domain Sockets. При запуске служба создает в каталоге /tmp или /var/tmp специальные сокет-файлы с именами вида /tmp/1C_xxxx, /tmp/1C_orchestrator... и именованные пайпы синхронизации. Ошибка «Сбой создания сокета доменной зоны Unix» (Cannot bind UNIX domain socket / Permission denied / Address already in use) возникает при старте службы srv1cv83 или при динамическом спавне нового рабочего процесса rphost.

Бизнес-риски

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

Причины блокировки сокетов в /tmp

ПричинаМеханизм сбояИндикатор ошибки
Остаточные сокеты от ручного запускаПроцессы были запущены от root, файлы в /tmp принадлежат root.Permission denied (errno: 13)
Включение PrivateTmp=true в systemdИзоляция пространства /tmp не дает клиентским процессам увидеть сокеты сервера.No such file or directory (errno: 2)
Очистка systemd-tmpfiles-cleanТаймер ОС удалил «неиспользуемые» сокеты живого кластера 1С.Внезапный разрыв кластера через 24 часа.

Пошаговое устранение сбоев Unix-сокетов 1С

Сценарий 1: Очистка «осиротевших» сокетов и временных файлов 1С

Если сервер 1С аварийно завершился, старые сокет-файлы остаются заблокированными на диске:

# 1. Полная остановка службы сервера 1С
sudo systemctl stop srv1cv83

# 2. Принудительное завершение зависших процессов ragent, rmngr, rphost
sudo killall -9 ragent rmngr rphost 2>/dev/null

# 3. Удаление всех остаточных сокетов и файлов IPC 1С из каталога /tmp
sudo rm -rf /tmp/1C_* /tmp/1c_* /tmp/.s.PGSQL.* /tmp/core_*

# 4. Проверка прав на сам каталог /tmp (обязан быть sticky-bit 1777):
sudo chmod 1777 /tmp
sudo chown root:root /tmp

# 5. Запуск службы 1С
sudo systemctl start srv1cv83

Сценарий 2: Отключение изоляции PrivateTmp в systemd unit

Если служба 1С или веб-сервер Apache/Nginx запущены с параметром PrivateTmp=true, они видят разные виртуальные пространства каталога /tmp:

# Проверьте service unit сервера 1С и веб-сервера (apache2/httpd)
sudo nano /etc/systemd/system/srv1cv83.service

# Убедитесь, что параметр PrivateTmp отключен:
[Service]
PrivateTmp=false

# Примените конфигурацию:
sudo systemctl daemon-reload
sudo systemctl restart srv1cv83

Сценарий 3: Настройка исключений для systemd-tmpfiles

Чтобы системный сервис очистки временных файлов не удалял сокеты работающей 1С:

# Создайте правило исключения для tmpfiles.d
sudo bash -c 'cat << EOF > /etc/tmpfiles.d/1c.conf
x /tmp/1C_*
x /tmp/1c_*
EOF'

# Проверка конфигурации:
sudo systemd-tmpfiles --clean

Типовые ошибки администраторов

  • Запуск сервера 1С вручную из-под root: Администратор запускает ragent для проверки от root, файлы сокетов создаются с правами root:root, после чего служба из-под usr1cv8 больше не может стартовать.
  • Монтирование /tmp с опцией noexec / nosuid: Некоторые стандарты безопасности монтируют /tmp с флагами, блокирующими создание именованных каналов FIFO и сокетов.
Кластер 1С аварийно падает или не может перезапуститься после сбоя?
Инженеры ITSTM настроят сценарии корректной очистки IPC-ресурсов, изолируют профили пользователей и обеспечат бесперебойный автостарт службы.
💡 Практика специалистов: При использовании RAM-диска (tmpfs) для каталога /tmp убедитесь, что его объем составляет не менее 4–8 Гб. При выгрузке больших отчетов файлы временных выборок могут мгновенно переполнить маленькую tmpfs (100% disk full), что приведет к уничтожению сокетов и падению всего кластера.

Частые вопросы (FAQ)

Почему 1С создает файлы именно в /tmp, а не в каталоге кластера?

Каталог /tmp является стандартным общесистемным каталогом POSIX для создания легковесных сокетов межпроцессного взаимодействия (IPC) с минимальными задержками файловой системы.

Можно ли перенести сокеты 1С из /tmp в другую директорию?

Да, переопределив переменную окружения TMPDIR=/var/1C/tmp в конфигурационном файле запуска службы /etc/default/srv1cv83 (или systemd drop-in).

Что означает ошибка 'Address already in use' для Unix-сокета?

Файл сокета остался на диске после аварийной остановки сервера 1С. Поскольку сокет не был корректно закрыт функцией unlink(), новый процесс не может занять это имя.

Как посмотреть список всех активных сокетов 1С в системе?

Выполните команду ss -xlp | grep -i 1c или lsof -U | grep -i 1c.

Полезные материалы
Рекомендуем