仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

KVM の起動 - 許可が拒否されました

KVM で重大な問題に遭遇してからしばらく経ちました。繰り返しになりますが、公平を期すために、私は過去数年間、それほど広範囲に使用していません。しかし、最近、この仮想化技術で活動に拍車がかかり、生産性が上乗せされていくつかの問題が発生しました。

たまたま、仮想マシンを起動しようとしましたが、特別なことは何もなく、kvm xyz などだけでした。次のエラー メッセージが表示されました:KVM カーネル モジュールにアクセスできませんでした:許可が拒否されました。そして、この小さなチュートリアルを開始します。このチュートリアルでは、何が問題なのか、問題を解決する方法を確認するためにできるさまざまなことをすべて示しています。

問題の詳細

完全なエラー メッセージ:

KVM カーネル モジュールにアクセスできませんでした:許可が拒否されました
qemu-system-x86_64:KVM の初期化に失敗しました:許可が拒否されました

これは、KVM ユーザー空間コンポーネントが KVM ドライバーにアクセスできない可能性が高いことを示しています。これは通常、権限が正しくないことが原因です。

ソリューション

最初に行うことは、ユーザーが KVM および libvirt グループのメンバーであることを確認することです。これらの変更を行ったら、グループ メンバーシップの変更が行われるように、新しいシェルを起動する必要があります。最も簡単な方法は、ユーザー セッションに再ログインすることです。

sudo usermod -G -a kvm "ユーザー名"
sudo usermod -G -a libvirtd "ユーザー名"

デバイス ノードの権限

さらに、/dev/kvm デバイスのアクセス許可を確認します。正しいデフォルトのパーミッションは 660 であり、デバイス ファイルの root:kvm 所有権です。ご覧のとおり、root または kvm グループのメンバーでない場合は、アクセスできません。

ls -ld /dev/kvm
crw-rw---- 1 ルート kvm 10, 232 5 月 27 日 10:43 /dev/kvm

Udev ルール

もう 1 つ確認したいことは、正しい udev ルールが適用されているかどうかです。ご参考までに、udevd はデバイス ファイル システム管理サービスであり、/dev の下のエントリに適切なアクセス許可を設定します。通常、KVM ソフトウェアをインストールすると、バンドル内のパッケージの 1 つが必要なルールを提供します。このルールが存在せず、以前にバグがあった場合は、自分でルールを作成することをお勧めします。

/etc/udev/rules.d/ の下に、XX-kvm.rules という名前のファイルを作成します。 XX は数値を表し、GRUB2 ルールと同様に、ルールが解析および実行される字句順序を決定します。場合によっては、異なるルールの順序が重要になることがあります。確信が持てず、実行する KVM 機能に依存するものがない場合は、99-kvm.rules を使用できます。

このファイル内に、次の行を追加します:

KERNEL=="kvm"、GROUP="kvm"、MODE="0660"

ここには何がありますか? TL;DR バージョンの udev ルールの作成方法を使用している場合は、以下をお読みください。簡単に言えば:

  • KERNEL - デバイスのカーネル名
  • GROUP - デバイスを所有する UNIX グループ
  • MODE - デバイスのビットごとの権限

ルールが配置されたら、再起動せずにルールをリロードします:

udevadm コントロール --reload-rules

安全のために、libvirt サービスを再起動することもできます:

systemctl restart libvirtd

デバイス ノードの権限 - 再度

この方程式の最後の部分 - 上記の解決策のいずれも機能しない場合は、単純に /dev/kvm のアクセス許可をより緩和されたセットに変更できます。 660 の代わりに 666 を使用できます。これは、システム上のすべてのユーザーが KVM 仮想化を管理できることを意味します。自宅のセットアップでは、これはそれほど大きな問題ではありません。

sudo chmod +666 /dev/kvm

これで、KVM を堂々と実行できるはずです。

結論

どうぞ。このチュートリアルはそれほど長くはありませんが、かなりの数の領域をカバーしています。現在、これは KVM に関連するすべての問題の一般的なデバッグ記事ではありません。そのために、私の以前の KVM トラブルシューティング ガイドと電子メールがあるので、最新のヒントや解決策などを求めることができます。特に KVM の起動許可の問題について話しているので、それを分析して解決するには 3 つまたは 4 つの異なる方法があります。

全体として、KVM は強力で柔軟な仮想化ソフトウェアです。1 つの欠点は、非常にオタクっぽいため、フロントエンドに適した他のツールほどアクセスしにくいということです。そもそも仮想化がオタクなものではないというわけではありませんが、ねえ。パーミッションが間違っているために KVM を使用して VM を作成または起動する際に問題が発生した場合は、上記のチェックリストを使用して起動して実行する必要があります。シンプルで邪魔にならず、再起動は不要です。

乾杯。


  1. KVM でストレージを管理する方法 - チュートリアル

    数日前、カーネルベースの仮想マシン (KVM) テクノロジを紹介しました。これは、VirtualBox および VMware 製品の代わりに、またはそれらと一緒に使用することを検討できる無料のオープンソースの仮想化ソリューションです。いずれにせよ、基本的な管理に手を出しましたが、ストレージとネットワークは別のチュートリアルのために残しました. 今日は、KVM でのストレージの管理に関するより詳細なガイドを提供したいと思います。これは、仮想ディスクの追加、縮小、拡張など、VirtualBox で行ったことと多少似ています。 NFS ストレージや NTFS でフォ​​ーマットされた USB 接

  2. VirtualBox 3.0.0 はすごい!

    私のお気に入りのデスクトップ仮想化ソフトウェアには、VirtualBox と VMware Server があります。どちらも気に入って使っています。それらは全体的に非常に似ていますが、他の製品にはない独自の機能のサブセットをユーザーに提供し、互いにうまく補完しています. ほんの数日前、興奮の渦中に VirtualBox 3.0.0 がリリースされました。これは、前任者と VMware Server の両方に対して、どれだけうまく機能するかを確認する絶好の機会でした。深呼吸して、私についてきてください。長い紹介であなたを苦しめますが、それだけの価値があるはずです。 比較 ...