Используем KVM
Инсталлируем необходимые пакеты:
newstar:/tmp# apt-get install kvm bridge-utils
Создаём виртуальный диск размером 1Gb:
kvm-img create kvmVirtual.img -f qcow2 1G
Запускаем без сетевой поддержки
sudo kvm -no-acpi -m 512 -hda kvmVirtual.img -cdrom /mnt/big/iso/debian-cd1.iso
или с ограниченной поддержкой сети - только исходящие соединения или входящие на указанный порт (5555) адреса сетевой карты, загрузка с CD-ROM:
sudo kvm -no-acpi -m 512 -hda kvmVirtual.img -hdb kvmDebian.img -cdrom /mnt/big/iso/debian-cd1.iso -boot d -net nic -net user -redir tcp:5555::22
Для запуска на удалённом хосте через ssh используем
kvm -no-acpi -smp 4 -m 2048 -hda kvmVirtual2.img -vnc :0 -daemonize -net nic -net user -redir tcp:5555::22
и подключаемся командой xvncviewer host:5900 При созданном бридже br0 и подключенном к нему tap-интерфейсе можем запустить виртуальную машину следующим образом:
kvm -no-acpi -smp 2 -m 2048 -hda /var/storage/kvmServer.img -vnc localhost:0 -net nic,macaddr=$(echo -n DE:AD:BE:EF ; for i in `seq 1 2` ; do echo -n `echo ":$RANDOM$RANDOM" | cut -n -c -3` ;done) -net tap
, предварительно пробросив к серверу ssh-туннель:
ssh -C -L 5900:localhost:5900 server-IP
http://edin.no-ip.com/content/kvm-debian-mini-howto Для обращения к виртуальному диску можно использовать следующую команду:
mount -o loop,offset=32256 -o uid=0 /path/to/hd.img /path/to/mount/point
http://blog.loftninjas.org/2008/10/27/mounting-kvm-qcow2-qemu-disk-images/
Другим вариантом получения MAC-адреса может быть команда
printf 'DE:AD:BE:EF:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256))
И запуск виртуалки по инструкции http://www.linux-kvm.org/page/Networking
linux, kvm |