LoginSignup
1
1

自宅LinuxサーバにKVM + QEMUをインストールしてみた

Last updated at Posted at 2024-03-23

概要

最近VMware ESXiの無償版の提供が終了してしまったので、別の選択肢としてKVMを利用してみました。初めて触るので不慣れですが、調べつつVM立てるところまでは行けました。

KVMインストール

KVM (Kernel-based Virtual Machine:カーネルベースの仮想マシン) は、Linux® に組み込まれたオープンソースの仮想化テクノロジーです。KVM を使用すると、Linux をハイパーバイザーとして機能させることができます。

KVMとは、Linux組み込みのハイパーバイザのことです。KVM自身はエミュレーションを行わずに後述のQEMUが仮想マシンのエミュレーションを行ってKVMは仮想ハードウェアの処理と物理ハードウェアの仲介役を行っています。

ロード済のカーネルモジュールの一覧で確認してみます。KVMはLinuxに組み込まれているので、インストールは不要です。

lsmod | grep kvm
kvm_intel             368640  0
kvm                  1032192  1 kvm_intel

QEMUインストール

仮想化マシンのエミュレータのことで、エミュレーションの対象はCPU,メモリ,I/Oデバイスに大別されます。

apt install qemu-kvm
vi /etc/libvirt/qemu.conf
user = "root"
group = "root"
dynamic_ownership = 1

rootで実行してしまっていますが、あまり良くないかもです。一般ユーザで実行するべきです。

libvirtインストール

libvirtは仮想化アプリケーションやハイパーバイザを操作するための抽象化レイヤーを提供しているソフトウェア郡です。

apt install virt-top libguestfs-tools virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils
vi /etc/libvirt/libvirtd.conf 

auth_unix_ro = "none"
auth_unix_rw = "none"
unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
systemctl status libvirtd
systemctl enable libvirtd
systemctl start libvirtd
systemctl status libvirtd
usermod -aG kvm $USER
usermod -aG libvirt $USER

ディレクトリ作成

mkdir -p /home/shared/images

cockpit

GUIの管理ツールとしてVirtual Machine Manager(virt-manager)も存在しますが、redhatとしてはcockpitを推奨しているようなのでcockpitを使用します。

apt install cockpit
. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit
systemctl status cockpit
systemctl start cockpit
systemctl status cockpit

以下アクセス
https://{IP}:9090/

仮想マシン作成のプラグインをインストールする。

apt install cockpit-machines

cockpitのGUI

スクリーンショット 2024-03-23 22.04.05.png

ユーザーグループ修正

groups $(whoami)

usermod -aG kvm $(whoami)
usermod -aG libvirt $(whoami)
usermod -aG libvirtd $(whoami)

groups $(whoami)

VM用のディレクトリ作成

# ディレクトリ作成
mkdir -p /home/shared/libvirt/images/
mkdir -p /home/shared/libvirt/images/isos/

# 権限とかグループ追加
groupadd shared
usermod --append --groups shared $(whoami)
chown -R root:shared /home/shared/
chmod -R o-rwx /home/shared/

VM操作コマンド

ここはメモ感覚です。

VM一覧

virsh list

VMディスク一覧

virsh domblklist [VM名前]

VM停止

virsh shutdown [VM名前]

ネットワーク設定

virsh net-list

VMのIP確認

virsh net-dhcp-leases default

pool確認

virsh pool-list

pool削除

virsh pool-destroy [pool名前]
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1