KVMとは、Linuxに最適化された仮想化技術の一つです。この記事ではKVMの基本的な仕組みを整理したあと、KVMを実際に動かす方法を解説しています。
最初にホストOS(今回はUbuntu)にKVMを設定します。次に、ホストOS上に仮想マシン(今回はUbuntu機とWindows機の2台)を構築していきます。ホストOSのUbuntuにはデスクトップ環境を導入して、できる限りやさしく解説していきます。
目次
Linux KVMの仕組みとは?
KVMはKernel-based Virtual Machineの頭文字をとった略称で、カーネルベースの仮想マシンと訳されています。カーネルとは、OSの基本機能の役割を担うソフトウエアです。
KVMによりホストマシンを仮想化し、その上に複数の仮想マシン(ゲストマシン)を稼働することができます。この仮想マシンには、Windowsを含むさまざまなOSのマシンを搭載可能です。そのため1台のサーバー機を、複数の利用者で共用することができるようになっています。例えば、レンタルサーバー会社のなかにはこのKVMにより、多くのユーザーに比較的リーズナブルな価格帯でサービスを提供している会社もあります。
仮想化全般については、以下の記事で詳しく解説しています。より詳しく知りたい方は、ぜひお読みください。
サーバーの仮想化とは?仕組み、メリット・デメリットをわかりやすく解説します
近頃よく聞かれる、「サーバーの仮想化」という言葉。サーバーの仮想化を導入することで容易にビジネスの変化に対応できるだけでなく、サーバー台数の減少によるコスト低減やスペースの確保が見込まれます。この記事では、そもそも仮想化ってどういうこと?メリットやデメリットは?という疑問について、わかりやすく解説します。 サーバー仮想化とは 物理的な1台のサーバー上で、複数の仮想的なサーバー(仮想サーバー)を運用…
QEMUと組み合わせることで仮想化を高速に
QEMUとは仮想マシン・エミュレータと呼ばれ、KVMなどの仮想マシンとともに利用する場合があります。この組み合わせにより、それぞれが得意な役割を担うことで、処理速度が向上するなどメリットが生まれます。
具体的にはイメージ図のように、KVMは仮想CPUを提供する一方、QEMUはメモリや仮想I/Oデバイスを提供しています。
KVMの機能とメリット
それでは多くの仮想化技術の中で、KVMにはどのような特徴があるのでしょうか。ここでは機能とメリットから、まとめてみたいと思います。
機能
- 柔軟なネットワーク管理が可能(ローカルネットワークが構築可)
- ストレージ(ディスクイメージをオンデマンドでストレージを割り当て可)
- ライブ・マイグレーション(電源をいれたままで仮想マシンの移動可)
メリット
- 高速(メモリ管理などの各種管理をLinuxカーネルのものを利用するため)
- セキュリティ維持(SELinuxなどの機能を拡張し実現)
- 拡張性(負荷に合わせて対応可)
【参考:KVM とは(Red Hat)】
KVMの使い方
次の3つのステップで解説していきます。導入しやすくするため、ホストOSはあらかじめデスクトップ環境にしておきます。これで作業も大幅に軽減します。
- ホストOSにKVMをインストール
- 仮想マシンを構築するための準備
- ホスト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選(2023)
Linuxを使ってみよう!と動き出したけれど、たくさんのディストリビューションを目の前に、頭を抱えてしまう方も多いのではないでしょうか。 ここでは、Linuxディストリビューションについておさらいした上で、初心者へのおすすめを紹介していきます。あなたにとって、最適なディストリビューションを選択するのに役立ててください。 Linuxのディストリビューションとは 一般的にLinuxディストリビューショ…
ホスト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」と入力します。
(3)すると「仮想マシンマネージャー」画面が表示されます。
ここまで設定できたら、あとは好きな仮想マシンを作成するだけです。
仮想マシンを作成する(Windows編)
今回はWindows Server 2019評価版のISOを利用しています。入手の手続き方法は簡単で、下記のページにアクセスし、利用者の情報を登録するだけです。ここからISOファイルをダウンロードし、わかりやすい場所に保管しておきます。
リンク:Windows Server Evaluations
(1)「仮想マシンマネージャー」画面の左上にある赤枠の部分(新しい仮想マシンの作成)をクリックします。
(2)今回はダウンロード済みのWindows Server 2019評価版ISOを使い仮想マシン作成するため、赤枠の部分(ローカルのインストールメディア)を選択します。
(3)赤枠の「ISOイメージを使用」を選択し、ISOファイルを指定します。
(4)割り当てるメモリ量とCPU数のサイズを指定します。
(5)割り当てるディスクのサイズを指定します。
(6)赤枠のネットワークの選択で「ブリッジ」を選択し、完了ボタンをクリックします。
(7)画面左上の赤枠の部分にある「インストールの開始」ボタンをクリックします。
(8)無事にWindows Server 2019のセットアップ初期画面が表示されました。
仮想マシンを構築する(Ubuntu編)
それぞれの手順は、Windows編と基本は同じです。違いは手順(3)で、使用するISOファイルをWindowsではなくUbuntuを選択することだけです。
最後に下図のような画面が表示されます。Windowsの場合と比べて、メモリやCPUなどのスペックは低めに指定可能ですね。
これでホストOSに2台の仮想マシンを作成し、稼働できるようになりました。
KVM、VMware Workstation Player、Citrix Hypervisorどれがいいの?
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で構築されたプランも提供しています。ぜひご利用になり、体感されることをおすすめします。
開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS
カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。