このページについて
- QEMUとは何ですか?
KVM カーネルベースの仮想マシンの頭字語です。 、Linuxカーネルモジュールに基づく仮想化のためのテクノロジーソリューションです。 KVMは、ハードウェア仮想化拡張機能IntelVTまたはAMD-VをサポートするLinuxx86マシンで実行されるオープンソースソフトウェアソリューションです。 。 KVMカーネルモジュールはバージョン2.6.20以降Linuxカーネルに出荷されており、FreeBSDやIllumosなどの他のオペレーティングシステムにロード可能なカーネルモジュールとして移植されています。
KVMテクノロジーは、Linuxマシンをホストマシンと呼ばれるハイパーバイザー仮想化に変えます。ホストマシンでは、仮想マシン(VM)と呼ばれる複数の分離されたシステムを作成できます。各仮想マシンにはシステム(Linux、Windows、またはBSDのいずれか)があり、メモリ、CPU、ネットワークカード、ディスク、グラフィックなどのプライベート仮想化ハードウェアもあります。
QEMUとは何ですか?
QEMU またはクイックエミュレータ は、ハードウェア仮想化用のオープンソースシステムエミュレーターおよびバーチャライザーです。通常、仮想マシンを実行するためのKVMカーネルモジュールで仮想化ツールとして使用されます。ゲストマシン/仮想マシンで優れたパフォーマンスを実現するために、IntelVTやAMD-Vなどのハードウェア仮想化拡張機能を利用します。 QEMU / KVM仮想化は、主にデータセンターのハイパーバイザーとして使用されます。
このガイドでは、Manjaro/ArchlinuxマシンでKVM/QEMU仮想化をセットアップする方法を学習します。また、GUIアプリケーション「virt-manager」(仮想マシンを管理するためのデスクトップユーザーインターフェイス)を使用して最初の仮想マシンを作成する方法についても学習します。
- x86または64ビットアーキテクチャを備えたManjaro/Archlinux。
- 仮想化をサポートするCPU/プロセッサ(Intel VTまたはAMD-V)。
- sudoroot権限を持つroot以外のユーザー。
まず、IntelCPU用の仮想化アクセラレーションIntelVTおよびAMDCPU用のAMD-vのマシンアーキテクチャとハードウェアサポートを確認します。
1.次のコマンドを実行して、システムのシステムアーキテクチャを確認します。
uname -m
次の出力が得られます。
Linux machine1 5.4.134-1 #1 SMP PREEMPT Tue Jul 06 08:10:03 UTC 2021 x86_64 GNU/Linux
ご覧のとおり、現在、「 x86_64」を備えたLinuxシステムを使用しています。 "または"64ビット 「アーキテクチャとカーネルバージョン」5.4 "。
2.次に、次のコマンドを実行して、ハードウェア仮想化のサポートを確認します。
sudo lscpu | grep Virtualization
Intelプロセッサの場合、以下のような出力が表示されます。
Virtualization: VT-x
また、AMDプロセッサの場合、以下は同様の出力です。
Virtualization: AMD-V
3.オプションで、次のコマンドを使用して、マシンでネストされた仮想化を有効にできます。
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel nested=1
その後、次のコマンドを実行して、ネストされた仮想化を確認します。
cat /sys/module/kvm_intel/parameters/nested
"Y"のような出力が得られた場合 または"1" 、これは、機能のネストされた仮想化が有効になっていることを意味します。それ以外の場合は、「そのようなファイルまたはディレクトリはありません」というエラーメッセージが表示されます。 。
QEMUおよびVirt-Managerパッケージのインストール
1. qemuおよびvirt-managerパッケージをインストールするには、以下のコマンドを実行します。
sudo pacman -S qemu virt-manager libvirt virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables libguestfs
manjaroシステムの場合、「 iptables」間でパッケージの競合が発生します "と"ebtables "。「y」と入力します "デフォルトのiptablesパッケージを削除し、" ebtables に置き換えます "と"nftables "。
以下は、知っておく必要のある重要なパッケージです。
- qemu:オープンソースのマシンエミュレーターおよびバーチャライザー。
- virt-manager;仮想マシンを管理するためのGUIアプリケーション。
- libvirt:KVM、QEMUなどの仮想化エンジンを制御するためのAPI
- dnsmasq:軽量のDNSフォワーダーとDHCPサーバー。
- bridge-utils:Linuxイーサネットブリッジを構成するためのユーティリティ。
- libguestfs:仮想マシン(VM)ディスクイメージを変更するためのツールのセット。
2.次に、次のコマンドを使用してlibvirtdサービスを開始して有効にします。
sudo systemctl enable --now libvirtd
以下のような出力が得られます。
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.
3.その後、次のコマンドを実行して、libvirtdサービスのステータスを確認します。
sudo systemctl status libvirtd
そして、以下のような出力が表示されるはずです。ご覧のとおり、libvritdサービスはアクティブで実行中です。
? libvirtd.service - Virtualization daemon>
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-07-23 10:33:25 UTC; 6s ago
TriggeredBy: ? libvirtd-ro.socket
? libvirtd.socket
? libvirtd-admin.socket
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 16828 (libvirtd)
Tasks: 19 (limit: 32768)
Memory: 16.4M
CPU: 226ms
CGroup: /system.slice/libvirtd.service
??16828 /usr/bin/libvirtd --timeout 120
デフォルトでは、ユーザー「root」のみが仮想マシンを作成および管理できます。ルート以外のユーザーが仮想マシンを作成および管理できるようにするには、以下のlibvirtd構成に従う必要があります。
1.次のコマンドを実行して、libvirtd構成を編集します。
sudo nano /etc/libvirt/libvirtd.conf
オプション「unix_sock_group」のコメントを解除します "と入力し、グループ名を" libvirt "。
# Set the UNIX domain socket group ownership. This can be used to
# allow a 'trusted' set of users access to management capabilities
# without becoming root.
#
# This setting is not required or honoured if using systemd socket
# activation.
#
# This is restricted to 'root' by default.
unix_sock_group = "libvirt"
その後、オプション「 unix_sock_rw_perms」のコメントを解除します "そして権限をデフォルトのままにします"0770 "。
# Set the UNIX socket permissions for the R/W socket. This is used
# for full management of VMs
#
# This setting is not required or honoured if using systemd socket
# activation.
#
# Default allows only root. If PolicyKit is enabled on the socket,
# the default will change to allow everyone (eg, 0777)
#
# If not using PolicyKit and setting group ownership for access
# control, then you may want to relax this too.
unix_sock_rw_perms = "0770"
Ctrl + x を押して、構成を保存します ボタンを押してyと入力します 、次に入力 。
2.次に、ユーザーをグループ「 libvirt」に追加します "次のコマンドを使用します。
sudo usermod -a -G libvirt username
3.その後、libvirtdサービスを再起動して、新しい構成を適用します。
sudo systemctl restart libvirtd
これで、グループ「libvirt」内のすべてのユーザーが仮想マシンを作成および構成できるようになります。
virt-managerを使用してQEMU/KVMのインストールを確認する
次に、アプリケーション「 virt-manager 」を開きます 「アプリケーションメニューから。
1.メニュー[編集]->[接続の詳細]をクリックします "virt-managerアプリケーションで。
2.[概要]タブ 「virt-managerが自動的に「qemu:/// system」に接続するのがわかります "。
3.[仮想ネットワーク]タブに移動します "と表示されます"デフォルト 「ネットワーク構成。
- インターフェース:virbr0
- 起動時の自動起動:はい
- IPアドレス:192.168.122.0/24
- 範囲DHCPIPアドレス:192.168.122.2-192.168.122.254
- タイプネットワーク:NAT
4.次に、[ストレージ]タブに移動します 」、「デフォルト」が表示されます 「プールストレージ構成。
- タイプ:ファイルシステムディレクトリ
- サイズ:ディスクによって異なります
- 場所:/ var / lib / libvirt / images
- 起動時の自動起動:はい
すべての仮想マシンイメージは、このデフォルトのストレージであるディレクトリ " / var / lib / libvirt / imagesで利用できます。 "。
5.次に、[ +]ボタンをクリックします "ISOイメージファイル用の新しいプールストレージを作成します。すべてのISOファイルオペレーティングシステムがこのプールで利用可能になります。
以下のようにストレージ構成に従います:
- 名前:ISO
- タイプ:dir:ファイルシステムディレクトリ
- ターゲットパス:/ path / directory / to / your / iso /
[完了]をクリックします []ボタンをクリックしてプロセスを完了します。その後、新しい仮想マシンを作成する準備が整います。
virt-managerを使用して新しい仮想マシンを作成する
1. virt-managerアプリケーションで、[ +]ボタンをクリックします "新しい仮想マシンを作成します。
2.[ローカルインストールメディア]を選択します 「」をクリックして、インストールにISOイメージを使用し、「転送」をクリックします。 「続行するにはボタンを押してください。
3.[参照]をクリックします 「」ボタンをクリックしてISOファイルを選択します。
次に、プールストレージ「 ISO」を選択します "そしてインストール用のisoファイルを選択します(この例では" Debian 10 ")、[音量を選択]をクリックします "。
[インストールメディア/ソースから自動的に検出する]オプションのチェックを外します "、インストールするオペレーティングシステムを入力します(この例では" Debian 10 ")、次に[転送]をクリックします もう一度ボタンを押して続行します。
4.仮想マシンのメモリとCPUの量を選択し、[転送]をクリックします "。
5.仮想マシンのディスク容量を選択し、[転送]をクリックします "。
6.構成を再確認し、[完了]をクリックします インストールするボタン。
7.これで、仮想マシンがQEMU / KVM仮想化で稼働し、OSのインストールを続行できます。
おめでとう! Manjaro/ArchlinuxマシンでQEMU/KVM仮想化をセットアップする方法を学びました。また、仮想マシンを作成するためのvirt-managerアプリケーションの使用方法。これで、お好みのオペレーティングシステムで仮想マシンを作成できます。別のLinuxディストリビューション、Windows、またはBSDファミリのOSを使用できます。