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