KVMイメージはvirshで開始できませんでした、権限が拒否されました


12

私のホストOSはUbuntu Server 11.04(natty)です

Ubuntuのヘルプで詳しく説明されている手順を実行した後、私は使用して1つの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がデフォルトでインストールする場所です。VMをインストールした後、mv $ HOME / vmfolder / var / lib / libvirt / imagesを実行しました。次に、virsh edit vmnameを実行し、それに応じてイメージファイルの場所を変更しました。
Antwan W. A-Dubb

私も私のvmsの1つの所有者を変更する必要がありました。ルートに属していたため、アクセスが拒否されました。sudo chown -R libvirt-qemu:kvm dbos / ubuntu-kvm /。ls -l on / your / vm / dir / and / its / subdirs /を実行して、各レベルの権限を確認できます。それらがrootグループおよびユーザーに属していないことを確認してください。
Antwan W. A-Dubb

VMを作成する最も簡単で安全な方法は、このディレクトリ/ var / lib / libvirt / imagesにcdして、そこからインストールを実行することです。これにより、フォルダーレベルのアクセス許可について心配する必要がなくなります。rootではなく、現在のユーザーがデフォルトになります。
Antwan W. A-Dubb

4

簡単な解決策は、/ etc / libvirt / qemu.confファイルを編集し、次の行のコメントを外すことです。

User = "root"
group = "root"

libvirtdを再起動することを忘れないでください


4
それで実行できるかもしれませんが、セキュリティにはどのような影響がありますか?
cpast 2013

1
おそらく、より良いに自分自身を追加するにはkvm、グループに応じて、画像ファイルのパーミッションを調整し、セットuser="<yourname>"の中でqemu.conf
Marc.2377 2017

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.