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

Обновление SSL сертификата на хостах и менеджере управления

Аннотация

Статья рассматривает обновление сертификатов, выпущенных средой виртуализации zVirt

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

1. Обновление сертификатов служб хостов виртуализации, срок действия которых еще не окончился.

Обновление производится с помощью веб-интерфейса менеджера управления. Для это выполните следующие шаги:

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

  2. Выделите нужный для обновления хост и переведите его в режим обслуживания: Управление > Обслуживание

  3. После перехода хоста в режим обслуживания нажмите Настройки > Регистрация сертификата.

  4. После установки сертификата, активируйте хост. Выбрать Управление > Включить.

2. Обновление сертификатов менеджера управления.

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

  2. Запустите команду настройки Менеджера управления:

    engine-setup --offline
  3. Ответьте на вопросы или используйте файл ответов

    В версии zVirt 3.3 и старше обязательно ответьте Yes на вопрос о перевыпуске сертификата.
В режиме HostedEngine
  1. Подключитесь по SSH или через Cockpit к хосту, на котором работает ВМ HostedEngine и активируйте режим глобального обслуживания.

    hosted-engine --set-maintenance --mode=global
  2. Подключитесь по SSH или через Cockpit к ВМ HostedEngine под учетной записью root.

  3. Запустите команду настройки Менеджера управления:

    engine-setup --offline
  4. Ответьте на вопросы или используйте файл ответов.

    В версии zVirt 3.3 и старше обязательно ответьте Yes на вопрос о перевыпуске сертификата.
  5. После окончания процедуры настройки Менеджера, с хоста, на котором работает ВМ HostedEngine, отключите режим глобального обслуживания.

    hosted-engine --set-maintenance --mode=none

3. Возможные ошибки на менеджере управления при обновлении сертификата.

3.1. Ошибка hosted-engine VM is not in "Global Maintenance" mode

Полный текст ошибки:

[ERROR] It seems that you are running your engine inside of the hosted-engine VM and are not in "Global Maintenance" mode. In that case you should put the system into "Global Maintenance" mode before running engine-setup

Выполните команду с Менеджера управления для проверки состояния:

/usr/share/ovirt-engine/dbscripts/engine-psql.sh -c \ "select vds_id, ha_score, ha_configured, ha_active, ha_global_maintenance, ha_local_maintenance from vds_statistics;"

Пример вывода:

              vds_id              | ha_score | ha_configured | ha_active | ha_global_maintenance | ha_local_maintenance
-----------------------------------+----------+---------------+-----------+-----------------------+----------------------
37b9a209-b5aa-4446-b6bf-c59fbad3b8c6 |     3400 | t             | t         | f                     | f
99e9860a-b5da-4163-8b53-101ecbca8c59 |     3400 | t             | t         | f                     | f
fae3316b-235b-4869-8558-0729ded32f26 |     3400 | t             | t         | f                     | f
3ddac6a4-a864-43c6-96b3-1ea8de4c6962 |     3400 | t             | t         | f                     | f
f2bc068f-09a9-449a-b34b-bd4160c8a34c |     3400 | t             | t         | f                     | f
(5 rows)

Для устранения:

  1. Активируйте глобальный режим обслуживания принудительно с помощью команды:

    /usr/share/ovirt-engine/dbscripts/engine-psql.sh -c \ "UPDATE vds_statistics SET ha_global_maintenance='t';"
  2. Проверьте состояние с помощью команды:

    /usr/share/ovirt-engine/dbscripts/engine-psql.sh -c \ "select vds_id, ha_score, ha_configured, ha_active, ha_global_maintenance, ha_local_maintenance from vds_statistics;"

    Пример вывода:

                  vds_id              | ha_score | ha_configured | ha_active | ha_global_maintenance | ha_local_maintenance
    -----------------------------------+----------+---------------+-----------+-----------------------+----------------------
    37b9a209-b5aa-4446-b6bf-c59fbad3b8c6 |     3400 | t             | t         | t                     | f
    99e9860a-b5da-4163-8b53-101ecbca8c59 |     3400 | t             | t         | t                     | f
    fae3316b-235b-4869-8558-0729ded32f26 |     3400 | t             | t         | t                     | f
    3ddac6a4-a864-43c6-96b3-1ea8de4c6962 |     3400 | t             | t         | t                     | f
    f2bc068f-09a9-449a-b34b-bd4160c8a34c |     3400 | t             | t         | t                     | f
    (5 rows)

    В столбце ha_global_maintenance все параметры должны быть в значении t.

  3. Запустите команду настройки Менеджера управления:

    engine-setup --offline
  4. Ответьте на вопросы или используйте файл ответов.

    В версии zVirt 3.3 и старше обязательно ответьте Yes на вопрос о перевыпуске сертификата.
  5. После окончания процедуры настройки Менеджера, с хоста, на котором работает ВМ HostedEngine, отключите режим глобального обслуживания:

    hosted-engine --set-maintenance --mode=none

Если после завершения всех внутренних процессов значение ha_global_maintenance осталось равным t, выполните команду:

/usr/share/ovirt-engine/dbscripts/engine-psql.sh -c "UPDATE vds_statistics SET ha_global_maintenance='f';"

3.2. Ошибка Old AdminPassword found in vdc_options

Полный текст ошибки:

Old AdminPassword found in vdc_options. This should not happen, and is likely a result of a bad past upgrade.
Please contact support.

Для устранения:

  1. Выполните команду:

    /usr/share/ovirt-engine/dbscripts/engine-psql.sh -c \
                 "select fn_db_delete_config_value('AdminPassword','general');"
  2. Повторно запустите команду настройки Менеджера:

    engine-setup –offline

3.3. Не обновляются некоторые сертификаты

Проблема с сертификатами:

/etc/pki/ovirt-engine/certs/ovirt-provider-ovn Apr 6 11:47:13 2023 GMT
/etc/pki/ovirt-engine/certs/ovn-ndb.cer Apr 6 11:47:12 2023 GMT
/etc/pki/ovirt-engine/certs/ovn-sdb.cer Apr 6 11:47:12 2023 GMT
/etc/pki/ovirt-engine/certs/vmconsole-proxy-helper.cer Apr 6 11:47:12 2023 GMT
/etc/pki/ovirt-engine/certs/vmconsole-proxy-host.cer   Apr 6 11:47:12 2023 GMT
/etc/pki/ovirt-engine/certs/vmconsole-proxy-user.cer   Apr 6 11:47:13 2023 GMT

Все указанные сертификаты можно обновить с помощью команд:

/usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh --name="ovirt-provider-ovn" --password=mypass --subject="/C=US/O=example.com/CN=FQDN имя вашего менеджера" --keep-key

/usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh --name="ovn-ndb" --password=mypass --subject="/C=US/O=example.com/CN=FQDN имя вашего менеджера" --keep-key

/usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh --name="ovn-sdb" --password=mypass --subject="/C=US/O=example.com/CN=FQDN имя вашего менеджера" --keep-key

/usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh --name="vmconsole-proxy-helper" --password=mypass --subject="/C=US/O=example.com/CN=FQDN имя вашего менеджера" --keep-key

/usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh --name="vmconsole-proxy-host" --password=mypass --subject="/C=US/O=example.com/CN=FQDN имя вашего менеджера" --keep-key

/usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh --name="vmconsole-proxy-user" --password=mypass --subject="/C=US/O=example.com/CN=FQDN имя вашего менеджера" --keep-key

systemctl restart ovirt-provider-ovn.service

systemctl restart ovn-northd.service
Строка --password=mypass должна быть именно такой, не нужно писать ваш пароль.

3.4. Ошибка ovsdb-server.service

Ошибка в логах:

Dec nn nn:nn:nn FQDN.server ovsdb-server[895684]: ovs|07062|jsonrpc|WARN|ssl:[::ffff:10.31.131.14]:57818: receive error: Protocol error
Dec nn nn:nn:nn FQDN.server ovsdb-server[895684]: ovs|07063|reconnect|WARN|ssl:[::ffff:10.31.131.14]:57818: connection dropped (Protocol error)
Dec nn nn:nn:nn FQDN.server ovsdb-server[895684]: ovs|07064|stream_ssl|WARN|SSL_accept: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed

Решение - перезагрузить ovsdb-server.service на Менеджере Управления и на Хостах:

systemctl restart ovsdb-server.service

Решение проблемы с сертификатами Libvirt описано в статье, доступной по ссылке