Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Anketa

pouzivate nejakou virtualizaci?

vmware*
virtualbox
Xen
KVM
debootstrap
jinou ..
nepouzivam virtualizaci ..

Autor Téma: Používejte svobodnou virtualizaci KVM  (Přečteno 37410 krát)

LuciusMare

  • Závislák
  • ***
  • Příspěvků: 1749
Re: Pouzivejte svobodnou virtualizaci pomoci KVM !!
« Odpověď #50 kdy: 15 Února 2010, 17:07:13 »
Ok, takze problem s nenalezenym obrazem vyresen, pravdepodobne spatna prava ;) Ale jinak, bezi mi tu tri systemy (lajvko,winxp a ubuntu 9.10) a skoro neni pocitit rozdil, CPU neni vytizeny ani na 50%, narozdil od virtualboxu, odted uz nikdy nic jineho ;)
Citace
<Firzen> tak teď budu Číňan
<Firzen> tak uvidíme :D
Jabber: LuciusMare (zkroucenina) jabbim (tecka) cz

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Používejte svobodnou virtualizaci KVM
« Odpověď #51 kdy: 31 Srpna 2012, 17:37:18 »
trochu ozivim starsi tema ukazkou svejch soucasnejch skriptu pro windowsi virtualku za natem:

Kód: (w7-ultimate.sh) [Vybrat]
export QEMU_AUDIO_DRV=alsa;
qemu-kvm \
-drive file=/home/kvm/w7-ultimate-msdn/w7-ultimate.qcow2,index=0,media=disk,cache=writeback \
-m 2048 -smp 2 -k en-us -usbdevice tablet -localtime -boot d \
-net nic,model=e1000,macaddr="52:54:00:12:34:56",vlan=1 -net tap,ifname=w70,script=no,vlan=1 \
-monitor unix:/home/kvm/w7-ultimate-msdn/instance,server,nowait -vnc 127.0.0.1:8 -vga std &
## removed -soundhw hda

sleep 2;
ip l set w70 address a2:0f:0c:aa:08:f9;
ip l set w70 up;
ip a a 192.168.88.1/24 dev w70;

### set via sysctl.conf and system firewall
#echo 1 >/proc/sys/net/ipv4/ip_forward;
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
#iptables -A FORWARD -s 192.168.88.0/24 -o eth0 -j ACCEPT;

unset QEMU_AUDIO_DRV;

### not needed anymore
#iptables -A FORWARD -p tcp --dport 3389 -i eth0 -j ACCEPT;
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to 192.168.88.88:3389;

a linuxovou virtualku v bridge:

Kód: (centos63b.sh.bridged) [Vybrat]
qemu-kvm \
-drive file=/home/kvm/centos6.3b/centos63b.qcow2,index=0,media=disk,cache=writeback \
-drive file=/home/kvm/centos6.3b/centos63b.qcow3,index=1,media=disk,cache=writeback \
-cdrom /home/kvm/+images/centos/centos6/CentOS-6.2-x86_64-bin-DVD1.iso -boot c \
-smp 1 -m 1024 -k en-us -usbdevice tablet -localtime \
-net nic,model=e1000,macaddr="52:54:00:12:14:48",vlan=1 -net tap,ifname=co0,script=no,vlan=1 \
-monitor unix:/home/kvm/centos6.3b/instance,server,nowait -vnc 127.0.0.1:0 -vga std &

sleep 2;
brctl addif vbr0 co0;
ip l set co0 up;

### already in wider system system configuration
#echo 1 >/proc/sys/net/ipv4/ip_forward;
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
#iptables -A FORWARD -s 192.168.77.0/24 -o eth0 -j ACCEPT;

pro tyhle potreby mam po startu vytvorenej prazdnej bridge - v ubuntu se to nastavuje **jinde a sice v etc/network/interfaces

Kód: (/etc/sysconfig/network/ifcfg-vbr0) [Vybrat]
STARTMODE='auto'
BOOTPROTO='static'
BRIDGE='yes'
BRIDGE_PORTS=''
LLADDR='00:11:43:c8:8e:e9'
IPADDR='192.168.77.1/24'
#LINK_OPTIONS='promisc on'
#BRIDGE_AGEINGTIME='0'
#BRIDGE_PORTPRIORITIES='50 20'

pokud by jste chteli bridge primo do okolni site, tak si musite nastavit jako primarni network interface ten bridge s pridanym eth0 + tema *tap zarizenima

zdravim, ntz

ps. anketa se krasne rozjela
« Poslední změna: 31 Srpna 2012, 18:07:43 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Avogadrus

  • Návštěvník
  • Příspěvků: 77
Re:Používejte svobodnou virtualizaci KVM
« Odpověď #52 kdy: 15 Února 2013, 08:39:33 »
Taky něčím přispěju.
prerekvizity:uml-utilities
Kód: [Vybrat]
#!/bin/bash
kvm_up(){
    tunctl -u $User -t $tap
    sysctl net.ipv4.ip_forward=1
    sysctl net.ipv4.conf.$Iface.proxy_arp=1
    sysctl net.ipv4.conf.$tap.proxy_arp=1
    ip link set dev $tap up
    route add -host $IPko dev $tap
}

kvm_down(){
    #sysctl net.ipv4.ip_forward=0
    #sysctl net.ipv4.conf.$Iface.proxy_arp=0
    sysctl net.ipv4.conf.$Tap.proxy_arp=0
    ip link set dev $Tap down
    tunctl -d $Tap
}


function usage(){
echo "------------------------------------------------------"
echo "Usage: $(basename $0)  [ -s | -i | -I | -u | -h ]"
echo "-------------------------------"
echo "   -s  ... usage [start|stop]"
echo "   -i  ... ip adress: ipv4"
echo "   -I  ... interface to use"
echo "   -u  ... user which will use tap interface"
echo "   -t  ... tap name "
echo "   -anything else  ... this help"
echo "------------------------------------------------------"
exit 1
}

while getopts :s:i:I:u:t: option
do
    case "${option}"
    in
        s) Stav=${OPTARG};;
        i) IPko=$(echo ${OPTARG} | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}");;
        I) Iface=${OPTARG};;
        u) User=${OPTARG};;
        t) Tap=${OPTARG};;
    esac
done
#echo "$IPko $Iface $User"
if [[ $EUID -ne 0 ]]; then
    echo "-------------------------------"
    echo "This script must be run as root"
    echo "-------------------------------"
    exit 1
else
    case "$Stav" in
        start)
            if [[ -n $IPko && -n $Iface && -n $User ]]; then
                ping -c 3 $IPko | grep "0 received" &>/dev/null
                if [ $? -eq 0 ];then
                    tap="tap$(ip a show | grep tap | wc -l)"
                    kvm_up >/dev/null
                    if [ $? -eq 0 ];then
                        echo $tap
                        exit 0
                    else
                        exit 1
                    fi
                else
                    echo "--------------------------"
                    echo "IP adress is already used'"
                    echo "--------------------------"
                    exit 1
                fi
            else
                echo "----------------------------------------------------------------------------------------------"
                echo "Usage: $(basename $0) -s start -i 'guest IP adress' -I 'interface {ethx|wlanx|...}' -u 'user'"
                echo "----------------------------------------------------------------------------------------------"
                exit 1
            fi
            ;;
        stop)
            if [[ -n $Tap ]]; then
                kvm_down >/dev/null
            else
                # echo "----------------------------------------------------------------------------------------------"
                # echo "Usage: $(basename $0) -s stop -t 'tap name {tapx}' -I 'interface {ethx|wlanx|...}' "
                # echo "----------------------------------------------------------------------------------------------"
                # exit 1
                echo "----------------------------------------------------------------------------------------------"
                echo "Usage: $(basename $0) -s stop -t 'tap name {tapx}' "
                echo "----------------------------------------------------------------------------------------------"
                exit 1
            fi
            ;;
        *)
            usage
            exit 1
            ;;
    esac
fi

Není třeba konfigurovat žádný bridge, jednoduše se script spustí s parametry a ten vrátí název tap interface pro virtuálku.

příklad
sudo ./script -s start -i 192.168.255.254 -I eth0 -u vilibald
při úspěchu vrátí tap0, které použiju
kvm -m 64 virtualky/test.img -localtime -net nic,vlan=0,model=e1000,macaddr=52:54:00:00:00:01 -net tap,ifname=tap0,script=no,vlan=0
a virtuálce nastavím ip 192.168.255.254


U12.04; jádro neznámé; XFCE 4.10

 

Provoz zaštiťuje spolek OpenAlt.