Руководство по обновлению

Версия zVirt: 4.2

1. Введение

В данной инструкции описывается процедура обновления системы управления виртуализацией до версии 4.2. Используется следующая терминология:

  • Хост - Физический сервер или персональный компьютер.

  • Гипервизор - это хост, на котором работает одна или несколько виртуальных машин.

  • Менеджер управления - программное обеспечение zVirt, обеспечивающее управление системой виртуализации;

  • Хост с ролью HostedEngine - гипервизор, подготовленный для выполнения на нём виртуальной машины HostedEngine;

  • Хост с ВМ HostedEngine - гипервизор с ролью HostedEngine, на котором в текущий момент времени выполняется эта ВМ;

  • Стандартный хост - гипервизор, на котором не может выполняться виртуальная машина HostedEngine;

  • Хост с менеджером управления - физический сервер или персональный компьютер, на котором установлен менеджер управления в режиме развёртывания Standalone;

  • Хост с менеджером управления и ролью гипервизора - гипервизор, на котором установлен менеджер управления в режиме развёртывания Standalone All-in-One.

  • Виртуальная машина HostedEngine - специальная виртуальная машина, на которой установлен менеджер управления. Выполняется только на хостах с ролью HostedEngine. zVirt развёрнут в режиме HostedEngine;

  • режимы развёртывания zVirt:

    • Hosted Engine - менеджер управления установлен в специальной виртуальной машине HostedEngine, которая выполняется на хостах с ролью HostedEngine;

    • Standalone - менеджер управления установлен на отдельном физическом хосте, который не выполняет функцию гипервизора;

    • Standalone All-in-One - менеджер управления установлен на физическом хосте, который выполняет функцию гипервизора.

Обновление zVirt до версии 4.2 заключается в обновлении программного обеспечения менеджера управления и гипервизоров.

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

Для обновления контроллеров Конвертации и Репликации обратитесь в службу технической поддержки.

Далее в инструкции в командах настройки доступа к репозиториям будут встречаются <имя\_пользователя> <пароль>, их следует заменить (вместе с угловыми скобками) на имя пользователя (логин) и пароль, которые указаны в лицензионном сертификате, выданном при покупке продукта.

Перед выполнением обновления до версии 4.2 необходимо выполнить обновление текущей версии до 4.0 или выше.

Перед обновлением важно учесть следующее:

  • В кластере, использующем функции программно-определяемой сети, при нарушении порядка обновления возможна недоступность ВМ по сети до момента обновления всех гипервизоров и менеджера управления.

  • Ошибки, допущенные при выполнении обновления менеджера управления, несут риск потери управления над средой виртуализации или данных. Перед обновлением сделайте резервную копию данных менеджера управления, прочтите данную инструкцию полностью и только потом приступайте к выполнению.

2. Рекомендуемый алгоритм обновления

Обновление zVirt в режиме Hosted Engine
  1. Обновите стандартные хосты.

  2. Обновите все свободные хосты с ролью HostedEngine. Под "свободными" понимаются хосты, на которых в текущий момент не выполняется ВМ HostedEngine.

  3. Переведите в режим обслуживания хост с ролью HostedEngine, на котором в текущий момент времени работает ВМ HostedEngine. Дождитесь окончания миграции ВМ HostedEngine. Выполните обновление этого хоста.

  4. Обновите ВМ HostedEngine.

  5. При необходимости обновите версии совместимости кластеров и центров данных.

Обновление zVirt в режиме Standalone
Обновление zVirt в режиме Standalone All-in-One

Если в процессе обновления был выполнен переход с AAA JDBC на Keycloak:

  • необходимо для всех сервисов, которые ранее использовали учетные записи с доменом @internal, заменить на учетные записи с доменом @internalsso. Для этого необходимо мигрировать этих пользователей в Keycloak.

  • В случае если для сервиса использовался пользователь admin@internal, его необходимо заменить на admin@zvirt@internalsso. Выполнять миграцию этого пользователя не требуется.

  • Для доступа к пользовательскому порталу, а также порталам администрирования и Keycloak будет использоваться пользователь admin@zvirt с паролем, заданным для пользователя admin

  • Для доступа в портал мониторинга по прежнему используется пользователь

Перед выполнением процедуры обновления Менеджера управления убедитесь, что системное имя Менеджера управления (хоста с Менеджером управления в режимах Standalone и Standalone All-in-One) задано в нижнем регистре. Для этого можно использовать команду hostname.

Если имя задано в верхнем регистре, перед выполнением обновления воспользуйтесь инструкцией для смены регистра системного имени.

3. Обновление zVirt в режиме развёртывания HostedEngine

Обновление заключается в обновлении менеджера управления, который установлен в ВМ HostedEngine и гипервизоров. Сначала включите на хосте с ВМ HostedEngine режим глобального обслуживания кластера в веб-интерфейсе или выполнив, подключившись по SSH к хосту, следующие команды:

hosted-engine --set-maintenance --mode=global
hosted-engine --vm-status

Убедитесь, что включен режим глобального обслуживания - в выводе должна присутствовать надпись !! Cluster is in GLOBAL MAINTENANCE mode !!:

img1

3.1. Обновление хостов с ролью HostedEngine

Перед началом обновления гипервизоров (стандартных хостов и хостов с ролью HostedEngine), их требуется переводить в режим обслуживания, для чего необходимо обеспечить отсутствие на нём выполняющихся виртуальных машин:

  • Если в кластере несколько гипервизоров и на них достаточно ресурсов для приёма виртуальных машин, с подготавливаемого к обновлению гипервизора, и они не закреплены на нём с помощью меток и групп сходства, то включите режим обслуживания, дождитесь окончания миграции ВМ и приступайте к обновлению.

  • Если к обновляемому гипервизору прикреплены группами и метками сходства виртуальные машины, перевести его в режим обслуживания с первого раза не получится - появится окно сообщения о невозможности включения режима обслуживания. Закройте окно, выключите те машины, которые не начали миграцию, дождитесь окончания миграции и выключения ВМ, активируйте гипервизор и снова переведите его в режим обслуживания.

  • Если гипервизор единственный в кластере, в режим обслуживания переводить не надо, выключите все выполняющиеся на нём виртуальные машины и после завершения их работы на хосте приступайте к обновлению, при этом выключение ВМ HostedEngine осуществите командой:

    hosted-engine --vm-shutdown
Хост с ролью Hosted Engine - это хост, на котором установлены пакеты Hosted Engine, обеспечивающие возможность размещения на хосте виртуальной машины с Менеджером управления.

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

Если в среде используется модуль "Репликация и DR" и на обновляемом хосте запущена ВМ агент-отправитель с уровнем поиска ВМ в значении "Хост", то данную ВМ необходимо выключить.

Если для обновляемого хоста были заданы дополнительные параметры ядра, перед обновлением их необходимо сбросить. Для этого:

  1. На портале администрирования перейдите в Ресурсы  Хосты.

  2. Выделите нужный хост и нажмите Изменить.

  3. На вкладке Ядро нажмите Сбросить, а затем OK.

  4. Переведите хост в режим обслуживания (Управление  Обслуживание).

  5. Переустановите хост (Настройки  Переустановить).

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

  1. Подключитесь по SSH к хосту.

  2. Обновите репозитории в соответствии с разделом Обновление репозиториев

  3. Установите rpm-пакет со скриптом автообновления zvirt-update:

    dnf install -y zvirt-update
  4. Запустите процесс автообновления с помощью команды:

    zvirt-update
  5. Следуйте инструкциям на экране.

  6. По окончанию обновления если хост с ролью HostedEngine является единственным хостом такого типа в кластере:

    1. перезапустите сервисы HA:

      systemctl restart ovirt-ha-broker.service
      systemctl restart ovirt-ha-agent.service
    2. запустите ВМ HostedEngine:

      hosted-engine --vm-start
    3. Убедитесь в корректности статуса ВМ HostedEngine (для запуска требуется некоторое время)

      hosted-engine --vm-status
      img4
      Рисунок 1. Ожидаемый статус ВМ HostedEngine
  7. Выведите гипервизор из обслуживания:

    1. На портале администрирования перейдите Ресурсы  Хосты.

    2. Выделите нужный хост и нажмите Управление > Включить.

Если в среде используется модуль "Репликация и DR" и на обновляемом хосте до обновления была запущена ВМ агент-отправитель с уровнем поиска ВМ в значении "Хост", то данную ВМ необходимо запустить.

Для проверки того, что хост успешно обновился:

  1. На портале администрирования перейдите Ресурсы  Хосты.

  2. Нажмите на имя обновлённого хоста для перехода в подробное представление.

  3. Проверьте версию ОС на вкладке Общее:

    check host update
    Рисунок 2. Ожидаемая версия ОС

3.2. Обновление Менеджера управления в виртуальной машине HostedEngine

Если в среде используются модули "Репликация и DR" или/и "Конвертация", перед началом обновления необходимо остановить или дождаться завершения активных процессов:

Для модуля "Конвертация"
  • репликация ВМ

  • задачи конвертации ВМ

Для модуля "Репликация и DR"
  • задачи групп восстановления

  • репликация групп ВМ

После завершения процессов можно приступать к обновлению Менеджеров управления в ОЦОД и РЦОД.

  1. Подключитесь по SSH к виртуальной машине HostedEngine.

  2. Обновите репозитории в соответствии с разделом Обновление репозиториев

  3. Установите rpm-пакет со скриптом автообновления zvirt-update:

    dnf install -y zvirt-update
  4. Запустите процесс автообновления с помощью команды:

    zvirt-update
  5. Следуйте инструкциям на экране.

  6. Верните рабочий режим на хосте с ВМ HostedEngine и убедитесь, что режим глобального обслуживания выключен (в выводе отсутствует уведомление !! Cluster is in GLOBAL MAINTENANCE mode !!):

    hosted-engine --set-maintenance --mode=none
    hosted-engine --vm-status
    img4
    Рисунок 3. Ожидаемый статус ВМ HostedEngine

    Если ВМ HostedEngine не запустилась, запустите её:

    hosted-engine --vm-start

Если в среде используются модули "Репликация и DR" или/и "Конвертация" и во время обновления Менеджеров управления была включена поддержка Keyclock, необходимо:

  1. В настройках агента-отправителя, агента-приемника в разделе Репликация и DR  Площадки изменить имя пользователя на [username]@zvirt@interlansso.

  2. Выполнить перезапуск сервиса («Restart agent services») на агентах.

  3. Восстановить работу репликации групп ВМ.

Проверить обновление можно на странице входа веб-интерфейса

img5

и наличием нового функционала.

4. Обновление хостов

Перед началом обновления необходимо перевести гипервизор с Менеджером управления в режим обслуживания, для чего необходимо обеспечить отсутствие на нём выполняющихся виртуальных машин:

  • Если в кластере несколько гипервизоров и на них достаточно ресурсов для приёма виртуальных машин, с подготавливаемого к обновлению гипервизора, и они не закреплены на нём с помощью меток и групп сходства, то включите режим обслуживания, дождитесь окончания миграции ВМ и приступайте к обновлению.

  • Если к обновляемому гипервизору прикреплены группами и метками сходства виртуальные машины, перевести его в режим обслуживания с первого раза не получится - появится окно сообщения о невозможности включения режима обслуживания. Закройте окно, выключите те машины, которые не начали миграцию, дождитесь окончания миграции и выключения ВМ, активируйте гипервизор и снова переведите его в режим обслуживания.

  • Если гипервизор единственный в кластере, в режим обслуживания переводить не надо, выключите все выполняющиеся на нём виртуальные машины и после завершения их работы на хосте приступайте к обновлению.

Если для обновляемого хоста были заданы дополнительные параметры ядра, перед обновлением их необходимо сбросить. Для этого:

  1. На портале администрирования перейдите в Ресурсы  Хосты.

  2. Выделите нужный хост и нажмите Изменить.

  3. На вкладке Ядро нажмите Сбросить, а затем OK.

  4. Переведите хост в режим обслуживания (Управление  Обслуживание).

  5. Переустановите хост (Настройки  Переустановить).

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

  1. Переведите хост в режим обслуживания.

  2. Подключитесь по SSH к хосту.

  3. Обновите репозитории в соответствии с разделом Обновление репозиториев

  4. Установите rpm-пакет со скриптом автообновления zvirt-update:

    dnf install -y zvirt-update
  5. Запустите процесс автообновления с помощью команды:

    zvirt-update
  6. Следуйте инструкциям на экране.

  7. Выведите гипервизор из обслуживания:

    1. На портале администрирования перейдите Ресурсы  Хосты.

    2. Выделите нужный хост и нажмите Управление > Включить.

Для проверки того, что хост успешно обновился:

  1. На портале администрирования перейдите Ресурсы  Хосты.

  2. Нажмите на имя обновлённого хоста для перехода в подробное представление.

  3. Проверьте версию ОС на вкладке Общее:

    check host update
    Рисунок 4. Ожидаемая версия ОС
  4. Для проверки обновления модуля SDN выполните следующую команду:

    ovn-controller --version

    Ожидаемые значения:

    ovn-controller 23.09.1
    Open vSwitch Library 3.2.2
    OpenFlow versions 0x6:0x6
    SB DB Schema 20.29.0

5. Обновление Менеджера управления в режиме развёртывания Standalone

Если в вашей среде Менеджер управления развернут в вариации Standalone All-in-One, воспользуйтесь инструкцией Обновление Менеджера управления в режиме развёртывания Standalone All-in-One.

Если в среде используются модули "Репликация и DR" или/и "Конвертация", перед началом обновления необходимо остановить или дождаться завершения активных процессов:

Для модуля "Конвертация"
  • репликация ВМ

  • задачи конвертации ВМ

Для модуля "Репликация и DR"
  • задачи групп восстановления

  • репликация групп ВМ

После завершения процессов можно приступать к обновлению Менеджеров управления в ОЦОД и РЦОД.

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

  2. Обновите репозитории в соответствии с разделом Обновление репозиториев

  3. Создайте dump ovirt-engine:

    su - postgres -c "pg_dumpall > ~/pgdump_file.sql"
  4. Остановите сервисы postgresql и ovirt-engine:

    systemctl stop postgresql.service ovirt-engine.service
  5. Выполните перенос конфигурации postgresql:

    mv /var/lib/pgsql/data /var/lib/pgsql/data_old
  6. Удалите все зафиксированные версии пакетов из списка versionlock.list и убедитесь, что список пуст:

    dnf versionlock clear
    dnf versionlock list
    rm -rf /etc/dnf/modules.d/*
  7. Обновите релиз:

    rm -rf /etc/dnf/protected.d/*-release-host-node.conf
    dnf remove -y zvirt-release-host-node
    dnf install -y zvirt-release-host-node
  8. Установите пакет zvirt-standalone:

    dnf install -y zvirt-standalone --allowerasing
  9. Инициализируйте postgresql и восстановите БД

    postgresql-setup --initdb
    cp /var/lib/pgsql/data_old/pg_hba.conf /var/lib/pgsql/data/
    cp /var/lib/pgsql/data_old/pg_ident.conf /var/lib/pgsql/data/
    cp /var/lib/pgsql/data_old/postgresql.conf /var/lib/pgsql/data/
    systemctl start postgresql.service
    su - postgres -c 'psql -f ~/pgdump_file.sql postgres'
  10. Выполните следующие команды:

    rm -rf /etc/dnf/protected.d/*-release-host-node.conf
    dnf downgrade python3-blivet
  11. Выполните команду обновления пакетов. После чего все пакеты zVirt будут обновлены на новые:

    dnf -y update --allowerasing
  12. Выполните следующую команду:

    dnf reinstall zvirt-release-host-node
  13. Запустите установку Менеджера управления:

    engine-setup --offline
  14. После завершения установки перезапустите сервисы:

    systemctl restart ovirt-engine.service

Если в среде используются модули "Репликация и DR" или/и "Конвертация" и во время обновления Менеджеров управления была включена поддержка Keyclock, необходимо:

  1. В настройках агента-отправителя, агента-приемника в разделе Репликация и DR  Площадки изменить имя пользователя на [username]@zvirt@interlansso.

  2. Выполнить перезапуск сервиса («Restart agent services») на агентах.

  3. Восстановить работу репликации групп ВМ.

Проверить обновление можно на странице входа веб-интерфейса

img5

и наличием нового функционала.

6. Обновление Менеджера управления в режиме развёртывания Standalone All-in-One

Перед началом обновления необходимо перевести гипервизор с Менеджером управления в режим обслуживания, для чего необходимо обеспечить отсутствие на нём выполняющихся виртуальных машин:

  • Если в кластере несколько гипервизоров и на них достаточно ресурсов для приёма виртуальных машин, с подготавливаемого к обновлению гипервизора, и они не закреплены на нём с помощью меток и групп сходства, то включите режим обслуживания, дождитесь окончания миграции ВМ и приступайте к обновлению.

  • Если к обновляемому гипервизору прикреплены группами и метками сходства виртуальные машины, перевести его в режим обслуживания с первого раза не получится - появится окно сообщения о невозможности включения режима обслуживания. Закройте окно, выключите те машины, которые не начали миграцию, дождитесь окончания миграции и выключения ВМ, активируйте гипервизор и снова переведите его в режим обслуживания.

  • Если гипервизор единственный в кластере, в режим обслуживания переводить не надо, выключите все выполняющиеся на нём виртуальные машины и после завершения их работы на хосте приступайте к обновлению.

Если в среде используются модули "Репликация и DR" или/и "Конвертация", перед началом обновления необходимо остановить или дождаться завершения активных процессов:

Для модуля "Конвертация"
  • репликация ВМ

  • задачи конвертации ВМ

Для модуля "Репликация и DR"
  • задачи групп восстановления

  • репликация групп ВМ

После завершения процессов можно приступать к обновлению Менеджеров управления в ОЦОД и РЦОД.

  1. Переведите хост в режим обслуживания.

  2. Подключитесь по SSH к хосту.

  3. Обновите репозитории в соответствии с разделом Обновление репозиториев

  4. Установите rpm-пакет со скриптом автообновления zvirt-update:

    dnf install -y zvirt-update
  5. Запустите процесс автообновления с помощью команды:

    zvirt-update
  6. Следуйте инструкциям на экране.

  7. Выведите гипервизор из обслуживания:

    1. На портале администрирования перейдите Ресурсы  Хосты.

    2. Выделите нужный хост и нажмите Управление > Включить.

Если в среде используются модули "Репликация и DR" или/и "Конвертация" и во время обновления Менеджеров управления была включена поддержка Keyclock, необходимо:

  1. В настройках агента-отправителя, агента-приемника в разделе Репликация и DR  Площадки изменить имя пользователя на [username]@zvirt@interlansso.

  2. Выполнить перезапуск сервиса («Restart agent services») на агентах.

  3. Восстановить работу репликации групп ВМ.

Проверить обновление можно на странице входа веб-интерфейса

img5

и наличием нового функционала.

7. Обновление версий совместимости

7.1. Обновление версии совместимости кластеров

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

Обновление версии совместимости кластера необходимо выполнять строго после обновления менеджера управления и всех хостов в этом кластере.
Необходимо предусмотреть сервисное окно в работе сервисов, выполняющихся на ВМ, поскольку для обновления версии совместимости ВМ требуется их перезагрузка.
Порядок действий:
  1. На портале администрирования перейдите в Ресурсы  Кластеры.

  2. Выделите нужный кластер и нажмите Изменить.

  3. На вкладке Общее в меню Версия совместимости выберите последнюю доступную версию.

    cl comp update
  4. Нажмите OK.

    Если в кластере есть запущенные ВМ, появится предупреждение, содержащее описание того, каким образом необходимо обновить версию совместимости ВМ. Нажмите OK. А затем следуйте этому описанию.

7.2. Обновление версии совместимости центров данных

Обновление версии совместимости центра данных необходимо выполнять после обновления версии совместимости всех кластеров в этом центре данных.
Порядок действий:
  1. На портале администрирования перейдите в Ресурсы  Центры данных.

  2. Выделите нужный центр данных и нажмите Изменить.

  3. В окне редактирования центра данных установите последнюю версию совместимости.

    dc comp update
  4. Нажмите OK.

7.3. Проверка версий совместимости

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

  1. Для центра данных: перейдите в Ресурсы  Центры данных и убедитесь в том, что установлена нужная версия совместимости.

    dc comp check
  2. Для кластера: зайдите в подробное представление нужного кластера и убедитесь, что установлена корректная версия совместимости.

    cl comp check
  3. Для ВМ: зайдите в подробное представление нужной ВМ и убедитесь, что установлена корректная версия совместимости, а также в отсутствии предупреждения о несоответствии версии.

    vm comp check

8. Обновление репозиториев

Описанная ниже последовательность действий позволит обновить репозитории zVirt до версии 4.2.

Обновление репозиториев - это часть процесса обновления компонентов, поэтому приступайте к данной процедуре только тогда, когда это предусматривает процедура обновления соответствующего компонента.
  1. Удалите старые репозитории:

    dnf remove -y zvirt-repos-stable
    rm -rf /etc/yum.repos.d/*
    dnf clean all
  2. С помощью команды wget скачайте пакет zvirt-repos-stable с новыми репозиториями и установите его:

    wget --user=<имя_пользователя> --password=<пароль> https://repo-zvirt.orionsoft.ru/repository/zvirt-4/4.2/packages/zvirt-repos-stable-4.2-X.XXXX.zvirt.el8.noarch.rpm
    
    dnf install -y zvirt-repos-stable-4.2-X.XXXX.zvirt.el8.noarch.rpm

    Если на хосте уже настроен доступ к репозиторию можно установить пакет непосредственно из него:

    dnf install -y https://repo-zvirt.orionsoft.ru/repository/zvirt-4/4.2/packages/zvirt-repos-stable-4.2-X.XXXX.zvirt.el8.noarch.rpm

    <имя_пользователя> и <пароль> берутся из лицензионного сертификата, выданного при покупке продукта

  3. Убедитесь, что включены новые репозитории zvirt-main и zvirt-extras:

    dnf repolist all
    img2
    Рисунок 5. Ожидаемый вывод команды dnf repolist all

    Если указанные репозитории по каким-то причинам отключены, их можно включить следующей командой

    dnf config-manager --enable "*"

    После использования команды убедитесь, что все репозитории zVirt включились

  4. Настройте доступ к репозиториям:

    zvirt-credentials.py -u <имя_пользователя> -p <пароль>

    Если утилита не найдена, переустановите её:

    wget --user=<имя_пользователя> --password=<пароль> https://repo-zvirt.orionsoft.ru/repository/zvirt-4/4.2/packages/zvirt-credentials-0.1.1-1.33204.zvirt.el8.noarch.rpm (1)
    dnf install -y zvirt-credentials-0.1.1-1.33204.zvirt.el8.noarch.rpm
    1 <имя_пользователя> и <пароль> берутся из лицензионного сертификата, выданного при покупке продукта.

9. Возможные ошибки

Ошибка 1

После обновления и перезагрузки хоста с ролью HostedEngine, который является единственным с этой ролью, может не запуститься ВМ HostedEngine:

hosted-engine --vm-status
The hosted engine configuration has not been retrieved from shared storage yet,
please ensure that ovirt-ha-agent service is running.

В этом случае следует перезапустить сервис ovirt-ha-agent:

systemctl restart ovirt-ha-agent

и через некоторое время проверить состояние ВМ:

hosted-engine --vm-status


--== Host znode1.local.ru (id: 1) status ==--

Host ID                            : 1
Host timestamp                     : 608
Score                              : 3400
Engine status                      : {"vm": "up", "health": "good", "detail": "Up"}
Ошибка 2

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

В этом случае вам будет необходимо перезагрузить службы:

systemctl restart zvirt-engine-backend
systemctl restart ovirt-engine
Ошибка 3

Обновление хоста завершается следующей ошибкой:

Error: Running QEMU processes found, cannot upgrade Vdsm

Эта ошибка указывает на то, что на обновляемом хосте есть включенные ВМ. Для устранения ошибки выключите или мигрируйте все ВМ с обновляемого хоста и перезапустите процесс обновления.