Mondo IT

recensioni, articoli e approfondimenti sul mondo IT

Archive for the ‘virtualizzazione’ Category

[EN] dig a hole in QEMU: how to execute code on the host from VMs (Part 1)

leave a comment »

In the next posts I’ll show you my recent works on QEMU. The purpose of my work is execute code on the Host machine every time that a virtual machine write or read to certain memory address. As you may know, QEMU is not largely documented, so in these posts I try to simplify works for people who are interested in these kind of operation.

The design of the solution that I’ve implemented starts from a QEMU emulated device, called LittleP. In addiction, we need of a Guest drivers that is programmed to write/read data to a fixed memory address. In my case I have used a GNU/Linux virtual machine, but probably it is possible to do the same thing with others operating systems.

So let’s start with the addiction of a new QEMU emulated device. To do this we have to add a new file (in this example littlep.c) in qemu/hw directory. This file should be something like this:

Leggi il seguito di questo post »

Annunci

Written by Michele Paolino

13/11/2012 at 12:37

XEN High Availability

with one comment

Recentemente mi sono state fatte alcune domande sulla implementazione di un piccolo cluster XEN HA. Per rispondere a quelle, e ad alcuni dubbi che possono venire quando si parla di cluster di questo tipo ho stilato una piccola guida introduttiva.

Un cluster HA XEN utilizza una SAN per condividere il disco della macchina virtuale e (almeno) due macchine XEN su cui poi si installerà il software per la realizzazione del cluster. Il passaggio di una macchina virtuale da una parte all’altra in caso di failure è effettuato attraverso migrazione. Le configurazioni delle macchine host sono del tutto indipendenti, per implementare un cluster HA non è infatti necessario avere hardware identico. Prima di fare una migrazione avviene un processo chiamato reservation: dom0 verifica sull’altro sistema se c’è spazio per allocare la macchina virtuale che vuole migrare. Questo consente banalmente di essere certi che la macchina virtuale migrata potrà eseguire sul nuovo host.

Volendo invece quantificare le risorse hardware necessarie (oltre alla SAN) è indispensabile un minimo di 2 macchine su cui è installato XEN, anche se è comunque consigliabile utilizzarne 3. Per quanto riguarda le caratteristiche di queste macchine, ipotizzando il caso più semplice con due sistemi host, bisogna calcolare tutto in modo che se una cade l’altra abbia le capacità (CPU e RAM, ecc) per gestire il carico.
Migrare macchine paravirtualizzate è un processo ottimizzato e abbastanza stabile. La migrazione di macchine HVM invece è possibile, ma c’è da considerare che, a differenza delle soluzioni paravirtualizzate, la virtual machine non è conscia della migrazione. Dunque potrebbero esserci dei problemi che dipendono dal sistema operativo installato nella vm. Per questo e per motivi di velocità è meglio migrare macchine paravirtualizzate. Infatti nell’ultima versione (XEN 4) ci sono alcun bug aperti relativi proprio alla migrazione HVM.

Written by Michele Paolino

04/08/2011 at 13:02

Virtualizzare con Parallels Workstation 4.0 Extreme

leave a comment »

Parallels è una delle società leader nel mondo della virtualizzazione. Workstation 4.0 Extreme presenta caratteristiche molto interessanti tutte da scoprire. Vi segnalo una recensione estesa della soluzione di virtualizzazione di fascia alta di Parallels pubblicata su pctuner.net.

A voi il link all’articolo.

Written by Michele Paolino

09/03/2011 at 16:35

come redirigere porta VM sul sistema guest

leave a comment »

in QEMU/KVM è possibile redirigere le porte della macchina virtuale all’esterno in due modi. Il primo è utilizzabile solo a macchina virtuale spenta. Avviando infatti la VM con l’opzione -redir è possibile mappare porte del sistema ospite sull’host:

kvm -hda harddisk -redir tcp:6001:10.0.2.15:22 Leggi il seguito di questo post »

Written by Michele Paolino

12/02/2011 at 23:55

Pubblicato su GNU/linux, KVM, virtualizzazione

Tagged with , , ,

Come funziona Intel Virtualization Technology: VT-x

with 2 comments

L’architettura x86 non è virtualizzabile. Intel Virtualization Technology è una estensione del set di istruzioni che aumenta le performance e facilita la scrittura di un hypervisor. Esistono due tipi di Intel VT, VT-x per l’architettura x86, VT-i per Itanium.

Il ruolo principale di un hypervisor è quello di gestire gli accessi all’hardware per fare in modo che le risorse possano essere condivise dalle diverse macchine virtuali. Alcuni dei problemi nel virtualizzare l’architettura x86 sono:

  • ring deprivileging: eseguendo una macchina virtuale come una applicazione il sistema operativo ospite esegue a un livello di privilegio che non gli è proprio.
  • ring aliasing: alcune istruzioni non privilegiate vengono eseguite direttamente sul processore senza intervento dell’hypervisor.
  • ring compression: il sistema operativo della macchina virtuale esegue allo stesso livello delle applicazioni

Leggi il seguito di questo post »

Written by Michele Paolino

03/02/2011 at 19:55

Pubblicato su virtualizzazione

Tagged with , , , ,

prossime frontiere della virtualizzazione

leave a comment »

Ultimamente la ricerca nel campo della virtualizzazione si è spostata nel campo dei sistemi mobile/embedded. In pratica grandi vendor come VMWare stanno lavorando per portare gli hypervisor direttamente su cellulari e dispositivi leggeri. Ciò consentirebbe non solo l’esecuzione di sistemi operativi leggeri (Xp, Linux) sugli smartphone di ultima generazione ma potrebbe addirittura abbattere le differenze che oggi esistono tra i vari iOS, Symbian, Android, Bada.

Leggi il seguito di questo post »

Written by Michele Paolino

30/01/2011 at 08:00

macchina virtuale Jolicloud: scarichiamola!!

with 3 comments

ho creato per pctuner.net una macchina virtuale del sistema operativo Jolicloud 1.1. Esso è stato giudicato il migliore tra quelli del netbook da riviste e siti del settore, perché non provarla?

link all’articolo

link macchina virtuale Leggi il seguito di questo post »

Written by Michele Paolino

15/01/2011 at 12:40