試してみると、これが案外すばらしい。何がいいかってメモリ使用量が30MBも割り当てれば動くというこの小ささ。
kvmにはVM間で同じメモリデータを共有する仕組みがあってそれもなかなか優秀だけど、もともとの消費サイズが小さいのも素晴らしいよね。
この辺を参考にするが、hardyベースだと古いから新しいのでと思ってpreciseで試してみるとうまく動かなくて、debianのsqueezeを使った。
sudo apt-get install user-mode-linux uml-utilities bridge-utils debootstrap
#1GB
dd if=/dev/zero of=rootfs bs=32k count=32k
mkfs.ext4 rootfs
sudo mount -o loop rootfs.img /mnt
sudo -i
#squeezeベースのルートファイルシステムを作る
debootstrap squeeze /mnt http://ftp.jp.debian.org/debian
#VMのfstab設定
echo "/dev/ubd0 / ext4 defaults 0 1" > /mnt/etc/fstab
echo "proc /proc proc defaults 0 0" >> /mnt/etc/fstab
#VMのディスクデバイス
mknod --mode=660 /mnt/dev/ubd0 b 98 0
chown root:disk /mnt/dev/ubd0
echo "127.0.0.1 localhost" > /mnt/etc/hosts
#ネットワーク設定
echo "auto lo" > /mnt/etc/network/interfaces
echo "iface lo inet loopback" >> /mnt/etc/network/interfaces
echo "auto eth0" >> /mnt/etc/network/interfaces
echo "iface eth0 inet dhcp" >> /mnt/etc/network/interfaces
#rootのパスワードを設定しておく
chroot /mnt
passwd
exit
#VM起動時にコンソールがいっぱい表示されるので、ttyのところの2~6を無効にして
#コンソールは1つだけにする
vi /mnt/etc/inittab
#sudoから抜ける
exit
設定は以上。
VMの起動はこんな感じ。
linux ubd0=rootfs eth0=daemon umid=uml1 mem=32m
ネットワーク設定についてはまた今度。
0 件のコメント:
コメントを投稿