【図解】Linux KVMの仕組みとは?

KVMとは、Linuxに最適化された仮想化技術の一つです。この記事ではKVMの基本的な仕組みを整理したあと、KVMを実際に動かす方法を解説しています。

最初にホストOS(今回はUbuntu)にKVMを設定します。次に、ホストOS上に仮想マシン(今回はUbuntu機とWindows機の2台)を構築していきます。ホストOSのUbuntuにはデスクトップ環境を導入して、できる限りやさしく解説していきます。

KVM

Linux KVMの仕組みとは?

KVMの仕組み

KVMはKernel-based Virtual Machineの頭文字をとった略称で、カーネルベースの仮想マシンと訳されています。カーネルとは、OSの基本機能の役割を担うソフトウエアです。

KVMによりホストマシンを仮想化し、その上に複数の仮想マシン(ゲストマシン)を稼働することができます。この仮想マシンには、Windowsを含むさまざまなOSのマシンを搭載可能です。そのため1台のサーバー機を、複数の利用者で共用することができるようになっています。例えば、レンタルサーバー会社のなかにはこのKVMにより、多くのユーザーに比較的リーズナブルな価格帯でサービスを提供している会社もあります。

仮想化全般については、以下の記事で詳しく解説しています。より詳しく知りたい方は、ぜひお読みください。
サーバーの仮想化とは?仕組み、メリット・デメリットをわかりやすく解説します

QEMUと組み合わせることで仮想化を高速に

KVM-QEMU

QEMUとは仮想マシン・エミュレータと呼ばれ、KVMなどの仮想マシンとともに利用する場合があります。この組み合わせにより、それぞれが得意な役割を担うことで、処理速度が向上するなどメリットが生まれます。

具体的にはイメージ図のように、KVMは仮想CPUを提供する一方、QEMUはメモリや仮想I/Oデバイスを提供しています。

KVMの機能とメリット

それでは多くの仮想化技術の中で、KVMにはどのような特徴があるのでしょうか。ここでは機能とメリットから、まとめてみたいと思います。

機能

  • 柔軟なネットワーク管理が可能(ローカルネットワークが構築可)
  • ストレージ(ディスクイメージをオンデマンドでストレージを割り当て可)
  • ライブ・マイグレーション(電源をいれたままで仮想マシンの移動可)

メリット

  • 高速(メモリ管理などの各種管理をLinuxカーネルのものを利用するため)
  • セキュリティ維持(SELinuxなどの機能を拡張し実現)
  • 拡張性(負荷に合わせて対応可)

【参考:KVM とは(Red Hat)】

KVMの使い方

ubuntu-windows

次の3つのステップで解説していきます。導入しやすくするため、ホストOSはあらかじめデスクトップ環境にしておきます。これで作業も大幅に軽減します。

  1. ホストOSにKVMをインストール
  2. 仮想マシンを構築するための準備
  3. ホストOS上に仮想マシンを構築(UbuntuとWindowsの2台)

【参考:ホストOS(Ubuntu)をデスクトップ環境にする方法】
taskselコマンドを実行し、表示された画面でUbuntu desktopを選択します。

【※注意】
仮想化技術を利用するには、CPUがIntel-VTやAMD-Vなどの仮想化支援機能に対応している必要があります。

ホストOSの環境

今回は以下のスペックにて検証しています。

CPU AMD 6コア
メモリ 4GB
ストレージ SSD 120GB
OS Ubuntu 16.04.3 LTS
デスクトップ環境 Ubuntu desktop導入済

今回はUbuntuを利用していますが、Linux OSには多くの種類があります。以下の記事にて、おすすめのディストリビューションをご紹介しています。あわせて参考にしてみてはいかがでしょうか。
【最新】初心者必見! Linuxディストリビューション用途別おすすめ10選(2019)

ホストOS (Ubuntu)にKVMをインストールする方法

(1)必要なパッケージをインストールします。

【コマンド】

sudo apt-get -y install qemu-kvm libvirt-bin virtinst bridge-utils

sudo systemctl enable libvirt-bin

(2)ブリッジインターフェースを構成します。

【コマンド】

sudo vi /etc/network/interfaces

開いたら、最下部に以下を追記し保存します。

【コマンド】

auto br0

iface br0 inet dhcp

bridge_ports ens3

bridge_stp off

bridge_maxwait 0

最後に再起動すれば、KVMのインストールは終了です。

仮想マシンを構築するための準備

(1)必要なパッケージをインストールします。

【コマンド】

sudo apt-get -y install virt-manager qemu-system

(2)次にホストOSの画面上でターミナルを起動し、下図のように「virt-manager」と入力します。

KVM使い方

(3)すると「仮想マシンマネージャー」画面が表示されます。

KVM使い方

ここまで設定できたら、あとは好きな仮想マシンを作成するだけです。

仮想マシンを作成する(Windows編)

今回はWindows Server 2019評価版のISOを利用しています。入手の手続き方法は簡単で、下記のページにアクセスし、利用者の情報を登録するだけです。ここからISOファイルをダウンロードし、わかりやすい場所に保管しておきます。
リンク:Windows Server Evaluations

(1)「仮想マシンマネージャー」画面の左上にある赤枠の部分(新しい仮想マシンの作成)をクリックします。

KVM使い方

(2)今回はダウンロード済みのWindows Server 2019評価版ISOを使い仮想マシン作成するため、赤枠の部分(ローカルのインストールメディア)を選択します。

KVM使い方

(3)赤枠の「ISOイメージを使用」を選択し、ISOファイルを指定します。

KVM使い方

(4)割り当てるメモリ量とCPU数のサイズを指定します。

KVM使い方

(5)割り当てるディスクのサイズを指定します。

KVM使い方

(6)赤枠のネットワークの選択で「ブリッジ」を選択し、完了ボタンをクリックします。

KVM使い方

(7)画面左上の赤枠の部分にある「インストールの開始」ボタンをクリックします。

KVM使い方

(8)無事にWindows Server 2019のセットアップ初期画面が表示されました。

KVM使い方

仮想マシンを構築する(Ubuntu編)

それぞれの手順は、Windows編と基本は同じです。違いは手順(3)で、使用するISOファイルをWindowsではなくUbuntuを選択することだけです。

最後に下図のような画面が表示されます。Windowsの場合と比べて、メモリやCPUなどのスペックは低めに指定可能ですね。

KVM使い方

これでホストOSに2台の仮想マシンを作成し、稼働できるようになりました。

KVM、VMware Workstation Player、Citrix Hypervisorどれがいいの?

kvm-vmware-citrix

3つの代表的な仮想化技術を、簡単ではありますが筆者の主観で比較してみました。どれにしたらいいか迷っている場合に、参考にしてみてはいかがでしょうか。

KVM VMware Workstation Player Citrix Hypervisor
デスクトップ環境
速度 ●●
ホストOS Linux Linux/ Windows Linux/ Windows/Mac
ネットワーク ブリッジ/NAT ブリッジ/NAT ブリッジ/NAT
価格 無償 商用以外は無償 無償(Free Edition)
インストールのし易さ
マニュアルの充実度 ●●
想定する対象者(予想) 広く一般 広く一般 法人ユーザー
おすすめ度 ●●

【結論】上記の表にもありますが、速度と導入のしやすさからKVMがおすすめと筆者は考えています。

(注)Citrix Hypervisorは、旧XenServerの名称です。

まとめ

ここまでいかがでしたか。Linux KVMを活用すればより快適に、そして有限なサーバー機器を最大限に活用できるようになります。Windows OSも動作させることができるので、テスト用などの用途が広がるのではないでしょうか。

カゴヤ・ジャパンのVPSでは、このLinux KVMで構築されたプランも提供しています。ぜひご利用になり、体感されることをおすすめします。

高速でセキュアな環境で運用できるWordpressユーザー向けに特化したWordPress専用サーバー

人気記事ランキングトップ10

カテゴリ一覧

新着記事Pick Up!