Окружение сервера 1С на арендованном выделенном сервере

01.06.22

Администрирование - Linux

Установка Proxmox на OVH, настройка VPN и контейнера для 1С.

Вводные

  • Арендованный выделенный сервер, в моем случае OVH, функционал по окружению аналогичен другим ведущим хостингам.
  • Нужно настроить сервер 1С с возможностью безопасно подключить пользователей

Статья является логическим продолжением моих экспериментов описанных в //infostart.ru/1c/articles/1135962/

Общее описание инфраструктуры хорошо описано в статье //infostart.ru/1c/articles/1528243/, моя специфика будет в том что окружение настраивается под одного клиента.

Статья пишется в том числе для того чтобы показать что настройка linux окружения не сильно сложнее windows окружения (при схожих требованиях, свалить все в кучу на одном экземпляре ОС и дать к нему доступ по RDP просто но имеет свои негативные последствия).

 

Установка гипервизора.

В случае OVH установку можно произвести из шаблона. Для подключения после установки системы используется SSH ключ (открытая часть RSA ключа), который добавляется в настройках хостинга (ссылка по OVH) (ссылка по Selectel)

 
 Скриншоты установки

 

Аналогичный функционал есть у selectel например.

 
 Скриншот при заказе сервера

 

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

Обычно арендованные сервера идут с двумя дисками, которые рекомендую объединить в RAID 1, при установке с ISO можно выбрать этот вариант в окне настройки дисковой подсистемы.

 
 Скриншот окна установки

 

Установка пароля root

Аутентификация по умолчанию только по указанному ключу, поэтому подключаюсь по SSH с использованием ключа, ссылка на одну из инструкций, гуглится по "putty подключение по ключу".

Изменяю пароль через команду passwd. В данной установке допустимо подключаться по SSH с использованием пароля, это можно изменить на "только по ключу", ссылка, гуглится по "ssh отключение авторизации по паролю".

Отключать полностью root в админ панели не рекомендуется, потому что часть функций доступны только с его доступом, компенсирую ограничением по IP источника. Альтернативно можно разрешить доступ только из внутренней сети с доступом через VPN, но машина теряется при отключении виртуальной машины c VPN сервисом.

 

Подключение к админ панели

Подключение осуществляется по HTTPS, на порт 8006, т.к. сертификат SSL самоподписанный нужно подтвердить подключение в chrome. Пример адреса https://192.168.57.24:8006/

Для удобства буду использовать русский интерфейс.

 

Ограничение доступа по IP

Для уменьшения вероятности проникновения на хост гипервизора устанавливаю ограничение по IP источника. Добавляю в alias свой IP и настраиваю брандмауэр на уровне "Датацентр", более подробно по ссылке, гуглится по "proxmox firewall".

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

 
 Скриншоты настройки

 

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

 

Подключение NFS папки, загрузка шаблонов

В OVH для выделенного сервера выделяется место для бекапов, доступное по NFS (ссылка) в рамках сети хостинга.

 
 Скриншот настройки NFS в OVH

 

Подключаю в proxmox, выбираю вид хранения для ISO, шаблонов, бекапов.

 
 Скриншоты настройки

 

Загружаю ISO Образы, шаблоны.

 
 Скриншоты

 

Настройка сети для контейнеров.

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

 

Контейнеры буду располагать в отдельном виртуальном мосту.

 
 Добавление моста

 

Для связывания LAN и WAN буду использовать шлюз OPNsense (ссылка), являющийся форком pfSense(ссылка), о настройке которого писал в статье //infostart.ru/1c/articles/1257913/. Ключевые для меня функции: GUI интерфейс и удобная настройка OVPN.

Для подключения шлюза к WAN буду использовать дополнительный IP адрес который можно перенаправлять на нужный сервер (ссылка на вариант в OVH), удобно в случае переезда на новый сервер.

Альтернативно можно настроить NAT на уровне хоста (ссылка), экономия на аренде IP но более затратно на обслуживание и при отсутствии опыта с iptables есть вероятность настроить некорректно.

 

Создаю виртуальную машину (VM) подключенную к мостам LAN и WAN. Ссылка на подробную инструкцию по установке (EN), ссылка на установку (RU).

 
 Скриншоты с настройками для текущей установки

 

Добавляю LAN интерфейс.

 
 Скриншоты 

 

Для WAN интерфейса генерирую MAC адрес для дополнительного IP и устанавливаю его в настройках интерфейса (ссылка на документацию OVH).

 
 Скриншоты

 

Настройка OPNsense производится из зоны LAN через GUI, для настройки добавляю новую VM c Linux Mint, запускаю в live режиме, поэтому из настроек VM удаляю HDD. На шлюзе уже настроен DHCP, поэтому запущенная VM получает адрес по которому может получить доступ до админ панели.

 
 Скриншот админ панели с VNC консоли

Неудобством является отсутствие буфера обмена при подключении к VM. Для переноса файла подключения к VPN использую GUI от Яндекс.Диск, можете использовать любой файлообменник.

При подключении не добавлял правило INPUT UDP 1194 в брандмауэр на уровне proxmox, только на ehjdyt OPNSense, почему так работает нужно отдельно разбираться.

После подключения по OVPN проверяю подключение к админ панели шлюза с локального ПК по доменному имени.

 
 Скриншот админ панели с локального ПК

 

Обновление Proxmox

В основе лежит debian, к нему добавлены пакеты Proxmox из дополнительных репозиториев. Нормальным состоянием для Proxmox является наличие подписки и получение обновлений из https://enterprise.proxmox.com/debian/pve, но в моей инсталляции подписки нет, поэтому нужно подключить http://download.proxmox.com/debian/pve. Подписка COMMUNITY на год на CPU сокет стоит порядка 12 тыс. руб. (ссылка)

 
 Скриншоты настроек

 

После настройки нужно получить обновления и их установить, действия в GUI соответствуют "apt update" и "apt upgrade"

 
 Скриншоты обновления

 

Обновление OPNSense

На главной странице присутствует ссылка "Нажмите, чтобы проверить наличие обновлений."

 
 Скриншот админ панели

При наличии обновлений будет окно со списком изменений и кнопкой "обновить".

 

Установка Postgres

В качестве основы буду использовать LXC контейнер с Ubuntu 20.04. 4ГБ ОЗУ, 4 ядра.

В параметрах DNS нужно указать локальный DNS, потому что по умолчанию PVE устанавливает DNS хоста.

 
 Скрипт установки

 

Обычно проверяю подключение через DBeaver Community, https://dbeaver.io/

Перенос stats_temp_directory в ОЗУ

 
 Скрипт

 

Установка сервера 1С

В качестве основы буду использовать LXC контейнер (ссылка на описание) с Ubuntu 20.04.

Если планируется хранить файлы в томах на диске, то к контейнеру нужно будет монтировать внешние диски, для этого он должен быть привилегированным, флаг устанавливается в [3], после установки изменить проблематично. Для удобства рекомендую использовать доступ через SSH ключи [4]

 
 Скриншоты настроек

 

В параметрах DNS нужно указать локальный DNS, потому что по умолчанию PVE устанавливает DNS хоста.

После запуска контейнера подключаюсь с локального ПК к srv1c.{domain}.lan по SSH, работает регистрация в DNS записей DHCP.

Использовать буду 8.3.18, т.к. в ней инсталлятор из deb пакетов, для платформ выше рабочих скриптов не встречал. Для скачивания дистрибутива использую OneGet (ссылка)

 
 Скрипт установки

 

 
 Скрипт установки 8.3.20

 

Проверяю работоспособность с локального ПК через консоль кластера, создаю базу. Загружаю тест TCP-A от Гилева.

 
 Результат теста

 

Резервное копирование контейнеров

Резервные копи делаются средствами proxmox, возможно запускать вручную и настраивать расписание. Копии делаются как на лету так и с остановкой контейнера. На данный момент для LXC контейнера у меня работают копии только с остановкой, возможно коллеги в комментариях подскажут как настроить чтобы работало на лету, для VM работает на лету. Ссылка на более подробное описание (RU), ссылка на документацию (EN).

 
 Скриншоты ручного бекапа

 

Настройка бекапов по расписанию

 
 Скриншоты настройки расписания

 

Отправка уведомлений на email осуществляется через postfix (ссылка), краткая инструкция по настройке ссылка.

 

LXC контейнеры для Docker контейнеров

Часть программного обеспечения уже поставляется в виде docker контейнеров, под них имеет смысл разворачивать контейнер с Alpine Linux (ссылка), шаблон Ubuntu 200+ МБ, Alpine 3.5 МБ, установка Docker (ссылка) чуть проще чем на Ubuntu (ссылка), пример с разворачиванием PlantUML (ссылка)

apk update

apk add docker docker-compose
rc-update add docker default
/etc/init.d/docker start

#Запуск контейнера
docker run -d --restart=always -p 8080:8080 plantuml/plantuml-server:jetty

 

Итоги:

В результате собрано окружение в котором можно разворачивать контейнеры и VM под текущие задачи. Доступ к ним прикрыт VPN, при необходимости можно сделать проброс портов с помощью шлюза OPNSense.

 

Благодарю за внимание.

См. также

Сервера Системный администратор Россия Бесплатно (free)

Основные критерии, на которые необходимо обратить внимание.

31.07.2024    2065    EFSOL_oblako    2    

0

Сервера Системный администратор Россия Бесплатно (free)

Цель данного исследования — сравнить производительность процессоров Intel и AMD при работе с 1С в виртуальной среде Hyper-V.

25.07.2024    4776    EFSOL_oblako    19    

3

Мониторинг Сервера Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

StartPlus и система контроля и сбора информации (настраиваем за час и пользуемся). Данное решение позволяет быстро собирать и анализировать различную информацию из разных источников данных (не обязательно серверов 1С). В любой момент можно менять состав сводной информации без сложной разработки на стороне 1С.

1 стартмани

18.07.2024    647    6    moolex    0    

4

Linux Системный администратор Программист Стажер Платформа 1С v8.3 Россия Бесплатно (free)

1C > Postgres > (Linux) > мы (=проблемы в 2024). Информация будет полезна начинающим 1С программистам (и сисадминам). Без ИТС. Часть 1.

01.07.2024    3231    AlOkt    28    

17

Сканер штрих-кода Linux Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Драйвер сканера штрих-кодов в 1С выполнен по технологии NativeAPI, следовательно, поддерживается возможность работы в Linux, но сама настройка оказалось не такой простой, как в Windows, понадобились навыки администрирования linux. В данной публикации представлен опыт установки сканера Mercury CL-2200 P2D BT в ALT Linux.

18.06.2024    825    MOleg82    0    

8

Облачные сервисы, хостинг Linux Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана" в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая прочая... Это основное блюдо, на закуску разберемся с отказоустойчивостью. В этой публикации для PostgreSQL, заодно попробуем сделать это по новому.

17.06.2024    6881    capitan    18    

39

Сервера Linux Системный администратор Россия Бесплатно (free)

Тема Ubuntu, PostgreSQL и 1С уже избитая. Но все же, следуя инструкциям всех мануалов, пришлось потратить около 3-х дней. И как результат — готовые скрипты для установки сервера 1С и PostgreSQL на свежей Ubuntu за 5 минут.

14.06.2024    2730    user1389975    13    

35
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 3075 02.03.22 10:15 Сейчас в теме
Аффтор, в консоли ты IP потер, а в адресной строке браузера - нет ))) Ну и имя сервера есть в скрипте, но потерто на картинке )))
2. malikov_pro 1316 02.03.22 10:51 Сейчас в теме
(1)
"а в адресной строке браузера" - подчистил.
"и имя сервера есть в скрипте" - malikov.lan это заглушка моя, для клиентов обычно их домен в .ru переделываю в .lan, относительно удобно.
Благодарю что внимательно прочитали статью, буду рад критике и вариантами дополнения.
3. starik-2005 3075 02.03.22 10:56 Сейчас в теме
(2)
буду рад критике и вариантами дополнения.
На мой взгляд, не раскрыта идея использования proxmox. Мне казалось, что это механизм обеспечения устойчивости кластера из трех+ машин, контролирующих друг друга. Или здесь данное использование не рассматривается?
4. malikov_pro 1316 02.03.22 11:34 Сейчас в теме
(3) "Мне казалось, что это механизм обеспечения устойчивости кластера" - для меня прежде всего это изоляция сервисов по ресурсам и варианту обслуживания + легкость разворачивания контейнеров для тестирования новых сервисов.

"устойчивости кластера из трех+ машин" - если речь о HA на уровне контейнеров, то и опыта и точки входа в эту тему для меня нет, знаю что под это нужно общее файловое хранилище, которое у OVH стоит как dedic и нужна "Private bandwidth" от хостера, чтобы самому не городить велосипед из туннелей на уровне хостов.

Собирал кластер из 3 машин, удобно распределять ресурсы, перебрасывал контейнеры через бекапы, ловил ошибки производительности по PG после переноса.

На данный момент, выделена только одна машина под виртуализацию, хотя клиент озадачен вопросом отказоустойчивости, возможно добавят еще одну, пока обсуждение на уровне "если упадет за сколько поднимем на новом сервере и сколько по времени данных потеряем", отчасти решается репликой PG.
5. starik-2005 3075 02.03.22 11:37 Сейчас в теме
(4)
отчасти решается репликой PG
Ровно так. Фактически вопрос о том "за сколько поднимем" решается временем переноса ключа с машины А на машину Б. Ну и ECC-память на современных десктопах решает уже не в пользу серверов, т.к. даже три обычных машинки стоят меньше, чем один сервер с подобной (нет) производительностью.
6. ZhdanovR 97 31.05.22 19:53 Сейчас в теме
Спасибо за использование oneget)
7. aleksxx 71 26.02.23 10:44 Сейчас в теме
(6) А oneget работает на последних платформах для Ubuntu например?
8. malikov_pro 1316 26.02.23 16:32 Сейчас в теме
(7) Думаю да, был issue по части формата запроса на скачивание, уже закрыт
https://github.com/v8platform/oneget/issues
9. sc-s 10.04.23 14:27 Сейчас в теме
Вот как можно добиться такого результат в тесте ? У меня пустой сервер 2 проца 4210R оперативки 142ГБ, raid1 на ssd samsung. Чисто для теста поставил все по инструкции, только платформу 22 и меня Гилев выдает максиму 12 попугаев. Что я делаю не так ?
10. malikov_pro 1316 10.04.23 21:53 Сейчас в теме
(9) Упираетесь в тактовую частоту процессора.
По теме попугаев https://infostart.ru/1c/articles/1564573/
Оставьте свое сообщение