АИТП. Управляем множественными версиями платформы на серверах, под управлением ОС Linux

Публикация № 1073156

Администрирование - Администрирование данных 1С

DevOps OneScript АИТП docker контейнеры

В статье рассмотрен демонстрационный пример использования конфигурации АИТП, для автоматизации управления множественными версиями платформы 1С:Предприятие на серверах, под управлением ОС Linux.

Введение

В связи с постоянным выходом новых версий платформы 1С:Предприятие, одновременная работа с несколькими версиями платформы с целью тестирования, является достаточно распространенной практикой. Однако, поскольку как правило, количество серверных лицензий не безгранично, приходится развертывать несколько версий платформы одновременно, на одном физическом или виртуальном сервере. И если в случае с ОС Windows, установка и параллельное использование нескольких версий платформы не вызывает каких-либо затруднений, то в случае, если вашей рабочей системой является ОС Linux, реализация такого варианта использования становится несколько сложнее, и автоматизация в данном случае, может дать свои положительные плоды.

Соответственно, настоящая статья посвящена демонстрации использования программного пакета АИТП (проект на GitHub), для автоматизации установки и обновления множественных версий платформы 1С:Предприятие на серверах, под управлением ОС Linux.

 

Системные требования

Платформа 1С:Предприятие, версии не ниже 8.3.10.2252.

Операционная система Windows или Linux.

 

Лабораторная среда

Для экспериментов, автором использовалась лабораторная среда на базе виртуальных машин Hyper-V, схема которой представлена на рис. 1.

Рисунок 1. Схема лабораторной среды.

 

Более детальную информацию по подготовке лабораторной среды можно найти в этой и этой публикациях.

 

Архитектура решения

Используемые технологии

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

В этом случае, различные версии платформ размещаются в отдельных контейнерах (см. рис. 2.).

Рисунок 2. Размещение различных версий платформы в контейнерах.

 

В качестве ОС для хоста была выбрана Centos 7, как достаточно распространенная в корпоративной среде, а в качестве базовой ОС для контейнеров – Ubuntu 16.04, как наиболее популярная (судя по публикациям) среди специалистов 1С.

Сетевое взаимодействие

Для упрощения сетевого взаимодействия выбрана схема, в которой для внешних устройств, набор контейнеров представляет собой один хост, а каждый экземпляр сервисов платформы использует свой собственный пул портов (см. рис. 3.).

Рисунок 3. Организация сетевого взаимодействия со службами платформы.

 

Хранение данных

Поскольку контейнеры по своей природе полностью виртуальны, а сервисы платформы используют постоянную информацию (настройки кластера, список информационных баз etc.), для хранения такой информации используются подключение папок, расположенных на хостовой системе внутрь контейнеров (см. рис. 4.).

Рисунок 4. Схема подключения папок.

 

Для упрощения лабораторной среды, дистрибутивы платформы, которые необходимы для создания образов docker, хранятся на сервере 1С:Предприятие, где развернута конфигурация АИТП. Конечно в продуктивных средах, особенно при наличии кластера из нескольких серверов приложений, так поступать не следует, и более правильным будет создание папки дистрибутивов платформы на отдельном сервере с монтированием при помощи sshfs, NFS или SAMBA, однако для нашей демонстрационной конфигурации, такой подход вполне допустим. 

Создание образов

Для упрощения создания образов платформы, примем нижеследующую схему их генерации (см. рис. 5).

Рисунок 5. Схема генерации образов платформы.

 

Схема транспорта данных, необходимых для создания образов, представлена на рис. 6.

Рисунок 6. Схема транспорта данных, необходимых для создания образа Docker.

 

 

Начальная настройка серверов

Далее предполагается, что на сервере приложений 1С:Предприятие (172.16.210.44) развернута информационная база с демонстрационной конфигурацией из настоящей статьи. Также предполагается, что на сервере docker (см. рис. 1.) установлен Docker. С инструкциями по установке можно ознакомиться в этой статье.

Все административные действия производятся из-под аккаунта root, если не оговорено иное.

Настройка сервера docker

Подключаемся к серверу docker (172.16.210.40) клиентом ssh, к примеру putty.

Для упрощения перенаправления локальных папок хоста в контейнеры, отключаем SELinux, установив в файле /etc/selinux/config ключ SELINUX=disabled

Перезагружаем сервер.

Для управления сервером из АИТП, создадим пользователя с логином, совпадающим с учетной записью, из под которой работают сервисы 1С:Предприятие:

 
adduser usr1cv8
passwd usr1cv8

 

Поскольку для выполнения определенных операций, нашему пользователю будут необходимы права root, разрешим ему использование sudo:

 
gpasswd –a usr1cv8 wheel

 

Настройка сервера приложений 1C

Подключаемся к серверу приложений 1С:Предприятие (172.16.210.44) с использованием административного аккаунта (в моем случае – это ubadmin).

Для хранения дистрибутивов, в домашней папке пользователя usr1cv8, создадим папку distrib:

 
sudo mkdir /distrib

 

Разрешим сохранение в эту папку всем :

 
sudo chmod –R 777 /distrib

 

Поскольку мы сохраняем дистрибутивы платформы штатными средствами 1С:Предприятие, создаваемые файлы имеют разрешения только для пользователя usr1cv8 и группы grp1cv8. Далее положим, что для доступа к серверу будет использоваться аккаунт ubadmin.

Добавим административный аккаунт в группу grp1cv8 для предоставления возможности чтения, создаваемых платформой файлов:

 
sudo useradd –G grp1cv8 ubadmin

 

Создание базовых образов

В качестве более подробного справочного материала, описывающего создание собственных образов, можно воспользоваться этой статьей.

Подключимся к серверу docker с использованием ssh-клиента, с учетными данными usr1cv8.

Скачиваем образ ОС из официального репозитария:

 
sudo docker pull docker.io/ubuntu:16.04

 

Подключаемся к образу для внесения изменений:

 
sudo docker run –t –i docker.io/ubuntu:16.04

 

Далее, для целей тестирования, установим компоненты, необходимые для работы 32-битной версии платформы. Со списком необходимых компонентов можно ознакомиться, к примеру здесь.

Необходимо скопировать идентификатор контейнера (находится после @).

Устанавливаем необходимые компоненты и выходдим из контейнера:

 
dpkg --add-architecture i386 && sudo apt update
apt install unixodbc:i386 libgsf-bin:i386 ttf-mscorefonts-installer
apt install imagemagick-6.q16:i386
apt install imagemagick:i386
exit

 

Сохраняем изменения в новый образ:

 
sudo docker commit ИдентификаторКонтейнера ИмяОбраза

 

В моем случае имя образа – yury/1c-prerequestions-ubuntu

Просмотрим список образов:

 
sudo docker image ls

 

Результат выполнения команды представлен на рис. 7.

Рисунок 7. Список базовых образов.

 

Настройка конфигурации АИТП

Поскольку демонстрационная подсистема не имеет выделенной роли, необходимо создать пользователя, имеющего в системе полные права (в моем случае - Админ) .

 

Создание сервера управления контейнерами

Подключаемся к информационной базе в режиме предприятия с аккаунтом пользователя с полными правами (в дальнейшем предполагается, что все операции в информационной базе будут производиться от имени этого пользователя) и выбираем подсистему Управление контейнерами  (см. рис. 8.).

Рисунок 8. Общий вид подсистемы “Управление контейнерами”.

 

В разделе Сервисы & Службы выбираем пункт Серверы управления контейнерами и создаем новый элемент справочника (см. рис. 9.).

Рисунок 9. Создание сервера управления контейнерами.

 

При создании реквизита Хост, в качестве имени хоста необходимо указать его имя. Данный момент важен для правильной работы сервиса.

При записи элемента справочника, производится создание и старт экземпляра процесса НастроитьУправлениеКонтейнерами, который создает на сервере docker.itpa.cf необходимую структуру папок (см. рис. 4., рис. 10.).

Рисунок 10. Файловая структура для создания образов docker.

 

Пронаблюдать за выполнением процесса можно перейдя в раздел Оркестратор и выбрав пункт Задачи IT-процессов (см. рис 11.).

Рисунок 11. Результат выполнения процесса “НастроитьУправлениеКонтейнерами”.

 

 

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

Загружаем образы сервера 1С:Предприятия с сайта ИТС и сохраняем их на диск локального компьютера. Для нашей тестовой среды, были загружены 32-битные дистрибутивы версий 8.3.10.2252 (файл deb.tar.gz)и 8.3.13.1809 (файл deb_8_3_13_1809.tar.gz).

Настроим параметры хранения дистрибутивов. Для этого выберем пункт  Настройки хранения дистрибутивов, в разделе Сервис (см. рис. 12.) .

Рисунок 12. Настройки хранения дистрибутивов.

 

Папка создания дистрибутивов – это папка, в которую 1С:Предприятие сохраняет дистрибутивы при создании.

Папка хранения дистрибутивов – это папка, из которой сервисы OneScript скачивают дистрибутивы платформы.

Сервер хранения дистрибутивов – сервер, где хранятся дистрибутивы платформы.

Пользователь дистрибутивов – учетные данные пользователя, для подключению к серверу дистрибутивов.

Поскольку для ханения дистрибутивов мы создали на сервере 172.16.210.44 папку /distrib, укажем эти данные в настройках, а также создадим аккаунт, для соединения с сервером. В моем случае – это пользователь ubadmin.

В разделе Создать, выбеем пункт Дистрибутив платформы и заполним необходимые реквизиты (см. рис. 13.).

Рисунок 13. Создание дистрибутива платформы.

 

Загрузим дистрибутив, нажав кнопку Загрузить, затем сохраним его, нажав кнопку Сохранить и закрыть.

Посмотрим содержимое папки /distrib, на сервере 172.16.210.44 и убедимся, что в указанной папке появился дистрибутив платформы (см. рис. 14.).

Рисунок 14. Файл дистрибутива в папке для дистрибутивов.

 

 

Создание образа платформы

В разделе Сервисы & Службы выберем пункт Серверы управления контейнерами.

Обновим список образов, нажав кнопку Обновить список образов.

Перейдя в раздел Docker и выбрав пункт Образы Docker убедимся, что в списке присутствует образ с компонентами, необходимыми для работы платформы (в моем случае – это yury/1c-prerequestions-ubuntu). Именно на основании этого образа мы создадим образ платформы.

В разделе Создать, выберем пункт Образ платформы , заполним необходимые реквизиты (см. рис. 15.) и сохраним изменения.

Рисунок 15. Создание образа платформы.

 

 Примерно через две минуты, выберем пункт Задачи ИТ-процессов в разделе Оркестратор и убедимся, что все задачи по созданию образа успешно завершены (см. рис. 16.).

Рисунок 16. Задачи процесса создания образа платформы.

 

При этом, в списке образов docker (Docker->Образы Docker) появится созданный нами образ (см. рис. 17.).

Рисунок 17. Образ docker.

 

 

Создание сервиса

В разделе Сервисы & Службы, выберем пункт Сервисы 1С и создадим новый сервис (см. рис. 18.)

Рисунок 18. Создание сервиса 1С.

 

Заполним необходимые реквизиты и сохраним изменения.

Обратите внимание, что пул портов сервиса должен совпадать с пулом портов образа платформы, иначе создание службы будет невозможно.

Проверим наличие папок сервиса, на сервере docker (см. рис. 19).

Рисунок 19. Папки сервиса 1С.

 

 

Создание службы (контейнера) 1С

 В разделе Создать выберем пункт Служба 1С, заполним соответствующие реквизиты (созанные ранее образ и сервис) и сохраним изменения (см. рис. 20.).

Рисунок 20. Создание службы 1С.

 

 

Управление службами 1С

В разделе Сервис, выберем пункт Консоль служб 1С. В открывшемся окне выберем сервер docker.itpa.cf и убедимся в наличии службы (см. рис. 21.).

Рисунок 21. Консоль служб 1С.

 

Как можно увидеть, созданная нами служба остановлена.

Для старта, нажмем кнопку Стартовать, при этом, состояние службы изменится на Up.

Подключимся к службе при помощи консоли администрирования серверов 1С:Предприятие и создадим новую информационную базу(см. рис. 22.).

Рисунок 22. Служба в консоли администрирования

 

 

Обновление информационной базы

Для тестирования процесса обновления, создадим новый сервис, с именем “Тестовые базы” и пулом портов 3540, 3541, 3560-3591, новый образ платформы, с версией 8.3.10.2252 и новую службу для этого сервиса. Затем стартуем службу и создаем новую информационную базу в консоли администрирования серверов (см. рис. 23, 24).  

Рисунок 23. Список служб 1С для нескольких сервисов.

 

Рисунок 24. База для обновления в консоли администрирования.

 

Создадим новый дистрибутив платформы, с версией 8.3.13.1809, образ с пулом 3540 и службу для сервиса “Тестовые базы”.

Результирующий список служб, представлен на рис. 25.

Рисунок 25. Результирующий список служб перед обновлением.

 

“Ручное” обновление

Как вы уже наверное догадались, процесс обновления версии платформы состоит в том, чтобы остановить службу старой версии платформы и затем, запустить службу новой версии.

Проделаем эти операции и убедимся, что мы работаем с новой версией платформы (см. рис. 26.).

Рисунок 26. Состояние служб 1С после обновления.

 

Автоматическое обновление

Поскольку обычно, обновление платформы осуществляется в нерабочее для пользователей время, и это же время как правило является формально нерабочим и для IT-персонала, имеет смысл создать процесс, который проделывает все то, что мы сделали при “ручном” обновлении автоматически, в определенное время.

Поскольку в демонстрационной конфигурации такой процесс уже создан, протестируем возможность автоматического обновления по расписанию.

Для этого вернем службы в состояние, соответствующее состоянию до “ручного” обновления, затем выберем в разделе Создать, пункт Обновление платформы.

Заполним необходимые реквизиты (будьте внимательны с датой и временем т.к. часовой пояс и дата на сервере могут отличаться от Вашего) и проведем документ (см. рис 27.).

Рисунок 27. Создание документа “Обновление платформы”.

 

По достижении указанного времени (плюс время, необходимое для выполнения скрипта) проверим состояние служб и убедимся, что их состояние аналогично состоянию на момент после обновления в “ручном” режиме.

 

Перенос информационной базы АИТП в Docker

До сих пор, информационная база АИТП, которая управляла контейнерами на нашем сервере docker была расположена на отдельном сервере 1С:Предприятие, и вполне законным будет утверждение о том, что держать один сервер 1С:Предприятие для управления другим слишком расточительно. Поэтому мы перенесем его на тот же сервер, которым управляем.

Единственной проблемой, которая мешает нам это сделать является локальное хранилище дистрибутивов. Поэтому сначала необходимо удалить (пометить на удаление) имеющиеся дистрибутивы (см. рис. 28.). 

Рисунок 28. Список дистрибутивов после удаления.

 

Завершим работу с конфигурацией АИТП на клиентских компьютерах.

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

 
sudo systemctl stop srv1cv83
sudo systemctl disable srv1cv83

 

В консоли кластера администрирования серверов, добавим информационную базу АИТП на кластер серверов с пулом портов (1540, соответствует сервису “Конфигурация АИТП” ).

Подключимся к информационной базе в пользовательском режиме.

Поскольку нам бы не хотелось, чтобы дистрибутивы платформы пропали при удалении контейнера, (скажем после обновления версии платформы), изменим папку создания на /home/usr1cv8/data, поскольку эта папка перенаправляется с хоста в контейнер.

Поскольку при скачивании дистрибутива, сервис OneScript фактически обращается не к контейнеру, а к хосту, изменим папку хранения дистрибутивов на /home/usr1cv8/ID Сервиса/data.

В моем случае – это /home/usr1cv8/000000001/data

Также изменим сервер хранения дистрибутивов на docker.itpa.cf, а учетную запись на usr1cv8.

Новые настройки хранения дистрибутивов представлены на рис. 29.

Рисунок 29. Новые настройки хранения дистрибутивов

 

Сохраним изменения и заново создадим дистрибутивы (см. рис. 30.).

Рисунок 30. Вновь созданные дистрибутивы платформы.

 

Убедимся в их наличии на хосте (см. рис. 31.).

Рисунок 31. Дистрибутивы платформы на хосте.

 

Создадим образ для пула 1540, 1541, 1560-1591 и версии 8.3.13.1809 (см. рис 32.).

Рисунок 32. Создание образа для сервиса АИТП.

 

И в процессе выполнения получаем ошибку (см.рис. 33.).

Рисунок 33. Ошибка при создании образа.

 

которая свидетельствует о том, что система не может соединиться с фермой серверов OneScript для отправки запроса.

Источником данной проблемы являются настройки firewall на нашей ферме, которая была создана по методике, описанной в этой и этой публикациях. Как можно увидеть, с целью усиления безопасности, мы ограничили входящие https запросы компьютерами администрирования и сервером 1С:Предприятия 172.16.210.44.

Добавим разрешения для хоста 172.16.210.40 на нодах и маршрутизаторах:

 
firewall-cmd –zone=home –add-source=172.16.210.40/32
firewall-cmd –runtime-to-permanent
firewall-cmd --reload

 

 и повторим выполнение задачи.

 В результате, получим другую ошибку (см. рис. 34.)

Рисунок 34. Ошибка скачивания дистрибутива платформы.

 

Которая говорит нам о том, что сервис OneScript не может скачать платформу ввиду отсутствия файла.

Перейдем к настройкам хранения дистрибутивов и при внимательном рассмотрении обнаружим, что путь для скачивания платформы указан неверно.

Поправим его на /home/usr1cv8/1C/data/000000001/data и повторим выполнение задачи.

На сей раз все пройдет гладко и мы сможем увидеть созданный образ в списке образов (см. рис.35.).

Рисунок 35. Образ созданный для сервиса “Конфигурация АИТП”.

 

 

Обновление платформы для сервиса “Конфигурация АИТП”

Сначала, создадим службу с новой версией платформы, аналогично тому, как мы это делали ранее.

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

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

Для подготовки системы к обновлению, в конфигурации есть подсистема Обновление системы (см. рис. 35.).

Рисунок 36. Подсистема “Обновление системы”.

 

Функции подсистемы заключаются в выполнении действий, предшествующих обновлению системы - запрет старта процессов, запрет выполнения ожидающих выполнение задач, запрет старта регламентных заданий, ожидание выполнения уже запущенных фоновых заданий, а также действий, которые необходимо выполнить после обновления системы – разрешение старта регламентных заданий, новых процессов и задач, ожидающих выполнения.

Схема проверки завершения фоновых заданий, представлена на рис. 37.

Рисунок 37. Схема проверки завершения фоновых заданий.

 

Проверка завершения фоновых заданий осуществляется в регламентном задании ОбработчикОжиданияЗавершенияФоновыхЗаданийАИТП. Его расписание определяет период выполнения проверок.

Количество выполнений задания и интервал неактивности задаются в настройках подготовки к обновлению.

Заполним эти настройки и настроим расписание регламентного задания (см. рис. 38, 39.).

Рисунок 38. Настройки подготовки к обновлению.

 

Рисунок 39. Настройки регламентного задания для проверки завершения фоновых заданий.

 

Приведенные выше настройки означают, что 5 раз с интервалом в минуту будет проверен факт того, что последнее фоновое задание было завершено не позднее, чем 120 секунд тому назад.

Если это условие не будет соблюдено в течении 5 проверок, система будет считать, что подготовка завершилась неудачей и вернет все в исходное состояние.

“Ручное” обновление

Выберем пункт Подготовить систему к обновлению и создадим новый документ.

Мы можем запланировать эти действия на определенное время и указать, что в случае возникновении каких-либо ошибок, необходимо автоматически вернуть все в исходное состояние.

Поскольку в нашем случае этого не требуется, просто проведем документ. После его проведения, процесс подготовки стартует автоматически.

Пронаблюдать за процессом подготовки можно в разделе Задачи ИТ-процессов, подсистемы Оркестратор.

После того, как процесс будет успешно выполнен, завершаем клиентские соединения с информационной базой АИТП, предварительно запомнив идентификаторы текущей и новой службы, которые соответствуют именам соответствующих контейнеров. В моем случае это – 000000001 и 000000004.

Подключаемся к серверу docker, останавливаем старый контейнер:

 
docker stop 000000001

 

Запрещаем ему рестарт:

 
docker container update --restart=no 000000001

 

Разрешаем рестарт новому контейнеру:

 
docker container update --restart=always 000000004

 

Стартуем новый контейнер:

 
docker start 000000004

 

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

Автоматическое обновление

Алгоритм автоматического обновления системы АИТП, мало чем отличается от алгоритма “ручного” обновления. Также, как и в предыдущем случае, необходимо подготовить систему, провести обновление и выполнить действия после обновления. Однако, ввиду того, что обновление осуществляется в автоматическом режиме есть некоторые нюансы.

Поскольку в процессе обновления службы 1С:Предприятие должны быть остановлены, скрипт обновления должен запускаться асинхронно.

Также, конфигурация должна каким-то образом узнать, что обновление произошло и выполнить действия после обновления. Этот функционал реализован в процессе ВыполнитьДействияПослеОбновленияАИТП, схема которго представлена на рис. 40.

Рисунок 40. Схема процесса выполнения действий после обновления.

 

Как можно увидеть, процесс имеет два режима выполнения. В первом, происходит разрешение использования регламентных заданий и старта процессов. Во втором, создается задача ожидания и активируется регламентное задание ПроверитьОкончаниеОбновленияАИТП, которое в обычном режиме выключено и должно быть запущено до того, как службы 1С будут остановлены. По окончанию обновления, когда службы сервера будут вновь запущены, регламентное задание выполнит задачу ожидания и начнется выполнение задания, которое разрешит старт процессов etc.

Поскольку остановка служб может занять некоторое время, для предотвращения ложного срабатывания вводится некоторая задержка, определяемая константой МинимальнаяДлительностьОбновленияАИТП. Соответственно задача ожидания не будет выполнена ранее, чем дата создания задачи плюс значение задержки.

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

Исходный код скрипта обновления представлен ниже:

 

Теперь посмотрим, как это работает на практике. Для этого, настроим расписание регламентного задания “АИТП: Проверить окончание обновления” таким образом, чтобы оно выполнялось раз в 60 секунд. Флажок Использование устанавливать не надо, так как он будет установлен автоматически.

В разделе Сервис, подсистемы Обновление системы, выберем пункт Настройки подготовки к обновлению и установим значение в поле Минимальная длительность обновления, равным, скажем 60 с.

В подсистеме Управление контейнерами, создадим документ Обновление платформы.

Установим чекбокс Это обновление АИТП, выберем текущую и новую службы (список доступных служб, а также текущую можно посмотреть в консоли служб 1С). Установим значение даты обновления равным началу вчерашнего дня, чтобы обновление началось сразу и проведем документ.

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

 

Заключение

Надеюсь, что данный материал будет вам полезен и позволит сэкономить некоторое количество времени, а также сделать процесс обновления платформы на серверах чуть более простым и приятным.

P.S.

Конечно в производственных средах, также необходимо настроить оповещения и адресацию задач.

 

Скачать файлы

Наименование Файл Версия Размер
АИТП. Управляем множественными версиями платформы на серверах, под управлением ОС Linux. :

.cf 8,87Mb
16.06.19
0
.cf 8,87Mb Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. yartkin 17.06.19 10:07 Сейчас в теме
Отличная идея и реализация.
Скажите, есть ли в планах аналогичная система для Windows платформы?
2. blackhole321 1175 17.06.19 10:08 Сейчас в теме
(1) Можно попробовать и под Windows.
3. ripreal1 454 18.06.19 08:26 Сейчас в теме
А замеряли данные насколько медленнее платформа работает в докере?
4. blackhole321 1175 18.06.19 08:30 Сейчас в теме
(3)Не замеряли, однако полагаю, что ситуация примерно такая-же как и с виртуальными машинами. Есть небольшое исследование IBM на эту тему.
5. igee12 19.06.19 11:26 Сейчас в теме
sudo useradd –G ubadmin grp1cv8

Нет ли ошибки? Группу и юзера поменять местами
6. blackhole321 1175 19.06.19 11:30 Сейчас в теме
(5)Вы правы, описался.
Сейчас поправлю.
Спасибо!
7. DonAlPatino 142 19.06.19 14:46 Сейчас в теме
Уточните, пожалуйста, в контейнеры пробрасывается одна папка настройки 1С сервера на все контейнеры или разные (т.е. у каждого 1с сервера свои кластер и свой спиок баз)? По тексту это не очень понятно. И что с серверными ключами? Один комплект на всех или каждому контейнеру свой? И если все-таки один комплетк на всех то как оно работает?
8. blackhole321 1175 19.06.19 15:07 Сейчас в теме
(7)
(7)
Уточните, пожалуйста, в контейнеры пробрасывается одна папка настройки 1С сервера на все контейнеры или разные (т.е. у каждого 1с сервера свои кластер и свой спиок баз)?

В демо-примере есть два понятия (вполне возможно неудачные):
Сервис 1С - это сущность отражающая все данные сервера 1С предприятие. Это список баз и другие настройки. Они хранятся в папке .1cv8 пользователя.
Служба, она же контейнер, содержит установленную платформу определенной версии, слушающую на определенных портах. В нее пробрасываются паки, определенные в сервисе.
Т.е. один сервис может иметь несколько контейнеров, но только один контейнер может быть запущен в одно и то же время.
Так что да, у каждого контейнера будут свои настройки, если они созданы для разных сервисов.
И что с серверными ключами? Один комплект на всех или каждому контейнеру свой?

Один комплект и это должен быть hardware ключ.
И если все-таки один комплетк на всех то как оно работает?

Также как в windows. Вы можете запустить несколько экземпляпров службы параллельно с одним hardware ключом
DonAlPatino; +1 Ответить
Оставьте свое сообщение

См. также

Повышение качества разработок и онлайн контроль ошибок Промо

Журнал регистрации v8 Абонемент ($m)

Анализ ошибок и сбор ошибок журнала регистраций из десятков и сотен баз в одном месте.

09.03.2018    26449    DitriX    48    

Резервные копии SQL с помощью планировщика виндовс и скрипта

Архивирование (backup) v8 Абонемент ($m)

Всем привет! Сильно не судите, в основном я создаю эту статью для себя, чтобы не забыть об этом, сразу скажу, что я не программист, но по долгу работы приходится решать вопросы. В данной статье я покажу код батника, с помощью которого я делаю резервное копирование баз данных 1С посредством SQL.

1 стартмани

12.03.2020    2056    VID1234    10    

Резервное копирование и восстановление БД 1С 8.3 на PostgreSQL 11.5

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Резервное копирование баз данных 1С является обязательным, чтобы в случае непредвиденной проблемы всегда была возможность все восстановить. В статье мы рассмотрим, как произвести резервное копирование и восстановление из копии базы 1 8.3, работающей на PostgreSQL 11.5.

1 стартмани

30.01.2020    10864    ClickUp    43    

Мультибазовая очистка Журнала регистрации с автоматическим перемещением архивных данных в указанный каталог

Журнал регистрации v8 Россия Абонемент ($m)

На сервере 1С со временем увеличивается в размерах папка , содержащая журналы регистрации 1С и как следствие может возникнуть проблема свободного пространства на системном жестком диске. Чтобы избежать роста папки, необходимо периодически очищать журнал регистрации 1С.

1 стартмани

26.12.2019    2979    bryantsev.yury    3    

XDTO - часть 3 Промо

Практика программирования Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Мы продолжаем цикл статей по изучению подсистемы XDTO в 1С:Предприятие. Это третья часть, в которой мы будем работать непосредственно с подсистемой, рассмотрим главные строительные блоки подсистемы и рассмотрим небольшой пример кода.

3 стартмани

28.01.2013    188852    Evil Beaver    172    

Как автоматически заполнить обработкой табличную часть документа "Ввод начальных остатков" (Тип операции = "Расчеты с партнерами"). 1С: ERP

Обработка документов Дебиторская и кредиторская задолженность v8 ERP2 БУ УУ Абонемент ($m)

В 1С: ERP (релиз 2.4.8.82) есть документ "Ввод начальных остатков". Он предназначен для переноса остатков из старых учетных программ при переходе на работу в новой конфигурации. В инструкциях на официальном сайте 1С пользователям новой конфигурации 1С: ERP предлагается заполнить этот документ. Каким образом они будут заполнять, не уточняется. Можно предположить, что предлагается интерактивно, вручную, ввести эти документы. Это следует из картинок в инструкции 1С. В данной статье я предлагаю способ автоматического программного заполнения документа "Ввод начальных остатков" с помощью обработки "Загрузка данных из табличного документа". При этом способе заполнения, время на процесс переноса остатков сокращается в десятки или даже сотни раз.

1 стартмани

20.12.2019    3094    pvlunegov    6    

Дополнительные расходы на основе перемещения запасов в УНФ (пошаговая разработка расширения конфигурации)

Обработка документов Учет ТМЦ Расширения v8 УНФ Россия УУ Абонемент ($m)

Доброго времени! Предлагаю небольшое расширение для конфигурации "Управление нашей фирмой", позволяющее включать документ "Перемещение запасов" в таблицу оснований документа "Дополнительные расходы".

1 стартмани

17.10.2019    6045    aximo    4    

Многопоточная обработка данных на примере перепроведения документов

Обработка документов Практика программирования v8 ERP2 УТ11 КА2 Абонемент ($m)

Дальнейшее развитие темы фоновой обработки данных - проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

1 стартмани

17.09.2019    8639    ids79    46    

Обновление типовой конфигурации сразу на несколько релизов (8.2) [не для начинающих] Промо

Администрирование данных 1С v8 1cv8.cf Россия Абонемент ($m)

Как обновить типовую конфигурацию с давно устаревшего релиза на текущий, но не тратить время на последовательное обновление через .cfu? Есть вариант, который позволяет сэкономить довольно много времени. Он не самый очевидный и несколько рискованный (потому и не для начинающих) – через файл .cf конфигурации поставщика. Взять такой .cf можно даже из нетиповой базы актуального релиза! Способ подходит для тех, кто по разным причинам не может обновиться через интернет. Да, И НЕ ЗАБЫВАЕМ ПРЕДВАРИТЕЛЬНО ОБНОВЛЯТЬ ПЛАТФОРМУ!!!

13.02.2012    171724    vvr908    139    

1С и PowerShell - обновление из хранилища

Администрирование данных 1С Инструментарий разработчика v8 Абонемент ($m)

Пример скрипта, упрощающего работу.

1 стартмани

29.08.2019    8203    Jokemas    24    

Централизованное управление кластером 1С Предприятия, состоящим из нескольких рабочих серверов, работающих на платформе GNU/Linux

Сервисные утилиты v8 Абонемент ($m)

При эксплуатации крупных информационных систем, в состав которых могут входить десятки серверов 1С Предприятия, зачастую возникают ситуации, требующие однотипных действий на всех серверах кластера 1С Предприятия или на всех серверах контура. В настоящей статье представлен способ централизованного управления серверами 1С Предприятия, работающими на платформе GNU/Linux. Подобный подход может быть использован и для других задач, возникающих в процессе эксплуатации крупных систем, с целью сокращения как временных затрат специалистов, так и времени простоя системы.

1 стартмани

26.08.2019    3665    Sloth    0    

1С + IIS + SSL: Перевод опубликованной базы на защищенное соединение https с сертификатом от Let's encrypt

Администрирование данных 1С v8 1С:CRM Абонемент ($m)

Всем Доброго времени! Предлагаю Вам небольшую базовую инструкцию, где я опишу, как быстро перевести опубликованную в веб базу 1С на защищенное https соединение, используя стандартный IIS сервер и бесплатный сертификат SSL от Let's encrypt.

1 стартмани

10.08.2019    19219    aximo    36    

Циклический бэкап по дням недели Промо

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Абонемент ($m)

В интернете часто можно встретить статьи о том, как написать скрипты для автоматического архивирования баз MSSQL. Методика, в них предлагаемая создает новый архив каждый новый день. Более подробно об этом можно почитать в http://outcoldman.ru/ru/blog/show/127 Я предлагаю незначительное усовершенствование скриптов и генерацию архивов по дням недели с циклической их перезаписью. Скрипт тоже не полностью мой, а скомпонован из различных примеров, найденных в интернете, но, надеюсь, именно представленный вариант будет полезен не только мне.

1 стартмани

15.06.2010    39205    milkers    15    

АИТП. Управляем информационными базами

Администрирование данных 1С v8 Абонемент ($m)

В статье, на демонстрационном примере, рассматривается использование конфигурации АИТП для автоматизации управления информационными базами 1С:Предприятие.

1 стартмани

29.05.2019    4664    blackhole321    0    

Создание высокодоступной фермы рабочих серверов OneScript в ОС Centos 7

OneScript Бесплатно (free)

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

14.05.2019    4618    blackhole321    0    

Разворачиваем рабочий сервер OneScript для конфигурации АИТП

OneScript v8 Бесплатно (free)

В статье описана методика развертывания рабочего сервера OneScript для конфигурации АИТП, на ОС CentOS 7.

09.05.2019    6153    blackhole321    0    

Соответствие типов данных 1С:Предприятие 8.x в MS SQL 2008 Промо

Практика программирования Администрирование данных 1С Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Соответствие типов данных 1С:Предприятие 8.x и MS SQL 2008

1 стартмани

13.01.2013    22115    YPermitin    8    

Ops средствами 1С:Предприятие

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

23.04.2019    17039    blackhole321    28    

Собственный алгоритм нумерации документов определенного вида

Практика программирования Обработка документов Разработка v8 БП3.0 Россия Абонемент ($m)

Создание собственного, отличного от платформенного алгоритма нумерации документов определенного вида.

1 стартмани

11.04.2019    2944    xan333    12    

Сторнирование документов отсутствия по невыясненной причине после переноса данных. Замена на больничный лист. ЗУП 3.1.8

Обработка документов Бухгалтерский учет Зарплата Учет рабочего времени Зарплата Учет рабочего времени v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Наши кадры в ЗУП 2.5 на время отсутствия документов о больничном вводят документ "Невыходы в организациях". Спокойно рассчитывают, а когда документы о больничном листе приносят - сторнируют невыход. В целом ничего криминального, и практика частая в различных организациях, но есть нюансы, при переходе на ЗУП 3.1.

1 стартмани

22.03.2019    4848    Mogilnikova    0    

1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть III. Реестр Промо

Универсальные обработки Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Описание возможностей Windows Script Host и Windows Management Instrumentation. Подборка "скриптовых" функций и процедур. Работа с реестром.

16.12.2012    37614    StepByStep    26    

Easy print своими руками

Администрирование данных 1С v8 ERP2 Россия Абонемент ($m)

Статья описывает альтернативные способы печати из терминальной сессии на локальный принтер.

1 стартмани

05.03.2019    2316    kolegov    8    

Баг или фича? Неожиданное поведение платформы

Практика программирования Тестирование и исправление Разработка v8 1cv8.cf Абонемент ($m)

Рассмотрим несколько случаев неожиданного поведения платформы 1С, а также что с этим можно cделать.

18.02.2019    22567    YPermitin    89    

Как отправить ошибки из журнала регистрации на почту?

Журнал регистрации v8 УПП1 Абонемент ($m)

Процедуры отправки ошибок из журнала регистрации на почту. Журнал регистрации выгружается в файл Excel, далее прикрепляется к письму. Для отправки писем создано регламентное задание.

1 стартмани

06.02.2019    8679    wowik    0    

1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть II Промо

Универсальные обработки Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Описание возможностей Windows Script Host и Windows Management Instrumentation. Подборка "скриптовых" функций и процедур.

16.12.2012    32206    StepByStep    7    

PostgreSQL для 1С 8.3: ускоряем резервное копирование и восстановление для отдельной базы очень большого размера

Производительность и оптимизация (HighLoad) Тестирование и исправление v8 1cv8.cf Россия Абонемент ($m)

В этой статье разберем оптимизацию работы с моментальным снимком отдельной базы 1С в кластере PostgreSQL средствами pg_dump.exe, pg_restore.exe, psql.exe в среде Windows Server 2008,2012,2016. А также разберем проблемные ситуации и неожиданные ограничения при работе 1С в связке с PostgreSQL. Для Linux все аналогично.

1 стартмани

03.12.2018    27124    vsasav    69    

Имплементация системы мониторинга кластеров 1С (и лицензий)

Администрирование данных 1С v8 Абонемент ($m)

В этой статье мы научимся хранить данные о сеансах консоли кластеров 1С в СУБД, вынимать и агрегировать информацию о лицензиях.

1 стартмани

02.12.2018    10535    MrWonder    15    

Какой SQL Server лучше для сервера 1С

Администрирование данных 1С v8 Абонемент ($m)

Нагрузочное тестирование TPC 1C Гилева, различных версий MSSQL и Windows server.

1 стартмани

03.11.2018    22351    demon_sl    146    

Go. Разбор лога технологического журнала. Достойная альтернатива perl'у

Сервисные утилиты Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Началось все с того, что я познакомился с перловыми скриптами для парса ТЖ которые размещены на kb.1c.ru (например в этой статье https://kb.1c.ru/articleView.jsp?id=113). По началу мне дико понравилось то, что перл разбирал гигабайты логов за считанные минуты, но позитив мой угасал обратно пропорционально с тем, насколько глубже я погружался в "кроличью нору" ....

1 стартмани

24.10.2018    19681    lazarenko    39    

Мониторинг журнала регистрации при помощи Powershell

Сервисные утилиты Журнал регистрации v8 Абонемент ($m)

Работа с журналом регистрации в формате SQLite внешними средствами на примере мониторинга изменений в конфигурации базы данных.

1 стартмани

12.07.2018    12665    user768334    7    

Журнал регистрации 1С (sql lite) в web app

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Данная публикация рассматривает построение компонентного решения работы журнала регистрации в стороннем приложении(web app). Встала задача миграции sql lite жр во внешнюю базу. Данное решение было создано: 1. для хранения жр за весь период 2. для ускорения работы с жр 3. для ускорения сервера предприятия, так как именно он (а точнее рагент) пытается записать данные в жр sql lite(фактически файл на диске), после увеличения размера файла более 10 гб, поступали жалобы по вопросу быстродействия 1с (и не только ради этого) Данная публикация может быть полезной администраторам, программистам, оптимизаторам.

1 стартмани

09.07.2018    9179    dmarenin    8    

"Шоколадная" установка 1С

Администрирование данных 1С v8 Россия Абонемент ($m)

Статья о том, как быстро установить и настроить платформу 1С через одну команду: choco install 1c.

1 стартмани

27.06.2018    14328    Scorpion4eg    41    

Tool1CD: отрежем донорскую почку

Сервисные утилиты Разработка внешних компонент v8 Розница Абонемент ($m)

Ваша база мертва? Что ж, кое-что в ней ещё теплится.

1 стартмани

15.05.2018    18271    baton_pk    13    

Исполняемый .bat файл для резервного копирования 1С

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Простейшее решение для выгрузки .dt, доступное любому пользователю 1С.

1 стартмани

14.05.2018    23822    SergPetr    32    

Создание подключаемой обработки табличной части с диалогом запроса параметров заполнения (управляемые формы)

Обработка документов Обработка справочников Практика программирования v8::УФ 1cv8.cf Абонемент ($m)

Пошаговый пример покажет, как сделать обработку табличной части для документа, предварительно открывающую диалоговое окно, где пользователь может указать требуемые характеристики (параметры), по которым произойдет обработка.

1 стартмани

03.05.2018    46634    Mirage78    16    

Использование регулярных выражений (RegExp) в Linux

Сервисные утилиты Администрирование данных 1С Внешние источники данных v8 Абонемент ($m)

Описывается способ использования регулярных выражений (RegExp) в Linux с использованием тех же компонентов, что и в Windows (COM-объекты VBScript.RegExp).

1 стартмани

20.04.2018    8383    vsbronnikov    12    

Настройка регламентных заданий с использованием bat-файлов или vbs-скриптов через механизм Task Scheduler Windows

Администрирование данных 1С v8 Абонемент ($m)

Развернутое описание всех нюансов настройки регламентных заданий без редактирования конфигурации через внешние обработки 1С с использованием bat-файлов или скриптами через механизм Task Scheduler Windows.

1 стартмани

17.04.2018    10953    plebedinskiy    7    

Лицензия не получена: Ошибка программного лицензирования Error=-2147217394 (0x8004100E)

Администрирование данных 1С Информационная безопасность v8 Абонемент ($m)

Решение проблемы пропавшей лицензии и ошибки при ее восстановлении - "Лицензия не получена: Ошибка программного лицензирования Error=-2147217394 (0x8004100E)".

1 стартмани

06.04.2018    11232    a_titeev    4    

Скрипт для установки платформы 1С

Администрирование данных 1С v8 Абонемент ($m)

Еще один баян по установке 1с8 на клиентских машинках без использования групповых политик безопасности.

1 стартмани

07.03.2018    8798    alex0402    7    

Мониторинг изменений рабочих конфигураций. Часть 1. Сохранение конфигураций из базы SQL без конфигуратора

Сервисные утилиты v8 1cv8.cf Абонемент ($m)

Выгружаем исходники из SQL напрямую скриптом, собираем CF и контролируем реальные изменения в рабочих базах из браузера.

1 стартмани

28.02.2018    19059    user768334    25    

Автоматическое оповещение пользователей при проведении документа Поступление товаров, с возможностью дублировать сообщения другому сотруднику

Практика программирования Обработка документов Документооборот и делопроизводство Документооборот и делопроизводство v8 v8::ОУ УТ11 Россия Абонемент ($m)

Данная разработка автоматически оповещает пользователя о поступлении товара по заказу клиента. Схема работы : Заказ клиента > Заказ поставщику > Поступление товаров. Оповещается пользователь, который создавал заказ клиента (менеджер). Оповещение выводится на экран и ждет подтверждения о прочтении. После подтверждения - фиксируется время прочтения оповещения. Есть возможность просматривать все сообщения по пользователю за любой период. Есть возможность дублировать сообщение другим пользователям. Например, если менеджер в отпуске, и его заменяет другой менеджер, и оповещения будут отправляться второму (третьему и т.д.).

1 стартмани

26.02.2018    12476    Natali307192013    8    

Обновление конфигураций на БСП, у которых в расширениях есть собственные объекты с данными

Практика программирования Тестирование и исправление v8 v8::УФ 1cv8.cf Абонемент ($m)

Показан способ обновления конфигураций, основанных на БСП, в тех случаях, когда в расширениях имеются собственные объекты данных (Справочники, Документы, Регистры сведений, Планы обмена).

1 стартмани

12.02.2018    21304    t.v.s.    41    

Практика доступа в базу 1С через протокол oData. Чтение данных

Сервисные утилиты Практика программирования Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Для чего нужен доступ в базу 1С через REST-интерфейс по протокол oData? Как его организовать? Как не будучи гуру в JavaScript и .NET получить быстрый визуальный доступ к данным базы 1С? Попробую дать ответ на эти вопросы и прокомментирую некоторые нюансы, с которыми я столкнулся.

1 стартмани

11.12.2017    91116    Dementor    50    

Перенос журналов регистрации при изменении сервера приложения 1С (клиент-серверный вариант)

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

Описание расположения журналов регистрации информационных баз 1С при клиент-серверном варианте работы с 1С:Предприятие 8. Пример переноса журналов регистрации информационной базы 1С с платформы 1С:8.2 на платформу 1С:8.3

15.08.2017    21989    OlegAl    2    

Инструкция по настройке автообновления платформы и создания общего списка баз

Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Сократите свое время на обновления платформы на ПК пользователей!

1 стартмани

13.07.2017    18214    Waanneek    19    

Решение проблем с обновлением кастомизированных конфигураций на БСП

Тестирование и исправление v8 1cv8.cf Россия Абонемент ($m)

В данной статье рассматриваются действия, необходимые для удаления невыполненных дополнительных процедур обработки данных предыдущих обновлений.

1 стартмани

22.05.2017    17532    biz-intel    4