> For the complete documentation index, see [llms.txt](https://kb.pvhostvm.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.pvhostvm.ru/hostvm-vdi/upgrade-guide/upgrading-from-3.6-to-4.0/broker.md).

# Брокер HOSTVM VDI

## Замена виртуальной машины <a href="#vm-replace" id="vm-replace"></a>

> Процедура обновления с новой установкой брокера версии 4.0 и переключением БД с версии 3.6.

> Для конфигурации с внешним сервером БД.

### Предварительные условия <a href="#prerequisites" id="prerequisites"></a>

1. Обновите брокер до последнего доступного минорного релиза версии 3.6: [инструкция по обновлению между минорными релизами](/hostvm-vdi/upgrade-guide/updates-between-minor-releases/broker.md)
2. При использовании компонента `Cервер БД` (готовый образ виртуальной машины от HOSTVM) - [выполните его обновление до версии 4.0](/hostvm-vdi/upgrade-guide/upgrading-from-3.6-to-4.0/db-server.md).
3. При использовании собственного сервера БД - убедитесь в соответствии [системным требованиям для версии 4.0](/hostvm-vdi/hostvm-vdi-installation-guide/requirements.md).

### Обновление брокера <a href="#broker-update" id="broker-update"></a>

1. Выполните новую установку брокера версии 4.0, до момента запуска мастера установки `hostvm-vdi setup`.

[Руководство по установке](/hostvm-vdi/hostvm-vdi-installation-guide/broker.md).

При наличии в конфигурации провайдеров RDS, RDS / Linux Terminal, Провайдер машин со статическим IP (сервис Статический множественный IP адрес) и использовании в параметре "Список серверов" записей в формате fqdn - убедитесь в возможности разрешения таких имен через DNS или файл hosts на машине брокера 4.0, cм. [Известные ограничения](#known-limitations).

2. Скопируйте файл конфигурации `settings.py` с брокера 3.6 на брокер 4.0.

Пример команды:

```shell-session
broker36:# scp /var/server/server/settings.py root@broker40:/var/server/server/
```

3. Остановите службы брокера 3.6, сделайте резервную копию БД, и обновите сервер БД.

[Руководство по обновлению сервера БД до версии 4.0](/hostvm-vdi/upgrade-guide/upgrading-from-3.6-to-4.0/db-server.md)

4. На брокере 4.0 запустите мастер установки командой `hostvm-vdi setup`.

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

{% hint style="warning" %}
В процессе работы мастера установки структура БД будет обновлена до версии 4.0. После этого использование БД с брокером версии 3.6 будет невозможно.
{% endhint %}

**Дополнительные действия при использовании MariaDB**

> При подключении нескольких брокеров к одной БД, данное действие необходимо выполнить единожды, при обновлении первого брокера.

В версии 4.0 кодировка по умолчанию для БД MariaDB изменилась с utfmb3 на utfmb4.

Для конвертации БД и таблиц выполните следующую команду и следуйте инструкциям на экране:

```shell-session
broker40:~# /var/server/manage.py db-convert
Целевая БД: udsdb, текущий charset: utf8mb3, collation: utf8mb3_general_ci
Выполнить конвертацию БД? [y/N]: y
Конвертация БД выполнена!
```

5. Установите пакеты с дистрибутивами клиента и агента VDI

> В версии 4.0 дистрибутивы больше не распространяются в составе пакета брокера hostvm-vdi, а выделены в отдельные пакеты для установки.

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

> Если вам не требуется возможность загрузки клиента или агента VDI через портал брокера, вы также можете пропустить установку соответствующего пакета.

Скачайте из личного кабинета пакет с дистрибутивами клиента hostvm-vdi-clients\_<версия>.deb и установите его:

```shell-session
broker40:~# apt install /tmp/hostvm-vdi-clients_4.0.0_all.deb
```

Скачайте из личного кабинета пакет с дистрибутивами агента hostvm-vdi-actors\_<версия>.deb и установите его:

```shell-session
broker40:~# apt install /tmp/hostvm-vdi-actors_4.0.0_all.deb
```

6. Перезапустите службы брокера:

```shell-session
broker40:~# systemctl restart vdi.service vdiweb.service
```

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

Для смены пароля выполните команду в консоли ОС брокера:

```shell-session
broker40:~# hostvm-vdi security password
```

## Действия после обновления <a href="#after-update" id="after-update"></a>

### Настройка брокера <a href="#after-update-config" id="after-update-config"></a>

#### SAML аутентификатор <a href="#saml-auth" id="saml-auth"></a>

Поскольку развертывание брокера версии 4.0 выполняется на новой машине, ее адрес может измениться. После обновления брокера необходимо внести соответствующие изменения в параметры SAML аутентификатора:

* В "Панели управления" брокера 4.0 перейдите в раздел "Аутентификация / Аутентификаторы", выберите нужный SAML аутентификатор и нажмите "Редактировать".
* Перейдите на вкладку "Метаданные" и очистите поле "ID объекта". Нажмите "Сохранить" для автоматической генерации нового URL-адреса сервера.
* Откройте параметры аутентификатора заново, скопируйте сгенерированнную ссылку из поля "ID объекта". По данной ссылке будет доступен xml с метаданными, возьмите из него значения полей entityID, SingleLogoutService и AssertionConsumerService.
* Используйте полученные значения entityID, SingleLogoutService и AssertionConsumerService для внесений изменений в настройки remote SP (service provider) на стороне SAML IdP (identity provider).

[Параметры аутентификатора SAML](/hostvm-vdi/hostvm-vdi-admin-guide/authenticators/saml.md)

### Обновление других компонентов платформы HOSTVM VDI

#### Туннелер

1. Разверните новый экземпляр туннелера версии 4.0

[Руководство по установке туннелера](/hostvm-vdi/hostvm-vdi-installation-guide/tunneler.md)

2. В настройках туннельных транспортов укажите адрес туннелера версии 4.0

[Настройка транспорта в панели управления брокера](/hostvm-vdi/hostvm-vdi-installation-guide/tunneler/virtual-appliance.md#transport-config)

#### Агент VDI <a href="#actor-update" id="actor-update"></a>

Вы можете использовать имеющиеся установки агента версии 3.6 с брокером версии 4.0.

Однако, для работы нового функционала и обеспечения однородности версий используемых компонентов HOSTVM VDI рекомендуется обновление агента до версии 4.0.

[Установка агента HOSTVM VDI](/hostvm-vdi/hostvm-vdi-installation-guide/actor.md)

#### Клиент VDI <a href="#client-update" id="client-update"></a>

Вы можете использовать имеющиеся установки клиента версии 3.6 с брокером/туннелером версии 4.0.

Однако, для работы нового функционала и обеспечения однородности версий используемых компонентов HOSTVM VDI рекомендуется обновление клиента до версии 4.0.

[Установка клиента HOSTVM VDI](/hostvm-vdi/hostvm-vdi-installation-guide/client.md)

## Известные ограничения <a href="#known-limitations" id="known-limitations"></a>

* После обновления не доступен вход на веб-портал брокера под встроенной учетной записью администратора.

Необходимо заново задать пароль учетной записи. Данный шаг указан в [процедуре обновления](#broker-update) выше (п.7), а также описан в отдельной статье [Сброс пароля администратора](/hostvm-vdi/troubleshooting-guide/faq/reset-admin-password.md).

* Особенности переноса адресов из списка серверов провайдеров RDS, RDS / Linux Terminal, Провайдер машин со статическим IP (сервис Статический множественный IP адрес).

В процессе обновления структуры БД до версии 4.0 выполняется перенос списка адресов серверов для указанных провайдеров в новый раздел "Панель управления / Сервисы / Серверы".

Для записей списка, где в качестве адреса указано имя, а не ip, брокер выполняет разрешение имени для получения ip-адреса. В случае неудачи такая запись не переносится, а в лог файл `uds.log` добавляется запись об ошибке:

```
ERROR ... Server <имя> on <провайдер> not found on DNS
```

Для корректного переноса записей в формате fqdn необходимо обеспечить возможность разрешения таких имен через DNS или файл hosts на машине брокера 4.0.
