2012/08/23

[作業記録][Debian][KVM] Debian 最小構成から KVM 仮想マシンを作成するまで

Debian で KVM

事前準備

  1. 最初の HDD に ESXi が残ったままだったので、 grub がインストールできなかった...。
  2. grub インストールをスキップし、とりあえずインストールを完了させる。
  3. netinst CD を使って、レスキューモードで起動。
  4. なんか使い方解らんかった...。
  5. ということで再インストール。
  6. ssh をインストール。

結局のところ、 Debian 最小構成 + SSH からのスタートということで。 さて、ここから KVM.

事前準備

aptitude install kvm
adduser mikoto kvm
shutdown -r now

※ mikoto を kvm グループに入れてますが、ブリッジ接続の為に、 sudo(or root ユーザ) で起動することになりました。

VM 作成

mkdir -p ~/vms/vdebian
kvm-img create -f qcow2 ~/vms/vdebian/vdebian.img 10GB

VM 実行してみる

iso はたまたま HDD にあった Debian の LiveCD イメージを流用。 インストール不要ですぐ動作確認・環境確認ができて意外と便利でした。

ホスト OS に X サーバを入れていないので、 VNC 接続でインストールする。

kvm -hda vdebian.img -cdrom ~/debian-live-6.0.4md64-standard.iso -boot d -m 2048 -vnc :0,password -monitor stdio 
cQEMU 0.12.5 monitor - type 'help' for more information
(qemu) change vnc password
Password: **********
(qemu) 

これで、 VNC クライアントで VM に接続できるようになった。

今は、 qemu への入力をファイルに書いてリダイレクトで流し込むようにしている。 本当は設定ファイルとかありそうですがね。

kvm -hda vdebian.img -cdrom ~/debian-live-6.0.4md64-standard.iso -boot d -m 2048 -vnc :0,password -monitor stdio < vdebian.conf
cQEMU 0.12.5 monitor - type 'help' for more information
(qemu) change vnc password
Password: **********
(qemu) 

これだけだと、 NAT 接続の設定のようなので、ブリッジの設定を行う必要がある。

ブリッジの設定

/etc/network/interfaces の編集

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo br0
iface lo inet loopback

iface eth0 inet manual

# The primary network interface
allow-hotplug eth0
iface br0 inet static
    address 192.168.1.111
    netmask 255.255.255.0
    gateway 192.168.1.1
    bridge_ports eth0
    bridge_stp off

ネットワークの再起動

service networking restart

VM 起動

最終的に起動はこんな感じで。

  • ブートでバイスを sda に設定
  • qemu コンソールに接続したい場合は telnet を使用
  • ホストに X が無いので、 -vnc は設定しておく。(無いとエラーで怒られるので)
  • (基本的にコンソールでしか使わないので、 ssh の設定さえしてしまえばこっちのもの)
  • デーモンとして起動
kvm -hda vdebian.img -boot c -m 2048 -monitor telnet:127.0.0.1:10023,server,nowait -net nic,macaddr=12:34:56:78:90:12,model=e1000 -net tap,ifname=tap0 -vnc none -daemonize

参考文献

openSUSE 12.2: 第13章 QEMU モニタを利用した仮想マシンの管理

vnc設定に挑戦してみる - ymkoの日記

KVMを使う(ネットワーク設定編) « さくらインターネット研究所

DebianにインストールしたKVMの仮想OSで、ブリッジ接続が使えるようにする - Symfoware