Обновление SSL сертификата на хостах и менеджере управления
Аннотация
Статья рассматривает обновление сертификатов, выпущенных средой виртуализации zVirt
| Сертификаты, выпущенные сторонними центрами сертификации не используются внутренними службами среды виртуализации. Сертификаты сторонних центров применяются только для веб-интерфейса. |
1. Обновление сертификатов служб хостов виртуализации, срок действия которых еще не окончился.
Обновление производится с помощью веб-интерфейса менеджера управления. Для это выполните следующие шаги:
-
На портале администрирования перейдите в
-
Выделите нужный для обновления хост и переведите его в режим обслуживания: Управление > Обслуживание
-
После перехода хоста в режим обслуживания нажмите Настройки > Регистрация сертификата.
-
После установки сертификата, активируйте хост. Выбрать
Управление > Включить.
2. Обновление сертификатов менеджера управления.
-
Подключитесь по SSH или через Cockpit к хосту с менеджером управления под учетной записью root.
-
Запустите команду настройки Менеджера управления:
engine-setup --offline -
Ответьте на вопросы или используйте файл ответов
В версии zVirt 3.3 и старше обязательно ответьте Yes на вопрос о перевыпуске сертификата.
-
Подключитесь по SSH или через Cockpit к хосту, на котором работает ВМ HostedEngine и активируйте режим глобального обслуживания.
hosted-engine --set-maintenance --mode=global -
Подключитесь по SSH или через Cockpit к ВМ HostedEngine под учетной записью root.
-
Запустите команду настройки Менеджера управления:
engine-setup --offline -
Ответьте на вопросы или используйте файл ответов.
В версии zVirt 3.3 и старше обязательно ответьте Yes на вопрос о перевыпуске сертификата. -
После окончания процедуры настройки Менеджера, с хоста, на котором работает ВМ 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)
Для устранения:
-
Активируйте глобальный режим обслуживания принудительно с помощью команды:
/usr/share/ovirt-engine/dbscripts/engine-psql.sh -c \ "UPDATE vds_statistics SET ha_global_maintenance='t';" -
Проверьте состояние с помощью команды:
/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. -
Запустите команду настройки Менеджера управления:
engine-setup --offline -
Ответьте на вопросы или используйте файл ответов.
В версии zVirt 3.3 и старше обязательно ответьте Yes на вопрос о перевыпуске сертификата. -
После окончания процедуры настройки Менеджера, с хоста, на котором работает ВМ HostedEngine, отключите режим глобального обслуживания:
hosted-engine --set-maintenance --mode=none
|
Если после завершения всех внутренних процессов значение
|
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.
Для устранения:
-
Выполните команду:
/usr/share/ovirt-engine/dbscripts/engine-psql.sh -c \ "select fn_db_delete_config_value('AdminPassword','general');" -
Повторно запустите команду настройки Менеджера:
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 описано в статье, доступной по ссылке