1C/Эльбрус: различия между версиями
Pauli (обсуждение | вклад) Нет описания правки |
м (+ссылки) |
||
(не показаны 62 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
{{Тимовец|Pauli|email=pauli@altlinux.org}} | {{Тимовец|Pauli|email=pauli@altlinux.org}} | ||
{{Note|Данные, приведенные в статье, проверялись с операционной системой Альт Рабочая станция 10 из дистрибутива alt-workstation-20211211-e2kv4. Оборудование и операционные системы находятся в состоянии интенсивной разработки, поэтому в вашем случае всё то же самое может работать лучше, хуже или не работать совсем. Вы предупреждены.}} | |||
= Клиент = | == Клиент == | ||
== Веб-клиент == | === Веб-клиент === | ||
Самый простой вариант. Согласно [https://v8.1c.ru/tekhnologii/sistemnye-trebovaniya-1s-predpriyatiya-8/ официальным данным], сейчас веб-клиент совместим с Mozilla Firefox версии 52 и выше. Проверить как это работает можно на сайте demo.1c.ru, например для Бухгалтерии - по прямой [https://accounting.demo.1c.ru/accounting ссылке]. | Самый простой вариант. Согласно [https://v8.1c.ru/tekhnologii/sistemnye-trebovaniya-1s-predpriyatiya-8/ официальным данным], сейчас веб-клиент совместим с Mozilla Firefox версии 52 и выше. Проверить как это работает можно на сайте demo.1c.ru, например, для Бухгалтерии - по прямой [https://accounting.demo.1c.ru/accounting ссылке]. | ||
== Тонкий клиент == | === Тонкий клиент === | ||
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.18.1741/1cv8c | |||
/ | Только режим Предприятия. | ||
{{Note|Здесь и далее rtc_opt_rel_p1_x64_ob для систем на процессорах 8С, для 8СВ - rtc_opt_rel_p9_x64_ob}} | |||
=== Толстый клиент === | |||
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.18.1741/1cv8 | |||
=== Интерактивный запуск клиента конкретной версии === | |||
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.18.1741/1cv8s | |||
Все режимы клиента - толстый, тонкий, веб-, и конфигуратор. | |||
= | === Через программу запуска === | ||
= | bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/common/1cestart | ||
Можно запустить все виды клиентов - толстый, тонкий, веб-, и конфигуратор. Автовыбор требуемой версии. | |||
{{Note|В консоли никаких предупреждений быть не должно. В случае появления - разбираться. }} | |||
== Автономный сервер == | |||
=== Автономный сервер с файловой базой данных === | |||
Работает. Пример запуска: | |||
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.21.1302/ibsrv --data=/home/1cdata --address=any | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server started. Ctrl+C to exit. | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server ready. | |||
В нашем примере заранее заранее подготовленный файл базы данных располагается в /home/1cdata/db-data/, параметр --address=any указывает принимать подключения с любых доступных интерфейсов (по умолчанию только с localhost). В данном случае приложение успешно (вплоть до остановки сервера по Ctrl+C) открывается по адресу http://e801.test.alt:8314 | |||
=== Автономный сервер с SQL-базой данных === | |||
e801 ~ # rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- /opt/1cv8/x86_64/8.3.21.1302/ibsrv --data=/home/1cdata --address=any --dbms=PostgreSQL --db-name=Accounting --db-server=localhost --db-user=postgres | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server started. Ctrl+C to exit. | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server ready. | |||
С правами обычного пользователя: | |||
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.21.1302/ibsrv --data=/home/1cdata --address=any --dbms=PostgreSQL --db-name=Accounting --db-server=localhost --db-user=postgres | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server started. Ctrl+C to exit. | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server ready. | |||
Пользователю требуется право на запись в каталог, указанный параметром --data | |||
{{Note|Требуется серверный ключ защиты программы}} | |||
== Рабочий сервер кластера == | |||
Установить и запустить bind. | Установить и запустить bind. | ||
Настроить доменную зону, будущий рабочий сервер должен иметь имя, принадлежащее доменной зоне. | Настроить доменную зону, будущий рабочий сервер должен иметь имя, принадлежащее доменной зоне. | ||
Строка 26: | Строка 56: | ||
Проверить правильность настройки можно командой | Проверить правильность настройки можно командой | ||
ping `hostname` | ping `hostname` | ||
И переключить систему инициализации сети в | И переключить систему инициализации сети в [[etcnet|/etc/net]], чтобы избежать варианта, когда bind запускается прежде инициализации сети - запустится, но отвечать не будет. | ||
* Сервер DNS лучше (правильнее) размещать на отдельной машине. Адреса настроенной доменной зоны должны разрешаться на всех рабочих серверах и клиентах 1С, для этой цели удобно на основном DNS организации настроить форвардинг. Или назначить A-запись рабочего сервера прямо на основном DNS в общей доменной зоне, если возможно. В данной статье описан сценарий подготовки тестового стенда, поэтому решения некоторых задач могут отличаться от применимых при промышленном развёртывании. | * Сервер DNS лучше (правильнее) размещать на отдельной машине. Адреса настроенной доменной зоны должны разрешаться на всех рабочих серверах и клиентах 1С, для этой цели удобно на основном DNS организации настроить форвардинг. Или назначить A-запись рабочего сервера прямо на основном DNS в общей доменной зоне, если возможно. В данной статье описан сценарий подготовки тестового стенда, поэтому решения некоторых задач могут отличаться от применимых при промышленном развёртывании. | ||
== Установка и запуск PostgreSQL == | === Установка и запуск PostgreSQL === | ||
e801 ~ # epm install postgresql13-1C-server postgresql13-1C-contrib | e801 ~ # epm install postgresql13-1C-server postgresql13-1C-contrib | ||
e801 ~ # /etc/init.d/postgresql initdb | e801 ~ # /etc/init.d/postgresql initdb | ||
Строка 37: | Строка 67: | ||
e801 ~ # service postgresql status | e801 ~ # service postgresql status | ||
e801 | e801 ~ # rpm -qa | grep rtc | ||
rtc-4.1-alt1.E2K.1.e2kv4 | rtc-4.1-alt1.E2K.1.e2kv4 | ||
... | ... | ||
== Создание чрута == | === Создание чрута === | ||
wget http://mirror.yandex.ru/altlinux/p10/images/cloud/alt-p10-rootfs-minimal-x86_64.tar.xz | wget http://mirror.yandex.ru/altlinux/p10/images/cloud/alt-p10-rootfs-minimal-x86_64.tar.xz | ||
mkdir -p /opt/x86_64 | mkdir -p /opt/x86_64 | ||
tar -C /opt/x86_64 -xf alt-p10-rootfs-minimal-x86_64.tar.xz | tar -C /opt/x86_64 -xf alt-p10-rootfs-minimal-x86_64.tar.xz | ||
Определить резолвер для чрута | Определить резолвер для чрута (промышленно может пригодиться {{pkg|chrooted}}) | ||
cp /etc/resolv.conf /opt/x86_64/etc/resolv.conf | cp /etc/resolv.conf /opt/x86_64/etc/resolv.conf | ||
e801 ~ # PS1="[x86_64] $PS1" rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- /bin/bash | e801 ~ # PS1="[x86_64] $PS1" rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- /bin/bash | ||
[x86_64] e801 home # | [x86_64] e801 home # _ | ||
Отменить (удалить) требование подписи репозитория | Отменить (удалить) требование подписи репозитория | ||
Строка 56: | Строка 86: | ||
[x86_64] e801 ~ # sed -i 's,\[p10\] ,,' /etc/apt/sources.list.d/alt.list | [x86_64] e801 ~ # sed -i 's,\[p10\] ,,' /etc/apt/sources.list.d/alt.list | ||
[x86_64] e801 ~ # apt-get update | [x86_64] e801 ~ # apt-get update | ||
Проблема сети | Проблема сети | ||
Строка 71: | Строка 101: | ||
установить отсутствующие пакеты с помощью пакетного менеджера операционной | установить отсутствующие пакеты с помощью пакетного менеджера операционной | ||
системы и заново запустить установку платформы. Отсутствующие пакеты приведены | системы и заново запустить установку платформы. Отсутствующие пакеты приведены | ||
ниже и их можно скопировать в буфер обмена: | ниже и их можно скопировать в буфер обмена: <!-- если 1c-preinstall* их не тянет, надо дополнить // mike@ --> | ||
libgtk+3 libenchant libharfbuzz-icu libgstreamer libgst-plugins libsecret | libgtk+3 libenchant libharfbuzz-icu libgstreamer libgst-plugins libsecret libsoup libsqlite3 libGL libEGL libXrender libXfixes libxslt | ||
libsoup libsqlite3 libGL libEGL libXrender libXfixes libxslt | Для работы клиента дополнительно потребуются: | ||
libxapps glibc-locales fonts-ttf-ms libunwind libXt | |||
libxapps | Полностью, одной командой: | ||
apt-get install -y libgtk+3 libenchant libharfbuzz-icu libgstreamer libgst-plugins libsecret libsoup libsqlite3 libGL libEGL libXrender libXfixes libxslt libxapps glibc-locales libunwind libXt fonts-ttf-ms | |||
[x86_64] e801 ~ # | Собственно развертывание: | ||
[x86_64] e801 ~ # ./setup-full-8.3.21.1393-x86_64.run | |||
или | |||
rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/setup-full-8.3.21.1393-x86_64.run | |||
Первый запуск, пока в режиме приложения: | |||
e801 ~ # rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/x86_64/opt/1cv8/x86_64/8.3.21.1393/ragent | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Server Agent started. Ctrl+C to exit. | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Cluster Manager started. Ctrl+C to exit. | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Working Process started. Ctrl+C to exit. | |||
^C | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Cluster Manager finished. | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Working Process finished. | |||
1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Server Agent finished. | |||
При первом запуске в профиле пользователя, в подкаталоге .1cv8, формируются данные кластера. | |||
=== Юнит-файл systemd === | |||
/etc/systemd/system/srv1cv8.service | |||
В каталоге установки, в данном случае /opt/1cv8/x86_64/8.3.21.1302/, должен быть шаблон юнит-файла systemd, файл srv1cv8-8.3.21.1302@.service | |||
Его можно взять за основу, предварив значение параметра ExecStart указанием на запуск в чруте rtc: | |||
= | <syntaxhighlight lang="ini"> | ||
[Unit] | [Unit] | ||
Description=1C:Enterprise Server 8.3 (8.3.21.1302) (%I) | Description=1C:Enterprise Server 8.3 (8.3.21.1302) (%I) | ||
Строка 147: | Строка 183: | ||
Group=grp1cv8 | Group=grp1cv8 | ||
ExecStart=rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- \ | ExecStart=rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- \ | ||
/opt/1cv8/x86_64/8.3.21.1302/ragent \ | /opt/1cv8/x86_64/8.3.21.1302/ragent \ | ||
-d ${SRV1CV8_DATA} \ | -d ${SRV1CV8_DATA} \ | ||
Строка 164: | Строка 200: | ||
DefaultInstance=default | DefaultInstance=default | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
</ | </syntaxhighlight> | ||
e801 ~ # cp srv1cv8.service /etc/systemd/system | e801 ~ # cp srv1cv8.service /etc/systemd/system | ||
Строка 170: | Строка 206: | ||
e801 ~ # systemctl enable srv1cv8 | e801 ~ # systemctl enable srv1cv8 | ||
Created symlink /etc/systemd/system/multi-user.target.wants/srv1cv8.service → /etc/systemd/system/srv1cv8.service. | Created symlink /etc/systemd/system/multi-user.target.wants/srv1cv8.service → /etc/systemd/system/srv1cv8.service. | ||
e801 ~ # adduser usr1cv8 | e801 ~ # adduser usr1cv8 | ||
e801 ~ # groupadd grp1cv8 | e801 ~ # groupadd grp1cv8 | ||
e801 ~ # chown -R usr1cv8:grp1cv8 usr1cv8 | e801 ~ # chown -R usr1cv8:grp1cv8 usr1cv8 | ||
e801 home # systemctl start srv1cv8.service | e801 home # systemctl start srv1cv8.service | ||
e801 home # systemctl status srv1cv8.service | e801 home # systemctl status srv1cv8.service | ||
Строка 198: | Строка 232: | ||
~ | ~ | ||
== Сервер лицензирования == | === Сервер администрирования RAS === | ||
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.21.1302/ras cluster --port=1545 | |||
1C:Enterprise 8.3 (x86-64) (8.3.18.1741) Remote Administration Server started. Ctrl+C to exit. | |||
В каталоге установки, в данном случае /opt/1cv8/x86_64/8.3.21.1302/, должен быть шаблон юнит-файла systemd для ras, файл ras-8.3.21.1302.service. Если его скопировать в /etc/systemd/system/ и отредактировать | |||
ExecStart=rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- \ | |||
Можно будет запускать ras через systemctl. | |||
=== Ключи лицензирования === | |||
[x86_64] e801 ~ # apt-get install haspd | [x86_64] e801 ~ # apt-get install haspd | ||
Подключить токен(ы), проверить видимость в системе | |||
[x86_64] e801 ~ # /usr/sbin/usbkeytest --detect | |||
aladdin | |||
{{attention|Ввиду того, что установка пакета haspd производится в чрут, a USB-токен должен распознаваться основной системой, необходимо переложить или скопировать /lib/udev/rules.d/80-hasp.rules из чрута в основную систему. Перезагрузиться, убедиться что в /dev появился подкаталог ./aks/hasp/ с файлом устройства внутри}} | |||
[x86_64] e801 ~ # service haspd start | [x86_64] e801 ~ # service haspd start | ||
[ | Если ключ(и) только локальные (однопользовательский или серверный), из основной системы можно и так | ||
# rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /home -b /tmp -b /run/dbus -b /dev -b /proc -- /bin/sh -c /usr/sbin/aksusbd | |||
Юнит-файл systemd /etc/systemd/system/aksusbd.service | |||
<syntaxhighlight lang="ini"> | |||
[Unit] | |||
Description=Sentinel LDK Runtime Environment (aksusbd daemon) | |||
Before=hasplmd.service | |||
Requires= | |||
[Service] | |||
Type=forking | |||
ExecStart=rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -- \ | |||
/bin/sh -c /usr/sbin/aksusbd | |||
[Install] | |||
WantedBy=multi-user.target | |||
</syntaxhighlight> | |||
== Совместимое оборудование == | |||
Данные, приведенные в статье, проверялись на оборудовании: | |||
* [http://old.mcst.ru/elbrus_801-pc Вычислительный комплекс Эльбрус 801-РС ТВГИ.466535.175] (1шт Эльбрус 8С, архитектура e2kv4, производитель [http://mcst.ru МЦСТ]); | |||
* [https://servers.norsi-trans.ru/upload/iblock/295/Буклет%20Яхонт%20УВМ%20Э24sff.pdf Сервер ЯХОНТ-УВМ Э24] (Rack 2U, 1шт Эльбрус 8С архитектура e2kv4, 32GB RAM, 2шт SSD 240GB, 2xGeth, 2xБП, производитель [https://servers.norsi-trans.ru/catalog/ Норси-Транс]); | |||
* [https://servers.norsi-trans.ru/upload/iblock/abc/z7salwm8uw0vb9qa293bz86376ce9zna/Листовка%20Яхонт%20УВМ%20Б41.pdf Сервер ЯХОНТ-УВМ Б41] (Rack 2U, 4шт Эльбрус 8СВ архитектура e2kv5, 256GB RAM, 2шт SSD 240GB, 2xGeth, 2xБП, производитель [https://servers.norsi-trans.ru/catalog/ Норси-Транс]);<ref name="NVME" /> | |||
* Машина вычислительная электронная промышленная панельная М К02 ЛКНВ.466215.019.02 (1шт Эльбрус 8С, архитектура e2kv4, производитель [https://ivk.ru АО "ИВК"])<ref name="1C-demo" /> | |||
== Примечания == | |||
<references> | |||
<ref name="NVME">Дополнительное повышение производительности может быть достигнуто установкой опционального накопителя NVME, используемого под каталог баз данных. Проверялось с накопителем p5800x 400gb SSDPF21Q400GB01</ref> | |||
<ref name="1C-demo">[[Файл:1С-elbrus-3.jpg|20px]] - фото экземпляра с демо-версией Бухгалтерии предприятия 3, впервые выставлялся на форуме «Армия-2022»</ref> | |||
</references> | |||
== Ссылки == | |||
* [http://1c.ru/news/info.jsp?id=30134 Поддержка процессоров Эльбрус-8С с версии 8.3.22 платформы "1С:Предприятие"] | |||
{{Category navigation|title=1C|category=1C|sortkey=*}} | {{Category navigation|title=1C|category=1C|sortkey=*}} | ||
{{Category navigation|title=E2K|category=E2K|sortkey=*}} | {{Category navigation|title=E2K|category=E2K|sortkey=*}} |
Текущая версия от 23:06, 31 декабря 2022
Этот участник состоит в ALT Linux Team под ником Pauli.
e-mail: Pauli@altlinux.org |
Клиент
Веб-клиент
Самый простой вариант. Согласно официальным данным, сейчас веб-клиент совместим с Mozilla Firefox версии 52 и выше. Проверить как это работает можно на сайте demo.1c.ru, например, для Бухгалтерии - по прямой ссылке.
Тонкий клиент
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.18.1741/1cv8c
Только режим Предприятия.
Толстый клиент
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.18.1741/1cv8
Интерактивный запуск клиента конкретной версии
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.18.1741/1cv8s
Все режимы клиента - толстый, тонкий, веб-, и конфигуратор.
Через программу запуска
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/common/1cestart
Можно запустить все виды клиентов - толстый, тонкий, веб-, и конфигуратор. Автовыбор требуемой версии.
Автономный сервер
Автономный сервер с файловой базой данных
Работает. Пример запуска:
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.21.1302/ibsrv --data=/home/1cdata --address=any 1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server started. Ctrl+C to exit. 1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server ready.
В нашем примере заранее заранее подготовленный файл базы данных располагается в /home/1cdata/db-data/, параметр --address=any указывает принимать подключения с любых доступных интерфейсов (по умолчанию только с localhost). В данном случае приложение успешно (вплоть до остановки сервера по Ctrl+C) открывается по адресу http://e801.test.alt:8314
Автономный сервер с SQL-базой данных
e801 ~ # rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- /opt/1cv8/x86_64/8.3.21.1302/ibsrv --data=/home/1cdata --address=any --dbms=PostgreSQL --db-name=Accounting --db-server=localhost --db-user=postgres 1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server started. Ctrl+C to exit. 1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server ready.
С правами обычного пользователя:
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.21.1302/ibsrv --data=/home/1cdata --address=any --dbms=PostgreSQL --db-name=Accounting --db-server=localhost --db-user=postgres 1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server started. Ctrl+C to exit. 1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Stand-alone Server ready.
Пользователю требуется право на запись в каталог, указанный параметром --data
Рабочий сервер кластера
Установить и запустить bind. Настроить доменную зону, будущий рабочий сервер должен иметь имя, принадлежащее доменной зоне.
Настроить разрешение имён на адрес, по которому слушает bind. Правильное разрешение адреса совершенно необходимо для запуска и работы рабочего сервера кластера. Проверить правильность настройки можно командой
ping `hostname`
И переключить систему инициализации сети в /etc/net, чтобы избежать варианта, когда bind запускается прежде инициализации сети - запустится, но отвечать не будет.
- Сервер DNS лучше (правильнее) размещать на отдельной машине. Адреса настроенной доменной зоны должны разрешаться на всех рабочих серверах и клиентах 1С, для этой цели удобно на основном DNS организации настроить форвардинг. Или назначить A-запись рабочего сервера прямо на основном DNS в общей доменной зоне, если возможно. В данной статье описан сценарий подготовки тестового стенда, поэтому решения некоторых задач могут отличаться от применимых при промышленном развёртывании.
Установка и запуск PostgreSQL
e801 ~ # epm install postgresql13-1C-server postgresql13-1C-contrib e801 ~ # /etc/init.d/postgresql initdb e801 ~ # chkconfig postgresql on e801 ~ # service postgresql start e801 ~ # service postgresql status
e801 ~ # rpm -qa | grep rtc rtc-4.1-alt1.E2K.1.e2kv4 ...
Создание чрута
wget http://mirror.yandex.ru/altlinux/p10/images/cloud/alt-p10-rootfs-minimal-x86_64.tar.xz mkdir -p /opt/x86_64 tar -C /opt/x86_64 -xf alt-p10-rootfs-minimal-x86_64.tar.xz
Определить резолвер для чрута (промышленно может пригодиться chrooted)
cp /etc/resolv.conf /opt/x86_64/etc/resolv.conf
e801 ~ # PS1="[x86_64] $PS1" rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- /bin/bash [x86_64] e801 home # _
Отменить (удалить) требование подписи репозитория
[x86_64] e801 ~ # sed -i 's,\[p10\] ,,' /etc/apt/sources.list.d/yandex.list [x86_64] e801 ~ # sed -i 's,\[p10\] ,,' /etc/apt/sources.list.d/alt.list
[x86_64] e801 ~ # apt-get update
Проблема сети
[x86_64] e801 ~ # ping `hostname`; echo $? 254 [x86_64] e801 ~ # apt-get install bind-utils [x86_64] e801 ~ # host `hostname` ;; reply from unexpected source: 192.168.1.1#53, expected 192.168.1.1#53 ;; reply from unexpected source: 192.168.1.1#53, expected 192.168.1.1#53 ;; connection timed out; no servers could be reached
Информация: ... Чтобы установка платформы "1С:Предприятие" завершилась успешно, необходимо самостоятельно установить отсутствующие пакеты с помощью пакетного менеджера операционной системы и заново запустить установку платформы. Отсутствующие пакеты приведены ниже и их можно скопировать в буфер обмена:
libgtk+3 libenchant libharfbuzz-icu libgstreamer libgst-plugins libsecret libsoup libsqlite3 libGL libEGL libXrender libXfixes libxslt
Для работы клиента дополнительно потребуются:
libxapps glibc-locales fonts-ttf-ms libunwind libXt
Полностью, одной командой:
apt-get install -y libgtk+3 libenchant libharfbuzz-icu libgstreamer libgst-plugins libsecret libsoup libsqlite3 libGL libEGL libXrender libXfixes libxslt libxapps glibc-locales libunwind libXt fonts-ttf-ms
Собственно развертывание:
[x86_64] e801 ~ # ./setup-full-8.3.21.1393-x86_64.run
или
rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/setup-full-8.3.21.1393-x86_64.run
Первый запуск, пока в режиме приложения:
e801 ~ # rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/x86_64/opt/1cv8/x86_64/8.3.21.1393/ragent 1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Server Agent started. Ctrl+C to exit. 1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Cluster Manager started. Ctrl+C to exit. 1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Working Process started. Ctrl+C to exit. ^C 1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Cluster Manager finished. 1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Working Process finished. 1C:Enterprise 8.3 (x86-64) (8.3.21.1393) Server Agent finished.
При первом запуске в профиле пользователя, в подкаталоге .1cv8, формируются данные кластера.
Юнит-файл systemd
/etc/systemd/system/srv1cv8.service
В каталоге установки, в данном случае /opt/1cv8/x86_64/8.3.21.1302/, должен быть шаблон юнит-файла systemd, файл srv1cv8-8.3.21.1302@.service
Его можно взять за основу, предварив значение параметра ExecStart указанием на запуск в чруте rtc:
[Unit]
Description=1C:Enterprise Server 8.3 (8.3.21.1302) (%I)
Requires=network.target
[Service]
# 1C:Enterprise server keytab file.
# default - usr1cv83.keytab file in 1C:Enterprise server
# installation directory
#
Environment=SRV1CV8_KEYTAB=/opt/1cv8/x86_64/8.3.21.1302/usr1cv8.keytab
# Cluster agent main port
Environment=SRV1CV8_PORT=1540
# Cluster main port for default cluster.
# This port is used by the cluster agent to address
# the central server. Cluster port is also specified
# as the IP port of the working server.
Environment=SRV1CV8_REGPORT=1541
# Port range for connection pool
# example values:
# 45:49
# 45:67,70:72,77:90
Environment=SRV1CV8_RANGE=1560:1591
# 1C:Enterprise server configuration debug mode
# empty value - off
# -debug - on
Environment=SRV1CV8_DEBUG=
# Path to directory with cluster data
Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8
# Security level:
# 0 - default - unprotected connections
# 1 - protected connections only for the time of user
# authentication
# 2 - permanently protected connections
Environment=SRV1CV8_SECLEV=0
# Check period for connection loss detector, milliseconds
Environment=SRV1CV8_PINGPERIOD=1000
# Response timeout for connection loss detector, milliseconds
Environment=SRV1CV8_PINGTIMEOUT=5000
Type=simple
User=usr1cv8
Group=grp1cv8
ExecStart=rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- \
/opt/1cv8/x86_64/8.3.21.1302/ragent \
-d ${SRV1CV8_DATA} \
-port ${SRV1CV8_PORT} \
-regport ${SRV1CV8_REGPORT} \
-range ${SRV1CV8_RANGE} \
-seclev ${SRV1CV8_SECLEV} \
-pingPeriod ${SRV1CV8_PINGPERIOD} \
-pingTimeout ${SRV1CV8_PINGTIMEOUT} \
$SRV1CV8_DEBUG
Restart=always
RestartSec=1
[Install]
DefaultInstance=default
WantedBy=multi-user.target
e801 ~ # cp srv1cv8.service /etc/systemd/system e801 ~ # systemctl daemon-reload e801 ~ # systemctl enable srv1cv8 Created symlink /etc/systemd/system/multi-user.target.wants/srv1cv8.service → /etc/systemd/system/srv1cv8.service. e801 ~ # adduser usr1cv8 e801 ~ # groupadd grp1cv8 e801 ~ # chown -R usr1cv8:grp1cv8 usr1cv8 e801 home # systemctl start srv1cv8.service e801 home # systemctl status srv1cv8.service ● srv1cv8.service - 1C:Enterprise Server 8.3 (8.3.21.1302) () Loaded: loaded (/etc/systemd/system/srv1cv8.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2022-05-11 13:50:23 MSK; 1h 37min ago Main PID: 6134 (ragent) Tasks: 164 (limit: 8560) Memory: 1.7G CPU: 9min 54.330s CGroup: /system.slice/srv1cv8.service ├─6134 /usr/bin/rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- /opt/1cv8/x86_64/8.3.21.1302/rage> ├─6143 [rtc compiler #0 for pid 6134] /opt/1cv8/x86_64/8.3.21.1302/ragent ├─6145 [rtc compiler #1 for pid 6134] /opt/1cv8/x86_64/8.3.21.1302/ragent ├─6159 /usr/bin/rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -x86_arg0 /opt/1cv8/x86_64/8.3.21.13> ├─6169 [rtc compiler #0 for pid 6159] /opt/1cv8/x86_64/8.3.21.1302/rmngr ├─6171 [rtc compiler #1 for pid 6159] /opt/1cv8/x86_64/8.3.21.1302/rmngr ├─6324 /usr/bin/rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -x86_arg0 /opt/1cv8/x86_64/8.3.21.13> ├─6331 [rtc compiler #0 for pid 6324] /opt/1cv8/x86_64/8.3.21.1302/rphost └─6333 [rtc compiler #1 for pid 6324] /opt/1cv8/x86_64/8.3.21.1302/rphost мая 11 13:50:23 e801.test.alt systemd[1]: Started 1C:Enterprise Server 8.3 (8.3.21.1302) (). мая 11 13:50:28 e801.test.alt systemd[1]: /etc/systemd/system/srv1cv8.service:68: DefaultInstance= only makes sense for template units, ignoring. ~
Сервер администрирования RAS
bash-4.4$ rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -b /etc -- /opt/1cv8/x86_64/8.3.21.1302/ras cluster --port=1545 1C:Enterprise 8.3 (x86-64) (8.3.18.1741) Remote Administration Server started. Ctrl+C to exit.
В каталоге установки, в данном случае /opt/1cv8/x86_64/8.3.21.1302/, должен быть шаблон юнит-файла systemd для ras, файл ras-8.3.21.1302.service. Если его скопировать в /etc/systemd/system/ и отредактировать
ExecStart=rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- \
Можно будет запускать ras через systemctl.
Ключи лицензирования
[x86_64] e801 ~ # apt-get install haspd
Подключить токен(ы), проверить видимость в системе
[x86_64] e801 ~ # /usr/sbin/usbkeytest --detect aladdin
[x86_64] e801 ~ # service haspd start
Если ключ(и) только локальные (однопользовательский или серверный), из основной системы можно и так
# rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /home -b /tmp -b /run/dbus -b /dev -b /proc -- /bin/sh -c /usr/sbin/aksusbd
Юнит-файл systemd /etc/systemd/system/aksusbd.service
[Unit]
Description=Sentinel LDK Runtime Environment (aksusbd daemon)
Before=hasplmd.service
Requires=
[Service]
Type=forking
ExecStart=rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -- \
/bin/sh -c /usr/sbin/aksusbd
[Install]
WantedBy=multi-user.target
Совместимое оборудование
Данные, приведенные в статье, проверялись на оборудовании:
- Вычислительный комплекс Эльбрус 801-РС ТВГИ.466535.175 (1шт Эльбрус 8С, архитектура e2kv4, производитель МЦСТ);
- Сервер ЯХОНТ-УВМ Э24 (Rack 2U, 1шт Эльбрус 8С архитектура e2kv4, 32GB RAM, 2шт SSD 240GB, 2xGeth, 2xБП, производитель Норси-Транс);
- Сервер ЯХОНТ-УВМ Б41 (Rack 2U, 4шт Эльбрус 8СВ архитектура e2kv5, 256GB RAM, 2шт SSD 240GB, 2xGeth, 2xБП, производитель Норси-Транс);[1]
- Машина вычислительная электронная промышленная панельная М К02 ЛКНВ.466215.019.02 (1шт Эльбрус 8С, архитектура e2kv4, производитель АО "ИВК")[2]
Примечания
- ↑ Дополнительное повышение производительности может быть достигнуто установкой опционального накопителя NVME, используемого под каталог баз данных. Проверялось с накопителем p5800x 400gb SSDPF21Q400GB01
- ↑ - фото экземпляра с демо-версией Бухгалтерии предприятия 3, впервые выставлялся на форуме «Армия-2022»