LINUX.ORG.RU
ФорумAdmin

Поломался virsh

 , ,


0

1

Произошел сбой на нежурналируемой ext4 в luks. fsck вроде все почистил. Появилась одна проблема. При загрузке системы не запускаются виртуалки. Если прописываю в крон, все комманды выполняются, кроме virsh-start.

Тоже самое в GUI. Если в virt-manager, поставить галку на загрузку виртуалок при старте системы, то раньше работало, теперь нет. После загузки системы комманда virsh запускает гостей без проблем.

Где копать? Что именно могло повредиться, что дает такой глюк? Все остальное работает.

При загрузке системы не запускаются виртуалки.

А как именно в точности ты их запускал? Какие ошибки в journalctl -eb?

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

Если запускаю после загрузки системы, то запускаются и через вирт-менеджер и вручную, через virsh. До этого одна виртуалка автостартовала скриптом в кроне. Скрипт работает, делает все, кроме части virsh …. Вторая виртуалка автостартовала сама, в смысле, просто поставил птичку в виртуал-менеджере запускать ее при загрузке системы.

Не знаю где проблема. Ну значит cнес вот эту всю компанию qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

Установил заново. Получил ошибку:A dependency job for libvirtd.service failed. See ‘journalctl -xe’ for details.

Перезагрузился, не работает.

снес дефолтный пул, undefined его. снова создал дефолтный пул, рестартовал сервис либвирт проверил пулы и до и после (весь список все как надо). Перезагрузка, опять не работает.

Вывод journalctl -xe

Jul 18 16:38:59 host gnome-shell[2385]: pop-shell: [DEBUG] xprop -id 0x2800007 _MOTIF_WM_HINTS

Jul 18 16:38:59 host gnome-shell[2385]: pop-shell: [DEBUG] _MOTIF_WM_HINTS: not found.

Jul 18 16:38:59 host dbus-daemon[982]: [system] Activating service name=‘org.pop_os.transition_system’ requested by ‘:1.109’ (uid=1000 pid=2530 comm="/usr/bin/python3 /usr/bin/pop-transitio>

Jul 18 16:38:59 host dbus-daemon[982]: [system] Successfully activated service ‘org.pop_os.transition_system’

Jul 18 16:38:59 host libvirtd[1151]: operation failed: pool ‘default’ already exists with uuid

Вывод journalctl -eb:

CPU:Package temperature above treshold …

по всем цпу, больше ничего

explorer
() автор топика
Ответ на: комментарий от explorer

Скрипт работает, делает все, кроме части virsh ….

Ну и где скрипт, почему не запостил? Пробовал команды из него выполнить по очереди из терминала?

A dependency job for libvirtd.service failed

systemctl status libvirtd

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

Ты выполняешь до старта виртуалки virsh net-start default ? Я бы вообще по пунктам выполнил это, а перед этим systemctl start libvirtd и проверял ошибки.

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

systemctl status libvirtd

libvirtd.service - Virtualization daemon Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)

Я ж говорю, все было ок, пока не произошел сбой на ФС. ФС востановлена, но вот единственная ошибка по всем логам

operation failed: pool ‘default’ already exists

Что я только с ним не делаю, чтобы исправить:

virsh pool-destroy default

virsh pool-undefine default

virsh pool-define-as –name default –type dir –target /var/lib/libvirt/images

virsh pool-start default

virsh pool-autostart default

Все эти манипуляции. Убирал его, создавал заново, перезагружал, все одно, и если он есть (default) в списке (virsh pool-list) после того как destroy, undefine и define, start, autostart заново, то

operation failed: pool ‘default’ already exists

А если просто virsh pool-destroy default, virsh pool-undefine default, то его уже нет в списке и ошибки нет. Но он нужен. Определяю его заново (virsh pool-define-as –name default –type dir –target /var/lib/libvirt/images) и снова ошибка после перезагрузки, что уже определен.

explorer
() автор топика
Последнее исправление: explorer (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Да без разницы под каким именем. Только он неудаляемый совсем. Комманды на delete дефолта проходят, но при перезагрузке он снова жив. Если же удаляю его полностью, создаю новый пул с тем же путем к машинам и перезагружаю, идет ошибка host libvirtd[1155]: operation failed: Storage source conflict with pool: ‘pool’

Если размещаю гостей в другом месте (и пуле), то автостарт все равно не включается.

Что помогло. Пуржировал всю компанию (либвирт, кему, квм), зачистил от них кучу хлама и поставил заново. Задекларил сети, машины заново, все заработало.

Чего я наверное никогда не пойму, так это как сбой фс мог вызвать такой глюк? И где virsh libvirt намертво гвоздями прибивает дефолтный пул?

explorer
() автор топика
Ответ на: комментарий от explorer

Чего я наверное никогда не пойму, так это как сбой фс мог вызвать такой глюк? И где virsh libvirt намертво гвоздями прибивает дефолтный пул?

Речь вроде только про qemu, как понял я, тогда всё смотрим здесь /etc/libvirt/qemu/*

anc ★★★★★
()
Ответ на: комментарий от explorer

operation failed: pool ‘default’ already exists

Ну это нормально. У меня скрипт для запуска libvirt, если сеть уже поднята и повторно запускаю, пишет то же самое

operation failed: pool 'default' already exists with uuid 7

эту ошибку можно проигнорировать (он не запукает повторно на дефолтном интерфейсе, т.к. уже поднято и продолжает нормально работать)

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

Да я просто не смог добиться автостарта, даже после создания альтерантивного пула и move машин в него. Пурж, зачистка и define машин и сетей.

А вопрос, что именно повредило фс, чтобы был такой глюк так и остался для меня где-то там в области мистики и черной магии, как и вопрос, что вызвало сбой на ФС? Все записи все виртуалки производят на отдельный физический драйв, на системник ничего не пишется, кроме как самой системой. К тому же, сами файлы виртуалок не пострадали. Хз, короче.

explorer
() автор топика
Последнее исправление: explorer (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.