8

デルのpoweredge1000mブレードの1つにセットアップkvmしました。libvirt既存のイメージから仮想マシンをインストールするために次の構文を使用しています(rootとして実行)。

virt-install --name=vm_test --ram=1024 --arch=i686 --vcpus=1 --os-type=linux --import --disk path=/root/shared.qcow2,bus=virtio,format=qcow2 --graphics vnc,port=5901,listen=0.0.0.0,password=newone --noautoconsole --description --autostart

次のエラーが発生します。

Starting install...
ERROR    internal error process exited while connecting to monitor: char device redirected to /dev/pts/1
open /dev/kvm: Permission denied
failed to initialize KVM: Operation not permitted

Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start vm_test
otherwise, please restart your installation.

他のデスクトップホストの1つでまったく同じコマンドを使用しましたが、そこで機能します。ディスクイメージをデフォルトの場所に保存しvirt-managerて、ISOイメージを使用してVMをインストールできます。virt-manager

ディレクトリでは機能していません/vmsが、他の/home/vmディレクトリでは機能しているため、ファイルのアクセス許可エラーのように見えます。

事前に助けてくれてありがとう

4

6 に答える 6

5

サーバーで同じエラーメッセージが表示されましたがlibvirt、数週間かかります。ルートとして実行するように設定libvirtすると(リンクに記載されているように)、うまくいきませんでした。ただし、読み取りと実行のアクセスを許可し/var/lib/libvirt/imagesて問題を解決しました。

chmod go+rx /var/lib/libvirt/images
chmod o-rwx /var/lib/libvirt/images/*
于 2011-11-28T06:35:21.150 に答える
4

libvirtを使用してvmを作成するためのすべての指示に従った場合でも、上記のエラーメッセージが表示される場合があります。根本的な原因は、最近のUbuntuディストリビューションに見られるAppArmorです。最も簡単な方法は、セキュリティが問題にならない場合はAppArmorを削除することです。

Ubuntuの公式ドキュメントには、AppArmorの無効化に関する多くのアドバイスがあります。

AppArmorを無効にする

于 2011-12-21T10:25:48.343 に答える
2

私は自分の問題の解決策を見つけました、ここにあります。

本当の理由は/vms、NFSマウントであり、その構成(no_root_squash + rw)は、ルート経由でアクセスする必要があるというものでした。

デフォルトでは、libvirtはユーザーとグループの権限で仮想マシンをlibvirt-qemu:kvm実行しますが、sudo権限で実行した場合でも問題が発生します。したがって、qemuプロセスのユーザーとグループを/etc/libvirt/qemu.confのrootに設定する必要があります。

また、他の人が指摘しているように、このエラーには他にも複数の理由があり、libvirtがそのような一般的なエラーをスローするのは悲しいことです。

最もイライラしない解決策は、すべての権限を付与し、selinuxを無効にして、それが実行されることを確認することです。これで、各ステップで機能するアクセス許可テストを1つずつ取り消し、最終的にアクセス許可の最終セットを与える必要がある理由を理解します。

于 2015-01-28T06:14:18.270 に答える
2

これは、モジュールのロードが早すぎる場合に発生する可能性があります™(実際の問​​題は私にはわかりません。知っている場合は、この回答を拡張してください)。

モジュールをアンロードして、再度ロードしてみてください。これは私のためのトリックをしました:

rmmod kvm_intel # use kvm-amd if you use an amd processor.
rmmod kvm
modprobe kvm
modprobe kvm_intel # use kvm-amd if you use an amd processor.
于 2015-08-14T09:49:17.340 に答える
1

Archでこのパーミッション拒否エラーが発生しました。問題はアクセス制御リストであることが判明しました。Unixパーミッションはグループrwgetfacl示していましたが、を示しgroup::---ました。これは私のためにそれを修正しました:

setfacl -m g::rw /dev/kvm
于 2014-05-08T12:03:05.877 に答える
-1

私はこれと同じ問題に直面しました。調べてみると、許可の問題だとわかりました。以下のコマンドを実行するだけで対処できます。

chown root:kvm /dev/kvm

再起動する必要はありません。

于 2014-03-20T07:19:03.403 に答える