立ち話

興味があることを書いてます。正確な内容は公式ドキュメントや参考文献を確認してください。ブログに示された意見はすべて個人の見解であり、所属する組織の公式見解ではありません。

Ubuntu20.04にKVMを導入する

1. はじめに

Nessus というツールについて気になることがあったので、その検証のため、仮想環境に実験環境を作ろうとしている。

その第一歩として、ここではUbuntu20.04にKVMを導入する。

1.1 KVM

KVM (Kernel-based Virtual Machine) は、Linux に組み込まれた仮想化テクノロジーである。KVMを使用することで、ホストOS (Linux) 内に、複数のVM (仮想マシン) を作成し、稼働させることができる1

2. インストール手順

海外の方のウェブサイトがとても有益だったので、これを参考にして環境構築を行う2

2.1 仮想化をサポートしているか確かめる

システムが仮想化をサポートしているか確かめる。以下のコマンドを実行する。

egrep -c '(vmx|svm)' /proc/cpuinfo

私の環境では、

tcbn@tcbn-N14xZU:~$ egrep -c '(vmx|svm)' /proc/cpuinfo
16

となった。ここが0より大きければ仮想化をサポートしているらしい。

KVMが使えるかを確かめるために、

sudo apt install cpu-checker

として、

sudo kvm-ok

というコマンドを実行する。

このコマンドでエラーがでなければ、KVMのインストールが可能である。私の環境では、

tcbn@tcbn-N14xZU:~$ sudo kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

となった。

2.2 KVM のインストール

KVM に必要なツールを導入する。

sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager

次に、libvirtd-daemon が動いているか確かめる。

sudo systemctl status libvirtd

私の環境では、

tcbn@tcbn-N14xZU:~$ sudo systemctl status libvirtd
● libvirtd.service - Virtualization daemon
     Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor pres>
     Active: active (running) since Fri 2022-05-20 19:48:33 JST; 5min ago
TriggeredBy: ● libvirtd-admin.socket
             ● libvirtd.socket
             ● libvirtd-ro.socket
       Docs: man:libvirtd(8)
             https://libvirt.org

となった。自動起動の設定になっているか確認する。

sudo systemctl is-enabled libvirtd

私の環境では、

tcbn@tcbn-N14xZU:~$ sudo systemctl is-enabled libvirtd
enabled

だった。この後再起動する。

2.3 Virtual Machine Manager

ここまでの処理を終えると、Virtual Machine Manager が使えるようになる。

Virtual Machine Manager (GUI)

KVMではコマンドラインによる操作で仮想マシンの構築や設定などをするが、初めて使う際には、GUI操作の方が分かりやすい。

GUI操作による仮想マシン作成については、KVM を使って仮想マシンを作成する (試験勉強用) に書いている。


  1. 参考: KVMとは

  2. 参考: How to Install KVM on Ubuntu 20.04. 私が過去に記事で環境構築について書いたときも、このサイトを参考にしていた (KVM を使って仮想マシンを作成する (試験勉強用))。