ООО НОВЫЕ ОБЛАЧНЫЕ ТЕХНОЛОГИИ

29
1

Transcript of ООО НОВЫЕ ОБЛАЧНЫЕ ТЕХНОЛОГИИ

1

ООО «НОВЫЕ ОБЛАЧНЫЕ ТЕХНОЛОГИИ»

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

«МойОфис Частное Облако»

«МойОфис Логос»

РУКОВОДСТВО ПО УСТАНОВКЕ

2020.03

На 29 листах

Москва

2020

2

Все упомянутые в этом документе названия продуктов, логотипы, торговые марки итоварные знаки принадлежат их владельцам. Товарные знаки «МойОфис» и «MyOffice»принадлежат ООО «НОВЫЕ ОБЛАЧНЫЕ ТЕХНОЛОГИИ».Ни при каких обстоятельствах нельзя истолковывать любое содержимое настоящегодокумента как прямое или косвенное предоставление лицензии или права наиспользование товарных знаков, логотипов или знаков обслуживания, приведенных внем. Любое несанкционированное использование этих товарных знаков, логотипов илизнаков обслуживания без письменного разрешения их правообладателя строгозапрещено.© ООО «НОВЫЕ ОБЛАЧНЫЕ ТЕХНОЛОГИИ», 2013–2020

3

Содержание1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  8

1.1. Назначение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  81.2. Требования к квалификации персонала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  81.3. Системные требования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  91.4. Ограничения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9

1.4.1. Ограничение при выполнении кластерной установки . . . . . . . . . . . . . . . . . . . .  91.4.2. Ограничение по работе с подсистемой управления конфигурациями . . . . . . .  91.4.3. Ограничение по работе с системами виртуализации . . . . . . . . . . . . . . . . . . . . .  9

2. Описание архитектуры «МойОфис Частное Облако». . . . . . . . . . . . . . . . . . . . . . . . . . .  102.1. Общая архитектурная схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  102.2. Детальная архитектурная схема «МойОфис Логос» . . . . . . . . . . . . . . . . . . . . . . . .  10

3. Типовые схемы установки «МойОфис Частное Облако» . . . . . . . . . . . . . . . . . . . . . . . .  123.1. Конфигурация без отказоустойчивости . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  123.2. Кластерная отказоустойчивая конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  123.3. Типовая схема масштабирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  12

4. Первичная установка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  134.1. Состав дистрибутива . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  13

5. Подготовка к установке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  135.1. Описание ролей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  135.2. Подготовка инфраструктуры установки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  145.3. Проверка и подготовка инсталляционных архивов. . . . . . . . . . . . . . . . . . . . . . . . .  155.4. Общие настройки системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  165.5. Настройки системы в "закрытом периметре" . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  165.6. Настройка основных параметров установки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  175.7. Настройка дополнительных параметров установки . . . . . . . . . . . . . . . . . . . . . . . .  185.8. Конфигурирование сертификатов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19

5.8.1. Конфигурирование ГОСТ сертификатов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  205.9. Дополнительные параметры для односерверного высокодоступного режима . .  205.10. Настройка межсетевого экранирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  215.11. Настройка удаленного доступа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21

6. Установка «МойОфис Логос» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  226.1. Конфигурация без отказоустойчивости . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  22

6.1.1. Конфигурирование инвентарного файла. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  226.1.2. Запуск установки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  226.1.3. Проверка корректности установки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  23

6.2. Кластерная отказоустойчивая конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  236.2.1. Запуск установки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  236.2.2. Проверка корректности установки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  24

7. Обновление с предыдущих версий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  257.1. Состав дистрибутива . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25

8. Подготовка к обновлению . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  258.1. Описание ролей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  258.2. Проверка и настройка инфраструктуры установки. . . . . . . . . . . . . . . . . . . . . . . . .  25

4

8.2.1. Проверка и настройка основных параметров установки . . . . . . . . . . . . . . . . .  258.2.2. Проверка и настройка дополнительных параметров установки . . . . . . . . . . .  258.2.3. Проверка и настройка межсетевого экранирования . . . . . . . . . . . . . . . . . . . .  258.2.4. Проверка и настройка разграничения доступа . . . . . . . . . . . . . . . . . . . . . . . . .  268.2.5. Проверка и настройка удаленного доступа . . . . . . . . . . . . . . . . . . . . . . . . . . .  268.2.6. Создание резервных копий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26

9. Обновление «МойОфис Логос». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  269.1. Конфигурация без отказоустойчивости . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26

9.1.1. Запуск обновления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  269.1.2. Проверка корректности обновления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  269.1.3. Миграция данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26

9.2. Кластерная отказоустойчивая конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  269.2.1. Масштабирование конфигурации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  269.2.2. Запуск обновления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  269.2.3. Проверка корректности обновления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  269.2.4. Миграция данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26

10. Дополнительные возможности и рекомендации по установке. . . . . . . . . . . . . . . . . .  2710.1. Настройка мониторинга состояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  27

11. Техническая поддержка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2811.1. Системные сообщения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2811.2. Известные проблемы и способы решения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  28

12. ES port waiting timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2813. Смена подсети Docker Swarm по-умолчанию . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  29

5

Перечень сокращений, терминов и определений

Перечень терминов и определений приведен в таблице 1.

Taблица 1 – Перечень сокращений, терминов и определений

Сокращение, термин Расшифровка и определение

AD Active Directory, Активный каталог

API Application Programming Interface, интерфейспрограммирования приложений

Auth SSO Single Sign-On, подсистема единого входа (аутентификациии авторизации)

CA Certificate Authority, удостоверяющий центр дляподтверждения подлинности ключей шифрования

CDN Content Delivery Network, сеть доставки содержимого (вданном случае одна из ролей Auth SSO сервера)

CO CloudOffice, Облачный Офис, общее название продукта,нейтральное с точки зрения бренда

CU Converter Unit, сервис конвертирования разных форматовфайлов

DCS Document Collaboration Service, сервис редактирования иколлаборации документов на базе кода Core

DNS Domain Name System, система доменных имён

DU Document Unit, синоним DCS

EFK Стек ПО для централизованного сбора и визуализациилогов, ElasticSearch + Fluentd + Kibana

ESIA ЕСИА, Единая Система Идентификации и Аутентификации,информационная система в РФ,обеспечивающая санкционированный доступ участниковинформационного взаимодействия(граждан-заявителей и должностных лиц органовисполнительной власти) к информации,содержащейся в государственных и иных информационныхсистемах

ETCD Распределенная система хранения конфигурации

FCM Firebase Cloud Messaging, сервис нотификаций мобильныхприложений Google, ранее назывался GCM

FS FileStorage, Хранилище

FQDN Fully Qualified Domain Name, полностью определённое имядомена

6

Сокращение, термин Расшифровка и определение

GCM Google Cloud Messaging, сервис нотификаций мобильныхприложений Google, заменен сервисом FCM

HMS Huawei Mobile Services, сервис нотификаций мобильныхприложений Huawei

Inventory file Инвентарный файл Ansible с перечислением ролей и их IPадресов

IPVS IP Virtual Server

JKS Java Key Store, хранилище ключей и сертификатов,доступных виртуальной машине Java

JSON JavaScript Object Notation

JVM Java Virtual Machine

Landing Стартовая страница

LDAP Lightweight Directory Access Protocol, облегчённый протоколдоступа к каталогам

PSN Poseidon, приложение почты, календаря и контактов.

Quick launch Меню быстрого запуска

SMTP Simple Mail Transfer Protocol, протокол передачи почтовыхсообщений

SSH Secure Shell, «безопасная оболочка»

UI User Interface, пользовательский интерфейс

URL Uniform Resource Locator, единый указатель ресурса

UX User Experience, «опыт пользователя»

VIP Виртуальный IP адрес, балансировка которогоосуществляется через IPVS

Бандл, bundle Пакет обновлений CDN

Воркер, worker Процесс-обработчик

Плейбук, playbook Сборник скриптов (сценариев) Ansible

7

1. Общие сведения1.1. Назначение«МойОфис Логос» – информационно-коммуникационный сервис быстрого обменасообщениями, документами и файлами внутри организации или предприятия;

Подробное описание функций ПО МойОфис приведено в документе «"МойОфис Логос".Функциональные возможности».

1.2. Требования к квалификации персоналаАдминистратор Системы должен соответствовать следующим требованиям:

• основы сетевого администрирования:

◦ o сетевая модель OSI и стек протоколов TCP/IP;

◦ IP-адресация и маски подсети;

◦ маршрутизация: статическая и динамическая;

◦ протокол обеспечения отказоустойчивости шлюза (VRRP);

• опыт работы с подсистемой виртуализации на уровне эксперта:

◦ установка Docker;

◦ запуск / остановка / перезапуск контейнеров;

◦ работа с реестром контейнеровcomm_component;

◦ работа с VMWare vSphere ESXi 6.5 и выше;

◦ получение конфигурации контейнеров;

◦ сеть в Docker, взаимодействие приложений в контейнерах;

◦ решение проблем контейнерной виртуализации;

• опыт работы с командной строкой ОС Linux:

◦ знания в объеме курсов Red Hat RH124, RH134, RH254;

◦ знания в объеме, достаточном для сдачи сертификационного экзамена Red HatEX300;

• опыт работы со службой доменных имен (DNS):

◦ знание основных терминов (DNS, IP-адрес и так далее);

◦ понимание принципов работы DNS (корневые серверы, TLD-серверы, серверыимен доменов, разрешающий сервер имен и так далее);

◦ знание типов записи и запросов DNS;

• знание видов архитектуры, а также основных компонентов инфраструктурыоткрытых ключей (PKI), к которым относятся:

◦ закрытый и открытый ключи;

◦ сертификат открытого ключа;

◦ регистрационный центр (RA);

8

◦ сертификационный центр (СА);

◦ хранилище сертификатов (CR);

• практический опыт администрирования на уровне эксперта:

◦ СУБД PostgreSQL;

◦ Redis;

◦ OpenStack Swift;

◦ RabbitMQ.

• опыт работы с системой автоматизации развёртывания Ansible;

1.3. Системные требованияПеречень требований к программному и аппаратному обеспечению приведен вдокументе «"МойОфис Логос". Системные требования».

1.4. Ограничения1.4.1. Ограничение при выполнении кластерной установки

Кластерная установка не поддерживается. В текущем релизе все ролиустанавливаются на один физический или виртуальный сервер.

1.4.2. Ограничение по работе с подсистемой управленияконфигурациями

В подсистеме управления конфигурациями не должно быть конфигурационных файловсамой подсистемы. В том числе конфигурационного файла, который по умолчаниюустанавливается с пакетом (например, /etc/ansible/ansible.cfg). Такой файл требуетсяудалить либо перезаписать образцом из поставляемого ПО. Подробнее смотри вhttps://docs.ansible.com/ansible/latest/reference_appendices/config.html#theconfiguration-file

1.4.3. Ограничение по работе с системами виртуализации

Следующие системы виртуализации поддерживаются для обеспечения работы«МойОфис Логос»: * VMWare. * KVM.

9

2. Описание архитектуры «МойОфисЧастное Облако»2.1. Общая архитектурная схемаОбщая архитектурная схема «МойОфис Частное Облако» приведена на Рисунке 1.

Рисунок 1 – Общая архитектурная схема «МойОфис Частное Облако»

2.2. Детальная архитектурная схема«МойОфис Логос»Данная схема «МойОфис Логос» приведена на Рисунке 2.

10

Рисунок 2 – Детальная архитектурная схема «МойОфис Логос»

11

3. Типовые схемы установки«МойОфис Частное Облако»3.1. Конфигурация без отказоустойчивостиВ этой конфигурации все роли устанавливаются на один физический или виртуальныйсервер.

3.2. Кластерная отказоустойчиваяконфигурацияНе поддерживается в данном релизе.

3.3. Типовая схема масштабированияНе поддерживается в данном релизе.

12

4. Первичная установка4.1. Состав дистрибутиваВ состав дистрибутива входит программное обеспечение «МойОфис Логос».Дистрибутив предствляет собой tgz архив, содержащий:

• Ansible плейбуки для развёртывания ролей.

• Архив образа docker registry.

• Архивы docker образов для каждого из сервисов, входящих в состав продукта.

• Руководство по установке «МойОфис Логос».

5. Подготовка к установке5.1. Описание ролейTaблица 2 – Описание ролей ansible входящих в состав пакета установки.

Наименование роли

Расшифровка и определение Примечание

boostrap

Подготовка ssl сертификатов.Настройка параметров ядра Linux c использованиемsystctl.Установка сервиса Docker.Создание необходимых для дальнейшей работыдиректорий.Удаление директорий и останов сервисов,относящихся к предшествующим инсталляциям«МойОфис Логос».

docker-swarm

Инициализация Docker в режиме Swarm.

registry Развёртывание docker registry и импорт образовdocker из архива.

etcd Развёртывание сервиса etcd в Docker.

etcd-browser

Развёртывание web-gui для etcd. Опционально.

portainer

Развёртывание web-gui для Docker. Опционально.

efk Развёртывание стека EFK (ElasticSearch, Fluentd,Kibana).

Опциональнo. Возможнологирование cиспользованием journald

13

Наименование роли

Расшифровка и определение Примечание

mq Развёртывание локального узла RabbitMQ. Опционально. Возможноподключение к узлу наФС в кластерном режиме

nginx-gost

Развёртывание сервиса проксирования и приёмаTLS соединений с поддержкой ГОСТ шифрования.

Опционально.

redis Развёртывание локального узла Redis. Опционально. Возможноподключение к узлу наФС в кластерном режиме

redis-sentinel

Развёртывание redis-sentinel. Опционально. Только длякластерного режима

postgres

Развёртывание локального узла PostgresQL Опционально. Возможноподключение к узлу наФС в кластерном режиме

logos-backend

Развёртывание сервисов бекенда «МойОфисЛогос».

logos-web

Развёртывание сервисов фронтенда «МойОфисЛогос».

5.2. Подготовка инфраструктуры установки

Во избежание проблем не рекомендуется использовать системы, накоторых ранее были проведены инсталляции программногообеспечения, не относящегося к дистрибутиву «МойОфис Логос».

В случае возникновения проблем во время деплоя рекомендуетсяустановка на "чистую" систему или использование параметра деплоя -eCLEANUP=true.

Используемая файловая система под docker контейнеры, должнаофициально поддерживаться текущей версией docker. Еслииспользуется XFS, то файловая система должна быть создана с опцией-n ftype=1 (вариант по умолчанию в рекоменованных ОС).

Необходимо инсталлировать минимальный серверный вариант операционной системыодной из рекомендованных версий.

• CentOS

◦ Скачать образ дистрибутива рекомендованной версии с одного из официальныхзеркал, например, https://mirror.yandex.ru/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

◦ Произвести установку в минимальном варианте.

14

• Astra Linux

◦ Скачать образ дистрибутива рекомендованной версии с одного из официальныхзеркал, например, https://mirrors.edge.kernel.org/astra/stable/orel/iso/orel-current.iso

◦ Произвести установку в минимальном варианте.

• Alt Linux

◦ Скачать образ дистрибутива рекомендованной версии с одного из официальныхзеркал, например, http://ftp.basealt.ru/pub/distributions/ALTLinux/p8/images/server/alt-8-server-x86_64.iso

◦ Произвести установку в минимальном варианте.

С сервера установки должен быть возможен доступ на все хосты кластера подпользователем root или другим пользователем с sudo привилегиями (ALL=(ALL)NOPASSWD: ALL). На сервере установки должен быть инсталлированы:

• Пакет Ansible версии 2.9.1 или 2.9.2 (по инструкции https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html). Работа с более новыми версиямиAnsible возможна, но не гарантирована.

• Пакет Python 2.7+ или Python 3.5+ (рекомендован).

• Пакет jinja2 версии 2.10+ для соответствующей версии Python (для CentOS пакетpython-jinja2 можно обновить с любого репозитория OpenStack, напримерhttp://mirror.centos.org/centos/7/cloud/x86_64/openstack-queens).

5.3. Проверка и подготовка инсталляционныхархивовПри выполнении проверки и подготовки инсталляционных архивов необходимовыполнить следующие действия:

В имени архива цифры версии коммерческого релиза представленызнаками X.

1. После копирования инсталляционного архива необходимо проверить егоконтрольную сумму Sha256. Для этого необходимо скопировать в файл (например,checksum.sha256) контрольную сумму, переданную вместе с дистрибутивом, изапустить следующую команду:

sha256sum -c <<< "$(cat checksum.sha256) MyOffice-Logos-XXXX.XX.XX.tgz"

2. Распаковать содержимое инсталляционного архива в произвольную директорию,например ~/install_logos/, и перейти в эту директорию:

mkdir -p ~/install_logos/tar xzf "MyOffice-Logos-XXXX.XX.XX.tgz" -C ~/install_logos/cd ~/install_logos/

15

5.4. Общие настройки системы1. Настроить имя хоста, параметры сети.

◦ Процесс развертывания автоматически добавит на целевой машине следующиепараметры в sysctl.conf и выполнит их применение через sysctl -p:

net.ipv4.tcp_keepalive_time = 600net.ipv4.tcp_keepalive_intvl = 60net.ipv4.tcp_keepalive_probes = 3

2. Убедиться, что ресолвятся и доступны:

◦ Сard API сервер (cardapi[-<DOMAIN_ENV>].<DOMAIN_NAME> или другой, указанныйв параметре FS_CARD_URL).

◦ FS App API (appapi[-<DOMAIN_ENV>].<DOMAIN_NAME>, или другой, указанный впараметре FS_APP_URL).

◦ DB сервер указанный в параметре FS_IMPORT_DB_HOST

Желательно убедиться, что возможно подключение к базе данных на DBсервере с использованием утилиты psql и данных, указанных вследующих параметрах:

• FS_IMPORT_DB_USER

• FS_IMPORT_DB_PASS

• FS_IMPORT_DB_PORT

• FS_IMPORT_DB_DB_NAME

Установить утилиту psql можно по инструкции https://www.postgresql.org/download/linux/redhat/

3. Создать запись в DNS:

◦ logos[-<DOMAIN_ENV>].<DOMAIN_NAME>, тип A, содержит внешний REAL_IP адрес

Параметры инсталляции DOMAIN_ENV, DOMAIN_NAME описаны далее в разделе 5.3.

5.5. Настройки системы в "закрытомпериметре"В случае установки «МойОфис Частное Облако» в "закрытом периметре", то есть влокальной сети, не имеющей прямого выхода в Интернет, на всех хостах, включаяместо оператора, необходимо обеспечить доступность зеркал следующих yumрепозиториев:

• http://mirror.centos.org/centos/7/os/x86_64/

• http://mirror.centos.org/centos/7/extras/x86_64/

• http://mirror.centos.org/centos/7/updates/x86_64/

• http://download.fedoraproject.org/pub/epel/7/x86_64/

16

• https://download.docker.com/linux/centos/7/x86_64/stable/

Поддержка "закрытого периметра" находится в экспериментальномсостоянии!

5.6. Настройка основных параметровустановкиДля конфигурирования параметров необходимо скопировать шаблонный файлпараметров плейбуков:

cp ~/install_logos/group_vars/all/.private.yml~/install_logos/group_vars/all/private.yml

Далее необходимо открыть файл ~/install_logos/group_vars/all/private.yml втекстовом редакторе, и заполнить обязательные и опциональные настройки.

• FS_CARD_URL — HTTP URL доступа к адресной книге FS. Необходимораскомментировать строку и изменить значение параметра на требуемое приинсталляции FS. Параметр должен совпадать с аналогично названным параметром вфайлах директории properties CO.

• FS_APP_URL — HTTP URL доступа к FS AppAPI. Необходимо раскомментировать строкуи изменить значение параметра на требуемое при инсталляции FS. Параметрдолжен совпадать с аналогично названным параметром в файлах директорииproperties CO.

Для обоих параметров поддерживаются схемы http и https. Дляповышения безопасности рекомендуется использовать защищенныйвариант (https), либо гарантировать сетевое соединение между Logos иFS в доверенной внутренней подсети при выборе схемы http.

• FS_APP_LOGIN — необходимо раскомментировать строку и задать логин пользователяFS AppAPI (заранее созданного в базе FS).

• FS_APP_PASS — необходимо раскомментировать строку и задать пароль (в открытомвиде) пользователя FS AppAPI.

• FS_IMPORT_DB_DB_NAME — имя базы данных в Postgres DB, указываемое приразвёртывании FS.

• FS_IMPORT_DB_USER — пользователь для авторизации в указанной базе Postgres DB.

• FS_IMPORT_DB_PASS — пароль для авторизации в указанной базе Postgres DB.

• FS_IMPORT_DB_HOST — FQDN или VIP сервиса Postgres для импорта данных из FS.

• FS_IMPORT_DB_PORT — порт сервиса Postgres для импорта данных из FS.

• PORTAINER_PASSWORD — пароль для доступа к сервису portainer.

• RABBITMQ_USERNAME — имя пользователя для RabbitMQ.

• RABBITMQ_PASSWORD — пароль пользователя RabbitMQ.

• POSTGRES_USERNAME — имя пользователя базы данных Postgres в Logos.

17

• POSTGRES_PASSWORD — пароль пользователя базы данных Postgres в Logos.

• POSTGRES_DATABASE — имя базы данных Postgres в Logos.

• DB_HOST — FQDN или VIP сервиса Postgres собственной базы Logos. Приразвёртывании в односерверном режиме указать значение postgres

• DB_PORT — порт сервиса Postgres собственной базы Logos.

• DOMAIN_NAME — необходимо раскомментировать строку и изменить значениепараметра на требуемый, например DOMAIN_NAME: "example.com".

• apns_cert_url — оставить пустым. Используется для отладки.

• apns_bundle_id — ID бандла сертификатов для работы с APNS,https://help.swiftic.com/hc/en-us/articles/202916391-Find-Your-App-s-Bundle-ID

• apns_dev_mode — оставить false. Используется для отладки.

• apns_cert_pass — указать пароль к сертификату APNS, если он задан.

• fcm_sender_id — ID отправителя в Firebase, https://firebase.google.com/docs/cloud-messaging/concept-options

• fcm_server_key — серверный ключ в Firebase

• fcm_endpoint — HTTP API адрес сервиса FCM

• registry_images_dir — указать "registry"

• registry_private_hostname — указать "logos-private-registry"

• registry_private_port —  указать "5000"

• registry_image — указать "registry"

• registry_tag — указать "2.6.2"

• PRIVATE_REGISTRY_USERNAME — логин для доступа к локальному Docker registry.Задаётся произвольно.

• PRIVATE_REGISTRY_PASSWORD — пароль для доступа к локальному Docker registry.Задаётся произвольно.

• DOCKER_REGISTRY — оставить неизменным. Содержит адрес и порт, по которомубудет доступен локальный репозиторий Docker.

• REPO_HOSTNAME — оставить пустым. Используется для отладки.

• KIBANA_USER — имя пользователя для доступа к Kibana

• KIBANA_PASS — пароль пользователя для доступа к Kibana

5.7. Настройка дополнительных параметровустановки• DOMAIN_ENV — опционально раскомментировать строку и изменить значение

параметра на требуемый, например, "99-9"; при этом все записи в DNS для COнеобходимо будет скорректировать по форме <префикс>-<DOMAIN_ENV>.<DOMAIN_NAME>, например auth-99-9.example.com; почта поумолчанию будет использовать домен @<DOMAIN_ENV>.<DOMAIN_NAME>, например @99-9.example.com.

• logos_allowed_origins — параметр находится в файле~/install_logos/group_vars/all/template_vars.yml. Он содержит строковыезначения имен узлов, с которыми разрешено устанавливать web socket соединения.

18

По умолчанию равна FQDN узла на котором развернут Logos. Для успешнойинсталляции необходимо удалить значение по умолчанию, заменив его наследующее, если параметр <DOMAIN_ENV> задан:

"https://logos-{{ DOMAIN_ENV }}.{{ DOMAIN_NAME }},https://files-{{DOMAIN_ENV }}.{{ DOMAIN_NAME }},https://docs-{{ DOMAIN_ENV }}.{{DOMAIN_NAME }}"

или

"https://logos-.{{ DOMAIN_NAME }},https://files-.{{ DOMAIN_NAME}},https://docs-.{{ DOMAIN_NAME }}"

если параметр <DOMAIN_ENV> не задан.

• CRYPTO_PRO_LICENSE (в случае использования дистрибутива с поддержкой ГОСТшифрования, и наличии лицензии "КриптоПро CSP")

5.8. Конфигурирование сертификатов

Раздел обязателен для релизов без поддержки ГОСТ шифрования или сфлагом GOST_ENABLED=false!

Установка сертификатов производится из директории~/install_logos/certificates/<DOMAIN_NAME>, которую необходимо создать, если онане существует. В этой директории должны располагаться следующие файлы в форматеPEM:

• server.crt — содержит SSL-сертификат на *.<DOMAIN_NAME> и все промежуточныесертификаты, кроме корневого доверенного, расположенные в указанном порядке(как описано в http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate).

• server.nopass.key — приватный ключ сертификата, не требующий кодовой фразы.

• ca.crt — (опционально) все доверенные SSL сертификаты.

По умолчанию этот файл представляет собой ссылку на файл корневыхсертификатов, установленных в системе. При необходимости измененийфайла ca.crt, использовать символические ссылки на внешние файлыне допустимо, так как они не будут доступны внутри Docker контейнера!

• dhparams.pem — параметры алгоритма DH обмена ключами. Данный файл возможносгенерировать командой openssl dhparam -out dhparams.pem 2048.

Использование самоподписанных сертификатов крайне нежелательно сточки зрения безопасности. Данный способ может использоватьсятолько при инсталляции в ознакомительных целях.

• logosx.p12 — APNS сертификат для push-уведомлений iOS, поместить в директорию~/install_logos/certificates/apns/.

19

Наличие этого сертификата является обязательным условием успешногозавершения инсталляции.

5.8.1. Конфигурирование ГОСТ сертификатов

Только для релизов с поддержкой ГОСТ шифрования и включеннымфлагом GOST_ENABLED=true! При этом предыдущий раздел выполнять ненужно!

Поддержка ГОСТ шифрования осуществляется при помощипрограммного обеспечения "КриптоПро CSP". Для полноценной работынеобходимо приобретение серверной лицензии "КриптоПро CSP". Поумолчанию, при отсутствии лицензии, время работы ограничено.

После успешной настройки сертификатов появляется поддержка шифрования каналовсвязи с клиентскими приложениями в соответствии со стандартом ГОСТ 34.10-2018(описан в https://ru.wikipedia.org/wiki/%D0%93%D0%9E%D0%A1%D0%A2_34.10-2018). Приэтом сохраняется режим совместимости с клиентами, не поддерживающими ГОСТшифрование.

Для конфигурирования ГОСТ сертификатов в директории~/install_logos/certificates/gost необходимо создать директорию,соответствующую сконфигурированному имени домена <DOMAIN_NAME>, содержащуюфайлы в формате PFX:

• certkey-gost.pfx — содержит ГОСТ 34.10-2018 сертификат и приватный ключ (безкодовой фразы) на *.<DOMAIN_NAME>, обязательный файл.

• certkey-rsa.pfx — содержит RSA сертификат и приватный ключ (без кодовойфразы) на *.<DOMAIN_NAME>, обязательный файл.

• roots-gost.pfx — содержит все дополнительные доверенные и промежуточныеГОСТ 34.10-2018 сертификаты, опционально.

• roots-rsa.pfx — содержит все дополнительные доверенные и промежуточные RSAсертификаты, опционально.

Использование самоподписанных сертификатов или сертификатовтестового УЦ нежелательно с точки зрения безопасности. Данный способможет использоваться только при инсталляции в ознакомительныхцелях.

5.9. Дополнительные параметры дляодносерверного высокодоступного режима• redis_cluster_name — имя внешнего кластера Redis, например "imc" в CO,

https://redis.io/topics/sentinel

• redis_cluster_master_client_port — порт мастера внешнего кластера Redis.

• redis_cluster_master_password — пароль мастера внешнего кластера Redis.

• redis_sentinel_cluster_ip_master — ip адрес текущего мастера внешнего кластераRedis.

20

• MQ_HA_HOSTS — список ip адресов или hostname узлов внешнего кластера RabbitMQ.

5.10. Настройка межсетевого экранированияСетевые порты, доступ к которым необходим с внешних IP адресов, приведены втаблице ниже.

Taблица 3 – Описание портов, доступ к которым необходимо обеспечить снаружи

Номер порта Связанный IP Назначение

80 0.0.0.0 http

443 0.0.0.0 https

Сетевые порты, доступ к которым необходим с внутренних IP адресов, приведены втаблице ниже.

Taблица 4 – Описание портов, доступ к которым необходимо обеспечить изнутри

Номер порта Связанный IP Назначение

22 0.0.0.0 ssh

80 0.0.0.0 http

443 0.0.0.0 https

5000 0.0.0.0 docker-registry

5432 0.0.0.0 postgresql

8001 0.0.0.0 etcd-browser

9000 0.0.0.0 portainer

9200 0.0.0.0 fluentd

5.11. Настройка удаленного доступаНастройка удаленного доступа выполняется при помощи роли sshd. Пример настройкироли приведен ниже:

21

ansible_port: 22sshd: protocol: 2 accept_env: "LC_*" permit_root_login: "no" password_authentication: "yes" use_dns: "no" x11_forwarding: "no" allow_groups: [] allow_users: []

6. Установка «МойОфис Логос»6.1. Конфигурация без отказоустойчивости6.1.1. Конфигурирование инвентарного файла

Инвентарный файл (inventory file) содержит логические группы (роли), на которыедолжен быть поделен сервер.

Для конфигурирования инвентарного файла используется python скрипт generator.py.Для корректной работы скрипта необходимо задать имя целевой машины в переменнойокружения ANSIBLE_DEPLOY_HOST.

export ANSIBLE_DEPLOY_HOST=<target-hostname>

6.1.2. Запуск установки

Для запуска инсталляции подсистемы Logos необходимо запустить скрипты установкиAnsible из директории ~/install_logos/.

./ansible-playbook logos.yml -i inventory/standalone -iinventory/generator.py -t all -u root [дополнительные опции...]

Поддерживается также опция --become для режима sudo в случаепользователя, отличного от root.

По умолчанию опция развёртывания LOG_DRIVER_FLUENTD содержитзначение true, что приводит к установке стека EFK. При передачепеременной значения false логирование будет происходитьпосредством journald (системный журнал).

22

По умолчанию опция ENABLE_FS_SYNC содержит значение true, чтоприводит к синхронизации базы данных пользователей с базой данныхFS. Для отключения синхронизации учетных пользователей необходимопередать этой переменной значение false

По умолчанию опция развёртывания CLEANUP содержит значение false.При "чистой" установке необходимо передать этой переменной значениеtrue.

По умолчанию опция развёртывания GOST_ENABLED содержит значениеfalse. В случае использования дистрибутива с поддержкой ГОСТшифрования, смена значения на true и передача переменнойINSTALLER_CUSTOMIZATION значения gost приведёт к установке стекароли nginx-gost

Дополнительные опции передаются после ключа -e.

Для запроса пароля SSH необходимо передать опцию -k.При необходимости использовать приватный ключ вместо опции -k следуетиспользовать опцию –private-key=<путь к файлу приватного ключа>.

При успешном выполнении скрипта сервисы подсистемы Logos будут запущеныавтоматически.

6.1.3. Проверка корректности установки

• В браузере открыть страницу https://logos[-<DOMAIN_ENV>.]<DOMAIN_NAME>

• Убедиться, что происходит переход на страницу авторизации.

• Авторизоваться и убедиться, что происходит автоматический переход на страницумессенджера Logos.

6.2. Кластерная отказоустойчиваяконфигурация6.2.1. Запуск установки

Полностью кластерный режим для сервисов Logos еще неподдерживается. В режиме высокой доступности Logos используетвнешние кластера сервисов Postgres, RabbitMQ, Redis. Этот режимвключается опцией CLUSTER_MODE=True

./ansible-playbook logos.yml -i inventory/standalone -iinventory/generator.py -t all -e CLUSTER_MODE=True -u root[дополнительные опции...]

Дополнительные опции аналогичны односерверному режиму.

23

6.2.2. Проверка корректности установки

• В браузере открыть страницу https://logos[-<DOMAIN_ENV>.]<DOMAIN_NAME>

• Убедиться, что происходит переход на страницу авторизации.

• Авторизоваться и убедиться, что происходит автоматический переход на страницумессенджера Logos.

24

7. Обновление с предыдущих версийДанный дистрибутив предназначен для чистой установки либо для обновления спредыдущих версий. Информация по чистой установке приведена в разделе 3.Информация по миграции описана в настоящем разделе.

Поддерживается чистая установка или миграция начиная с версии2018.02 Mint.

Для миграции данных необходимо сделать резервную копию базы данных СУБДPostgreSQL. Кроме того, потребуется сделать резервную копию параметров установки вчасти солей, паролей и т.д.

Перед выполнением резервного копирования рекомендуется выключитьсервис целиком, путем выполнения команды systemctl stop docker.Это исключит попадание новых данных в базу данных в процессерезервного копирования.

7.1. Состав дистрибутиваСостав дистрибутива приведен в п. 4.1.

8. Подготовка к обновлению8.1. Описание ролейОписание ролей приведено в п. 5.1.

8.2. Проверка и настройка инфраструктурыустановкиОписание проверки и настройки инфраструктуры установки приведено в п. 5.2.

8.2.1. Проверка и настройка основных параметров установки

Описание проверки и настройки данных параметров приведено в п. 5.5.

8.2.2. Проверка и настройка дополнительных параметровустановки

Описание проверки и настройки дополнительных параметров установки приведено в п.5.6.

8.2.3. Проверка и настройка межсетевого экранирования

Описание проверки и настроек межсетевого экранирования приведено в п. 5.7.

25

8.2.4. Проверка и настройка разграничения доступа

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

8.2.5. Проверка и настройка удаленного доступа

Описание проверки и настройки удаленного доступа приведено в п. 5.9.

8.2.6. Создание резервных копий

Описание процесса создания резервной копии базы данных PostgreSQL приведено в п.4.2.7 Руководства по установке Файлового Хранилища.

9. Обновление «МойОфис Логос»9.1. Конфигурация без отказоустойчивости9.1.1. Запуск обновления

Запуск обновления аналогичен процессу запуска установки, приведенному в п. 6.2.1.

9.1.2. Проверка корректности обновления

Проверка обновления аналогична проверке установки, описанной в п. 6.2.1.

9.1.3. Миграция данных

Миграция данных выполняется автоматически в процессе деплоя.

9.2. Кластерная отказоустойчиваяконфигурация9.2.1. Масштабирование конфигурации

Не поддерживается в данном релизе.

9.2.2. Запуск обновления

Не поддерживается в данном релизе.

9.2.3. Проверка корректности обновления

Не поддерживается в данном релизе.

9.2.4. Миграция данных

Не поддерживается в данном релизе.

26

10. Дополнительные возможности ирекомендации по установке10.1. Настройка мониторинга состоянияНе поддерживается в данном релизе.

27

11. Техническая поддержкаКонтактная информация службы технической поддержкиООО «Новые облачные технологии» в случае возникновения вопросов, не описанных вданном руководстве: Адрес электронной почты: [email protected] Телефон: 8-800-222-1-888.

11.1. Системные сообщенияВ случае использования неподдерживаемого браузера cистема выводитсоответствующее уведомление:

• На английском языке: «Your browser is not supported. Please use a different browser torun this app. Learn more about the browser support from restrictive documentation».

• На русском языке: «Ваш браузер ограничивает работу приложения. Пожалуйста,воспользуйтесь другим браузером. Сведения о поддерживаемых браузерахприведены в сопроводительной документации».

11.2. Известные проблемы и способы решения

12. ES port waiting timeoutПри недостаточной скорости чтения/записи дисковой подсистемы возможен сбой впроцессе развертывания на шаге:

fatal: [10.160.101.77]: FAILED! => {"changed": false, "elapsed": 300,"msg": "Timeout when waiting for 127.0.0.1:9200"}

При возникновении такой проблемы рекомендуется заменить диск на болеепроизводительный или заменить в файле roles/efk/task/main.yml блок

- name: "Wait until ES port is opened"  wait_for:  port: "{{ es_port }}"  delay: 10

на

- name: "Wait until ES port is opened"  wait_for:  port: "{{ es_port }}"  delay: 10  timeout: 1200

Перечень требований к дисковой подсистеме приведен в документе «"МойОфис Логос".

28

Системные требования».

13. Смена подсети Docker Swarm по-умолчаниюДля смены подсети Docker Swarm по-умолчанию, например, на 192.168.254.0/24 нужновыполнить следующие шаги:

• Изменить значение docker_overlay_net_range в файле group_vars/all/system.ymlна "192.168.254.0/24"

• Выполнить деплой с допольнительными ключами -e docker_ip=192.168.255.1 и -eDOCKER_MASK=24.

• Узнать значение HOSTNAME выполнив docker node ls

• Остановить запущенные сервисы: docker node update --availability drain<HOSTNAME>

• Удалить существующий docker_gwbridge:

docker network disconnect -f docker_gwbridge gateway_ingress-sbox1>/dev/null 2>&1docker network rm docker_gwbridge

• Создать новый docker_gwbridge:

docker network create \  -o com.docker.network.bridge.enable_icc=false \  -o com.docker.network.bridge.name=docker_gwbridge \  --subnet 192.168.0.0/16 \  --gateway 192.168.0.1 \  docker_gwbridge

• Перезапустить сервис docker.

• Восстановить работу сервисов узла: docker node update --availability active<HOSTNAME>

Более детально об этой процедуре можно прочесть по ссылке:https://success.mirantis.com/article/how-do-i-change-the-docker-gwbridge-address

29