Newsgroup: it.comp.os.linux.sys
Titolo: Virtual machines

Ciao a tutti,
oltre al classico Vmware (che però è a pagamento se non per una prova di 
un mese) esiste un software per virtual machines che giri sotto Linux 
totalmente gratuito?

Federico wrote:

xen ?
-- 
Bagnino, s.m.:
        Piccolo cesso.

 totalmente gratuito?
qemu

Federico ha scritto:

VirtualBox

 totalmente gratuito?
VMPlayer
VMWare Server
Xen
Virualbox
Qemu
kvm
uml
vserver
openvz
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 
Grazie a tutti, mi metterò subito all'opera per provarne alcuni...Xen 
per primo del quale forse avevo già sentito accennare qualcosa...

 writes:

kvm oppure xen o qemu.
Ciao, Micky
-- 
What's this hash prompt on my terminal mean?
Micky Del Favero  -  System Manager  &  BOFH

Federico wrote:

VirtualBox è ottimo.
-- 
g4b0, linux user n. 369000
http://gabo.homelinux.com



Io normalmente uso "bochs" sia per Linux che Windows.
< 
http://bochs.sourceforge.net/
 >
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 VMPlayer
[...]
Hai dimenticato lguest :)
Enrico

 kvm oppure xen o qemu.
A proposito di KVM (o di Qemu, visto che il funzionamento e` simile), mi
ritrovo un comportamento strano. Per spiegare qual e` il problema, ecco
qual e` la mia configurazione:
- scheda di rete (fisica) configurata come bridge br0;
- macchina virtuale linux configurata con una scheda di rete virtuale tap0;
- macchina virtuale windows configurata con una scheda di rete virtuale
tap1.
Ora, tutto funziona alla grande, solo che ogni tanto la macchina virtuale
windows non viene pingata piu` dal resto della rete (ovvero, tramite
sessione VNC entro nella macchina virtuale, ma tramite ping non riesco a
raggiungerla). Ovviamente non ho la minima idea sul perche` di questa
situazione, e sarei grato se qualcuno potrebbe darmi lumi, non fosse altro
dirmi cosa dovrei andare a guardare
Enrico

 
virtualiron non l'ha provato nessuno?
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Go 'way!  You're bothering me!

 < 
http://bochs.sourceforge.net/
 >
E' pero' un emulatore, non e' propriamente una macchina virtuale.
bye G.L.
-- 
Renaissance, aka Gian Luca Sole
Per rispondere, togli nospam al contrario, e cambia nazione
"E' assolutamente evidente che l'arte del cinema si ispira
alla vita, mentre la vita si ispira alla TV" - Woody Allen

 
cercando, tuttavia, ho notato che si appoggiano ad un OS preinstallato. 
qualcuno conosce qualcosa di nativo tipo vmware server che avvia una 
piattaforma neutra e pronta per ospitare macchine virtuali sopra di esso?
penso che a livello di performance sia notevolmente diverso avere un OS 
dedicato alla virtualizzazione e che presenti l'hardware agli os 
virtualizzati.

 virtualizzati.
Non viene *mai* presentato l'hardware agli OS virtualizzati, ma sempre
una emulazione più o meno raffinata, di fatto con la sola esclusione
(comunque parziale) della CPU del sistema. Cambia solo il livello a cui
questo viene effettuato. Chiaro che più lo fai vicino all'hardware
migliori sono le prestazioni, semplificando parecchio.

 virtualizzati.
Ciao


 
non è vero che deve essere un sistema operativo tradizionale. Ad esempio 
Vmware ESX (come giustamente skull mi correggeva) è un sottostrato tra 
gli OS virtualizzati e la macchina. reputo questa soluzione più stabile 
rispetto all'avere una ubuntu master che gestisca i vari os 
virtualizzati, almeno per il fatto che essa non è specificatamente nata 
con l'idea di virtualizzare OS, ma con l'idea di fare da OS stesso.
quindi con XEN integrato nella CentOS 5 ho un sistema che parte già 
virtualizzato, ottimo.
Il problema su cui mi sto scontrando con xen è di una banalità assurda. 
quando mi chiede il media d'installazione mi chiede un percorso http, 
ftp o nfs. in tutti e tre i casi non riconosce il file. se tiro su un 
apache in localhost non gli piace. se cerco di beccare il file su un 
server http locale, non gli piace. se scarico una immagine appositamente 
fatta per xen, non gli piace. se tiro su un ftp anonimo non gli piace. 
se tiro su un ftp con password e la sintassi 
ftp://nome:password@serverftp non gli piace. se metto /dev/cdrom non gli 
piace. insomma, sto media di installazione mi sta snervando, non 
digerisce nulla. però un cd glielo potevano far riconoscere!! non mi 
sembra così grave!!
dove sbaglio?

 gli OS virtualizzati e la macchina.
Ciò non toglie che anche nel caso di ESX viene installata una redhat
come sistema "privilegiato", con funzioni di amministrazione e controllo.
Nel caso di Xen, è il Dom0, che "vede" l'hardware "vero" e che viene
utilizzato per l'accesso fisico a tutte le periferiche che vengono
presentate come virtuali alle VM.
Non conosco abbastanza di ESX per poter fare un raffronto funzionale tra
il dom0 di Xen e quella redhat, ma è plausibile che almeno per alcune
funzioni anche lì la presenza di quell'OS sia vitale per alcuni
sottosistemi...

 
Ho provato a installare una macchina virtuale sotto Qemu dedicando una 
parte del mio fs al "file" della macchina virtuale appunto e mi pare che 
funzioni egregiamente. Ho però un problema, cioè non riesco a utilizzare 
la mia scheda di rete (gli assegno un ind IP corretto e diverso dalla 
macchina reale, ma non funziona). Ho anche provato ad aggiungere un 
alias di interfaccia alla macchina reale con ind IP uguale a quello che 
setto sulla virtual machine, ma niente, continua a non funzionare.
Ha mica bisogno di qualche tipo di bridge sulla scheda di rete?!
Grazie per il supporto....Ciao!

 Ha mica bisogno di qualche tipo di bridge sulla scheda di rete?!
Qemu (cosi` come KVM) hanno tre modalita` di impostaione della scheda di
rete:
1) utente: alla macchina virtualizzata viene assegnato un indirizzo tramite
un server DHCP nativo;
2) socket: e` utilizzato soprattutto per la comunicazione diretta tra
macchine virtuali;
3) bridge: permette di far vedere la macchina virtuale a tutti i client
della rete.
Personalmente ho provato il primo metodo giusto per curiosita`, e il terzo
metodo lo uso con soddisfazione tutti i giorni a lavoro. Per come impostare
il bridge e` tutto scritto nel wiki di QEMU. In soldoni, ecco i passi da
seguire:
- installi (su Debian) il pacchetto bridge-utils;
- in /etc/network/interfaces inserisci le seguenti righe:
iface br0 inet static
[...]
    bridge_ports eth0
    bridge_stp off
    bridge_maxwait 5
- modifichi lo script /etc/qemu-ifup in questa maniera:
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
sudo /usr/sbin/brctl addif br0 $1
- lanci la macchina specificando il macaddress (consigliato) e la il nome
della scheda di rete (di default e` tap0).
Per maggiori dettagli, ti consiglio comunque di dare uno sguardo al wiki che
ti ho citato prima
Enrico

 gli OS virtualizzati e la macchina. reputo questa soluzione più stabile 
Tu.
-- 
Per rispondermi, sostituisci a nomecognome il mio nome e cognome
To reply me, substitute nomecognome with my real name and surname

 della rete.
]zac[
Personalmente preferisco il quarto modo, scaricare e installare vde-switch e
dire a qemu di usare il socket creato dallo vde-switch virtuale (è semplice
c'è documentazione specifica).
In quel modo hai un full networking con facilità di manutenzione, di
aggiunte, di modifiche, di sperimentazione.
P.S. Anche perché io non riesco a digerire il bridge ( :) ).

 P.S. Anche perchÃ© io non riesco a digerire il bridge ( :) ).
Bhe non è così difficile, dai. 8-)
Grazie, Micky



Grazie per i consigli...dopo le opportune configurazioni adesso riesco a 
far partire la macchina virtuale avendo sul sistema un bridging di rete.
Quando però parte la macchina virtuale, sulla macchina reale viene 
tirata su un'interfaccia tun0 e fin qua nulla di male, ma non gli viene 
associato alcun indirizzo e se io lo associo dalla macchina virtuale 
questo non funziona.
Proverò cmq a documentarmi un pò meglio. Idee?
Cmq questo è il comando che dò per lanciare Qemu
qemu -net nic,macaddr=.........., -net tap /prove/virtualmachine.img
Grazie e ciao.

 Grazie, Micky
Come sempre ciò che risulta difficile non piace, e ciò che non
piace diventa difficile ....
Premesso che io uso qemu senza kvm.
Configurazione e avvio di vde-switch, impostazione memoria condivisa e
caricamento di kqemu:
cat /etc/init.d/gdb-vde_qemu 
#! /bin/bash
#
# gdb-vde_qemu: Start/Stop the vde for qemu
#
# chkconfig: 2345 60 10
# description: Vde for qemu
# processname: gdb-vde_qemu
# config: /etc/?
# pidfile: /var/run/gdb-vde_qemu.pid
# Source function library.
. /etc/init.d/functions
RETVAL=0
# See how we were called.
PATH=$PATH:/usr/local/bin:/usr/local/sbin
MemShm="900"
ServName="gdb-vde_qemu"
ServDes="Vde for qemu"
prog="vde_switch"
ProgRun="/var/run/"$ServName".pid"
ProgSock="/tmp/vde_qemu.ctl"
IPSwitch="192.168.0.254"
MaskSwitch="255.255.255.0"
start(){
    local ServPid MntTmpFs SizeTmpFs
# Imposta la memoria condivisa
    SizeTmpFs=`df -m -t tmpfs | grep shm | (read sez1 sez2 sez3 sez4
sez5 ;echo $sez4)`
    if [ "$SizeTmpFs" -lt "$MemShm" ]; then
#       umount /dev/shm
        mount -t tmpfs -o size=$MemShm"m" none /dev/shm
        echo "Impostato memoria condivisa da "$SizeTmpFs" a "$MemShm" Mb"
    fi
# Carica il modulo di accelerazione kqemu
    if ! lsmod | grep kqemu > /dev/null; then
        modprobe kqemu
        echo "Caricato il modulo kqemu"
    fi
    echo -n $"Starting $ServDes: (tap0 $IPSwitch)"
    ServPid=`pidfileofproc $ServName`
    if [ "$ServPid" ]; then
        RETVAL=1
    else
# Carica il modulo 'tun'
        if ! lsmod | grep tun > /dev/null; then
            modprobe tun
# Wait for the module to be loaded
            while ! lsmod |grep -q "^tun"; do echo Waiting for tun
device;sleep 1; done
        fi
# Start tap switch
        daemon $prog -tap tap0 -sock $ProgSock -m 0770 -daemon -pidfile
$ProgRun -M /tmp/vde.mgmt
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            chgrp users $ProgSock && chgrp users "$ProgSock/ctl" && chmod
760 "$ProgSock/ctl"
            ifconfig tap0 $IPSwitch netmask $MaskSwitch
        fi
    fi
    echo
    [ $RETVAL -eq 0 ] && touch "/var/lock/subsys/"$ServName
    return $RETVAL
}
stop(){
    echo -n $"Stopping $ServDes: "
    ifconfig tap0 down
    killproc $ServName -HUP
# Remove the control socket
    rm -f /tmp/vde.*
    RETVAL=$?
    sleep 0.2
    modprobe -r tun
    modprobe -r kqemu
    echo
    [ $RETVAL -eq 0 ] && rm -f "/var/lock/subsys/"$ServName
    return $RETVAL
}
case "$1" in
    start)
        start ;;
    stop)
        stop ;;
    restart)
        stop
        start
        ;;
    status)
        status $prog ;;
    *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 1
esac
exit $?
Configurazione e avvio di qemu (l'avvio SENZA VDE (vde-switch) non è più
mantenuta da tempo, non dovrebbe funzionare):
cat ~/Desktop/emulatori/qemu/start-guest
#! /bin/bash
# Avvia l'immagine del sistema guest
# Opzionale:
# ' 192.168.0 254 linuxhost ' in ' \windows\lmhosts '
# Qemu can use SDL sound instead of the default OSS
#export QEMU_AUDIO_DRV=sdl
# Whereas SDL can play through alsa:
#export SDL_AUDIODRIVER=alsa
MACAddr="52:54:00:00:EE:02"
MemGuest="450"
ImgPathGuest="../os-img/qemu"
ImgGuest=""
IfUp="./qemu-simple"
QemuCdDvd=""
QemuBoot=""
ProgSock="/tmp/vde_qemu.ctl"
StartVde="false"
# imposta le opzioni della linea di comando
if [ $# -eq "0" ]; then
     echo "Opzioni: -v (VDE), -c (cdrom) -d (dvd), -b (avvia da cdrom/dvd)"\
     " -w (originale) / 1 (uso normale) / 2 (test) (windows 98) -e (debian
sarge 3.1)  -s (suse 10)  -f (fedora 6)"
fi
while getopts ":cdbmw12esfv" Option; do
    case $Option in
    c ) QemuCdDvd="-cdrom /dev/cdrom" ;;
    d ) QemuCdDvd="-cdrom /dev/dvd" ;;
    b ) QemuBoot="-boot d" ;;
    m ) ImgGuest="win98_msi.qcow" ;;
    w ) ImgGuest="win98.qcow" ;;
    1 ) ImgGuest="win98_1.qcow"
        MACAddr="52:54:00:00:EE:03" ;;
    2 ) ImgGuest="win98_2.qcow"
        MACAddr="52:54:00:00:EE:04" ;;
    e ) ImgGuest="debian-sarge-3.1.qcow"
        MACAddr="52:54:00:00:EE:05" ;;
    s ) ImgGuest="suse-10.qcow"
        MACAddr="52:54:00:00:EE:06" ;;
    f ) ImgGuest="fed-6.qcow"
        MACAddr="52:54:00:00:EE:07" ;;
    v ) StartVde="true" ;;
    * ) echo "Opzione non valida" ;;
   esac
done
#  Decrements the argument pointer so it points to next argument.
#  $1 now references the first non option item supplied on the command line
#+ if one exists.
shift $(($OPTIND - 1))
#
if ! [ "$ImgGuest" ]; then
   exit 0
fi
#
# Avvia l'immagine del sistema guest
if [ "$StartVde" == "true" ]; then
    vdeq qemu -net vde,vlan=0,sock=$ProgSock -net
nic,vlan=0,macaddr=$MACAddr -hda $ImgPathGuest"/"$ImgGuest \
        $QemuCdDvd $QemuBoot -m $MemGuest -usb -soundhw sb16 -localtime
else
    qemu -hda $ImgPathGuest"/"$ImgGuest $QemuCdDvd -n $IfUp -m
$MemGuest -soundhw sb16 -localtime
fi
Chiedi se ti servono chiarimenti.

 Chiedi se ti servono chiarimenti.
Innanzitutto grazie infinite per la cortesia, provo a vedere che riesco
a fare, se sorgessero problemi mi rifarò vivo.
Grazie ancora, Micky


 qemu -net nic,macaddr=.........., -net tap /prove/virtualmachine.img
Mmm... io di solito lancio specificando anche il modello (rtl8139) e il
parametro ifname
Enrico
P.S. quella virgola dopo il macaddr e` un refuso?

 
mi sembra obiettivo che un OS dedicato ad uno scopo sia meglio di un OS 
generico e utilizzato ANCHE per lo scopo che ci siamo prefissati.
qui non parliamo di alta informatica, ma di logica da regoli arancioni, 
blu, neri e le unità bianche.
Poi tutto può essere opinabile, certo, se preferisci virtualizzare i 
server della produzione su windows xp e vmware...

 server della produzione su windows xp e vmware...
Se vuoi contestarmi per quello che dico sono disposto a sentirti, se vuoi
sparare a caso per coprire le cazzate che dici ho viceversa di meglio
da fare. 


 L'interesse economico di Vmware e Xen 
Ah, ora tiri *anche* Xen dentro. :-D
(condivido l'analisi, btw)

 � pi� mantenuto, ha una migliore e pi� ampia interfaccia all'hardware,
bhà, per me è assolutamente opinabile. i sistemi che presentano 
un'hardware virtualizzato non hanno nulla da individuare ai sistemi 
tradizionali come compatibilità e riconoscimento dell'hardware. anche 
perchè solitamente non te ne fai molto di rilevare il volante e la 
pedaliera, due monitor e la cloche di simulazione di volo.
il tuo ragionamento poteva essere vero (ma opinabile) sulle 
virtualizzazioni su sistemi server di bassissimo profilo, assemblati o 
terribilmente obsoleti. personalmente, quando parlo di virtualizzazione, 
intendo virtualizzazione seria, fatta su server *almeno* di marca a 
prescindere dalla fascia economica. posso mettere la mano sul fuoco che 
non c'è un server, che sia un hp, ibm, fsiemens o dell seppur di prezzo 
basso o alto che sia, che non venga integralmente identificato e 
riconosciuto come hardware.
il tuo ragionamento può avere un senso se un amatore (si legga 
smanettone o autodidatta, per l'amor del cielo, non intesa come 
identificazione negativa) vuole virtualizzare il suo bel pozzo nero di 
hardware, ma parlando di virtualizzazioni reali, quelle che girano in 
contesti produttivi o aziendali, il tuo ragionamento è illogico.
poi, con il bene che le voglio, io mi gratterei prima di virtualizzare 6 
macchine in produzione sulla ubuntu. splendida, eccellente, ma vado su 
sistemi dedicati a tale scopo.
IMHO.

 kernel � pacifico, ma non rendera' queste considerazioni false.
E infatti Xen non è un kernel, e Xen non ha alcun driver, dato che tutte
le periferiche sono gestite dal domain0, che è linux, e che usa i suoi,
di driver.
Nulla in contrario a quello che affermi, in linea di principio, ma
almeno che sia corretto...

 contesti produttivi o aziendali, il tuo ragionamento è illogico.
http://udrepper.livejournal.com/15795.html
Evita di farmi perdere ulteriore tempo, grazie.


 
Evita di leggere, non dedicare il tuo prezioso tempo a rispondere a noi 
poveri profani.
mi fa sorridere che tale maleducazione e tali affermazioni spuntino su 
un newsgroup dedicato ad un argomento che, per sua stessa natura, 
dovrebbe essere il sunto stesso della condivisione di idee e conoscenze.
chiudiamo qui l'argomento, di informatici saputelli tra un solitario ed 
una perla di saggezza alla mitnick ce ne sono a tonnellate, sei sono uno 
fra tanti sapientoni di cui il mondo informatico genuino farebbe 
volentieri a meno.
ora, sì, è una perdita di tempo affatto costruttiva.


Ho risolto! al comando finale per lanciare la virtual machine 
correttamente ho dovuto togliere il parametro per il MACAddress:
qemu -net nic,model=rtl8139 -net tap,  /virtmachine.img
A futura memoria :-)
Grazie a tutti, ciao.

 correttamente ho dovuto togliere il parametro per il MACAddress
Mmm... strano, io di solito lancio con macaddress e funziona tutto...
Enrico

 Enrico
-- 
Ciao.
Alessandro 
"Ubuntu" - an African word, meaning "Slackware is too hard for me".

 specifichi il macaddress mi sa che si crea qualche problemino..
]zac[
Sigh ... dolore ... ricordi tenebrosi .. ore e ore di mal di testa ...
sofferenza ... ricordi di fantasmi e streghe ... e per giunta virtuali ...
sigh ...