はじめに
仮想マシン(VM)とは何ですか?
仮想マシン(VM)は、物理ハードウェアシステム(オフプレミスまたはオンプレミスに配置)上に作成された、独自のCPU、メモリ、ネットワークインターフェイス、およびストレージを備えた仮想コンピューターシステムとして機能する仮想環境です。ハイパーバイザーと呼ばれるソフトウェアは、マシンのリソースをハードウェアから分離し、VMで使用できるように適切にプロビジョニングします。
VMはどのように機能しますか?
仮想化テクノロジーにより、システムを多くの仮想環境と共有できます。ハイパーバイザーはハードウェアを管理し、物理リソースを仮想環境から分離します。リソースは、必要に応じて物理環境からVMに分割されます。
KVMとは何ですか?
KVMまたは(カーネルベースの仮想マシン)は、Linux用の完全仮想化ソリューションです。これは2.6.20以降のLinuxカーネルに含まれており、ほとんどのワークロードで安定して高速です。
手順を始めましょう:
ステップ1:ハードウェア仮想化拡張機能の確認
Intelベースのホストの場合、CPU仮想化拡張機能[vmx]が使用可能であることを確認します。
AMDベースのホストの場合、CPU仮想化拡張機能[svm]が使用可能であることを確認します。
また、KVMモジュールがカーネルにロードされていることを確認します。
RHELまたはUbuntu
root@W10GCHF473:~# grep -c vmx /proc/cpuinfo
8
root@W10GCHF473:~#
root@W10GCHF473:~#
root@W10GCHF473:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
ステップ2:KVMパッケージとツールをインストールする
qemu-kvmをインストールします およびqemu-img 最初はパッケージ。これらのパッケージは、ユーザーレベルのKVMとディスクイメージマネージャーを提供します。
Ubuntu:
root@W10GCHF473:~# apt install qemu-kvm libvirt-daemon-system libvirt-clients
RHEL:
[root@rhelab~]# yum install qemu-kvm qemu-img
また、VMを管理するための最も重要なツールをインストールします:
-
- virt-manager 仮想マシンを管理するためのGUIツールを提供します。
- libvirt-client 仮想環境を管理するためのCLツールを提供します。このツールはvirshと呼ばれます。
- virt-install CLIから仮想マシンを作成するためのコマンド「virt-install」を提供します。
- libvirt ハイパーバイザーおよびホストシステムと対話するためのサーバーおよびホスト側のライブラリを提供します。
RHEL:
[root@rhelab ~]# yum install virt-manager libvirt libvirt-python libvirt-client
ステップ3:仮想化サービス(libvirtd)を有効にして開始する
RHEL / Ubuntu
[root@rhelab ~]#systemctl enable libvirtd
[root@rhelab ~]#systemctl restart libvirtd
libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled)
Active: active (running) since Mon 2021-04-26 15:48:46 EET; 14s ago
Main PID: 15401 (libvirtd)
ステップ4: VMの構築を開始する
パート1:
virt-managerを使用してマシンを構築できます 。
virt-manager はGUIベースのツールであり、GUIからだけでなくターミナルからも起動/起動できます。
RHEL / Ubuntu
root@W10GCHF473:~# virt-manager

OSのインストールに最適な方法を選択できます
- ISOイメージまたはCDROM
- 既存のディスクイメージをインポートする
- PXE、HTTP、NFS、FTP

パート2:
qemuを使用してVMを構築します
Qemu は非常に古くて大きなプロジェクトであり、さまざまなユーザーベースがあり、さまざまなプロジェクトと交差しています。 Qemuは、KVMという名前のLinuxカーネル仮想化プロジェクトで使用されます。したがって、このプロジェクトはQemuにも異なるコマンド名を提供しますが、より多くの機能を備えています。 qemu_system_x86_64 64ビットx86VMの作成に使用されるQemuのバイナリまたはコマンドです
root@W10GCHF473:~# qemu-system-x86_64 -bios Data/OVMF.fd -drive file=CentOS-7-x86_64-DVD-1708.iso,media=cdrom,readonly -net nic -net user -m 5172 -vga qxl --enable-kvm -smp 4

qemu-system-x86_64コマンドで-hオプションを使用してすべてのオプションを知ることができます
root@W10GCHF473:~# qemu-system-x86_64 -h|more
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.14)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
usage: qemu-system-x86_64 [options] [disk_image]
'disk_image' is a raw hard disk image for IDE hard disk 0
Standard options:
-h or -help display this help and exit
-version display version information and exit
...
memory-encryption=@var{} memory encryption object to use (default=none)
-cpu cpu select CPU ('-cpu help' for list)
...
-m [size=]megs[,slots=n,maxmem=size]
configure guest RAM
size: initial amount of guest memory
slots: number of hotplug slots (default: none)
maxmem: maximum amount of guest memory (default: none)
...