04 Рекомендации по развертыванию инфраструктуры
Данные рекомендации предназначены для ознакомления Клиентов с требованиям Luxms BI при первичном развёртывании. В документе перечислены точки монтирования файловой системы, предполагающие рост объёма хранимых данных и рекомендации по организации файловых систем.
Указанные в документе числовые значения носят рекомендательный характер и не могут быть применены для промышленной эксплуатации. Но предлагаемые решения по управлению ресурсами позволят безболезненно увеличить необходимые параметры систем.
При необходимости вы можете запросить расчёт требований необходимых ресурсов (сайзинг) и архитектуру реализации решения у Продавца решения или у Производителя.
Пакетные репозитории
Программное обеспечение Luxms BI доставляется с использованием пакетных репозиториев под следующие операционные системы:
- CentOS 7, совместимо с ОС RHEL 7, OracleLinux 7;
- Astra Linux Special Edition 1.7;
- Astra Linux Special Edition 1.8 (в стадии прохождения сертификации);
- RedOS Linux 7.3.x;
- RedOS Linux 8.x;
- Альт СП, Alt Linux 10;
- Rocky Linux 8, совместимо с ОС RHEL 8, OracleLinux 8;
- Rocky Linux 9, совместимо с ОС RHEL 9, OracleLinux 9;
Производитель дистрибутива CentOS 7 перестаёт выпускать обновления с 30 июня 2024 года.
Учитывая большую инсталляционную базу на этой ОС у наших заказчиков, мы продолжим выпуск версий Luxms BI для CentOS 7 до 31 декабря 2024 года.
Начиная с 1 января 2025 года выпуск версий Luxms BI для CentOS 7 прекратится. Пожалуйста, спланируйте процесс перехода на новые версии ОС и Luxms BI до конца 2024 года!
Доступ к репозиториям для Клиентов предоставляется с использованием аутентификации.
Запуск компонентов на одном хосте
Luxms BI может успешно работать при развертывании на одном хосте при небольшой пользовательской нагрузке, обычно до 100 активных пользователей. Но для гарантирования доступности приложения и при количестве активных пользователей больше 100 рекомендуется использование горячего резервирования:
- Дублирование сервисов Luxms BI (горячее резервирование);
- Организация кластера базы данных.
Кластеризация и дублирование компонентов позволит вам обеспечить доступность системы не только при нештатных ситуациях (отказ серверногого оборудования), но и при проведении регламентных работ на ОС и при установке обновлений Luxms BI.
Требования к вычислительным ресурсам
Рекомендуемые ресурсы для одноузловой системы в среде виртуализации:
- От 8 virtual CPU;
- От 32GB virtual RAM.
Мы предоставляем демонстрационный образ виртуальной машины с меньшими ресурсами, но для обеспечения надежности работы решения в Вашей ИТ-инфраструктуре рекомендуем вам запросить расчет требований необходимых ресурсов.
Рекомендации по организации файловой системы
Выделение файловых систем под различные точки монтирования обеспечивает стабильную работу ОС, независимо от заполнения файловой системы в этих разделах. Определение типового разбиения стандартной файловой системы для хостов с компонентами Luxms BI определяется внутренней политикой клиента или отраслевыми стандартами.
Для Luxms BI мы определяем следующие дополнительные минимальные требования к конфигурации файловой системы:
/opt/luxmsbi - 2GB LVM EXT4
/opt/nats - 10GB LVM EXT4
/var/lib/pgsql или /var/lib/pgpro - 10GB LVM EXT4
/var/log - 8GB LVM EXT4
Предлагаемые минимальные значения могут быть недостаточными для вашей инсталляции. Размер файловой системы для указанных точек монтирования зависит от планируемой нагрузки на систему Luxms BI.
Пояснения к рекомендациям по файловой системе
Рекомендуем использовать менеджер логических дисков (LVM).
Рано или поздно возникает необходимость оперативного добавления места в файловой системе. И наиболее простой способ для решения этого вопроса - добавление или расширение физического тома (PV), с последующим расширением VG/LV и файловой системы.
Для обеспечения работы Luxms BI настоятельно рекомендуем выделить отдельные файловые системы для следующих нужд:
- Файлы базы данных - начните с 10ГБ.
Рекомендуем использование отдельного раздела файловой системы для хранения файлов базы данных PostgreSQL:
- Рекомендуемая файловая система EXT4 (сравнение производительности других файловых систем не показывает существенного повышения производительности и/или возможностей файловой системы).
- Рекомендуемые параметры монтирования - отключите фиксацию времени доступа к файлу (noatime).
- Рекомендуемая точка монтирования - использование стандартного пути расположения для PostgreSQL
/var/lib/pgsql/
или другой точки монтирования, регулируемой внутренней политикой клиента. - Рекомендуемый размер файловой системы - зависит от планируемого объема Ваших данных.
- Раздел приложения
/opt/luxmsbi
- начните с 2 ГБайт.
Кроме хранения файлов приложения данный раздел предполагает место для временных файлов при импорте транспортных файлов с данными.
- Распределенное хранилище объектов - начните с 10Гбайт.
В этом разделе файловой системы будут храниться шаблоны для отчетов и сами сгенерированные очеты. Также используется для временного хранения транспортных файлов ETL-процессов. Размер данного раздела зависит от использования функционала Luxms BI в конкретной инсталляции.
- Журнальные файлы приложений - начните с 8 Гбайт.
Компонеты Luxms BI используют два варианта журналирования:
- Журналирование на файловую систему
/var/log/luxmsbi
.
В этом разделе файловой системы хранятся журнальные файлы Web-сервера NGinx. Размер файловой системы определяется установленными параметрами журналирования. В большинстве случаев раздел /var/log
может не требовать монтирования дополнительного раздела диска. Но мы это рекомендуем для избежания необходимости переноса приложения Luxms BI на другой хост, с большим разделом для журналирования событий.
- Журналирование событий Systemd Journal
/var/log/journal
.
Большинство компонентов Luxms BI используют системную службу журналирования Journald. Размер файловой системы для хранения этих данных зависит от ваших корпоративных требований, от объема подгружаемых в систему данных из сторонних источников. Поэтому настоятельно рекомендуем монтирование отдельной файловой системы в данной точке.
Просим дополнительно ознакомиться с Приложением #2.
Масштабирование сервисов Luxms BI
Выделение отдельных хостов для разных сервисов Luxms BI требуется при инсталляции решений, обрабатывающих значительные объемы данных или большого числа одновременных пользователей. Для использования в условиях высокой нагрузки мы предлагаем разнесение компонетов системы на следующие уровни:
- Уровень Базы данных;
- Уровень Приложения;
- Вспомогательный уровень загрузки агрегированных данных;
- Вспомогательный уровень доступа к внешним источникам данных.
Выделенные сервера Базы данных
На текущий момент Luxms BI использует в качестве базы данных:
RedHat-based дистрибутивы:
PostgreSQL 11, выпуск новых версий Luxms BI для этой версии БД прекращен. Для PostgreSQL 11 доступны только старые версии Luxms BI 9;- PostgreSQL 13, для ОС на базе Enterprise Linux 7 и 8;
- PostgreSQL 15, для ОС на базе Enterprise Linux 9.
AstraLinux Special Edition 1.7:
- Postgres Pro 13;
- PostgreSQL 13.
AstraLinux Special Edition 1.8:
- Postgres Pro 15;
- PostgreSQL 15.
RedOS 7.3.1:
- Postgres Pro 13;
- PostgreSQL 13.
Для обеспечения доступности системы и резервирования данных рекомендуется использование кластеризации базы данных. В качестве кластерного решения мы рекомендуем Patroni с использованием HarshiCorp Consul как управляющего кластера.
Вне зависимости от использования решения кластеризации для базы данных, мы настоятельно рекомендуем использование отдельной файловой системы для файлов базы данных. Размер файловой системы зависит от планируемого объема обрабатываемых данных.
Дополнительные рекомендации:
Не рекомендуем использовать архивирование журнальных файлов Базы данных. Luxms BI в большей степени аналитическая система и предполагает периодичную пакетную загрузку больших объемов данных. Вероятность необходимости откатить состояние Базы данных на какой-то определенный момент времени в прошлом при пакетной загрузке консолидированных данных очень мала - намного дешевле и быстрее выполнить повторную загрузку данных. А накопление архивированных журналов может неожиданно остановить работу системы, если архивные журналы по какой-то причине заполнят файловую систему Базы данных.
Резервное копирование Базы данных определяется внутренней политикой Клиента. Мы рекомендуем ежедневное снятие резервных копий и небольшой срок хранения резервных копий - от 3 до 7 дней.
Для надёжной работы кластеров требуется точная синхронизация времени на различных серверах. Если используется среда виртуализации (например, VMWare), то, обычно, это обеспечивается через настройки параметров сервера виртуализации.
Если же ОС запускается “на железе”, то требуется установка и настройка NTP сервисов на каждом сервере кластера.
Выделенные сервера приложений
Выделение отдельных серверов для уровня Приложений позволяет обеспечить балансировку нагрузки между несколькими узлами, повысить доступность системы при нештатных ситуациях и обеспечить возможность проведения работ по обслуживанию узлов без ограничения доступа к Luxms BI.
В качестве решений по балансировке нагрузки могут быть использованны различные аппаратные и программные комплексы, работающие с HTTP(S) трафиком.
Для уровня Приложений существует две точки монтирования, где возможен рост использования файловой системы:
- Журнальные файлы приложений -
/var/log
.
Необходимый размер файловой системы для журнальных файлов полностью зависит от объема загружаемых данных и установленного уровня журналирования. Использование LVM менеджера упростит решение вопросов по увеличению размера файловой системы, поэтому мы рекомендуем создать файловую систему с минимальным размером в 8 ГБайт и предусмотреть возможность увеличения размера за счет добавления дополнительных дисковых устройств.
- Файлы данных и отчеты -
/opt/nats
.
При загрузке данных в Luxms BI из файлов загруженные файлы временно сохраняются в файловой системе для обеспечения возможности анализа первичных данных после загрузки. При генерации отчетов и презентаций результаты генерации также сохраняются в распределенной файловой системе и доступны пользователям через Web-приложение Luxms BI.
Выделенные сервера для импорта и доступа к данным
Развертывание компонентов Luxms BI Importer и Datagate может быть необходимым для обеспечения доступа к данным, расположенным в сетях с ограничением доступа. Установка выделенного сервера на границе закрытого сегмента сети позволит обеспечить безопасность критичных данных.
Рекомендации по размеру файловой системы для Luxms BI Importer и Datagate идентичны рекомендациям по выделенным серверам Приложений.
Использование SELinux и Firewalld/UFW
При установке приложений мы не рекомендуем Клиентам отключение стандартных средств защиты операционной системы Linux.
RPM-пакеты приложения Luxms BI и Инструкции по установке содержат конфигурационные файлы и рекомендации по настройке SELinux и Firewalld.
DEB-пакеты приложения Luxms BI содержат пост-инсталляционные скрипты, настраивающие UFW, если он активен на сервере.
В сценариях установки Ansible мы предусматриваем также использование клиентом IPTables, но рекомендуем переход на Firewalld/UFW - эти решения служат упрощенным фронт-ендом для работы с функциями фильтрации сетевого трафика, поставляются производителями ОС по-умолчанию.
Современные дистрибутивы ОС Linux включают в свое ядро API nftables. Официальная документация которого содержит 450 страниц. Конечно nftables позволяет производить более тонкую настройку сетевой фильтрации, но в 99% случаев этот избыточный функционал Вам не понадобится.
Мы рекомендуем использовать средства защиты, встроенные в операционную систему, как обязательное дополнение к существующим решениям защиты в инфраструктуре клиентов. Увеличение количества уровней защиты ИТ-решений:
- Увеличивает вероятность обнаружения злоумышленника;
- Снижает эффективность атаки и вероятность доступа к информации.
При установке Luxms BI из пакетных репозиториев в ПО регистрируется учетная запись Администратора системы(adm) с паролем по умолчанию luxmsbi.
Мы настоятельно рекомендуем изменить пароль для этой учетной записи.