LINUX.ORG.RU
ФорумAdmin

Как qemu запускают из systemd?

 ,


1

2

Гуглил на сайте qemu - ничего не нашел.
Гуглил на сайте systemd - ничего не нашел.
Искал в Gentoo Wiki - много треша, плохой поиск, не нашел.
На другие дистрибутивы (Fedora) тем более надежды нет.
Искал на unix.stackexchange - там, может быть, что-то и есть, но там же не будет целенаправленной статьи по вопросу.
Искал на github - ничего не нашел.

  • Конечно, если поковыряться что-нибудь там есть, но нет объяснялок!

Искал на LOR - частные отрывочные вопросы.

Только Arch впереди планеты всей.

Но мне неудобно, я хочу .ebuild с готовыми скриптами:

# equery files qemu | grep service
#

и с пользовательской документацией конкретно для Gentoo - как конфигурировать, примеры, картинки.

UPD: можно предположить, что у всех вирутальных машин разные конфигурации, и прописывать это в сервисы неудобно. Тогда наверное надо искать что-то на основе virsh. Но где искать и как?

★★★

Последнее исправление: Shushundr (всего исправлений: 2)

Если у тебя есть комадная строка для запуска qemu, то просто создай *.service и пропиши ее туда.

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

не получается установить. У него много зависимостей, и при сборке вылезает фигня:

>>> Emerging (11 of 20) net-analyzer/openbsd-netcat-1.219_p1::gentoo
 * netcat-openbsd_1.219.orig.tar.gz BLAKE2B SHA512 size ;-) ...                                                                                                                                              [ ok ]
 * netcat-openbsd_1.219-1.debian.tar.xz BLAKE2B SHA512 size ;-) ...                                                                                                                                          [ ok ]
>>> Unpacking source...
>>> Unpacking netcat-openbsd_1.219.orig.tar.gz to /var/tmp/portage/net-analyzer/openbsd-netcat-1.219_p1/work
gzip: /var/tmp/portage/net-analyzer/openbsd-netcat-1.219_p1/distdir/netcat-openbsd_1.219.orig.tar.gz: Permission denied
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
 * ERROR: net-analyzer/openbsd-netcat-1.219_p1::gentoo failed (unpack phase):
 *   unpack: failure unpacking netcat-openbsd_1.219.orig.tar.gz
 * 
 * Call stack:
 *               ebuild.sh, line  136:  Called src_unpack
 *             environment, line 1203:  Called default
 *      phase-functions.sh, line  871:  Called default_src_unpack
 *      phase-functions.sh, line  898:  Called __eapi0_src_unpack
 *        phase-helpers.sh, line  807:  Called unpack 'netcat-openbsd_1.219.orig.tar.gz' 'netcat-openbsd_1.219-1.debian.tar.xz'
 *        phase-helpers.sh, line  430:  Called __unpack_tar 'gzip -d'
 *        phase-helpers.sh, line  372:  Called __assert_sigpipe_ok 'unpack: failure unpacking netcat-openbsd_1.219.orig.tar.gz'
 *   isolated-functions.sh, line   41:  Called die
 * The specific snippet of code:
 *   		[[ ${x} -ne 0 && ${x} -ne ${PORTAGE_SIGPIPE_STATUS:-141} ]] && die "$@"
Shushundr ★★★
() автор топика

если не сказать systemctl start virtqemud, то virt-manager не стартует:

Unable to connect to libvirt qemu:///system.

Failed to connect socket to '/var/run/libvirt/virtqemud-sock': No such file or directory

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 923, in _do_open
    self._backend.open(cb, data)
  File "/usr/share/virt-manager/virtinst/connection.py", line 171, in open
    conn = libvirt.openAuth(self._open_uri,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/libvirt.py", line 147, in openAuth
    raise libvirtError('virConnectOpenAuth() failed')
libvirt.libvirtError: Failed to connect socket to '/var/run/libvirt/virtqemud-sock': No such file or directory
Shushundr ★★★
() автор топика

ещё надо
insmod kvm
insmod kvm-intel

systemctl start virtstoraged
    (чтобы iso-диски подключать)

Надо создать «pool»:
/var/lib/libvirt/images/pool

Shushundr ★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 2)

Я создал новые устройства «Filesystem» (9P), они монтируются,
но почему-то возникает permission denied.

До virt-manager всё работало.

Потому что запускал под рутом.
а теперь

# getent passwd 77
qemu:x:77:77:System user; qemu:/dev/null:/sbin/nologin
Shushundr ★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Shushundr

Добавление пользователя qemu в группу root (и перезагрузка сервера) не помогает:

# groups qemu
root kvm qemu

помогают права 770:
find /var/db/repos -type d -exec chmod 770 {} ;

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

В файле /etc/libvirt/qemu.conf
есть секция

# The user for QEMU processes run by the system instance. It can be
# specified as a user name or as a user id. The qemu driver will try to
# parse this value first as a name and then, if the name doesn't exist,
# as a user id.
#
# Since a sequence of digits is a valid user name, a leading plus sign
# can be used to ensure that a user id will not be interpreted as a user
# name.
#
# Some examples of valid values are:
#
#       user = "qemu"   # A user named "qemu"
#       user = "+0"     # Super user (uid=0)
#       user = "100"    # A user named "100" or a user with uid=100
#
#user = "qemu"

где можно поменять пользователя обратно с qemu на root.
было ли дело в именно этом, мы узнаем в следующих сериях.

Shushundr ★★★
() автор топика

Установи libvirt и настрой запуск через него, но использовать для настройки virt-manager удобнее.

Ну либо напиши systemd unit и впиши нужные команды запуска.

kostik87 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.