2008年11月23日

KVMとpython-vm-builder その6

 その1で下調べして、その2で必要なパッケージのインストール&virt-installで仮想マシンの作成を行ったものの挫折して、その3vmbuilderを使ってようやく仮想マシンの作成を行えたにも関わらずいろいろトラブルに見舞われて、その4でその主原因がわかったと同時に動機の半分も消滅してしまい、その5まできてようやくvirt-installの使い方がわかってきたKVMの話の続き。今回はその4でもやった、kvmコマンドを使った仮想マシンの起動方法です。

virshや仮想マシンマネージャーを使うなら、kvmコマンドを使う必要はないと思うのですが(libvirtだとオプションをすべて設定ファイルで指定できるから。kvmコマンドにもそういうのある?)、せっかくなので。なお、kvm-imgコマンドを使った仮想ディスクファイルの作成方法はその5を参照してください。

というわけで、仮想マシンを起動してみます。
kvm -m 512 -boot c -k ja \
-hda ~/VirtualMachine/intrepid-amd64/disk0.qcow2
詳しいコマンドの解説については、ドキュメントを見てもらうことにして、ここでは使いそうなものだけ簡単に。
  • -m:メモリサイズをメガバイト単位で指定します。
  • -boot:起動デバイスを指定します。ハードディスクから起動する場合は"c"、CDドライブから起動する場合は"d"になります。
  • -k:ホストOS(というかVNCサーバ?)のキーボードの言語を指定します。ホストOSで日本語キーボードを使っている場合、ゲストOSインストール時に日本語キーボードを指定しても、カーソルキーとかアンダースコアとかが入力できないようです。"ja"を指定するとこれらのキーを入力できます。
    また、SDLで起動した場合、"|"(と半角/全角)を入力できません。Shift押しながらBackSpaceの左を押した場合、keycodeが97(右Shiftの左にあるキーと同じ?)になるっぽい。VNCオプションをつけて起動しリモートデスクトップビューワ(Vinagre)を使った場合は、keycodeが132となってうまく入力できます。どこから原因を探ればいいんでしょ……
  • -hda:hdaとして使う仮想ディスクファイルを指定します。
  • -cdrom:仮想マシン上で使うCDドライブのデバイス名やISOイメージファイルを指定します。
  • -vnc:kvmコマンドは仮想マシンを表示するのにマルチメディアライブラリであるSDLを使うそうです。で、"-vnc 127.0.0.1:0"みたいにvncオプションを使うと、SDLの代わりにVNCを使ってくれます(リモートデスクトップビューワで閲覧できます)。どっちが良いかはわからないんですけど、SDLだと再描画に失敗することがたまにある感じ?
  • -daemonize:起動した仮想マシンを妖精さん化して働いてもらいます。端末から複数の妖精さんを召喚したい時に便利。

-cdromオプションにブート可能なインストールCDのイメージファイルを指定して、-bootオプションで起動デバイスに指定することでvirt-installのときのようにインストーラを実行することもできます。ただし、その場合ハードウェア構成ファイルが/etc/libvirt/qemu/ディレクトリに作成されませんので、作った仮想マシンをvirshや仮想マシンマネージャー(virt-manager)から起動したい場合は、別途構成ファイルを作成する必要があります。またkvmから直接起動中の仮想マシンも、(なんらかの設定を行わないと?)virshや仮想マシンマネージャーにリストアップされません。-vncオプションを使ってVNCサーバで表示させる場合、[アプリケーション] - [インターネット] - [リモートデスクトップビューワ]などを使って閲覧することになります。

あと、このままでもゲストOSからインターネットに接続できるみたいですが、ホストOSからゲストOSに接続するためには別途ネットワーク設定を行う必要があります。


 kvmコマンドを使って起動した場合、ウィンドウ上でCtrl+Alt+2を押すことでQEMUモニタに移動できます。このモニタを使えば、起動中の仮想マシンの状態表示や仮想マシン上の入力デバイスの操作、VMスナップショットの取得(サスペンド機能みたいなもの?)といった、さまざまなコマンドを実行できるそうです。
タグ:KVM ubuntu
posted by しぐま at 00:19| Comment(0) | コンピュータ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]