Nejnovější:
- Sailfish OS and memory
- Hillshade tile server
- Statistics of OSM Scout for Sailfish OS
- Nebezpečný router
- Tree model with Silica components
Podle data:
- listopad 2021
- leden 2019
- prosinec 2017
- prosinec 2016
- květen 2014
- duben 2014
- listopad 2013
- duben 2013
- duben 2011
- únor 2011
- leden 2011
- srpen 2010
- květen 2010
- březen 2010
- leden 2010
- říjen 2009
- duben 2009
- únor 2009
- říjen 2008
- září 2008
- srpen 2008
- duben 2008
- březen 2008
- únor 2008
Téma:
Virtuální PC pomocí KVM/QEMU
Už asi tak týden se seznamuji s vývojem (opravováním) součástí KDE. Včera mi došlo že není dobrý nápad řezat do větve na které sedím a že bych potřeboval na tento vývoj nějaké virtuální prostředí. Z virtualizačních řešení jsem nejdříve sáhnul po Virtualboxu (OpenSource edition), který už chvíli používám na virtualizaci Palmovského WebOS. Výkon byl ale naprosto zoufalý. Reakční doba instalátoru Ubuntu na tlačítko next byla zhruba deset minut při plném zatížení procesoru…
Jako druhé řešení jsem vyzkoušel KVM (Kernel-based Virtual Machine)… Vycházel jsem z těchto návodů:
- Základní nastavení: http://www.michaeldolan.com/1030
- Síť mezi hostem a virtuálním systémem: http://blog.cynapses.org/…twork-setup/
Instalace proběhla bez problémů, výkon virtuálního systému je až na grafiku téměř k nerozeznání od systému běžícího přímo na železe…
Jak na to
- Nahrát do jádra moduly pro podporu virtualizačních rozšíření
procesoru:
sudo modprobe kvm kvm-amd
(Pokud vlastníte procesor od konkurence, nahraďte druhý modul pomocí kvm-intel.)
- Přidat uživatele pod kterým bude emulátor spouštěn do skupiny
„kvm“, aby mohl přistupovat k zařízení /dev/kvm:
sudo usermod -G kvm -a $USER
- Nahrát do jádra modul pro virtuální sítě, abychom mohli
s virtuálním počítačem komunikovat:
sudo modprobe tun
- Stáhnout instalační CD oblíbené distribuce
wget http://ftp.sh.cvut.cz/MIRRORS/ubuntu-releases/karmic/ubuntu-9.10-desktop-amd64.iso
- Vytvořit prázdný image budoucího systému s dostatečnou maximální
velikostí (image se automaticky zvětšuje v závislosti na tom jak systém
využívá disk)
qemu-img create virtualpc.img -f qcow2 20G
- Nabootujeme virtuální stroj z instalačního CD:
kvm -m 750 -cdrom ubuntu-9.10-desktop-amd64.iso -boot d virtualpc.img
- Nainstalujeme systém pomocí distribučního průvodce…
- Následné spuštění virtuálního počítače je jednoduché
kvm -no-acpi -m 1024 virtualpc.img
Pokud ale chceme mít systém ve virtuálním počítači připojen k intenetu, je potřeba udělat trochu více… Následující script by měl nastavit vše potřebné před spuštěním stroje:
#!/bin/bash # nahrát jaderné moduly pro kvm a virtuální síť sudo modprobe kvm sudo modprobe kvm-amd sudo modprobe tun # přidat virtuální síťové zařízení s plným přístupem pro aktuálního uživatele WHO=`whoami` DEV=`sudo tunctl -b -u $WHO` # nastavit IP adresu a routovací záznam sudo ip l set $DEV down sudo ip addr add dev $DEV local 10.0.1.1/24 broadcast 10.0.1.255 sudo ip l set $DEV up sudo ip route add 10.0.1.0/24 dev $DEV src 10.0.1.1 # zapnout maškarádu z virtuální sítě ven do internetu sudo su -c "echo \"1\" >/proc/sys/net/ipv4/ip_forward" sudo iptables -t nat -A POSTROUTING -o eth0 -s 10.0.1.0/24 -j MASQUERADE # spustit kvm kvm -no-acpi -m 1024 -net nic,model=rtl8139,macaddr=52:54:00:12:34:56 \ -net tap,ifname=$DEV,script=no virtualpc.img
Síť na straně virtuálního počítače
Na straně virtuálního systému je potřeba nastavit síť staticky, tady existuje mnoho způsobů…- Do souboru /etc/network/interfaces přidat
iface eth0 inet static address 10.0.1.2 netmask 255.255.255.0 gateway 10.0.1.1
do /etc/rc.local poté
ifup eth0
- Odinstalovat Network-Manager a do /etc/resolv.conf přidat adresu
nejbližšího DNS serveru, například:
nameserver 147.32.127.214 nameserver 147.32.127.218