Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
- Подготовьте облако к работе
- Подготовьте инфраструктуру
- Создайте ВМ для сервера «1С:Предприятие»
- Создайте ВМ для сервера лицензирования
- Создайте кластер Managed Service for PostgreSQL
- Настройте Samba-сервер
- Установите сервер «1С:Предприятия»
- Настройте Samba-сервер для сервера лицензий
- Установите сервер «1С:Предприятия» для сервера лицензий
- Настройте кластер серверов
- Настройте информационную базу
- Подключитесь к информационной базе
- Удалите созданные ресурсы
В Yandex Cloud есть возможность создать кластер PostgreSQL, оптимизированный для работы с системой «1С:Предприятие». Чтобы настроить работу «1С:Предприятия», нужно создать рабочий сервер, сервер лицензий и кластер Yandex Managed Service for PostgreSQL. Для корректной работы серверов 1С на них следует отключить службы безопасности, поэтому доступ к кластеру будет осуществляться через шифрованное соединение с сервером OpenVPN, а сами серверы 1С не будут иметь выхода в интернет. Серверы 1С будут работать под управлением CentOS Stream, настройка кластера 1С будет осуществляться с помощью консоли администрирования в Windows.
Примечание
Для работы с системой «1С:Предприятие» вам понадобится лицензия. Подробнее о лицензиях и их установке читайте на сайте «1С:Предприятия»
Чтобы настроить работу серверов «1С:Предприятия»:
- Подготовьте облако к работе.
- Подготовьте инфраструктуру.
- Создайте виртуальную машину для сервера «1С:Предприятие».
- Создайте ВМ для сервера лицензирования.
- Создайте кластер Managed Service for PostgreSQL.
- Настройте Samba-сервер.
- Установите сервер «1С:Предприятия».
- Настройте Samba-сервер для сервера лицензий.
- Установите сервер «1С:Предприятия» для сервиса лицензий.
- Настройте кластер серверов.
- Настройте информационную базу.
- Подключитесь к информационной базе.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры «1С:Предприятия» в Yandex Cloud входит:
- Плата за диски и постоянно запущенные ВМ (см. тарифы Yandex Compute Cloud).
- Плата за постоянно запущенный кластер Managed Service for PostgreSQL (см. тарифы Managed Service for PostgreSQL).
- Плата за использование динамического или статического публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud).
Подготовьте инфраструктуру
- На вашем компьютере должен быть установлен клиент «1С:Предприятия» для проверки работы информационной базы и административная консоль 1С для управления кластером серверов.
- В вашем облаке должна быть запущена ВМ с настроенным OpenVPN для безопасного соединения с серверами 1C.
Примечание
Необходимые дистрибутивы вы можете загрузить на сайте «1С:Предприятия»
Создайте ВМ для сервера «1С:Предприятие»
Чтобы создать ВМ:
- На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. - В поле Имя введите имя ВМ:
server-1c
. - Выберите зону доступности, в которой будет находиться ВМ.
- В блоке Образы из Cloud Marketplace нажмите кнопку Выбрать. Выберите публичный образ CentOS Stream.
- В блоке Вычислительные ресурсы:
- Выберите платформу.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 4.
- Гарантированная доля vCPU — 100%.
- RAM — 4 ГБ.
- В блоке Сетевые настройки выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, вы можете создать их прямо на странице создания ВМ.
- В поле Публичный адрес оставьте значение Без адреса. Доступ на ВМ будет осуществляться через сервер OpenVPN.
- Укажите данные для доступа на ВМ:
-
В поле Логин введите имя пользователя.
-
В поле SSH-ключ вставьте содержимое файла открытого ключа.
Пару ключей для подключения по SSH необходимо создать самостоятельно, см. раздел о подключении к ВМ по SSH.
-
- Нажмите кнопку Создать ВМ.
Создание ВМ может занять несколько минут.
Создайте ВМ для сервера лицензирования
Лицензия для «1С:Предприятия» должна быть установлена на отдельном сервере, чтобы изменения конфигурации других серверов не затрагивали установленную лицензию.
Чтобы создать ВМ:
- На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. - В поле Имя введите имя ВМ:
licensing-server-1c
. - Выберите зону доступности, в которой будет находиться ВМ.
- В блоке Образы из Cloud Marketplace нажмите кнопку Выбрать. Выберите публичный образ CentOS Stream.
- В блоке Вычислительные ресурсы:
- Выберите платформу.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 4.
- Гарантированная доля vCPU — 100%.
- RAM — 4 ГБ.
- В блоке Сетевые настройки выберите сеть и подсеть, к которым нужно подключить ВМ. ВМ нужно создавать в той же подсети, где находится сервер OpenVPN.
- В поле Публичный адрес оставьте значение Без адреса. Доступ на ВМ будет осуществляться через сервер OpenVPN.
- Укажите данные для доступа на ВМ:
- В поле Логин введите имя пользователя.
- В поле SSH-ключ вставьте содержимое файла открытого ключа.
- Нажмите кнопку Создать ВМ.
Создание ВМ может занять несколько минут.
Создайте кластер Managed Service for PostgreSQL
В Yandex Cloud можно создать кластер Managed Service for PostgreSQL с настройками, оптимизированными для работы с платформой «1С:Предприятие». Настройки кластера могут варьироваться в зависимости от требований вашего проекта.
Чтобы создать оптимизированный для работы с 1С кластер Managed Service for PostgreSQL:
- На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Кластер Managed Service for PostgreSQL. - В поле Имя введите имя кластера:
1c-pg
. - В списке Версия выберите
10-1c
. - В блоке Класс хоста выберите s2.small.
- В блоке Размер хранилища укажите local-ssd и укажите размер 100 ГБ.
- В блоке База данных:
- Имя БД —
1c-database
. - Имя пользователя —
user1
. - Пароль – пароль, который вы будете использовать для доступа к базе.
- Сеть — сеть, в которой будет находиться кластер.
- Локаль сортировки —
ru_RU.UTF-8
. - Локаль набора символов —
ru_RU.UTF-8
.
- Имя БД —
- В блоке Хосты выберите разные зоны доступности для ваших хостов, чтобы обеспечить отказоустойчивость.
- Нажмите кнопку Создать кластер.
Создание кластера БД может занять несколько минут.
Настройте Samba-сервер
Подключитесь к ВМ server-1c
по SSH.
-
Установите Samba, необходимые зависимости и текстовый редактор
nano
:sudo yum install nano samba samba-client samba-common, net-utils
-
Отключите работу протокола IPv6, чтобы избежать конфликтов в работе сервера. Для этого откройте файл
/etc/sysctl.conf
:sudo nano /etc/sysctl.conf
-
Добавьте в файл следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
-
Добавьте следующие строки в файл
/etc/sysconfig/network
:NETWORKING_IPv6=no HOSTNAME=server-1c
-
Настройте общий каталог. Откройте файл конфигурации Samba:
sudo nano /etc/samba/smb.conf
-
Приведите файл к следующему виду:
[global] workgroup = WORKGROUP server string = Samba Server%v netbios name = centos security = user map to guest = bad user dns proxy = no passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups iptions = raw security = user [files] path = /1c-files browsable = yes writable = yes guest ok = yes read only = no
-
Создайте общий каталог и дайте на него права:
sudo mkdir /1c-files sudo chmod -R 777 /1c-files
-
Отключите файрвол:
sudo systemctl stop firewalld sudo systemctl disable firewalld
-
Отключите SELinux. Откройте конфигурацию SELinux командой
sudo nano /etc/sysconfig/selinux
и измените параметрSELINUX
:SELINUX=disabled
-
Добавьте службу Samba-сервера в список автозагрузки и перезапустите ее:
sudo systemctl enable smb.service Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service. sudo systemctl restart smb.service
Установите сервер «1С:Предприятия»
Установите сервер «1С:Предприятия» на ВМ:
- Загрузите архив с дистрибутивом на вашу ВМ в папку
1c-files
. - Распакуйте дистрибутив и запустите установку:
sudo tar –xvf /1c-files/<имя_архива>
sudo yum localinstall /1c-files/*.rpm
- Запустите сервер 1С:
sudo systemctl start srv1cv83
- Убедитесь, что служба сервера «1С:Предприятие» запущена:
systemctl status srv1cv83
● srv1cv83.service - SYSV: Starts and stops the 1C:Enterprise daemons
Loaded: loaded (/etc/rc.d/init.d/srv1cv83; bad; vendor preset: disabled)
Active: active (exited) since Tue 2020-02-04 14:40:43 UTC; 4 days ago
Docs: man:systemd-sysv-generator(8)
Process: 27364 ExecStart=/etc/rc.d/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)
Настройте Samba-сервер для сервера лицензий
Подключитесь к ВМ licensing-server-1c
по SSH.
-
Установите Samba, необходимые зависимости и текстовый редактор
nano
:sudo yum install nano samba samba-client samba-common, net-utils
-
Отключите работу протокола IPv6, чтобы избежать конфликтов в работе сервера. Для этого откройте файл
/etc/sysctl.conf
:sudo nano /etc/sysctl.conf
-
Добавьте в файл следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
-
Добавьте следующие строки в файл
/etc/sysconfig/network
, выполнив командуsudo nano /etc/sysconfig/network
:NETWORKING_IPv6=no HOSTNAME=licensing-server-1c
-
Настройте общий каталог. Для этого откройте файл конфигурации Samba:
sudo nano /etc/samba/smb.conf
-
Приведите файл к следующему виду:
[global] workgroup = WORKGROUP server string = Samba Server%v netbios name = centos security = user map to guest = bad user dns proxy = no passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups iptions = raw security = user [files] path = /1c-files browsable = yes writable = yes guest ok = yes read only = no
-
Создайте общий каталог и дайте на него права:
sudo mkdir /1c-files sudo chmod -R 777 /1c-files
-
Отключите файрвол:
sudo systemctl stop firewalld sudo systemctl disable firewalld
-
Отключите SELinux. Откройте конфигурацию SELinux командой
sudo nano /etc/sysconfig/selinux
и измените параметрSELINUX
:SELINUX=disabled
-
Добавьте службу Samba-сервера в список автозагрузки и перезапустите ее:
sudo systemctl enable smb.service Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service. sudo systemctl restart smb.service
Установите сервер «1С:Предприятия» для сервера лицензий
Установите сервер «1С:Предприятия» на ВМ:
- Загрузите архив с дистрибутивом на вашу ВМ в папку
1c-files
. - Распакуйте дистрибутив и запустите установку:
sudo tar –xvf /1c-files/<имя_архива>
sudo yum localinstall /1c-files/*.rpm
- Запустите сервер 1С:
sudo systemctl start srv1cv83
- Убедитесь, что служба сервера «1С:Предприятие» запущена:
systemctl status srv1cv83
● srv1cv83.service - SYSV: Starts and stops the 1C:Enterprise daemons
Loaded: loaded (/etc/rc.d/init.d/srv1cv83; bad; vendor preset: disabled)
Active: active (exited) since Tue 2020-02-04 14:40:43 UTC; 4 days ago
Docs: man:systemd-sysv-generator(8)
Process: 27364 ExecStart=/etc/rc.d/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)
Настройте кластер серверов
Перед работой необходимо настроить роли серверов и добавить в кластер информационную базу.
- Запустите консоль администрирования 1С на вашем компьютере.
- Добавьте центральный сервер «1С:Предприятия». Откройте контекстное меню списка серверов, выберите Новый и Центральный сервер 1С:Предприятия 8.3.
- В поле Имя введите
server-1c
и нажмите OK. В дереве слева отобразится локальный кластер. - Добавьте рабочий сервер в кластер. Откройте контекстное меню Рабочие серверы, выберите Новый и Рабочий сервер. В открывшемся окне в поле Компьютер введите
licensing-server-1c
. Этот сервер будет использоваться для раздачи лицензий другим серверам. - В блоке Требования назначения функциональности сервера
licensing-server-1c
откройте контекстное меню, выберите Новый и Требование назначения функциональности.- В списке Объект требования выберите Любой объект требования.
- В списке Тип требования выберите Не назначать.
- Остальные параметры оставьте без изменений и нажмите кнопку OK.
- Примените требования назначения к кластеру: откройте контекстное меню кластера и выберите Применить требования назначения функциональности (полное).
- Добавьте еще одно требование назначения функциональности серверу
licensing-server-1c
со следующими параметрами:- В списке Объект требования выберите Сервис лицензирования.
- В списке Тип требования выберите Назначать.
- Остальные параметры оставьте без изменений и нажмите кнопку OK.
- Примените требования назначения функциональности к кластеру: откройте контекстное меню кластера и выберите Применить требования назначения функциональности (полное).
- Добавьте требование назначения функциональности серверу
server-1c
со следующими параметрами:- В списке Объект требования выберите Клиентское соединение.
- В списке Тип требования выберите Назначать.
- Остальные параметры оставьте без изменений и нажмите кнопку OK.
- Добавьте еще одно требование назначения функциональности серверу
server-1c
со следующими параметрами:- В списке Объект требования выберите Сервис лицензирования.
- В списке Тип требования выберите Не назначать.
- Остальные параметры оставьте без изменений и нажмите кнопку OK.
- Примените требования назначения функциональности к кластеру: откройте контекстное меню кластера и выберите Применить требования назначения функциональности (полное).
Настройте информационную базу
-
В консоли администрирования откройте контекстное меню элемента Информационные базы, выберите пункт Новая и Информационная база.
-
В открывшемся окне задайте параметры:
- Имя — имя базы данных в кластере Managed Service for PostgreSQL —
1c-database
. - Защищенное соединение — постоянно.
- Сервер баз данных — адрес вашего хоста БД и порт, например,
rc1a-cwxzr4yimhzgn5pp.mdb.yandexcloud.net port=6432
. - Тип СУБД — PostgreSQL.
- База данных — имя базы данных,
1c-database
. - Пользователь сервера БД —
user1
. - Пароль пользователя БД — пароль пользователя, который вы задали при создании кластера.
- Разрешить выдачу лицензий сервером 1С:Предприятия — Да.
- Язык (Страна) — русский (Россия).
- Создать базу данных в случае ее отсутствия — отключено.
- Установить блокировку регламентных заданий — отключено.
Нажмите ОК.
- Имя — имя базы данных в кластере Managed Service for PostgreSQL —
Подключитесь к информационной базе
-
Подключитесь к серверу OpenVPN с помощью клиента.
-
Запустите клиент «1С:Предприятия».
-
Нажмите кнопку Добавить.
-
Выберите Добавление в список существующей информационной базы и нажмите Далее.
-
Введите имя информационной базы, выберите На сервере 1С:Предприятия и задайте следующие настройки:
- Кластер серверов —
server-1c.ru-central1.internal
. - Имя информационной базы —
1c
.
Нажмите Далее.
- Кластер серверов —
-
Нажмите Готово.
Информационная база должна появиться в списке баз. После этого вы можете приступить к конфигурированию и использованию базы.
Удалите созданные ресурсы
Чтобы перестать платить за развернутую инфраструктуру, удалите ВМ server-1c
и licensing-server-1c
, а также кластер 1c-pg
.
Если вы зарезервировали публичный статический IP-адрес, удалите его.