Вопрос или проблема
Раньше у меня Multipass с LXD работал отлично. Я все еще могу работать с ранее запущенными экземплярами, но запуск новых образов, включая запуск того же самого образа, который я уже запускал, – это проблема.
Для большинства образов, которые отображаются при выполнении
multipass list
(например)
multipass launch 20.04 -v
Я получаю эту ошибку:
[warning] [lxd image vault] Instance 'integrated-adjutant' does not exist: not removing
launch failed: Cannot retrieve info for image with id 'c2a86a21b869a26fa1b218e3192cacd8a3634f649d71805964eadefb3de662de': LXD object not found
Хэш изменяется в зависимости от того, какой образ я пытаюсь запустить.
Любопытно, однако, – это первая реальная наводка, которую я нашел, – я мог запускать все образы, которые назывались “core” и если я показываю неподдерживаемые, я могу запускать… похоже, все старые.
Есть предложения, что попробовать или что может происходить?
Ответ или решение
При решении проблемы с невозможностью запуска новых экземпляров в Multipass с использованием LXD необходимо учитывать несколько возможных причин и вариантов решения данной проблемы. Основной задачей станет выяснение причины, по которой мультипассы не могут загрузить информацию о нужных изображениях из LXD.
Теория
Multipass — это инструмент, упрощающий создание виртуальных машин на вашем компьютере, с использованием популярных бэкэндов для виртуализации, таких как LXD. LXD предоставляет контейнерные управляющие возможности, облегчая управление и изоляцию различных экземпляров. Ошибка, с которой вы столкнулись, указывает на проблемы с доступом Multipass к хранилищу образов LXD.
Проблема с запуском новых экземпляров может быть связана с несколькими факторами:
- Проблемы с конфигурацией LXD: Возможны изменения в конфигурации LXD, которые приводят к тому, что Multipass не находит требуемые образы.
- Обновления и совместимость: Обновления пакетов могут привести к несовместимости между версиями Multipass и LXD.
- Отсутствие сети или проблемы с кэшем: Неправильная работа сетевых подключений или кэша LXD может также быть причиной.
Пример
В вашем случае, если Multipass раньше работал без нареканий, но сейчас возникают ошибки, это указывает на потенциальные изменения в системе или её окружении. Ошибка говорит о невозможности найти объект LXD, что означает, что сам образ не смог корректно загрузиться из хранилища LXD или мультипасс не может определить правильный идентификатор изображения.
Применение
-
Диагностика конфигурации: Проверьте текущую конфигурацию LXD, используя команды, которые показывают настройки хранилищ, сети, изображений и профилей платформы.
lxc config show lxc storage list lxc image list
-
Проверка кэша LXD: Попробуйте перегрузить и очистить кэш LXD, чтобы исключить его влияние на загрузку изображений.
lxc image delete <образ_id> lxc image refresh <образ_id>
-
Обновление софта: Убедитесь, что у вас установлены последние версии Multipass и LXD, проверив наличие обновлений.
sudo snap refresh multipass sudo snap refresh lxd
-
Тестирование сети: Убедитесь, что на вашем устройстве нет сетевых ограничений или проблем с доступом.
lxc network list lxd init
-
Перезапуск служб: Перезапуск служб LXD и Multipass может помочь устранить временные проблемы.
sudo systemctl restart snap.multipass.multipassd.service sudo systemctl restart snap.lxd.daemon
-
Проверка образов: Если вы понимаете, что проблема только с определенными образами — обратите внимание на их актуальность и доступность. Вы можете попробовать загрузить образ заново вручную.
lxc image copy ubuntu:20.04 local: --alias new-20.04 multipass launch local:new-20.04
Если проблема будет сохраняться, стоит обратить внимание на логи как Multipass, так и LXD. Они находятся по следующему пути:
- Multipass:
/var/snap/multipass/common/logs/multipass
- LXD:
/var/snap/lxd/common/lxd/logs/lxd.log
Каждый шаг по отдельности может выдать подсказки о том, в каком направлении действовать дальше. Возможно, логика проблемы приведет к более сложному багу, касающемуся специфики отдельных конфигураций или версий операционных систем. В таком случае стоит обратиться к сообществу или поддержке для дополнительной помощи.