ВМ не запускается с ошибкой "can't add memory device"
Описание
При "горячем" изменении ресурсов ВМ (без перезагрузки) в описание ВМ добавляется дополнительное устройство памяти. В некоторых случаях это устройство может препятствовать запуску ВМ.
Подробнее об изменении ресурсов ВМ без перезагрузки см. в статье Тонкая настройка виртуальных машин документации VMmanager.
Проблема возникает после "горячего" изменения ресурсов ВМ:
- Пользователь выполняет остановку ВМ.
- ВМ не запускается с ошибкой can't add memory device.
Чтобы увидеть полный текст ошибки:
- Перейдите в раздел Виртуальные машины и выберите ВМ.
- В столбце Состояние нажмите на статус Остановлена.
- В появившемся окне нажмите Подробнее:
-
Нажмите Ошибка в столбце Событие. Это отобразит полный текст ошибки:
libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2023-10-28T22:56:25.564740Z qemu-kvm: -numa node,nodeid=0,cpus=0-239,mem=12288: warning: Parameter -numa node,mem is deprecated, use -numa node,memdev instead 2023-10-28T22:56:25.577453Z qemu-kvm: -device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0,addr=1234567: can't add memory device [0x1c0000000:0x180000000], usable range for memory devices [0x340000000:0xf880000000]
Решение
Чтобы решить проблему:
- В платформе перейдите в раздел Виртуальные машины.
- Выберите ВМ → кнопка Параметры → раздел Тонкие настройки.
- Отключите опцию Добавлять ресурсы без перезагрузки VM.
- Нажмите Изменить и перезапустить. Поскольку ВМ остановлена, перезапуск не произойдёт.
- Запустите ВМ.
Не работает платформа после обновления до версии 2023.09.1
Описание
При обновлении до версии 2023.09.1 командой
vm update
или установке платформы версии 2023.09.1 могут возникать ошибки, связанные с docker. Например, ошибка при пересоздании контейнеров:
ERROR: for vm_box Renaming a container with the same name as its current name
ERROR: for vm_box Renaming a container with the same name as its current name
Encountered errors while bringing up the project.
fail
Характерные признаки проблемы:
- частично или полностью недоступен интерфейс платформы;
- операции с контейнерами выполняются частично или не выполняются;
-
установка платформы завершается ошибкой:
Configuring Docker ... done Checking docker version ... done Pulling images ... fail exit status 1
При анализе лога установки install.log выявляются проблемы с docker или отсутствие модуля compose.
Пример ошибки docker2023/08/16 13:10:24 Running command 'systemctl restart docker' Job for docker.service failed because the control process exited with error code.
Пример ошибки composeTraceback (most recent call last): File "/usr/local/bin/docker-compose", line 5, in <module> from compose.cli.main import main ModuleNotFoundError: No module named 'compose'
Указанная проблема связана с docker и решается установкой docker-compose версии v2.
Решение
Чтобы решить проблему:
- Подключитесь к серверу с платформой по SSH.
-
Загрузите и установите docker-compose командой
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
На новом узле не устанавливается служба gomon
Описание
Подключение узла не работает корректно. После подключения нового узла возможно следующее некорректное поведение:
- ложные сообщения об ошибках. Например, #5344 Недостаточно RAM на узле, в то время, как показатель RAM соответствует требованиям;
- не обновляется информация о версиях libvirt и qemu;
- не создаются ВМ на этом узле;
- недоступна миграция ВМ на этот узел;
- другие проблемы на новом узле.
Причина этого в том, что при подключении нового узла не установилась служба gomon. Gomon — служба, которая запускается на узле и отвечает за статистику и мониторинг.
Чтобы проверить статус службы gomon, выполните команду на узле:
systemctl status gomon
Если служба не установлена, вывод будет таким:
Unit gomon.service could not be found.
Решение
Чтобы решить проблему:
- Подключитесь к серверу с платформой по SSH.
-
Перезапустите контейнер nodewatch:
docker stop nodewatch
docker start nodewatch
После перезапуска подождите примерно 10 минут. За это время служба gomon установится на узле.
- Подключитесь к серверу узла по SSH.
-
Проверьте статус службы gomon:
systemctl status gomon
-
Перезапустите службу gomon:
systemctl restart gomon
Если проверить узел, не выполнив рекомендованное ожидание 10 минут после перезапуска nodewatch, результаты могут отобразиться некорректно.
После этого новый узел будет подключён без ошибок.
Ошибка #5349 Нет соединения с узлом
Описание
Стандартно указанная ошибка возникает при отсутствии связи с узлом. Но в версии 2023.07.1 появляется ложное сообщение об ошибке #5349, когда пользователь выполняет любые действия с ВМ, которые не связаны с узлом. Например, ложное сообщение об ошибке #5349 может появиться при смене конфигурации или включении ВМ.
Решение
Чтобы устранить ошибку:
- Подключитесь к серверу с платформой по SSH.
-
Перезапустите службу мониторинга командой:
docker exec -it vm_box supervisorctl restart monitor