Не вдалося запустити зображення KVM з virsh, у дозволі відмовлено


12

Моя хоста ОС - Ubuntu Server 11.04 (natty)

Дотримуючись інструкцій, детальних у довідці Ubuntu , я створив одне зображення KVM за допомогою

sudo ubuntu-vm-builder kvm hardy --libvirt qemu:///system

Файл зображення створено як

-rw-r--r-- 1 root root 438M 2011-06-17 14:39 ubuntu-kvm/tmpK9hbU5.qcow2

Я можу перерахувати його з virsh by sudo virsh -c qemu: /// system "list --all"

Id   Name                 State
----------------------------------
  - ubuntu               shut off  

Але, коли я дзвоню

sudo virsh -c qemu:///system "start ubuntu"

Помилка була видалена:

error: Failed to start domain ubuntu
error: internal error process exited while connecting to monitor: kvm: -drive file=/home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2,if=none,id=drive-ide0-0-0,format=qcow2: could not open disk image /home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2: Permission denied

Користувача "myuser" було додано до групи libvirt.

Я пішов так далеко, щоб chmod файл зображення, а також його каталог до 777, але помилка все ще є.

Відповіді:


9

Зображення KVM обмежені selinux. Введення їх у / var / lib / libvirt / images повинно вистачити.

http://libvirt.org/drvqemu.html#securityselinux детальніше.


Людина !! Це працювало для мене. Велике спасибі людино. Мабуть, каталог $ HOME у вашому обліковому записі захищено, де вирш любить встановлювати речі за замовчуванням. Після того, як я встановив vms, я запустив mv $ HOME / vmfolder / var / lib / libvirt / images. Потім я запустив virsh редагувати vmname і відповідно змінив розташування файлу зображення.
Antwan W. A-Dubb

Мені також довелося змінити власника одного з моїх віртуальних файлів. Він належав до root, що призводило до заборони доступу. sudo chown -R libvirt-qemu: kvm dbos / ubuntu-kvm /. Ви можете запустити ls -l on / your / vm / dir / та / its / subdir /, щоб перевірити дозволи на кожному рівні. Переконайтесь, що жоден з них не належить до кореневої групи та користувача.
Antwan W. A-Dubb

Я виявив, що найпростіший і найбезпечніший спосіб створити свій vm - це переконатися, що ви перейдете до цього каталогу / var / lib / libvirt / images та запустите інсталяцію звідти. Таким чином, вам не доведеться турбуватися про дозволи на рівні папки. Вони просто за замовчуванням для поточного користувача на відміну від root.
Antwan W. A-Dubb

4

простим рішенням буде редагувати файл /etc/libvirt/qemu.conf і коментувати наступні рядки:

User = "root"
group = "root"

Не забудьте перезапустити libvirtd


4
Це може дозволити вам це запустити, але які наслідки для безпеки?
cpast

1
Ймовірно , краще додати себе в kvmгрупу, налаштувати права доступу до файлу зображення , відповідно, і безліч user="<yourname>"в qemu.conf.
Марк.2377,

1

В Arch Linux:

sudo usermod -a -G kvm username

встановити дозволи для процесів QEMU в /etc/libvirt/qemu.conf

user = "username"
group = "kvm"

оновити членство в групі в одному терміналі:

su - username

Додайте псевдонім до свого ~/.bashrc

alias virsh='EDITOR=nano sudo virsh && cd /etc/libvirt/qemu'

нарешті

source ~/.bashrc
virsh
list --all
start mydomain

0

Здається, ця помилка дозволу також може бути пов’язана з пошкодженими накладками / знімками qcow2!

У цій настройці:

Baseimage> Overlay1>Overlay2

Накладки були створені з cmd virsh snapshot-create ...і Overlay1використовувались новішими (VM не запускався) перед створенням Overlay2(створеним для тестування).

Це не дуже ймовірний випадок використання IRL, але, тим не менше, він отримав цю помилку, і це змусило мене гайок, поки я не зрозумів, чи пов’язаний він з ланцюгом накладання і не має дозволу доступу до файлової системи.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.