Обновление 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. Ошибка 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.2. Не обновляются некоторые сертификаты

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

/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.3. Ошибка 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 описано в статье, доступной по ссылке