Установка Monq на сервере Hyper-V
Зачем нужна эта статья
Как я уже говорил выше, при установке системы мониторинга Monq на платформе Hyper-V возникли некоторые затруднения. Возможно, что кому-то эта публикация поможет в решении задачи по запуску Monq на платформе Hyper-V.
Вообще, как утверждает вендор, работа Monq проверена на платформе Hyper-V. Оснований не доверять вендору нет. Возможно, что мы столкнулись с какой-то особенностью именно нашего окружения. В чем суть. Мы конвертировали изначальный образ VMware в vhdx формат и запустили установку на Hyper-V. Вот только каждый раз при запуске установки Monq мы получали следующую ошибку:
Непосредственно в журнале регистрировалось следующее событие об ошибке:
{ "ansible_loop_var": "automaton_lib_name", "automaton_lib_name": "automaton.core.import", "changed": true, "cmd": "monqctl release update automaton-librarCancellatiies --module=pl --file=/tmp/monq/files/automaton-libs/automaton.core.import --skip-ssl-verify", "delta": "0:00:37.364346", "end": "2023-03-02 06:42:41.706462", "msg": "non-zero return code", "rc": 1, "start": "2023-03-02 06:42:04.342116", "stderr": "The import library HTTP request on uri \"https://monq.infoplex.ru/api/webui/pl/v2/automaton/libraries/import\" returns status code InternalServerError with response: {\"message\":\"The operation was canceled.\",\"stackTrace\":\" at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)\ at System.Net.Http.RedirectHandl er.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\ at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, Cancellati onToken cancellationToken)\ at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\ at Microsoft.Extensions.Http .Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\ at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpComplet ionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)\ at Monq.Core.HttpClientExtensions.RestHttpClient.DoHttpRequest(String uri, IHeaderDictionary headers, HttpMethod method, CancellationToken cts, HttpContent content)\ at Monq.Core.HttpClientExtensions.RestHttpClient.MakeRequestWithBody[TRequest,TResult](String requestType, String uri, TRequest value, Nullable`1 cancellationToken, IHeaderDictionary headers, IRestHttpClientSerializer serializer)\ at Monq.Core.Service.GatewayApi.HttpServices.Impl.AutomatonV2LibrariesApiHttpService.ImportBase64(LibraryImportPostViewModel postModel) in /builds/smon.monq.ru/platform/pl-frontend/pl-gateway-api-service/src/Monq.Core.Service.GatewayApi/HttpServices/Impl/AutomatonV2LibrariesApiHttpService.cs:line 44\ at Monq.Core.Service.GatewayApi.Controllers.WebUi.V2.Automaton.LibrariesController.ImportLibrary(GateLibraryImportPostViewModel value) in /builds/smon.monq.ru/platform/pl-frontend/pl-gateway-api-service/src/Monq.Core.Service.GatewayApi/Controllers/WebUi/V2/Automaton/LibrariesController.cs:line 62\ at lambda_method31(Closure , Object )\ at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\"}", "stderr_lines": ["The import library HTTP request on uri \"https://monq.infoplex.ru/api/webui/pl/v2/automaton/libraries/import\" returns status code InternalServerError with response: {\"message\":\"The operation was canceled.\",\"stackTrace\":\" at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\ at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)\ at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\ at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\ at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\ at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\ at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)\ at Monq.Core.HttpClientExtensions.RestHttpClient.DoHttpRequest(String uri, IHeaderDictionary headers, HttpMethod method, CancellationToken cts, HttpContent content)\ at Monq.Core.HttpClientExtensions.RestHttpClient.MakeRequestWithBody[TRequest,TResult](String requestType, String uri, TRequest value, Nullable`1 cancellationToken, IHeaderDictionary headers, IRestHttpClientSerializer serializer)\ at Monq.Core.Service.GatewayApi.HttpServices.Impl.AutomatonV2LibrariesApiHttpService.ImportBase64(LibraryImportPostViewModel postModel) in /builds/smon.monq.ru/platform/pl-frontend/pl-gateway-api-service/src/Monq.Core.Service.GatewayApi/HttpServices/Impl/AutomatonV2LibrariesApiHttpService.cs:line 44\ at Monq.Core.Service.GatewayApi.Controllers.WebUi.V2.Automaton.LibrariesController.ImportLibrary(GateLibraryImportPostViewModel value) in /builds/smon.monq.ru/platform/pl-frontend/pl-gateway-api-service/src/Monq.Core.Service.GatewayApi/Controllers/WebUi/V2/Automaton/LibrariesController.cs:line 62\ at lambda_method31(Closure , Object )\ at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\ at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\"}"], "stdout": "", "stdout_lines": [] }
Именно об обходном решении по устранению этой ошибки и пойдет речь в данной публикации.
Как бы мы не изменяли последовательность шагов при установке или параметры виртуальной машины - каждый раз в процессе установки генерировалась ошибка.
По итогу нам все-таки удалось запустить Monq на платформе Hyper-V. Только вот последовательность действий получилась далеко не самая простая:
- Сначала мы выполнили установку Monq на платформе VMware.
- Затем мы конвертировали получившийся vmdk диск в формат vhdx.
- После этого мы создали ВМ в Hyper-V и подключили туда конвертированный в формат vhdx диск.
- Запустили виртуальную машину и дождались процесса инициализации (что было далеко не быстро).
Более подробно про каждый из этих шагов я расскажу ниже.
Используемые версии ПО
В нашем окружении использовались следуюие версии ПО:
- Сервер Hyper-V - Windows Server 2022 Datacenter.
- VMware® Workstation 16 Pro.
- Сервер Monq 7.2.1.
Предварительные требования для запуска Monq
Подробное описание всех предварительных требований для установки и запуска системы мониторинга Monq приведены на соответствующей странице документации.
В таблице ниже я перечислю основные из них.
Параметр | Значение |
Количество ядер ЦП | 10 |
Объем оперативной памяти, ГБ | 28 |
Размер виртуального жесткого диска, ГБ | 100 |
Создание и настройка ВМ на платформе VMware
Сначала я импортировал готовую виртуальную машину в VMware Workstation.
Теперь я удалю диск, который подключен по IDE:
Как указано в руководстве - диск нужно подключить по SCSI.
Теперь я подключу системный диски по интерфейсу SCSI и добавлю сетевой адаптер.
Сохраню все внесенные изменения и запущу ВМ.
В соответствии с руководством от вендора сначала необходимо выполнить загрузку в аварийном режиме (rescue-mode) и выполнить генерацию initramfs.
Выполню вход под следующими учетными данными:
login: root
password: root
Сгенерирую initramfs:
dracut -f
Теперь можно перезагрузить ВМ и выполнить её запуск в обычном режиме:
shutdown -r now
Поскольку установку системы мониторинга Monq выполняется для конкретного доменного имени, то соответствующая DNS запись должна быть зарегистрирована заранее.Далее мне нужно узнать IP-адрес, который виртуальная машина получила от DHCP сервера:
ip addr
Именно для этого IP-адреса я и выполню регистрацию доменного имени для установки:
monq.infoplex.ru
Как вы будете регистрировать DNS запись зависит от вашей инфраструктуры и предпочтений: статические DNS записи на маршрутизаторе, файл hosts или A-запись на DNS сервере.
Я буду использовать A-запись на DNS сервере.
Установка Monq
Далее я выполню непосредственно установку Monq. В настройках самой виртуальной машины мы будем использовать получение IP-адреса по DHCP, т.к. это облегчит последующий перенос демо стенда с monq между тестовыми средами.
Необходимо аутентифицироваться под пользователем monq:
login: monq
password: monq
Запускаем процесс установки.
Ознакамливаемся с лицензионным соглашением.
Теперь нужно указать для какого доменного имени будет выполняться установка.
Локализацию я укажу английскую.
Последним шагом запускаю непосредственно установку.
Остается только дождаться окончания процесса установки. На платформе VMware каких-то ошибок в процессе установки не генерировалось.
После успешного завершения процесса установки можно будет перейти на веб интерфейс управления:
https://monq.infoplex.ru/
Учетные данные для подключения:
login: admin@monq.infoplex.ru
password: monq_admin
Конвертирование виртуальной машины для Hyper-V
Для конвертирования виртуального vmdk диска готовой ВМ мы использовали StarWind V2V Converter.
Этот инструмент очень прост в применении. Сначала мы указываем, что будем выполнять локальную конвертацию.
Выбираем исходный файл.
Затем указываем, что целевой файл тоже будет локальным.
И указываем куда разместить итоговый сконвертированный виртуальный жесткий диск.
Последним шагом нажимаем кнопку "Convert".
Создание и запуск виртуальной машины Hyper-V
Теперь нужно создать виртуальную машину 1-го поколения в Hyper-V и подключить к ней готовый vhdx диски.
Мы пробовали создавать ВМ 2-го поколения, но при любой конфигурации получали следующую ошибку в момент загрузки:
Поэтому ВМ я буду создавать именно 1-го поколения.
Итоговые характеристики создаваемой виртуальной машины следующие.
После создания и запуска виртуальной машины нужно подождать некоторые время - пока все необходимые поды запустятся. После первого запуска с десяток подов были в состоянии Error, но буквально спустя час все поды уже были перезапущены и работали корректно.
Для удобства сравнения и анализа ниже я приведу полный перечень подов и их статус, которые взяты с рабочей копии системы мониторинга Monq:
kubectl get pod -A
[root@d-head ~]# kubectl get pod -A NAMESPACE NAME READY STATUS RESTARTS AGEinfra arangodb-7f974b657d-5p24g 1/1 Running 6 (2d5h ago) 48d
infra clickhouse-server-84cc844c87-rhpjw 1/1 Running 6 (2d5h ago) 48d
infra consul-6bd8b6bf56-fzzm5 1/1 Running 6 (2d5h ago) 48d
infra postgres-74cfd79b67-6v8qp 1/1 Running 6 (2d5h ago) 48d
infra rabbitmq-5f8d5b5c7b-fdbnx 1/1 Running 21 (2d5h ago) 48d
infra redis-7fcffc6799-cd9mh 1/1 Running 6 (2d5h ago) 48d
infra registry-7c9cc75d55-hkcrz 1/1 Running 5 (2d5h ago) 48d
ingress-nginx default-http-backend-64b9c6dd57-vnjwn 1/1 Running 5 (2d5h ago) 48d
ingress-nginx ingress-nginx-admission-create-5wxwk 0/1 Completed 0 48d
ingress-nginx ingress-nginx-admission-patch-hnrmd 0/1 Completed 1 48d
ingress-nginx ingress-nginx-controller-4vmmz 1/1 Running 7 (2d5h ago) 48d
kube-system coredns-cf9wz 1/1 Running 4 (2d5h ago) 3d5h
kube-system etcd-d-head 1/1 Running 6 (2d5h ago) 48d
kube-system kube-apiserver-d-head 1/1 Running 6 (2d5h ago) 48d
kube-system kube-controller-manager-d-head 1/1 Running 13 (2d5h ago) 48d
kube-system kube-flannel-ds-2784p 1/1 Running 8 (2d5h ago) 48d
kube-system kube-proxy-nqls9 1/1 Running 6 (2d5h ago) 48d
kube-system kube-scheduler-d-head 1/1 Running 12 (2d5h ago) 48d
production cl-frontend-a-service-75b986f567-zrwx9 1/1 Running 3 (2d5h ago) 3d5h
production cl-gateway-service-688f8c54c9-prkxl 1/1 Running 3 (2d5h ago) 3d5h
production cl-stream-data-collector-service-67cf9d84f9-9mw42 1/1 Running 18 (2d5h ago) 3d5h
production cl-stream-data-service-6cd8bb4979-m8b6l 1/1 Running 7 3d5h
production cl-stream-data-service-buffer-7f4cc86569-sm5rx 1/1 Running 9 (2d5h ago) 3d5h
production cl-stream-data-service-housekeeper-f8bfcdc45-wb6bt 1/1 Running 3 3d5h
production cl-stream-schema-validator-service-65975d4d5f-m72f7 1/1 Running 10 (2d5h ago) 3d5h
production cl-streams-service-69fbd8fb4-wlsxd 1/1 Running 16 (2d5h ago) 3d5h
production cl-streams-service-watchdog-7768f4b64d-z7mcv 1/1 Running 10 (2d5h ago) 3d5h
production fm-builds-aggregator-api-service-574bbdbf5-mkj72 1/1 Running 16 (2d5h ago) 3d5h
production fm-builds-buffer-service-dcd5ff67c-t25x8 1/1 Running 10 (2d5h ago) 3d5h
production fm-builds-parser-service-6c9794ddbc-k2ffz 1/1 Running 9 (2d5h ago) 3d5h
production fm-data-housekeeper-service-7458b55549-lsj9n 1/1 Running 3 3d5h
production fm-frontend-a-service-67c7dc7f77-8sqv9 1/1 Running 3 3d5h
production fm-gateway-api-service-56bcb87db6-4qrcw 1/1 Running 9 (2d5h ago) 3d5h
production fm-projects-api-service-7bcff48d4f-l6g5m 1/1 Running 17 (2d5h ago) 3d5h
production frontend-box-6584748c9d-7tr69 1/1 Running 3 (2d5h ago) 3d5h
production frontend-box-6584748c9d-zxvgb 1/1 Running 3 (2d5h ago) 3d5h
production pl-agents-service-794b7b7dc-p9jb5 1/1 Running 16 (2d5h ago) 3d5h
production pl-agents-service-buffer-68ccfd5f7c-g8mwk 1/1 Running 9 (2d5h ago) 3d5h
production pl-agents-service-scheduler-74bff7bfb7-bfmn7 1/1 Running 17 (2d5h ago) 3d5h
production pl-automaton-rules-api-service-7d479b664-rkqfd 1/1 Running 17 (2d5h ago) 3d5h
production pl-automaton-rules-api-service-buffer-5fbd94d9c-lp74b 1/1 Running 9 (2d5h ago) 3d5h
production pl-automaton-runner-service-5dd8c6945-z9crd 1/1 Running 9 (2d5h ago) 3d5h
production pl-automaton-scheduler-service-5696974c9-w2hm4 1/1 Running 14 (2d5h ago) 3d5h
production pl-automaton-v2-processor-service-775c74d87d-2lp4v 1/1 Running 15 (2d5h ago) 3d5h
production pl-automaton-v2-processor-service-runner-bd7c7f5cc-dclr6 1/1 Running 11 (2d5h ago) 3d5h
production pl-automaton-v2-processor-service-runner-bd7c7f5cc-lq77l 1/1 Running 10 (2d5h ago) 3d5h
production pl-automaton-v2-service-6549b977c9-lqbbx 1/1 Running 15 (2d5h ago) 3d5h
production pl-business-calendar-api-service-79775dc744-ktltm 1/1 Running 3 3d5h
production pl-delivery-lists-api-service-787bcc4c5b-s2vtt 1/1 Running 16 (2d5h ago) 3d5h
production pl-events-history-api-service-85b454dc8c-r4qnr 1/1 Running 5 3d5h
production pl-events-history-api-service-buffer-57dd89f947-n62ql 1/1 Running 9 (2d5h ago) 3d5h
production pl-events-history-api-service-tags-api-c65b6985d-pnbn4 1/1 Running 7 3d5h
production pl-frontend-service-599f554d9-q9r6p 1/1 Running 3 (2d5h ago) 3d5h
production pl-gateway-api-service-57678c8486-4s6h7 1/1 Running 5 (2d5h ago) 3d5h
production pl-i18n-service-65db944584-v6b5d 1/1 Running 4 3d5h
production pl-identity-management-service-679856494f-88drs 1/1 Running 16 (2d5h ago) 3d5h
production pl-identity-service-7cb7d46b45-vsgjz 1/1 Running 15 (2d5h ago) 3d5h
production pl-license-service-79fb5f8c66-zmm64 1/1 Running 5 3d5h
production pl-license-service-buffer-64cb6b6869-g4665 1/1 Running 9 (2d5h ago) 3d5h
production pl-license-service-storage-57d7c749c8-9gg6g 1/1 Running 3 (2d5h ago) 3d5h
production pl-macroses-api-service-56486dd4cb-6zvgn 1/1 Running 4 (2d5h ago) 3d5h
production pl-message-sender-api-service-85bcd8c999-f8vcr 1/1 Running 16 (2d5h ago) 3d5h
production pl-microservice-registry-api-service-6c49699c5f-xnzlh 1/1 Running 6 3d5h
production pl-monq-agent-65496c46b5-pkhqx 1/1 Running 20 (2d4h ago) 3d5h
production pl-plugins-manager-service-65fd89dbdf-6vh8z 1/1 Running 16 (2d5h ago) 3d5h
production pl-router-service-866f4976bf-fg6xj 1/1 Running 16 (2d5h ago) 3d5h
production pl-tags-api-service-6bdd474549-lpkhv 1/1 Running 16 (2d5h ago) 3d5h
production pl-user-grants-api-service-664f7b4f7-qrz4g 1/1 Running 17 (2d5h ago) 3d5h
production pl-user-groups-service-7b88745dc8-snczv 1/1 Running 16 (2d5h ago) 3d5h
production pl-user-groups-service-synchronizer-86b749bddc-8fvb5 1/1 Running 3 3d5h
production pl-user-shared-filters-api-service-9bdb8d464-rx9xk 1/1 Running 16 (2d5h ago) 3d5h
production pl-userspaces-api-service-647c9f6679-76m6f 1/1 Running 15 3d5h
production pl-work-groups-api-service-d8dbcff8d-jmz69 1/1 Running 17 (2d5h ago) 3d5h
production plugins-zabbix-service-669bb4f59d-kcn6p 1/1 Running 5 (2d5h ago) 3d5h
production sm-action-generator-service-api-6cc78fcd8-flslh 1/1 Running 15 (2d5h ago) 3d5h
production sm-action-generator-service-node-deferred-ops-5b587f5d68-k6chd 1/1 Running 9 (2d5h ago) 3d5h
production sm-action-generator-service-node-generator-7bb9d7568b-2xhjx 1/1 Running 10 (2d5h ago) 3d5h
production sm-frontend-a-service-588f947d87-2m82r 1/1 Running 3 (2d5h ago) 3d5h
production sm-frontend-service-6b874c94cb-rwhbv 1/1 Running 6 3d5h
production sm-gateway-api-service-844465cd8f-jtf58 1/1 Running 5 3d5h
production sm-integral-events-configurator-api-service-5f48b75dff-gw58f 1/1 Running 16 (2d5h ago) 3d5h
production sm-rsm-attached-files-service-f4dc88f99-x7j9c 1/1 Running 4 (2d5h ago) 3d5h
production sm-rsm-attributes-service-bd5d79f86-l9s5z 1/1 Running 17 (2d5h ago) 3d5h
production sm-rsm-health-service-6d64665cf6-vlp9x 1/1 Running 6 (2d5h ago) 3d5h
production sm-rsm-health-service-generator-6c47f69547-6dd6v 1/1 Running 10 (2d5h ago) 3d5h
production sm-rsm-maps-service-565c6fd689-fhtbf 1/1 Running 17 (2d5h ago) 3d5h
production sm-rsm-mode-api-service-7967ffb7d5-f99d9 2/2 Running 12 (2d5h ago) 3d5h
production sm-rsm-service-558997ccfc-vcdxw 1/1 Running 15 (2d5h ago) 3d5h
production sm-signals-service-75ddfcb4bd-8c29t 1/1 Running 16 (2d5h ago) 3d5h
production sm-sla-service-59999db87-t8jlv 1/1 Running 16 (2d5h ago) 3d5h
production sm-sla-service-ordered-7484f859cb-shlgh 1/1 Running 3 (2d5h ago) 3d5h
production sm-zabbix-connector-api-service-6c954cd769-rz247 1/1 Running 14 (2d5h ago) 3d5h
production sm-zabbix-connector-api-service-autodiscovery-676984b574-sjnpx 1/1 Running 11 (2d5h ago) 3d5h
production sm-zabbix-connector-api-service-zabbix-api-6795fd694c-2bnxh 1/1 Running 7 3d5h
[root@d-head ~]#
Итоговая проверка
После инициализации и восстановления работы всех контейнеров для системы мониторинга Monq на гипервизоре Hyper-V можно попробовать перейти в веб интерфейс администрирования.После успешного завершения процесса установки можно будет перейти на веб интерфейс управления:
https://monq.infoplex.ru/
Учетные данные для подключения:
ogin: admin@monq.infoplex.ru
password: monq_admin
В случае успешного завершения переноса мы должны попасть в веб интерфейс администрирования Monq.
Да, пусть не самый короткий, согласен. Но даже этот путь оказался быстрее, чем выяснение корневой причины того, почему изначально на Hyper-V система Monq в процессе установки генерировала ошибку. Повторюсь, вероятнее всего, ошибка завершалась установкой из-за каких-то особенностей нашего окружения, хотя все предворительные требования из соответствующих разделов документации мы выполнили. Если вы сталкивались с подобной ошибкой и смогли найти какой-то более короткий путь для её устранения, то напишите в комментариях.