KVM(Kernel-based Virtual Machine)の概要

KVM(Kernel-based Virtual Machine)は、Linuxに標準搭載されている仮想化技術です。KVMは以下の画像のようなイメージで動作します。

言い換えると、KVMはハイパーバイザーとして動作します。

 

以下Red Hat社公式ドキュメントからKVMの説明を引用します。

KVM とは
カーネルベースの仮想マシン (KVM) は、Linux® オペレーティングシステム用のオープンソースの仮想化テクノロジーです。KVM により、Linux は複数の独立した仮想マシン (VM) を実行するハイパーバイザーとして機能できます。

https://www.redhat.com/ja/topics/virtualization/what-is-KVM

libvirt と virsh

libvirtはオープンソースの仮想化管理用のライブラリです。
KVM以外にもXen、KVM、QEMU、OpenVZ、LXC、Oracle VM VirtualBox、VMware ESX/GSXi/Workstation、 Microsoft Hyper-V などにも対応しています。

libvirt と virsh
libvirt プロジェクトは、仮想化プラットフォームを管理する API を提供します。libvirt の virsh は、 VM の作成、起動、一覧表示、停止のほか、仮想化シェルの入力を行うコマンドライン・ユーティリティです。

https://www.redhat.com/ja/topics/virtualization/what-is-KVM

virshコマンドは、libvirtで管理しているVM(バーチャルマシン)の管理を行うコマンドです。詳細は以下のページで確認できます。

https://www.libvirt.org/manpages/virsh.html

LinuCで問われるvirshコマンド

LinuCではvirshコマンドの詳細について問われます。

以下のサブコマンドは理解と暗記をしておきましょう。

  • virsh create 
  • virsh console
  • virsh start 
  • virsh shutdown
  • virsh destroy
  • virsh reboot
  • virsh suspend
  • virsh resume
  • virsh list
  • virsh dumpxml

詳細は以下の表にまとめました。

サブコマンド 説明
create XML形式のファイルから仮想マシンを作成し、新規の仮想マシンを起動する
console 仮想マシンのコンソールに接続する
start 仮想マシンを起動する
shutdown 仮想マシンを正常に終了する
destroy 仮想マシンを強制終了する
reboot 仮想マシンを再起動する
suspend 仮想マシンを一時停止する
resume 仮想マシンを再開する
list 仮想マシンの一覧を表示する
list --all 全ての仮想マシンを表示
dumpxml 仮想マシンの定義ファイルをXML形式で出力する