リモートから対象サーバ内でVMを管理するためvirt-managerを導入
virt-managerとlibvirt, QEMU, KVMとの関係
| 名前 | 役割 | どこで動く? | 重要ポイント |
|---|---|---|---|
| virt-manager | 管理ツール(GUI) | ユーザー空間(デスクトップアプリ) | ユーザーが使う窓口 |
| libvirt | 仮想マシン管理 API (ミドルウェア) | ユーザー空間 + デーモン常駐 | 実際の VM 制御を担当 |
| QEMU | 仮想マシン実行エンジン | ユーザー空間 | VM を作成・起動する |
| KVM | ハードウェア仮想化支援(カーネルモジュール) | カーネル空間 | CPU/メモリの高速実行 |
QEMUとは?
QEMU(Quick Emulator) は、以下の機能を持つ汎用仮想化ソフトです。
- CPU の完全エミュレーション
- 仮想マシンの起動・制御
- 仮想デバイス(NIC・ディスク・USB など)の提供
- 異なる CPU アーキテクチャの実行(x86 上で ARM など)
QEMU単体の特徴
Linux 以外でも動く(Windows / macOS 可)
ARM, RISC-V, PowerPC なども実行可能
CPU がソフトウェアエミュレーションのため非常に遅い
KVMとは?
KVM(Kernel-based Virtual Machine) は、Linux カーネルに組み込まれた:
- ハードウェア仮想化支援(Intel VT-x / AMD-V)を使うための仕組み
- それ自体は 仮想マシンを起動する機能を持たない
- 「CPU を仮想マシンに直接貸す」機能のみ
GUIでリモート操作:virt-managerのインストール
$ sudo apt-get install virt-manager
注) CLIでのみリモート操作する場合
$ sudo apt install libvirt-clients virtinst
libvirtdデーモン自動起動確認
$ sudo systemctl status libvirtd
● libvirtd.service - libvirt legacy monolithic daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-06-17 05:54:30 UTC; 1min 37s ago
TriggeredBy: ● libvirtd-ro.socket
● libvirtd.socket
● libvirtd-admin.socket
Docs: man:libvirtd(8)
https://libvirt.org/
Main PID: 16462 (libvirtd)
Tasks: 22 (limit: 32768)
Memory: 10.3M (peak: 11.7M)
CPU: 310ms
CGroup: /system.slice/libvirtd.service
├─11952 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
├─11953 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
└─16462 /usr/sbin/libvirtd --timeout 120
Jun 17 05:54:30 hp-elitedesk systemd[1]: Starting libvirtd.service - libvirt legacy monolithic daemon...
Jun 17 05:54:30 hp-elitedesk systemd[1]: Started libvirtd.service - libvirt legacy monolithic daemon.
Jun 17 05:54:30 hp-elitedesk dnsmasq[11952]: read /etc/hosts - 12 names
Jun 17 05:54:30 hp-elitedesk dnsmasq[11952]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 names
Jun 17 05:54:30 hp-elitedesk dnsmasq-dhcp[11952]: read /var/lib/libvirt/dnsmasq/default.hostsfile
管理ユーザをlibvirtグループに追加(再ログインで有効)
$ sudo usermod -aG libvirt $USER
libvirtの管理コマンドは基本 virsh , virt-install で行います。
$ virsh list --all
Id Name State
-----------------------------
5 ubuntu24.04 running
$ virsh domblklist ubuntu24.04
Target Source
-----------------------------------------------------
vda /var/lib/libvirt/images/ubuntu24.04.qcow2
sda -
$ virsh pool-list
Name State Autostart
-------------------------------
default active yes
VMサーバ側の環境構築(Ubuntu24.04の場合)
$ sudo apt install qemu-system-x86 libvirt-daemon-system libvirt-clients virtinst libguestfs-tools bridge-utils
オプション:仮想ファームウェア(UEFI)パッケージ
ovmfをインストール
CPU が仮想化対応か確認
$ egrep -c '(vmx|svm)' /proc/cpuinfo
1以上→
KVM 使用可能0→
BIOS/UEFI で仮想化が無効 or 非対応CPU
KVM モジュールがロードされているか確認
$ lsmod | grep kvm
kvm_intel 487424 0
kvm 1409024 1 kvm_intel
irqbypass 12288 1 kvm
KVMを有効にするためには、BIOSで以下の機能を有効化すること。
- Intel:Intel VT-x / VT-d
- AMD:SVM / IOMMU



