Skip to main content

Слон

Слон - это панель для управления базами 1С, сочетающая в себе функции управления кластером 1С посредством RAS сервера, основные возможности утилиты ibcmd (выгрузка/загрузка dt,cf,cfe, репликацию) и управление резервными копиями, развернутыми на ZFS (через снимки). Представляет из себя конфигурацию на 1С 8.5, способную работать обособленно в docker контейнере (посредством ibsrv). 

Длительные операции Слон выполняет фоново, с использованием нового механизма УведомленияКлиента, позволяющего заданию уведомлять пользователя о промежуточных состояниях по мере его выполнения:
image.png
Этот механизм позволяет грузить конфигурацию или расширение в несколько баз одновременно. 

Изначально Слон разрабатывался именно для управления docker контейнерами с PG, развернутыми на ZFS массиве, для оперативного получения копий баз из снимков. Но по мере наращивания функций работы с базами, переориентирован и на обычный способ подключения к БД. ZFS интересна далеко не каждому, поэтому покажу Слона без неё,  а в заключение с ней.

Запуск в контейнере

Слон может работать как на Windows так и на Linux платформе. На Linux ibcmd не может работать с MSSQL, и Слон тоже не будет. Если вам нужен только Postgres, вы можете запустить Слона в docker контейнере, который я для этого приготовил здесь https://github.com/kot-camojiet/1c-single

Создайте docker-compose.yml:

services:
  slon:
    image: camojiet/1c-single:latest
    container_name: slon
    ports:
      - "8314:8314"
    volumes:
      - ./fs-data:/fs-data
      - ./storage:/storage
    security_opt:
      - apparmor=unconfined
    restart: unless-stopped
    environment:
      PORT: 8314
      TZ: Asia/Vladivostok

Создайте в папке с compose папку с базой и хранилище:

mkdir -p ./fs-data/db-data
mkdir ./storage

Поместите 1Cv8.1CD в ./fs-data/db-data/
Запустите:

docker compose up -d

После запуска контейнера база будет доступна через http на порту 8314.

Основной функционал

image.png

В настройках, для работы без ZFS достаточно установить пароль, каталог хранилища (там будут храниться dt, cf, dt и временные папки (для ibcmd)) и путь к бинарным файлам платформы (для запуска ibcmd).

image.png

Далее, необходимо добавить сервер 1С:

image.png
Укажите название, адрес и порт RAS сервера, Администратора сервера и пароль, Администратора кластера и пароль (если есть).
Заблокируйте по умолчанию фоновые задания, чтобы случайно не запустить их во время экспериментов. Установленные по умолчанию параметры будут устанавливаться для создаваемых на этом сервере базах:
image.png
Добавьте сервер БД:

image.png

Введите необходимые данные для работы с БД:

image.png
Теперь можете добавить базу:

image.png
Укажите сервер БД, сервер 1С, включите считывание данных (необязательно). Слон фоново считывает данных с баз помеченных таким образом, о количестве пользователей и состоянии блокировки пользовательских сеансов. После записи, база готова к подключению. Если база существовала на этом месте, она будет подключена, если нет, то создана.