趙健の技術ノート

EndeavourOS、ManjароなどArch系LinuxにQEMU+KVM、libvirt、Virt-Manager仮想マシンをインストール

技術 約2984文字 · 8分で読める - 回閲覧

QEMU、KVM、libvirt、Virt-Managerは仮想化ソリューションを構築するための重要なコンポーネントであり、それぞれ異なる役割を担いながら、連携して強力な仮想化機能を提供します。

QEMU はオープンソースの汎用ハードウェアエミュレータおよび仮想マシンマネージャです。純粋なエミュレータとして動作することも(パフォーマンスは低い)、KVMと組み合わせてハードウェアアクセラレーションによる仮想化を提供することも(パフォーマンスが高く、ベアメタルに匹敵)できます。

KVM はLinuxカーネル内のモジュールで、Linuxカーネル上で直接動作し、ハードウェア仮想化技術を活用して、ネイティブハードウェアに近いパフォーマンスを実現できます。

libvirt は仮想化プラットフォーム(QEMU/KVM、Xen、VMware、Hyper-Vなど)を管理するためのオープンソースAPIおよびツールセットです。

Virt-Manager はグラフィカルインターフェースベースの管理ツールで、仮想マシンを直接管理するのではなく、libvirtが提供する仮想マシンを管理するために特化しています。主にコマンドラインに不慣れなユーザー向けに、便利なグラフィカルインターフェースを提供します。

KVM はLinuxカーネルに組み込まれており、QEMUと統合することで高性能な仮想化を実現します。libvirtはQEMUの複雑さを簡素化し、コマンドライン操作の管理機能を提供する、仮想化管理の中核ツールです。Virt-Manager はlibvirtのグラフィカルインターフェースで、GUIで仮想マシンをより便利に管理したいユーザーに適しています。

仮想マシンの実行に必要なコンポーネントをインストール

yay -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables swtpm
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service
sudo usermod -aG libvirt $USER
  1. qemuは汎用のオープンソース仮想マシンおよびエミュレータです。1つのオペレーティングシステム内で他のオペレーティングシステムを実行でき、完全なシステム仮想化とプロセスエミュレーションをサポートします。

  2. virt-managerはグラフィカルな仮想マシン管理ツールで、仮想マシンの作成、管理、監視を簡素化します。

  3. virt-viewerは軽量なリモートビューアツールで、仮想マシンのグラフィカルコンソールに接続できます(SPICEまたはVNCプロトコル経由)。

  4. dnsmasqは軽量なDNSおよびDHCPサーバーです。Libvirtはこれを使用して仮想マシンにNATネットワーク接続を提供します(デフォルト設定)。

  5. vde2は仮想ネットワーク環境を作成するための仮想スイッチです。オプションのツールで、主に高度な仮想ネットワーク構成に使用され、複雑なネットワークトポロジが必要なユーザーに適しています。

  6. bridge-utilsは仮想マシンのネットワークインターフェースを物理ネットワークインターフェースにブリッジするためのブリッジネットワーク管理ツールを提供します。仮想マシンが外部ネットワークに直接アクセスする必要がある場合(ブリッジモード)、これが必要です。

  7. openbsd-netcatはネットワークデバッグとデータ転送のためのツールで、TCPおよびUDPプロトコルをサポートします。Libvirtはこれを一部のネットワーク関連タスク(例:リモートホスト間のデータ転送)に使用します。

  8. ebtablesはLinuxカーネルのブリッジフィルタテーブルを管理するためのユーザースペースツールです。ブリッジネットワークで仮想マシンのネットワークトラフィックルールを管理する際に必要です。

  9. swtpmはソフトウェアエミュレートされたTPMで、物理ハードウェアのサポートなしで仮想マシンがTPM機能を使用できるようにします。Windows 11やその他のTPMが必要なアプリケーションシナリオをサポートします。

QEMU、virt-managerでクリップボード共有、ファイルドラッグ&ドロップ機能を有効にする

yay -S spice-vdagent qemu-guest-agent
sudo pacman -S spice-vdagent qemu-guest-agent
  1. spice-vdagentは主にユーザーエクスペリエンスを向上させるために使用され、クリップボード共有、ファイルドラッグ&ドロップなどの機能を提供します。
  2. qemu-guest-agentは仮想マシンとホスト間の管理および通信機能を提供し、仮想マシンがより効率的な操作と管理タスクを実行できるようにします。

インストール完了後、virt-manager(Linuxホスト側)で仮想マシンを設定する必要があります

  1. ディスプレイプロトコル Spice Spiceサーバー - タイプ:Spiceサーバー

ディスプレイプロトコル Spice

  1. ハードウェアを追加(2つ): チャンネル:com.redhat.spice.0を選択 チャンネル:org.qemu.guest_agent.0を選択

ハードウェア追加 チャンネル com.redhat.spice.0

ハードウェア追加 チャンネル org.qemu.guest_agent.0

仮想マシン内(ゲスト、インストールされた仮想マシンシステム)にSpice Guest Toolsソフトウェアをインストールして、クリップボード共有、ファイルドラッグ&ドロップなどの機能をサポートします。

実行時に「ドメインの開始エラー: 要求された操作は無効です:ネットワーク ‘default’ がアクティブではありません」と表示された場合、defaultネットワークを起動する必要があります。

defaultネットワークを起動

sudo virsh net-start default

起動時の自動起動を設定

sudo virsh net-autostart default
共有:

コメント