KVM 이미지가 virsh로 시작하지 못했으며 권한이 거부되었습니다.


12

호스트 OS는 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

sudo virsh -c qemu : /// system "list --all"에 의해 virsh로 나열 할 수 있습니다.

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 그룹에 추가되었습니다.

이미지 파일과 디렉토리를 777로 chmod하기까지했지만 여전히 오류가 있습니다.

답변:


9

KVM 이미지는 selinux에 의해 제한됩니다. / var / lib / libvirt / images에 넣으면 충분합니다.

http://libvirt.org/drvqemu.html#securityselinux 에 대해 자세히 설명합니다.


남자!! 이것은 나를 위해 일했습니다. 고마워요 분명히 당신의 계정의 $ HOME 디렉토리는 virsh가 기본적으로 설치를 좋아하는 곳입니다. vms를 설치 한 후 mv $ HOME / vmfolder / var / lib / libvirt / images를 실행했습니다. 그런 다음 virsh edit vmname을 실행하고 그에 따라 이미지 파일의 위치를 ​​변경했습니다.
Antwan W. A-Dubb

또한 내 vms 중 하나의 소유자를 변경해야했습니다. 루트에 속하여 액세스가 거부되었습니다. sudo chown -R libvirt-qemu : kvm dbos / ubuntu-kvm /. ls -l on / your / vm / dir / and / its / subdirs /를 실행하여 각 레벨에서 권한을 점검 할 수 있습니다. 이들 중 어느 것도 루트 그룹과 사용자에 속하지 않아야합니다.
Antwan W. A-Dubb

vm을 작성하는 가장 쉽고 안전한 방법은이 디렉토리 / var / lib / libvirt / images로 cd하고 설치를 실행하는 것입니다. 이렇게하면 폴더 수준 권한에 대해 걱정할 필요가 없습니다. 루트가 아닌 현재 사용자를 기본값으로 사용합니다.
Antwan W. A-Dubb

4

쉬운 해결책은 /etc/libvirt/qemu.conf 파일을 편집하고 다음 줄의 주석을 해제하는 것입니다.

User = "root"
group = "root"

libvirtd를 다시 시작하는 것을 잊지 마십시오


4
그것은 당신이 그것을 실행할 수있게 할 수 있지만 보안 관련 사항은 무엇입니까?
cpast

1
kvm그룹 에 자신을 추가 하고 그에 따라 이미지 파일 권한을 조정하고에서 설정 user="<yourname>"하는 것이 qemu.conf좋습니다.
Marc.2377

1

아치 리눅스에서 :

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 overlay / snapshots의 손상과 관련이있는 것 같습니다!

이 설정은 다음과 같습니다.

Baseimage> Overlay1>Overlay2

오버레이는 cmd virsh snapshot-create ...Overlay1사용하여 Overlay2작성되었으며 테스트 하기 전에 작성하기 전에 최신으로 사용되었습니다 (VM이 시작되지 않음 ).

아마도 IRL 유스 케이스는 아니지만 그럼에도 불구 하고이 오류가 발생하여 파일 시스템 액세스 권한이 아닌 오버레이 체인과 관련이 있는지 깨달을 때까지 저를 몰아 냈습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.