Linux(Debian) 上にKVMで仮想化環境を作成したので、その方法を紹介します。
KVMはまえから興味があったものの、VMwareやVartualBoxと比べると少しマイナーな印象があり、なかなか使ってみる機会がありませんでした。
最近になって調べてみたところ、KVMの仮想化環境を作るのはそんなに難しくなさそうなことがわかったので、今回チャレンジしてみました。
KVM(Kernel-based Virtual Machine)のインストール方法
今回、KVMで仮想化環境を構築するためのホストOSには、Debian9(Stretch)のLXDEバージョンを使用しました。
普段私はLinuxMintを使っているのですが、ホストOSはKVMが動かすためだけに使用するため、LinuxMintより軽量かつ安定したDebianを選択しました。
まずは、ターミナルから下記のコマンドを実行し、KVMに必要なパッケージをインストールします。
apt install -y qemu-kvm libvirt0 virt-manager
・qemu-kvm
KVMと連携して動作する仮想化ソフトウェアです。
・libvirt0
仮想化環境を管理するためのライブラリです。
・virt-manager
仮想マシンをGUIで作成するための管理ツールです。
KVMを一般ユーザーで操作できるようにするため、「libvirt」グループにKVM実行時に使用するユーザーを下記のコマンドで追加します。
adduser [ユーザーID] libvirt
KVMのインストールはこれで完了です。
Linuxカーネルに組み込まれているだけのことはあり、インストールはとても簡単でした。
仮想マシンの作り方
続いて、仮想マシンを作っていきます。
メニューから[仮想マシンマネージャー]を起動します。
仮想マシンマネージャーが起動したら、左上の[仮想マシンの作成]をクリックします。
仮想マシンにインストールするゲストOSのインストールメディアを指定し、[進む]をクリックします。
・CDまたはDVDを使用する場合は上のラジオボタンを選択します。
・ISOイメージからインストールする場合は下のラジオボタンを選択し、使用するISOファイルを指定します。
仮想マシンに割り当てるメモリとCPUを指定し、[進む]をクリックします。
仮想マシンに割り当てるストレージのサイズを指定し[進む]をクリックします。
※ストレージサイズをあとから変更するのは少々めんどうなので、適切なサイズを割り当てましょう。メモリやCPUはあとからでもGUIで簡単に変更できます。
仮想マシンの名前を入力し、[完了]をクリックします。
ここまで実行したところで、下記のダイアログが表示されました。
デフォルトの仮想ネットワークが無効になっているようなので、[はい]をクリックし有効化します。
これで、指定したインストールメディアからゲストOSのインストーラーが起動します。
あとは、物理マシンにLinuxをインストールするのと同じ手順で、仮想マシンにゲストOSをインストールすることができます。
私の場合は、LinuxMintを使用したので、下記の写真のように「Debian(ホストOS)」の中に「LinuxMint(ゲストOS)」が起動しています。
KVMで作成した仮想マシンの操作方法
仮想マシンの起動と停止
作成した仮想マシンを起動します。
メニューから[仮想マシンマネージャー]を起動します。
起動する仮想マシンを選択して、[仮想マシンの電源を入れる]ボタンをクリックします。
[開く]ボタンをクリックします。
選択した仮想マシンのウィンドウが表示されます。しばらく待つと仮想マシンが起動しログイン画面が表示されます。あとは、物理マシンと同様に使用することができます。
仮想マシンを停止する場合は、物理マシンと同様にOSのメニューからシャットダウンします。
仮想マシンのシャットダウンが完了すると、「Guest is not running」と表示されるので右上のXボタンでウィンドウを閉じます。
[仮想マシンマネージャー]もXボタンで閉じます。
USBデバイスの使用
ホストOSに接続しているUSB機器(USBメモリや外付けHDDなど)は、下記の方法でゲストOS(仮想マシン)上で使用することができます。
ゲストOS(仮想マシン)を起動したら、メニューバーの[仮想マシン]メニューから[USBデバイスのリダイレクト]をクリックします。
接続されているUSB機器の一覧が表示されるので、ゲストOS(仮想マシン)で使用するUSB機器にチェックを入れ、[OK]ボタンをクリックします。
しばらく待つと、ゲストOS(仮想マシン)上で接続されたUSB機器が認識されます。
USB機器の接続をやめる場合は、USB機器を右クリックし「ドライブの安全な取り外し」をクリックします。
つづいてメニューの[仮想マシン]から[USBデバイスのリダイレクト]をクリックします。
USB機器の一覧のチェックボックスを外します。
(補足)
- USBデバイスでもキーボードとマウスは、このような操作は不要で自動で認識されます。
- USB機器は、ホストOSとゲストOS(仮想マシン)の両方で同時に使用することはできません。ゲストOS(仮想マシン)上でUSB機器が認識されている間は、ホストOS上でUSB機器は認識されません。ゲストOS(仮想マシン)でUSB機器を切断すると、ホストOSでUSB機器が認識されます。
光学ドライブの使用
ホストOSに接続している光学ドライブ(DVDドライブ、CDドライブ)は、下記の方法でゲストOS(仮想マシン)上で使用することができます。
[仮想マシンマネージャー]で起動する仮想マシンを選択し、[開く]ボタンをクリックします。
[仮想マシンの情報を表示]ボタンをクリックします。
左下の[ハードウェアを追加]ボタンをクリックします。
左のメニューから[ストレージ]を選択し、[デバイスの種類]で「CD-ROMデバイス」を選択します。また、私のPCの場合SATA接続のDVDドライブを使用していたため、[バスの種類]に「SATA」を選択し、[完了]ボタンをクリックします。
左のメニューに[SATA CD-ROM1]が追加されているので選択します。[ソースパス]の[接続]ボタンをクリックします。
[メディアの選択]画面が表示されます。
[CD-ROM または DVD]を選択し[デバイスメディア]に光学ドライブが設定されていることを確認し、[OK]ボタンをクリックします。
[仮想マシンの電源を入れる]ボタンをクリックします。
仮想マシン(ゲストOS)上で、光学ドライブが認識されます。
まとめ
今回は、KVMを使ったLinuxでの仮想化環境の作成方法を紹介しました。
無料で使えますし、Linuxカーネルに組み込まれていることから今回紹介したDebianに限らず多くのLinuxディストリビューションで動作します。
環境構築前は、KVMはちょっと難しそうな印象があったのですが、やってみたらつまずくことなく仮想化環境が作れたので、いい意味で拍子抜けしました。
これから、この仮想化環境にサーバを立ててみたり、開発環境を作ってみたりと有効活用していこうと思います。
コメント
USB機器の取り外し方法ですが、リダイレクトからの取り外しの場合、物理的な強制切断のようなもので、良くないのでは無いでしょうか。USBメモリが破損する可能性はありませんか?
ゲストOSからの取り外しの方が良いような気がします・・・
とおりすがりさん
記事を見ていただき、ありがとうございます。
たしかに、リダイレクトからの取り外しは乱暴でした。
ゲストOS上で、「ドライブの安全な取り外し」を行なうように記事を修正しました。
ご指摘いただき、ありがとうございました。