Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π½Π° Linux-сСрвСрС β€” Π·Π°Π΄Π°Ρ‡Π°, которая Π΄ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ казалась экзотичСской. Однако с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Linux Π² 2021 Π³ΠΎΠ΄Ρƒ ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ становится всё популярнСС. Компании Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Linux для 1Π‘ ΠΏΠΎ Ρ‚Ρ€Ρ‘ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ: экономия Π½Π° лицСнзиях Windows Server, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Π°Ρ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы ΠΈ Π»ΡƒΡ‡ΡˆΠ°Ρ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ для высоконагруТСнных Π±Π°Π·.

Но ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Linux Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΡ‡Ρ‘Ρ‚Π° нюансов: ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° дистрибутива Π΄ΠΎ настройки SELinux ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с SMB-рСсурсами. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ β€” ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ развёртывания с Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ Π½Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠœΡ‹ рассмотрим ΠΊΠ°ΠΊ установку сСрвСрной части (кластСр сСрвСров 1Π‘), Ρ‚Π°ΠΊ ΠΈ настройку клиСнтских Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… мСст ΠΏΠΎΠ΄ Linux ΠΈ Windows.

Если Π²Ρ‹ администрируСтС Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ компанию с 5–10 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ΅ прСдприятиС с сотнями ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ β€” инструкция Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄ ΠΎΠ±Π° сцСнария. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ рСсурсы сСрвСра, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ"подвисаний" ΠΏΡ€ΠΈ ΠΏΠΈΠΊΠΎΠ²Ρ‹Ρ… Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ….

πŸ“Š Какой дистрибутив Linux Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для 1Π‘?
Ubuntu Server
CentOS/RHEL
Debian
Alt Linux
Π”Ρ€ΡƒΠ³ΠΎΠΉ

1. Π’Ρ‹Π±ΠΎΡ€ дистрибутива Linux для 1Π‘: Ρ‡Ρ‚ΠΎ поддСрТиваСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ

Π€ΠΈΡ€ΠΌΠ° 1Π‘ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сСртифицировала ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… дистрибутивах:

  • πŸ“Œ Ubuntu Server 20.04 LTS / 22.04 LTS (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²)
  • πŸ“Œ CentOS 7.x / RHEL 7.x / 8.x (ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… срСд)
  • πŸ“Œ Debian 10/11 (ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для минималистичных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ)
  • πŸ“Œ Alt Linux (сСрвСрныС Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ, популярны Π² госсСкторС)
  • πŸ“Œ Astra Linux (для систСм с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ трСбованиями ΠΊ бСзопасности)

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ нюанс: вСрсия ядра Linux Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π½ΠΈΠΆΠ΅ 3.10. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ это ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

uname -r

Если вСрсия Π½ΠΈΠΆΠ΅ β€” ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ систСму ΠΏΠ΅Ρ€Π΅Π΄ установкой 1Π‘.

Для производствСнных срСд ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ CentOS/RHEL ΠΈΠ·-Π·Π° долгосрочной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Ubuntu ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ для тСстовых стСндов ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ благодаря простому ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ. ИспользованиС нСсСртифицированных дистрибутивов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Arch Linux) ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с кластСром сСрвСров 1Π‘, особСнно ΠΏΡ€ΠΈ обновлСниях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Начиная с вСрсии 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.20, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… систСм Linux ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш сСрвСр Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° 64-Π±ΠΈΡ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ (x86_64 ΠΈΠ»ΠΈ aarch64 для ARM).

2. ВрСбования ΠΊ сСрвСру: ΠΆΠ΅Π»Π΅Π·ΠΎ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ трСбования ΠΊ сСрвСру для развёртывания 1Π‘ Π½Π° Linux:

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Минимально Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ (Π΄ΠΎ 50 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ) Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ (50+ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ)
ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ 2 ядра, 2.0 Π“Π“Ρ† 4 ядра, 2.5+ Π“Π“Ρ† (Intel Xeon ΠΈΠ»ΠΈ AMD EPYC) 8+ ядСр, 3.0+ Π“Π“Ρ† (с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ AVX2)
ΠžΠ—Π£ 4 Π“Π‘ 16 Π“Π‘ (с Ρ€Π΅Π·Π΅Ρ€Π²ΠΎΠΌ для PostgreSQL) 32+ Π“Π‘ (с Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ swap)
Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ 50 Π“Π‘ (SSD Π½Π΅ обязатСлСн) 200 Π“Π‘ NVMe SSD (для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…) 500+ Π“Π‘ RAID 10 Π½Π° SSD (для высоких Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ)
Π‘Π΅Ρ‚ΡŒ 1 Π“Π±ΠΈΡ‚/с 10 Π“Π±ΠΈΡ‚/с (для кластСра сСрвСров) 10 Π“Π±ΠΈΡ‚/с + Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹

**ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ замСчания ΠΏΠΎ"ΠΆΠ΅Π»Π΅Π·Ρƒ":

  • πŸ”Ή Для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹Ρ… для Linux) ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ latenсy дисковой подсистСмы. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ NVMe SSD ΠΈΠ»ΠΈ SAS SSD Π² RAID 1/10.
  • πŸ”Ή Если ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±Π°Π·Ρ‹ (Π½Π΅ рСкомСндуСтся для Linux), Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ диск ΠΏΠΎΠ΄ /var/1C с ΠΏΡ€Π°Π²Π°ΠΌΠΈ 775.
  • πŸ”Ή Для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, KVM ΠΈΠ»ΠΈ VMware ESXi) ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ количСство Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ядСр Π½Π° 20–30% ΠΎΡ‚ расчётного.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ зависимости:

# Для Debian/Ubuntu

sudo apt update && sudo apt install -y \

libgsf-1-114 \

libxml2 \

libglib2.0-0 \

ntp \

postgresql-client-14 \

samba-client \

cifs-utils

Для CentOS/RHEL

sudo yum install -y \

libgsf \

libxml2 \

glib2 \

ntp \

postgresql \

samba-client \

cifs-utils

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ SELinux (Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² CentOS/RHEL), Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСвСсти Π² Ρ€Π΅ΠΆΠΈΠΌ permissive ΠΈΠ»ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ для 1Π‘. Π˜Π½Π°Ρ‡Π΅ кластСр сСрвСров Π½Π΅ смоТСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с PostgreSQL ΠΈ сСтСвыми рСсурсами.
πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ установкой ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ firewalld ΠΈΠ»ΠΈ настройтС ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΏΠΎΡ€Ρ‚ΠΎΠ² 1540-1541 (кластСр 1Π‘), 1560-1591 (Π°Π³Π΅Π½Ρ‚Ρ‹), 5432 (PostgreSQL).

3. Установка ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π½Π° Linux

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ дистрибутивы 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ для Linux доступны Π² Π²ΠΈΠ΄Π΅ .tar.gz-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1Π‘. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” 8.3.22) ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ дистрибутив с ΠΏΠΎΡ€Ρ‚Π°Π»Π° 1Π‘|Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ usr1cv8|ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° /opt/1C|Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости (см. Ρ€Π°Π·Π΄Π΅Π» 2)|ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ SELinux ΠΈΠ»ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ-->

Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²:

sudo useradd -m usr1cv8

sudo mkdir -p /opt/1C/v8.3/{x86_64,conf}

sudo chown -R usr1cv8:usr1cv8 /opt/1C

Π¨Π°Π³ 2. Распаковка дистрибутива:

tar -xzf 1c-enterprise83-linux-x86_64.tar.gz -C /opt/1C/v8.3/x86_64

Π¨Π°Π³ 3. Установка сСрвСрной части:

sudo /opt/1C/v8.3/x86_64/setup-full-8.3.22.1234

Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

[*] Π‘Π΅Ρ€Π²Π΅Ρ€ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (установим ΠΏΠΎΠ·ΠΆΠ΅)

Π’ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚

Π¨Π°Π³ 4. Настройка автозапуска сСрвисов:

sudo systemctl enable srv1cv83

sudo systemctl start srv1cv83

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° установки:

systemctl status srv1cv83

Π”ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ статус"active (running)"

/opt/1C/v8.3/x86_64/rac cluster list

Π”ΠΎΠ»ΠΆΠ΅Π½ вывСсти список кластСров (ΠΏΠΎΠΊΠ° пустой)

Если Π½Π° этапС установки Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "Failed to load module: libgsf-1", ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ libgsf-1-114 установлСн ΠΈ Π΅Π³ΠΎ вСрсия совмСстима с вашим дистрибутивом. Для Ubuntu 22.04 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ручная установка ΠΈΠ· рСпозитория Jammy.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли установка прСрываСтся с ошибкой"Permission denied"?

Ошибка связана с Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /opt/1C. Π˜ΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ ΠΏΡ€Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo chown -R usr1cv8:usr1cv8 /opt/1C

sudo chmod -R 755 /opt/1C

Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сохраняСтся, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ umask Π² /etc/profile β€” ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ 0022.

4. Настройка кластСра сСрвСров 1Π‘

ΠšΠ»Π°ΡΡ‚Π΅Ρ€ сСрвСров 1Π‘ Π½Π° Linux управляСтся Ρ‡Π΅Ρ€Π΅Π· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ rac (Remote Administration Console). Для создания кластСра Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

/opt/1C/v8.3/x86_64/rac cluster create --name=MainCluster \

--port=1540 \

--range=1560-1591 \

--manager-port=1541 \

--repository=/var/1C/repository

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ кластСра:

  • πŸ”§ --name β€” имя кластСра (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MainCluster).
  • πŸ”§ --port β€” ΠΏΠΎΡ€Ρ‚ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 1540).
  • πŸ”§ --range β€” Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠΎΡ€Ρ‚ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 10 ΠΏΠΎΡ€Ρ‚ΠΎΠ²).
  • πŸ”§ --repository β€” ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° 775).

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ сСрвСра Π² кластСр:

/opt/1C/v8.3/x86_64/rac server create --cluster=MainCluster \

--name=Server1 \

--address=localhost \

--port=1540 \

--manager-port=1541

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса кластСра:

/opt/1C/v8.3/x86_64/rac cluster list

/opt/1C/v8.3/x86_64/rac server list --cluster=MainCluster

Если кластСр Π½Π΅ запускаСтся, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ Π»ΠΈ ΠΏΠΎΡ€Ρ‚Ρ‹ 1540-1541 ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ 1560-1591 Π² firewall.
  2. Достаточно Π»ΠΈ ΠΏΡ€Π°Π² Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ usr1cv8 Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /var/1C/repository.
  3. Π—Π°ΠΏΡƒΡ‰Π΅Π½ Π»ΠΈ сСрвис srv1cv83 (systemctl status srv1cv83).
πŸ’‘

Для высокой доступности рСкомСндуСтся Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 2 Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… сСрвСров Π² кластСрС. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ автоматичСски ΠΏΠ΅Ρ€Π΅Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡƒΠ·Π»ΠΎΠ².

5. Установка ΠΈ настройка PostgreSQL для 1Π‘

PostgreSQL β€” рСкомСндуСмая Π‘Π£Π‘Π” для 1Π‘ Π½Π° Linux. УстановитС Π²Π΅Ρ€ΡΠΈΡŽ 14 ΠΈΠ»ΠΈ 15 (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ):

# Для Ubuntu/Debian

sudo sh -c'echo"deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt update

sudo apt install -y postgresql-15 postgresql-client-15

Для CentOS/RHEL

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo dnf install -y postgresql15-server postgresql15-contrib

Настройка PostgreSQL для 1Π‘:

  1. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ кластСр Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…:
    sudo -u postgres /usr/pgsql-15/bin/initdb -D /var/lib/pgsql/15/data
  2. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ автозапуск ΠΈ запуститС сСрвис:
    sudo systemctl enable postgresql-15
    

    sudo systemctl start postgresql-15

  3. НастройтС Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π² /var/lib/pgsql/15/data/pg_hba.conf:
    # Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ
    

    local all all trust

    host all all 127.0.0.1/32 trust

    host all all::1/128 trust

    Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: для производствСнной срСды Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ trust Π½Π° md5 ΠΈ настройтС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ!
  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для 1Π‘:
    sudo -u postgres createuser usr1cv8
    

    sudo -u postgres createdb -O usr1cv8 db1c

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ PostgreSQL для 1Π‘:

ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ /var/lib/pgsql/15/data/postgresql.conf:

shared_buffers = 4GB # 25% ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅ΠΉ RAM

effective_cache_size = 12GB # 75% ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅ΠΉ RAM

maintenance_work_mem = 1GB # Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ VACUUM

work_mem = 64MB # Для сортировок

max_connections = 200 # ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 1Π‘

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±Π°Π·Ρ‹ 1Π‘ Π½Π° Linux, ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ сСтСвой рСсурс Ρ‡Π΅Ρ€Π΅Π· SMB/CIFS с опциями vers=3.0,uid=usr1cv8,gid=usr1cv8,file_mode=0775,dir_mode=0775. Π˜Π½Π°Ρ‡Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ошибки Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².

6. Π Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с 1Π‘ Π½Π° Linux доступны Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²:

  1. Волстый ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Wine ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹).
  2. Π’ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ поддСрТиваСтся Π½Π° Linux).
  3. Π’Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, кроссплатформСнный).

Установка Ρ‚ΠΎΠ½ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°:

sudo apt install -y /opt/1C/v8.3/x86_64/1c-enterprise83-thin-client-8.3.22.1234.x86_64.deb

Или для CentOS/RHEL:

sudo rpm -ivh /opt/1C/v8.3/x86_64/1c-enterprise83-thin-client-8.3.22.1234.x86_64.rpm

Запуск Ρ‚ΠΎΠ½ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°:

/opt/1C/v8.3/x86_64/1cv8t --debug

Настройка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ кластСру:

  • πŸ–₯️ Π’ ΠΏΠΎΠ»Π΅"Π‘Π΅Ρ€Π²Π΅Ρ€" ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ IP ΠΈΠ»ΠΈ имя хоста Linux-сСрвСра.
  • πŸ”‘ ΠŸΠΎΡ€Ρ‚ β€” 1540 (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).
  • πŸ“‚ Имя Π±Π°Π·Ρ‹ β€” ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя, созданноС Π² PostgreSQL.
  • πŸ‘€ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ β€” usr1cv8 (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, созданный Π² Π‘Π£Π‘Π”).

Для Windows-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²:

УстановитС стандартный дистрибутив 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ Π² настройках ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅:

  • 🌐 АдрСс сСрвСра: linux-server-ip:1540
  • πŸ” Π’ΠΈΠΏ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ:"АутСнтификация 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ"

Если ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС с сСрвСром 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ", ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  • πŸ”Œ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ Π»ΠΈ ΠΏΠΎΡ€Ρ‚ 1540 Π½Π° Linux-сСрвСрС.
  • πŸ›‘οΈ НС Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ SELinux ΠΈΠ»ΠΈ AppArmor.
  • πŸ”„ Π‘ΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π»ΠΈ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° сСрвСрС ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

7. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ 1Π‘ Π½Π° Linux администраторы ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Рассмотрим самыС частыС:

Ошибка ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
Failed to load module: libxslt.so.1 ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libxslt
sudo apt install libxslt1.1 # Debian/Ubuntu

sudo yum install libxslt # CentOS/RHEL

Connection refused (port 1540) ΠŸΠΎΡ€Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ firewall ΠΈΠ»ΠΈ сСрвис Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½
sudo ufw allow 1540/tcp

sudo systemctl restart srv1cv83

Permission denied for /var/1C НСвСрныС ΠΏΡ€Π°Π²Π° Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
sudo chown -R usr1cv8:usr1cv8 /var/1C

sudo chmod -R 775 /var/1C

PostgreSQL: role"usr1cv8" does not exist НС создан ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Π‘Π£Π‘Π”
sudo -u postgres createuser usr1cv8

sudo -u postgres psql -c"ALTER USER usr1cv8 WITH PASSWORD'password';"

SELinux is preventing /usr/sbin/ragent ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ SELinux Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ процСссы
sudo setenforce 0

Или настройтС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ:

sudo audit2allow -a -M 1c_selinux

sudo semodule -i 1c_selinux.pp

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

  • πŸ“‘ Для диагностики сСтСвых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:
    telnet linux-server-ip 1540
    

    nc -zv linux-server-ip 1540

  • πŸ“ Π›ΠΎΠ³ΠΈ кластСра 1Π‘ хранятся Π² /var/log/1C/. Π˜Ρ‰ΠΈΡ‚Π΅ ошибки Π² srv1cv83.log ΠΈ ragent.log.
  • πŸ”„ Если послС обновлСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ кластСр Π½Π΅ запускаСтся, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:
    sudo systemctl stop srv1cv83
    

    sudo /opt/1C/v8.3/x86_64/rac cluster repair --cluster=MainCluster

    sudo systemctl start srv1cv83

Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½Π° β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ вСрсий:

  • ВСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 8.3.22.1234).
  • ВСрсия PostgreSQL Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π½ΠΈΠΆΠ΅ 12 (рСкомСндуСтся 14–15).
  • ВСрсия glibc Π½Π° сСрвСрС Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ β‰₯ 2.17 (провСряСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ldd --version).

8. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Для обСспСчСния ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘ Π½Π° Linux Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки:

1. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ядра Linux:

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² /etc/sysctl.conf:

vm.swappiness = 10

vm.dirty_ratio = 5

vm.dirty_background_ratio = 3

net.core.somaxconn = 1024

net.ipv4.tcp_keepalive_time = 60

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ измСнСния:

sudo sysctl -p

2. Настройка ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°:

Для SSD-дисков ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ deadline ΠΈΠ»ΠΈ noop:

echo deadline | sudo tee /sys/block/sdX/queue/scheduler

Для HDD β€” cfq.

3. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ PostgreSQL:

НастройтС postgresql.conf Π² зависимости ΠΎΡ‚ ΠΎΠ±ΡŠΡ‘ΠΌΠ° ΠžΠ—Π£:

  • πŸ“Œ shared_buffers = 25% ΠΎΡ‚ RAM (Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 8 Π“Π‘).
  • πŸ“Œ effective_cache_size = 50–75% ΠΎΡ‚ RAM.
  • πŸ“Œ work_mem = 16–64 ΠœΠ‘ (зависит ΠΎΡ‚ количСства ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов).

4. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π°:

# Нагрузка Π½Π° CPU

top -c | grep -E'ragent|rmngr'

ИспользованиС памяти PostgreSQL

sudo -u postgres psql -c"SELECT pg_size_pretty(pg_database_size('db1c'));"

5. Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅:

АвтоматизируйтС бэкапы PostgreSQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pg_dump:

sudo -u postgres pg_dump -Fc db1c > /backup/db1c_$(date +%Y-%m-%d).dump

Или настройтС WAL-Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ восстановлСния.

πŸ’‘

Для Π±Π°Π· с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 100 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ рСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ PostgreSQL Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр. Π­Ρ‚ΠΎ снизит Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму ΠΈ ускорит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов.

FAQ: ЧастыС вопросы ΠΏΠΎ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ 1Π‘ Π½Π° Linux

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±Π°Π·Ρ‹ 1Π‘ Π½Π° Linux?

ВСхничСски Π΄Π°, Π½ΠΎ Π½Π΅ рСкомСндуСтся для производствСнных систСм. Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ монтирования сСтСвого рСсурса ΠΏΠΎ SMB/CIFS, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ:

  • 🐒 Π—Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈ высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.
  • πŸ”’ Ошибкам Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ("Π€Π°ΠΉΠ» занят Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ").
  • πŸ’₯ ΠŸΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Ρ‹Π²Π΅ соСдинСния.

Для Linux ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с PostgreSQL. Если Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ NFS v4 вмСсто SMB.

Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ 1Π‘ Π½Π° Linux?

ΠŸΡ€ΠΎΡ†Π΅ΡΡ обновлСния состоит ΠΈΠ· 4 шагов:

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ дистрибутив с ΠΏΠΎΡ€Ρ‚Π°Π»Π° 1Π‘.
  2. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ сСрвис:
    sudo systemctl stop srv1cv83
  3. РаспакуйтС Π°Ρ€Ρ…ΠΈΠ² ΠΏΠΎΠ²Π΅Ρ€Ρ… старой вСрсии:
    tar -xzf 1c-enterprise83-linux-x86_64-new.tar.gz -C /opt/1C/v8.3/x86_64 --overwrite
  4. ЗапуститС сСрвис ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ:
    sudo systemctl start srv1cv83
    

    /opt/1C/v8.3/x86_64/rac about

⚠️ Π’Π°ΠΆΠ½ΠΎ: ПослС обновлСния Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ кластСра:

/opt/1C/v8.3/x86_64/rac cluster repair --cluster=MainCluster
Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· 1Π‘ Π½Π° Linux?

Для PostgreSQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ pg_dump ΠΈ cron:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ скрипт /usr/local/bin/backup_1c.sh:
    #!/bin/bash
    

    BACKUP_DIR="/backup/1c"

    DATE=$(date +%Y-%m-%d_%H-%M)

    sudo -u postgres pg_dump -Fc db1c > $BACKUP_DIR/db1c_$DATE.dump

    find $BACKUP_DIR -type f -mtime +7 -delete

  2. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ исполняСмым:
    sudo chmod +x /usr/local/bin/backup_1c.sh
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Ρƒ Π² cron:
    sudo crontab -e
    

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку (Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΉ бэкап Π² 2:00)

    0 2 * /usr/local/bin/backup_1c.sh

Для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ rsync:

rsync -avz --delete /var/1C/bases/ /backup/1c_bases/
МоТно Π»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 1Π‘ Π½Π° Linux Π² Docker?

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ 1Π‘ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Docker, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° GitHub). Риски Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

  • 🚫 НСт Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ (особСнно ΠΏΡ€ΠΈ обновлСниях).
  • 🐌 ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΠΈΠΆΠ΅ Π½Π° 15–30% ΠΈΠ·-Π·Π° Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • πŸ”’ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (трСбуСтся привязка ΠΊ"ΠΆΠ΅Π»Π΅Π·Ρƒ").

Если всё ΠΆΠ΅ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Docker,following Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ: