1C/Эльбрус: различия между версиями

Материал из ALT Linux Wiki
< 1C
Нет описания правки
Строка 22: Строка 22:
  1C:Enterprise 8.3 (x86-64)  (8.3.21.1302) Stand-alone Server ready.
  1C:Enterprise 8.3 (x86-64)  (8.3.21.1302) Stand-alone Server ready.
  ^C1C:Enterprise 8.3 (x86-64)  (8.3.21.1302) Stand-alone Server stopped.
  ^C1C:Enterprise 8.3 (x86-64)  (8.3.21.1302) Stand-alone Server stopped.
В нашем примере заранее заранее подготовленный файл базы данных располагается в /home/1cdata/db-data/, параметр --address=any указывает принимать подключения с любых доступных интерфейсов (по умолчанию только с localhost). В данном случае приложение успешно открывается по адресу http://e801.test.alt:8314
В нашем примере заранее заранее подготовленный файл базы данных располагается в /home/1cdata/db-data/, параметр --address=any указывает принимать подключения с любых доступных интерфейсов (по умолчанию только с localhost). В данном случае приложение успешно (вплоть до остановки сервера по Ctrl+C) открывается по адресу http://e801.test.alt:8314
 
== Автономный сервер с SQL-базой данных ==
== Автономный сервер с SQL-базой данных ==
= Рабочий сервер кластера =
= Рабочий сервер кластера =

Версия от 08:50, 18 мая 2022

Mozilla.svg Этот участник состоит в ALT Linux Team под ником Pauli.

e-mail: Pauli@altlinux.org


Примечание: Данные, приведенные в статье, проверялись на вычислительном комплексе Эльбрус 801-РС ТВГИ.466535.175 с операционной системой Альт Рабочая станция 10 из дистрибутива alt-workstation-20211211-e2kv4. Оборудование и операционные системы находятся в состоянии интенсивной разработки, поэтому в вашем случае всё то же самое может работать лучше, хуже или не работать совсем. Вы предупреждены.

Клиент

Веб-клиент

Самый простой вариант. Согласно официальным данным, сейчас веб-клиент совместим с Mozilla Firefox версии 52 и выше. Проверить как это работает можно на сайте demo.1c.ru, например для Бухгалтерии - по прямой ссылке.

Тонкий клиент

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 -- /opt/1cv8/x86_64/8.3.21.1302/1cv8s
/built/src/build-v8/../src/unix/utilsunx.cpp(578): assert "*argv" failed in wxExecute(): can't exec empty command
(1cv8s:11988): Gtk-WARNING **: 12:04:59.045: Could not load a pixbuf from /org/gtk/libgtk/theme/Adwaita/assets/check-symbolic.svg.
This may indicate that pixbuf loaders or the mime database could not be found.
(1cv8s:11988): Gtk-WARNING **: 12:04:59.246: gtk_window_set_titlebar() called on a realized window
Примечание: В опыте с Эльбрус 901-РС проблемы не было и клиент более-менее стартовал. Предположительно, по причине другой версии процессора и бинарного транслятора - rtc_opt_rel_p9_x64_ob

Толстый клиент

admin@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/1cv8
Ошибка сегментирования
Примечание: В опыте с Эльбрус 901-РС проблема не проявлялась. Предположительно, то же что и с тонким клиентом.

Автономный сервер

Автономный сервер с файловой базой данных

Работает. Пример запуска:

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
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.
^C1C:Enterprise 8.3 (x86-64)  (8.3.21.1302) Stand-alone Server stopped.

В нашем примере заранее заранее подготовленный файл базы данных располагается в /home/1cdata/db-data/, параметр --address=any указывает принимать подключения с любых доступных интерфейсов (по умолчанию только с localhost). В данном случае приложение успешно (вплоть до остановки сервера по Ctrl+C) открывается по адресу http://e801.test.alt:8314

Автономный сервер с SQL-базой данных

Рабочий сервер кластера

Установить и запустить bind. Настроить доменную зону, будущий рабочий сервер должен иметь имя, принадлежащее доменной зоне.

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

ping `hostname`

И переключить систему инициализации сети в Etcnet, чтобы избежать варианта когда 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 home # 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

Определить резолвер для чрута

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

[x86_64] e801 ~ # apt-get install 1c-preinstall-full libxapps
[x86_64] e801 ~ # ./setup-full-8.3.21.1302-x86_64.run
rtc_opt_rel_p1_x64_ob --path_prefix /opt/x86_64 -b /tmp -b /run -b /dev -b /proc -b /home -- /opt/setup-full-8.3.21.1302-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 -- /opt/x86_64/opt/1cv8/x86_64/8.3.21.1302/ragent
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Server Agent started. Ctrl+C to exit.
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Cluster Manager started. Ctrl+C to exit.
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Working Process started. Ctrl+C to exit.
^C
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Cluster Manager finished.
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Working Process finished.
1C:Enterprise 8.3 (x86-64) (8.3.21.1302) Server Agent finished.

Юнит-файл systemd

srv1cv8.service

[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 -- \
                        /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.
~

Сервер лицензирования

[x86_64] e801 ~ # apt-get install haspd
[x86_64] e801 ~ # service haspd start
[x86_64] e801 ~ # /usr/sbin/usbkeytest --detect
aladdin