KVMを使う(Ubuntu Desktop編)

at
    Tags:
  • KVM|仮想化

11月16日、LPI-Japan主催のセミナーでKVMに関する講演をさせていただきました。当研究所ではこれまでにqemu-kvmをソースからコンパイルして使うことを前提に色々な紹介をしてきましたが、講演では広く気軽に試していただくよう、Ubuntu Desktop Editionを例にパッケージでインストールする方法を取り上げました。講演ではスライドでお見せした部分を、当ブログではじっくりコンソールでご覧にいれたいと思います。

講演の様子

Image

サーバの準備

「Desktop環境で気軽に試していただく」ということで、サーバ(PC)についてうるさい条件はつけていません。強いて言うなら

  • VT対応のCPUがよいが、なくても試せます
  • メモリは1GB以上。試すだけなら半分ぐらいでも大丈夫です
  • ディスクは空き容量20GBほど。5GB以下だと仮想マシンが入りません

ぐらいでしょうか。これにUbuntu Desktop Editionをインストールします。バージョンは10.04でも大丈夫ですが、10.10が最新版です。Ubuntuのインストールにあたって特別な設定やオプションは必要ありません。

KVMパッケージのインストール

Applications → Accessories → Terminal を実行し、コマンドラインから次のように入力します。

次にKVMモジュールを有効化します。

以上で完了です。ちなみにUbuntu 10.10の場合、インストールされるqemuのバージョンは7月27日にリリースされた0.12.5になります。

br0の設定

当ブログのネットワーク設定編をご覧いただいた方でしたらお分かりと思いますが、VMに外部ネットワークを接続するためにはブリッジ・インターフェースを用意する必要があります。そのために /etc/network/interfaces を書き換えます。以下にDHCPでアドレスを貰う場合の設定をご紹介します。

ファイルを書き換えたらインターフェースをリスタートします。

これでホスト・サーバのインターフェースはbr0となり、ブリッジが利用できるようになります。

VMインストールのための準備

次にVMのHDDに当たるイメージファイルを作成します。ディスク性能編でご紹介しましたが、ごく簡単に試すならqcow2フォーマットで作成しましょう。

やっぱりパフォーマンスが気になるということでしたら、スパースファイルにならないようddを使って作ります。

ディスクの空き容量を超えないよう注意しましょう。

最後にインストールしたいOSのisoイメージファイルを用意しておきます。以上で準備完了です。

VMを起動する

それではいよいよVMを起動してみましょう。カレントディレクトリにvm.imgとxxxx.isoファイルがあると仮定します。

これでCD-ROMからブートして、HDDに見立てたファイルvm.imgにインストールできるようになります。

CentOSインストーラを起動してみた

Image

スクリーンショットを撮るために用意したPCがしょぼくて、VTが付いていません。そのためにKVMサポートが動いていません。

このようにGUI環境下ではウィンドウがそのままVMとなり、フォーカスがある限りVMに対する操作がキーボードやマウスを使って行えます。マウスカーソルはVMのウィンドウに固定されますが、タイトル部分に出ているようにCTL+ALTを押すとリリースできます。

qemuモニタ呼び出し

qemuモニタを利用するには、VMのウィンドウでCTL+ALT+2を押下します。すると画面がqemuモニタに切り替わります。元のVMのスクリーンにはCTL+ALT+1で戻せます。ちなみにCTL+ALT+3ではシリアルポートに繋ぐことができます。

VMの終了

VMを終了するには、行儀よくVM内でシャットダウンすることをお勧めしますが、インストールが終了したときなど、リブートがうまくいかず固まってしまうこともあります。そんなときはqemuモニタからquitすれば、VMはあっさり終了します。

インストール完了後の起動

インストールが完了したら、CD-ROMを外して再起動します。qemuモニタからejectしてもいいのですが、qemuを終了して再起動するのが楽です。そのときコマンドラインから -cdrom オプションと -boot オプションを外します。

このコマンドはVMの起動ごとに実行することになるので、スクリプトにしておくと楽です。

おわりに

いかがでしょうか、SDLを使うととても簡単にKVMが試していただけると思います。本格的に使う場合はVMのウィンドウがいちいち邪魔だったり、VMプロセスがTerminalをロックしてしまったりするので、-nographicオプションや-vnc、-monitor、-daemonizeといったオプションを駆使していけばよいと思います。そのような使い方については、当ブログの過去の記事をご参照いただければと思います。

著者

鷲北 賢
鷲北 賢
研究所所長

1998年、エス・アール・エス有限会社入社の後、合併を経てさくらインターネット株式会社へ。技術部部長、取締役を経て、2009年7月に研究所所長就任。

会社設立時より技術担当。レンタルサーバ組み立てから始め、データセンタ構築、バックボーン構築、オンラインゲームプロジェクトの技術運用などを歴任。2018年まで、クラウドサービスのマネージャを担当。

初代所長に任命された割に研究者としての実績はなく、論文は学生時代に書いたきり。他、数冊の書籍の執筆経験がある。

最近の興味の中心は、サーバの仮想化、クラスタリングなど。