2021 Jun. 12.
出典 Installing KVM/QEMU/virt-manager on Manjaro Linux(Arch Linux) | Boseji’s Lab
参考 Install KVM on Arch Linux
CPUの仮想化可否確認
$ LC_ALL=C lscpu | grep Virtualization
Virtualization: AMD-V
$ zgrep CONFIG_KVM /proc/config.gz
CONFIG_KVM_GUEST=y
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
CONFIG_KVM_MMU_AUDIT=y
[ryuichi@pc17 ~]$ zgrep VIRTIO /proc/config.gz
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_NET_9P_VIRTIO=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_SCSI_VIRTIO=m
CONFIG_VIRTIO_NET=m
CONFIG_CAIF_VIRTIO=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_VIRTIO=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PMEM=m
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_RPMSG_VIRTIO=m
CONFIG_VIRTIO_FS=m
CONFIG_CRYPTO_DEV_VIRTIO=m
$ lsmod | grep kvm
kvm_amd 110592 0
ccp 106496 1 kvm_amd
kvm 790528 1 kvm_amd
irqbypass 16384 1 kvm
$ lsmod | grep virtio
仮想化ドライバー組み込み
$ sudo modprobe virtio-net
$ sudo modprobe virtio-blk
$ sudo modprobe virtio-scsi
$ sudo modprobe virtio-serial
modprobe: FATAL: Module virtio-serial not found in directory /lib/modules/5.4.123-1-MANJARO
$ find /lib/modules/5.4.123-1-MANJARO/ -name 'virtio*' | grep ser
virtio-serialモジュールが無いので組み込まず。
$ sudo modprobe virtio-balloon
qemuパッケージインストール
<<<<<<<<<<<<<<<<<<<<<<<<
下記の記述の結論として次のパッケージインストールとなる。
$ sudo pacman -S qemu qemu-arch-extra ovmf vde2 openbsd-netcat virt-manager virt-viewer
<<<<<<<<<<<<<<<<<<<<<<<<
$ sudo pacman -S qemu qemu-arch-extra ovmf bridge-utils dnsmasq vde2 openbsd-netcat ebtables iptables
警告: bridge-utils-1.7.1-1 は最新です -- 再インストール
警告: dnsmasq-2.85-1 は最新です -- 再インストール
警告: iptables-1:1.8.7-1 は最新です -- 再インストール
依存関係を解決しています...
衝突するパッケージがないか確認しています...
警告: 対象リストから 'iptables' を削除。'iptables-nft' と衝突しています
:: iptables-nft と iptables が衝突しています。iptables を削除しますか? [y/N] N
エラー: 解決できないパッケージの衝突が検出されました
エラー: 処理の準備に失敗しました (衝突する依存関係)
:: iptables-nft と iptables が衝突しています
$ sudo pacman -S qemu qemu-arch-extra ovmf bridge-utils dnsmasq vde2 openbsd-netcat ebtables
警告: bridge-utils-1.7.1-1 は最新です -- 再インストール
警告: dnsmasq-2.85-1 は最新です -- 再インストール
依存関係を解決しています...
衝突するパッケージがないか確認しています...
:: iptables-nft と iptables が衝突しています。iptables を削除しますか? [y/N] N
エラー: 解決できないパッケージの衝突が検出されました
エラー: 処理の準備に失敗しました (衝突する依存関係)
:: iptables-nft と iptables が衝突しています
$ sudo pacman -S qemu qemu-arch-extra ovmf vde2 openbsd-netcat ebtables
依存関係を解決しています...
衝突するパッケージがないか確認しています...
:: iptables-nft と iptables が衝突しています。iptables を削除しますか? [y/N] N
エラー: 解決できないパッケージの衝突が検出されました
エラー: 処理の準備に失敗しました (衝突する依存関係)
:: iptables-nft と iptables が衝突しています
下記ページによると、ebtablesとiptablesはインストールしなくてもかまわないようなので、インストールから外した。
Install KVM on Arch Linux
You should not worry because ebtables is optional. If you want to suppress this warning, install the package with sudo pacman -S ebtables. However, because it conflicts with iptables-nft in the iptables package, it will ask to remove the iptables package.
$ sudo pacman -S qemu qemu-arch-extra ovmf vde2 openbsd-netcat
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (15) brltty-6.3-2 dtc-1.6.0-3 libcacard-2.7.0-2 libslirp-4.5.0-1 libspeechd-0.10.2-1 numactl-2.0.14-1
seabios-1.14.0-1 spice-0.14.3-3 usbredir-0.9.0-1 virglrenderer-0.9.1-1 edk2-ovmf-202102-1
openbsd-netcat-1.217_2-1 qemu-6.0.0-3 qemu-arch-extra-6.0.0-3 vde2-2.3.2-16
合計ダウンロード容量: 77.97 MiB
合計インストール容量: 820.07 MiB
:: インストールを行いますか? [Y/n]
:: パッケージを取得します...
virglrenderer-0.9.1-1-x86_64 206.8 KiB 383 KiB/s 00:01 [############################################] 100%
libspeechd-0.10.2-1-x86_64 19.4 KiB 21.2 KiB/s 00:01 [############################################] 100%
brltty-6.3-2-x86_64 1600.8 KiB 73.0 KiB/s 00:22 [############################################] 100%
seabios-1.14.0-1-any 185.7 KiB 38.7 KiB/s 00:05 [############################################] 100%
numactl-2.0.14-1-x86_64 81.2 KiB 41.5 KiB/s 00:02 [############################################] 100%
vde2-2.3.2-16-x86_64 216.0 KiB 36.9 KiB/s 00:06 [############################################] 100%
spice-0.14.3-3-x86_64 347.4 KiB 33.2 KiB/s 00:10 [############################################] 100%
libcacard-2.7.0-2-x86_64 40.3 KiB 57.0 KiB/s 00:01 [############################################] 100%
qemu-6.0.0-3-x86_64 8.2 MiB 824 KiB/s 00:10 [############################################] 100%
qemu-arch-extra-6.0.0-3-x86_64 62.4 MiB 3.11 MiB/s 00:20 [############################################] 100%
edk2-ovmf-202102-1-any 4.5 MiB 2.26 MiB/s 00:02 [############################################] 100%
usbredir-0.9.0-1-x86_64 47.2 KiB 199 KiB/s 00:00 [############################################] 100%
libslirp-4.5.0-1-x86_64 60.2 KiB 19.6 MiB/s 00:00 [############################################] 100%
dtc-1.6.0-3-x86_64 136.4 KiB 561 KiB/s 00:00 [############################################] 100%
openbsd-netcat-1.217_2-1-x86_64 24.1 KiB 0.00 B/s 00:00 [############################################] 100%
(15/15) キーリングのキーを確認 [############################################] 100%
(15/15) パッケージの整合性をチェック [############################################] 100%
(15/15) パッケージファイルのロード [############################################] 100%
(15/15) ファイルの衝突をチェック [############################################] 100%
(15/15) 空き容量を確認 [############################################] 100%
:: パッケージの変更を処理しています...
( 1/15) インストール virglrenderer [############################################] 100%
( 2/15) インストール libspeechd [############################################] 100%
( 3/15) インストール brltty [############################################] 100%
brltty-genkey: key generated
Please add your user to the brlapi group.
brltty の提案パッケージ
at-spi2-core: X11/GNOME Apps accessibility [インストール済み]
atk: ATK bridge for X11/GNOME accessibility [インストール済み]
espeak-ng: espeak-ng driver
java-runtime: Java support [インストール済み]
libxaw: X11 support
libxt: X11 support [インストール済み]
libx11: for xbrlapi [インストール済み]
libxfixes: for xbrlapi [インストール済み]
libxtst: for xbrlapi [インストール済み]
ocaml: OCaml support [インストール済み]
python: Python support [インストール済み]
speech-dispatcher: speech-dispatcher driver
( 4/15) インストール seabios [############################################] 100%
( 5/15) インストール numactl [############################################] 100%
( 6/15) インストール vde2 [############################################] 100%
vde config files should be placed in /etc/vde, sample files are provided.
iptables and dhcpd sample files have been installed to '/usr/share/vde2'.
Merge those examples, if needed to the according config files.
( 7/15) インストール spice [############################################] 100%
( 8/15) インストール libcacard [############################################] 100%
( 9/15) インストール usbredir [############################################] 100%
(10/15) インストール libslirp [############################################] 100%
(11/15) インストール dtc [############################################] 100%
(12/15) インストール qemu [############################################] 100%
qemu の提案パッケージ
qemu-arch-extra: extra architectures support [保留]
samba: SMB/CIFS server support [インストール済み]
qemu-block-iscsi: iSCSI block support
qemu-block-rbd: RBD block support
qemu-block-gluster: glusterfs block support
(13/15) インストール qemu-arch-extra [############################################] 100%
(14/15) インストール edk2-ovmf [############################################] 100%
(15/15) インストール openbsd-netcat [############################################] 100%
:: トランザクション後のフックを実行...
(1/7) Creating system user accounts...
Creating group brlapi with gid 964.
Creating group brltty with gid 963.
Creating user brltty (Braille Device Daemon) with uid 963 and gid 963.
(2/7) Reloading system manager configuration...
(3/7) Creating temporary files...
(4/7) Reloading device manager configuration...
(5/7) Arming ConditionNeedsUpdate...
(6/7) Updating icon theme caches...
(7/7) Updating the desktop file MIME type cache...
$ sudo pacman -S virt-manager virt-viewer
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (13) gtk-vnc-1.2.0-1 libgovirt-0.3.8-1 libosinfo-1.9.0-1 libvirt-1:7.3.0-1 libvirt-glib-4.0.0-1
libvirt-python-1:7.3.0-1 osinfo-db-20210426-1 phodav-2.5-1 spice-gtk-0.39-3 virt-install-3.2.0-1
yajl-2.1.0-4 virt-manager-3.2.0-1 virt-viewer-9.0-1
合計ダウンロード容量: 11.08 MiB
合計インストール容量: 66.06 MiB
:: インストールを行いますか? [Y/n]
:: パッケージを取得します...
yajl-2.1.0-4-x86_64 45.8 KiB 170 KiB/s 00:00 [############################################] 100%
gtk-vnc-1.2.0-1-x86_64 152.5 KiB 305 KiB/s 00:01 [############################################] 100%
osinfo-db-20210426-1-any 176.2 KiB 339 KiB/s 00:01 [############################################] 100%
libosinfo-1.9.0-1-x86_64 273.9 KiB 369 KiB/s 00:01 [############################################] 100%
libvirt-1:7.3.0-1-x86_64 7.6 MiB 3.62 MiB/s 00:02 [############################################] 100%
libvirt-python-1:7.3.0-1-x86_64 184.9 KiB 366 KiB/s 00:01 [############################################] 100%
virt-install-3.2.0-1-any 997.1 KiB 2.95 MiB/s 00:00 [############################################] 100%
libvirt-glib-4.0.0-1-x86_64 303.9 KiB 393 KiB/s 00:01 [############################################] 100%
phodav-2.5-1-x86_64 63.2 KiB 15.4 MiB/s 00:00 [############################################] 100%
spice-gtk-0.39-3-x86_64 510.4 KiB 987 KiB/s 00:01 [############################################] 100%
virt-manager-3.2.0-1-any 502.5 KiB 638 KiB/s 00:01 [############################################] 100%
libgovirt-0.3.8-1-x86_64 80.5 KiB 19.6 MiB/s 00:00 [############################################] 100%
virt-viewer-9.0-1-x86_64 268.0 KiB 9.69 MiB/s 00:00 [############################################] 100%
(13/13) キーリングのキーを確認 [############################################] 100%
(13/13) パッケージの整合性をチェック [############################################] 100%
(13/13) パッケージファイルのロード [############################################] 100%
(13/13) ファイルの衝突をチェック [############################################] 100%
(13/13) 空き容量を確認 [############################################] 100%
:: パッケージの変更を処理しています...
( 1/13) インストール osinfo-db [############################################] 100%
( 2/13) インストール libosinfo [############################################] 100%
( 3/13) インストール yajl [############################################] 100%
( 4/13) インストール libvirt [############################################] 100%
libvirt の提案パッケージ
libvirt-storage-gluster: Gluster storage backend
libvirt-storage-iscsi-direct: iSCSI-direct storage backend
libvirt-storage-rbd: RBD storage backend
gettext: required for libvirt-guests.service [インストール済み]
openbsd-netcat: for remote management over ssh [インストール済み]
dmidecode: DMI system info support [インストール済み]
dnsmasq: required for default NAT/DHCP for guests [インストール済み]
radvd: IPv6 RAD support
ebtables: required for default NAT networking
qemu: QEMU/KVM support [インストール済み]
lvm2: Logical Volume Manager support [インストール済み]
open-iscsi: iSCSI support via iscsiadm
( 5/13) インストール libvirt-python [############################################] 100%
( 6/13) インストール virt-install [############################################] 100%
virt-install の提案パッケージ
x11-ssh-askpass: provide password for remote machines connected via ssh tunnel
( 7/13) インストール gtk-vnc [############################################] 100%
( 8/13) インストール libvirt-glib [############################################] 100%
libvirt-glib の提案パッケージ
python: support for python [インストール済み]
( 9/13) インストール phodav [############################################] 100%
(10/13) インストール spice-gtk [############################################] 100%
(11/13) インストール virt-manager [############################################] 100%
virt-manager の提案パッケージ
x11-ssh-askpass: provide password for remote machines connected via ssh tunnel
(12/13) インストール libgovirt [############################################] 100%
(13/13) インストール virt-viewer [############################################] 100%
:: トランザクション後のフックを実行...
( 1/10) Creating system user accounts...
Creating group libvirt with gid 962.
( 2/10) Reloading system manager configuration...
( 3/10) Applying kernel sysctl settings...
Not setting net/ipv4/conf/all/rp_filter (explicit setting exists).
Not setting net/ipv4/conf/default/rp_filter (explicit setting exists).
Not setting net/ipv4/conf/all/accept_source_route (explicit setting exists).
Not setting net/ipv4/conf/default/accept_source_route (explicit setting exists).
Not setting net/ipv4/conf/all/promote_secondaries (explicit setting exists).
Not setting net/ipv4/conf/default/promote_secondaries (explicit setting exists).
( 4/10) Creating temporary files...
( 5/10) Reloading device manager configuration...
( 6/10) Arming ConditionNeedsUpdate...
( 7/10) Compiling GSettings XML schema files...
( 8/10) Updating icon theme caches...
( 9/10) Updating the desktop file MIME type cache...
(10/10) Updating the MIME type database...
$ sudo systemctl enable libvirtd.service
Created symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service.
Created symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket → /usr/lib/systemd/system/virtlockd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket → /usr/lib/systemd/system/virtlogd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket.
$ sudo systemctl start libvirtd.service
$ sudo systemctl status libvirtd.service
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-06-12 16:46:30 JST; 21s ago
TriggeredBy: ● libvirtd-ro.socket
● libvirtd.socket
● libvirtd-admin.socket
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 5925 (libvirtd)
Tasks: 19 (limit: 32768)
Memory: 14.0M
CGroup: /system.slice/libvirtd.service
└─5925 /usr/bin/libvirtd --timeout 120
6月 12 16:46:30 pc17 systemd[1]: Started Virtualization daemon.
6月 12 16:46:30 pc17 libvirtd[5925]: libvirt version: 7.3.0
6月 12 16:46:30 pc17 libvirtd[5925]: hostname: pc17
6月 12 16:46:30 pc17 libvirtd[5925]: ebtables not available, firewall backend will not function: そのようなファイルやディレクト...
6月 12 16:46:30 pc17 libvirtd[5925]: 内部エラー: Failed to initialize a valid firewall backend
...skipping...
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-06-12 16:46:30 JST; 21s ago
TriggeredBy: ● libvirtd-ro.socket
● libvirtd.socket
● libvirtd-admin.socket
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 5925 (libvirtd)
Tasks: 19 (limit: 32768)
Memory: 14.0M
CGroup: /system.slice/libvirtd.service
└─5925 /usr/bin/libvirtd --timeout 120
6月 12 16:46:30 pc17 systemd[1]: Started Virtualization daemon.
6月 12 16:46:30 pc17 libvirtd[5925]: libvirt version: 7.3.0
6月 12 16:46:30 pc17 libvirtd[5925]: hostname: pc17
6月 12 16:46:30 pc17 libvirtd[5925]: ebtables not available, firewall backend will not function: そのようなファイルやディレクト >
6月 12 16:46:30 pc17 libvirtd[5925]: 内部エラー: Failed to initialize a valid firewall backend
libvirtd.serviceのステータス出力にエラーがあるが、下記ページによると問題無い模様。
Install KVM on Arch Linux より
If you check for the service status with sudo systemctl status libvirtd.service. There probably will be the following error:
May 08 16:34:18 transang libvirtd[3528]: /usr/bin/ebtables not available, firewall backend will not function: No such file or directory
May 08 16:34:18 transang libvirtd[3528]: internal error: Failed to initialize a valid firewall backend
You should not worry because ebtables is optional. If you want to suppress this warning, install the package with sudo pacman -S ebtables. However, because it conflicts with iptables-nft in the iptables package, it will ask to remove the iptables package.
/etc/libvirt/libvirtd.conf内のコメント行となっている次の2行のコメントを外し有効化する。
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"
一般ユーザーのlibvirtグループへの登録
$ sudo usermod -a -G libvirt ${USER}
$ sudo reboot