アーカイブ

KVMを使う(Ubuntu Desktop編)

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

講演の様子

サーバの準備

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

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

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

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

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

$ sudo apt-get install qemu-kvm kvm-pxe

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

$ sudo modprobe kvm

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

br0の設定

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

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
       bridge_ports eth0

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

$ sudo /etc/init.d/networking restart

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

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

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

$ qemu-img create -f vm.img 10G

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

$ dd if=/dev/zero of=vm.img bs=1M count=10240

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

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

VMを起動する

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

$ sudo kvm vm.img -m 256 -net nic,model=e1000,macaddress=xx:xx:xx:xx:xx:xx
   -net tap,ifname=tap0 -cdrom xxxx.iso -boot d

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

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

スクリーンショットを撮るために用意した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 オプションを外します。

$ sudo kvm vm.img -m 256 -net nic,model=e1000,macaddress=xx:xx:xx:xx:xx:xx
   -net tap,ifname=tap0

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

おわりに

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

2 comments to KVMを使う(Ubuntu Desktop編)

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

エラー: si-captcha.phpプラグインによると、PHPにGD image supportが見当たりません!

PHPにGD image supportが有効になっていない理由については、サーバ管理者にお問合せください。

エラー: si-captcha.phpプラグインによると、PHPにimagepng機能が見当たりません!

PHPにimagepng機能が有効になっていない理由については、サーバ管理者にお問合せください。