Debian で libvirt 使って仮想ホストを云々
某所で云々したソレを備忘まで控えておくことに。
手順というかしたことは以下。
- bridge interface の導入
- 事前に用意しておいた qcow2 を使って仮想ホスト導入
- 設定など
以下ざっくりなメモですが、という事で。
bridge interface の導入
ええと、仮想リソースが親と同じネットワークに接続したい、という事でこの方法を採用しております。やってみると確かに管理する上ではこちらの方が楽ちんですね。
という事で導入メモなんですが、まず関連パケジを導入しておきます。
# apt-get install kvm libvirt-bin bridge-utils virt-manager
で、br0 を追加。こちら、本当に必要だったのかどうかは謎です。
# brctl addbr br0
で、/etc/network/interfaces を以下に修正。
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 10.0.0.100 network 10.0.0.0 netmask 255.255.255.0 gateway 10.0.0.1 dns-nameservers 10.0.0.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
で、この修正を反映。
# /etc/init.d/networking stop # /etc/init.d/networking start
以下が確認できれば OK な模様。
- ifconfig コマンドにより br0 にアドレスが付いていること
- eth0 が UP なステイタスになっていること
事前に用意しておいた qcow2 を使って仮想ホスト導入
最初、シリアルコンソールな設定を qcow2 なイメージに盛り込んでなくて微妙にハマッたのですが、そのハードルさえ越えれば後はさくさくでした。
とりあえず kvm などで qcow2 なソレを起動して /etc/inittab が以下を含む形 (末端に追加するなど) にしておきます。
s0:12345:respawn:/sbin/agetty 115200 ttyS0 s1:12345:respawn:/sbin/agetty 115200 ttyS1
で、shutdown した後にこの qcow2 なイメージを実機に転送しておいて、でびあんであれば /var/lib/libvirt/images あたりに放り込んでおきます。
# mv /tmp/debian.img /var/lib/libvirt/images/debian.img # cd /var/lib/libvirt/images # cp debian.img debian.test.img
後は以下なコマンドで_導入が終了したことになる_模様。
つうか最初、--disk で指定すると適当に名前が付いて /var/lib/libvirt/images あたりに自動でファイルができるのかな、と思っていたのですが全然そんなことありませんでした。
ただ、導入が完了したディスクイメージがあるのであれば、以下のコマンドで libvirt が管理する設定ファイルなどの類が自動作成されるので非常に便利であると言えます。
# virt-install \ --import \ --name=test --ram=512 --vcpus=1 \ --disk path=/var/lib/libvirt/images/debian.test.img --os-type=linux \ --accelerate \ --network=bridge:br0 \ --noautoconsole
動いている模様。
# virsh list Id Name State -------------------------- 1 test running
ので、コンソール接続をしてみます。
# virsh console test Connected to domain test Escape character is ^] Debian GNU/Linux 7.0 test ttyS0 test login:
接続後、Enter の押下が必要である事に注意のこと。
設定など
仮想ホストの状態として、コピー元と同じ形になるので設定の変更が必要。以下あたりなのかどうなのか。
- /etc/hostname
- /etc/hosts
- /etc/network/interfaces
また、自動起動については
# virsh autostart 1
という形で設定できる模様。
X を動かしたくないサーバ機でもヨソで作った qcow2 なイメージを持ってって云々できる、というのは色々な意味でポイント高いですね。