Archivio

Posts Tagged ‘qemu’

KVM: installare Debian 7.4 VM Wheezy via virt-manager

Obiettivo: Installare una macchina virtuale Debian 7.4 Wheezy su server Ubuntu con KVM utilizzando virt-manager 0.9.3. Lanciare Virtual Machine Manager da menu o da terminale con

virt-manager

Creare il disco virtuale per la VM

Per creare il disco virtuale che ospiterà la Virtual Machine  KVM-QEMU possiamo agire in  più modi possiamo usare l’interfaccia grafica oppure il terminale. Optiamo per l’interfaccia grafica. Due  sono le possibilità creare il disco durante la creare della VM oppure separatamente. Scegliamo la seconda. Quindi Selezionare EDIT > Connection Details  se si sono più storage scegliere quello da utilizzare. Lo storage di base è denominato default.  Creare il nuovo discopremendo il pulsante <New Volume> in basso  al centro.

Il formato qcow2 è quello più efficente ed è tipico di kvm-qemu. Mentre il formato raw è da preferire in caso di conversioni della VM. Se non si hanno problemi di spazio disco e si usa il formato raw è preferibile alloccare tutto lo spazio disco.

creare New image disk for VM
creare New image disk for VM

Per installare Debian Wheezy 7.4  64 bit usiamo la modalità online usando la iso netinstall, debian-7.4.0-amd64-netinst.iso. La iso può essere scaricata da http://www.debian.org/CD/netinst/

wget http://cdimage.debian.org/debian-cd/7.4.0/amd64/iso-cd/debian-7.4.0-amd64-netinst.iso

Create una nuova macchina Virtuale

Premere il pulsante New

Create New VM using virt-manager
Create New VM using virt-manager

Creazione nuova Virtual Machine Debian 7.4 Wheezy – Step 2/5 Selezionare la iso netinstall Debian 7.4 Wheezy e precisare Sistema Operativo e Versione

virt-manager Create New VM  2/5
virt-manager Create New VM 2/5

Step 3/5  –  Nuova Virtual Machine Debian 7.4 Wheezy Indicare la quantità di memoria e il numero di CPU

Step 3/5 Virt-manager new VM
Step 3/5 Virt-manager new VM

Step 4/5  –  Nuova Virtual Machine Debian 7.4 Wheezy Selezionare il disco immagine creato in precedenza e destinato ad accogliere la Virtual Machine

Step 4/5 Virt-manager select disk image
Step 4/5 Virt-manager select disk image

La macchina virtuale è stata creata. E’ possibile visualizzare le opzioni avanzate e customizzare  l’installazione prima di iniziare.

5/5 Creazione standard della VM ultimata
5/5 Creazione standard della VM ultimata

Ultimata la creazione standard della VM, se è stata attivata l’opzione customize, è possibile aggiungere altro hardware con <Add Hardware>. Aggiungiamo ad esempio una seconda NIC conviente usare il device model virtio

Virt-Manager Create VM add NIC
Virt-Manager Create VM add NIC
virt-manager VM check configuration
virt-manager VM check configuration

Prima iniziare l’installazione e possibile rivedere i vari settaggi ed eventualmente modificarli. Quindi avviare l’installazione con <Begin Installation>.

Installazione di Debian 7.4 Wheezy con Virt Manager

Una volta premuto begin installation apparira la schermata di avvio installazione di Debian 7.4.

L’installazione procederà in modo tradizionale con selezione/impostazione/installazione di:

  • linguaggio, tastiera,
  • schede di rete,
  • partizionamento
  • pacchetti software  …
  • Boot loader
Start Centos-5 installation
Start Debian 7.4 Wheezy installation

Verrà richiesto di selezionare il linguaggio e la tastiera optare per [C – No localization] in modo da scegliere manualmente la combinazione ottimale:  linguaggio, tastiera, country, fuso orario …

Debian 7.4 Wheezy- Choose Language
Debian 7.4 Wheezy – Choose Language
Debian 7.4 Wheezy - Choose Keyboard type
Debian 7.4 Wheezy – Choose Keyboard type

Se ci sono più schede di rete attivate, per l’installazione, è necessario selezionare la scheda di rete di default. Ne abbiamo 2 optiamo per la la eth0.  Quindi è necessario configurare il TCP/IP optiamo le impostazioni di default ().

Indicare ora l’archivio Debian mirror. Viene proposto ftp.it.debian.org optiamo invece per

  •  mi.mirror.garr.it
Debian 7.4 Wheezy - Choose Installation type
Debian 7.4 Wheezy – Choose Installation type

Per il tipo di partizionamento optiamo per l’automatico così da impegnerà tutto lo spazio immagine a disposizione. Due le partizione create per un totale di 12 GB.
Quindi si dovranno  selezionare anche i pacchetti software da installare sceglio tra i set proposti

Debian 7.4 Wheezy partitioning warning
Debian 7.4 Wheezy selezionare il software

Completata l’installatione si deve effettuare il reboot.

Debian 7.4 Wheezy installation complete
Debian 7.4 Wheezy installation complete

 

Altre risorse

Virsh tools per gestire le macchine virtuali in KVM

Virsh è un tool da linea di comando che consente di gestire le macchine virtuali nell’ambiente di emulazione kvm.

Molti i comandi disponibili del tipo

# virsh list

Il comando fornisce l’elenco delle virtual machine in esecuzione o in pausa:

E’ possibile anche accedere al terminale virsh in questo caso il comando precedente verrà eseguito semplicemente digitando list. Per accedere al terminale si digita virsh 

virsh
Welcome to virsh, the virtualization interactive terminal.

Type: 'help' for help with commands
 'quit' to quit

Ecco la listade delle virtual machine in esecuzione o in pausa:

virsh # list
 Id Name State
----------------------------------------------------VMlist
 2 centos59_165 running
 5 Debian_74_wheezy running
 6 Lub1404 running
 8 Ubuntu12041S-2 running
 9 Windows7 running
12 u1404-test paused

Possiamo  visualizzare i pools a disposizione con

:virsh pool-list
Name State Autostart 
-------------------------------------------
 default active yes 
 VM-libvirt active yes

Per visualizzare tutte le vm  usare

virsh list --all

per installare virsh

sudo apt-get install libvirt-bin

Per connettersi ad un ipervisore remoto

virsh -c qemu+ssh://maurizio@192.168.1.140/system

Ridimensionare una macchina virtuale con virsh

Ad esempio per ridimesionare il disco di una VM windows 7 visualizzare dapprima le informazioni del disco da ridimensionare con virsh vol-info

# virsh vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 24.00 GiB
 Allocation: 24.00 GiB

Quindi ridimensioniamo con

# virsh vol-resize /media/VM/libvirt/images/W7-64b-ETH.img 30G --allocate
 Size of volume 'W7-64b-ETH.img' successfully changed to 30G

se siamo dentro virsh possiamo controllare le nuove dimensioni con  vol-info:

virsh # vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 30.00 GiB
 Allocation: 30.00 GiB

Avviamo la macchina virtuale W7-64b-ETH.img con  virsh start

: virsh start W7
 Domain W7 started

Gestire una machina virtuale

Per fermare una macchina Virtuale si può utilizzare un comando del tipo

virsh --connect qemu:///system shutdown NomeVirtualMachine

Modificare il file di configurazione .xml di una macchina virtuale

La configurazione della macchine virtuali è conservata in file .xml in

/etc/libvirt/qemu

la struttura del file è del tipo :

<domain type='kvm'>
       <name>debian_DMZ</name>
       <uuid>b9f962c3-4031-4d31-b41d-b3aed75e693a</uuid>
       <memory unit='KiB'>1048576</memory>
       <currentMemory unit='KiB'>1048576</currentMemory>
       <vcpu placement='static'>1</vcpu>
       <os>
             <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
             <boot dev='hd'/>
       </os>
       <features>
             ...

Le modifiche possono essere apportate utilizzando il comando

virsh edit [Virtual-machine]

per l’esempio soprariportato virsh edit debian_DMZ

Il file .xml non può essere digitato direttamente perchè autogenerato.

Se si tenta la digitazione  diretta con comando del tipo nano debian_DMZ si ottiene il warning che segue.

WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
       virsh edit debian_DMZ
or other application using the libvirt API.

<domain type='kvm'>
       <name>debian_DMZ</name>
       <uuid>b9f962c3-4031-4d31-b41d-b3aed75e693a</uuid>
       ...

 

Macchine Ubuntu/Debian Installare acpid

Perchè l’arresto avvenga correttamente è necessario che sia installato acpid. Diversamente l’arresto sarà brutale come quando si toglie l’alimentazione con conseguenze che possono portare alla perdita di dati.

Una volta arrestata la VM può essere clonata ad esempio con

virt-clone --connect=qemu:///system -o CurrentVM -n NewVM -f /percorso_VMs/NewVM.gcow2

Se si clona una VM per evitare problemi è necessario procedere anche alla rinomina  del host modificando i files hosts e hostaname

sudo vim /etc/hosts
sudo vim /etc/hostname

 

 

Altri comandi

 virsh start  NomeVirtualMachine
 virsh reboot NomeVM
 virsh shutdown  NomeVM
 virsh suspend NomeVM
 virsh resume  NomeVM

 per visualizzare i dettagli di una VM  
 virsh dumpxml NomeVM   

 per reimportare i dati di una VM 
 virsh define  Nome VM 

 cancellare una macchina virtuale
 virsh destroy Nome VM 
 virsh undefine NomeVM

 

Risorse:

KVM: installare Windows Server 2008 64 bit VM

Obiettivo: Installare una macchina virtuale Window Server 2008 su server Ubuntu con KVM utilizzando virt-manager 0.9.3. Lanciare Virtual Machine Manager da menu o da terminale con

virt-manager

Creare il disco virtuale per la VM

Per creare il disco virtuale che ospiterà la Virtual Machine  KVM-QEMU possiamo agire in  più modi possiamo usare l’interfaccia grafica oppure il terminale.

Il formato qcow2 è quello più efficente ed è tipico di kvm-qemu. Mentre il formato raw è da preferire in caso di conversioni della VM. Se non si hanno problemi di spazio disco e si usa il formato raw è preferibile alloccare tutto lo spazio disco.

Creare un disco da 40G in formato raw per Windows 2008 utilizzano il terminale e qemu-img

qemu-img create -f raw WS2008_E.img 40G

Create una nuova macchina Virtuale

Per installare Windows 2008 utilizziamo la ISO specifica in questo caso a 64 bit.

Premere il pulsante New

Creare Windows 2008 VM usando virt-manager

Creazione nuova Virtual Machine Windows Server 2008 – Step 2/5 Selezionare la iso W 2008 e precisare Sistema Operativo e Versione

virt-manager Create New VM 2/5

Step 3/5  –  Nuova Virtual Machine W 2008 indicare la quantità di memoria e il numero di CPU

Step 3/5 Virt-manager new VM

Step 4/5  –  Nuova Virtual Windows Server 2008  Selezionare il disco immagine creato in precedenza e destinato ad accogliere la Virtual Machine

Step 4/5 Virt-manager select disk image

La macchina virtuale è stata creata. E’ possibile visualizzare le opzioni avanzate e customizzare  l’installazione prima di iniziare.

5/5 Creazione standard della VM ultimata

Ultimata la creazione standard della VM, se è stata attivata l’opzione customize, è possibile aggiungere altro hardware con <Add Hardware>. Aggiungiamo ad esempio una seconda NIC conviente usare il device model virtio

Virt-Manager Create VM add NIC
Virt-Manager Create VM add NIC
virt-manager VM check configuration
virt-manager VM check configuration

Prima iniziare l’installazione e possibile rivedere i vari settaggi ed eventualmente modificarli. Quindi avviare l’installazione con <Begin Installation>.

KVM: Installazione di Windows 2008 Server Virt Manager

L’installazione di Windows Server 2008 procederà in modo tradizionale con le varie fasi di selezione/impostazione/installazione: linguaggio, tastiera, partizionamento, …

Start Windows Server 2008 

Completata l’installatione si deve effettuare update

Indicazioni per la configurazione di base  di Windows Server 2008  nel post Windows Server 2008 configuration

Risorse:

Convertire .xva Xenserver Virtual Machine in una VM xen .img e avviare in KVM

kvmObiettivo. Convertire macchine  virtuali Windows XP e Windows 7 formato proprietario .xva,  Xenserver Citrix, in Virtual Machine xen .img ( plain xen ) e avviare la VM in KVM oppure in QEMU.  La conversione del formato .xva  in .img sarà realizzata in modo manuale è si basa su uno script di Carsten in Convert Citrix XenServer images to plain Xen – Tutorials / Howtos – Sysconfig’s Wiki. La procedura è stata usata su .xva generate da xenserver 5.6 e 6.0 con .xva anche da 120 GB e con 5 dischi.

Il formato .xva usato da XenServer è un po’ particolare per non dire stravagante. Per ottenere il formato nativo di xen è necessario decomprimere con tar i files .xva che sono archivi compressi.  La decompressione genera una directory Ref:x che conterrà blocchi da 1 MB.  I blocchi dovranno essere concatenati e gli spazi riempiti.

Decomprimere la VM .xva

Nella fase di decompressione verrà creata un dir del tipo Ref:x

tar xf VM-nome.xva   ## es. tar xf WindowsXP.xva 
...
tar: Ref:18/00008193: implausibly old time stamp 1970-01-01 01:00:00
tar: Ref:18/00008193.checksum: implausibly old time stamp 1970-01-01 01:00:00
... 

Prima di entrare nel directory generata e unire i blocchi. Creare lo script VMConvert.sh utilizzando il codice
di seguito

script VMConvert.sh

#!/bin/bash

dd if=/dev/zero of=blank bs=1024 count=1k
test -f $1.img && rm -f $1.img
touch $1.img

max=`ls ???????? | sort | tail -n1`

for i in `seq 0 $max`; do
        fn=`printf "%08d" $i`
        echo -n "$fn of $max"
        if [ -f "$fn" ]; then
                echo " - appending chunk"
                cat $fn >> $1.img
        else
                echo " - filling blank"
                cat blank >> $1.img
        fi
done

rm -f blank

echo "Done."

Rendiamo eseguibile lo script e passiamo nella dir Ref:x

chmod a+x VMConvert.sh 
cd Ref:x             ## es. cd Ref:18

Creare la VM xen standard

avviare l’operazione di concatenazione che genererà il file .img e la VM xen plain

sudo /percorso/VMconvert.sh  WindowsXP

L’operazione richiederà del tempo alla fine avremo l’immagine WindowsXP.img

Controllo dell’immagine xen .img

Il file .img potrà essere controllato effettuando il mount dell’immagine stessa. Per effettuare il mount è necessario determinare prima l’offset utilizzando  fdisk o parted. Con fdisk

/media/VM/QEMU/libvirt/images$ fdisk -l WindowsXP.img 

Disk WindowsXP.img: 25.8 GB, 25769803776 bytes
255 heads, 63 sectors/track, 3133 cylinders, total 50331648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc4a4c4a4

        Device Boot      Start         End      Blocks   Id  System
WindowsXP.img1   *          63    50315579    25157758+   7  HPFS/NTFS/exFAT

Start a 63 -> Sector size 512 -> offset= 63*512=32256

Determinato l’offset (32256) possiamo montare l’immagine con:

sudo mkdir /mnt/source
mount -o loop,offset=32256 WindowsXP.img /mnt/source

Avviare la VM Windows in KVM

Per avviare la VM WindowsXp che abbiamo convertito da .xva a .img  nell’infrastruttura di virtualizzazione, propria del kernel Linux, KVM spostiamo l’immagine nella dir con le nostre macchine virtuali per kvm.
Quindi Aprire virt-manager e utilizzare l’opzione import existing disk image.

virt -manager KVM import disk

virt -manager KVM import disk

Quindi [Forward]. Selezionare le desiderate e opportune opzioni e in poco tempo avremo la macchina Virutal Running anche in KVM.

virt-manager-WindowXP

Per un rapido test la macchina virtuale poteva essere avviata anche con

kvm -m 1024 -boot d WindowsXP.img

Risorse:

Provare le immagini ISO live in Ubuntu 12.10 – remastersys – qemu

Grazie all’ emulatore QEMU risulta agevole, in ubuntu 12.10 testare  una distribuzione live per la quale sia diponibile una ISO. Ovviamente la modalità si presta anche per provare le proprie ISO create ad esempio con remastersys

Installare qemu con:

sudo apt-get install qemu-kvm

Se si è generata una custom-backup.iso con remastersys può essere avviata ed utilizzata con

kvm -cdrom custom-backup.iso -m 1024 -vga std

Con l’opzione  -m 1024  si intervenie sulla  la RAM da dedicare alla macchina virtuale,  con  -vga std  sulla risoluzione

Per utilizzare anche l’audio utilizzare l’opzione -soundhw ad esempio:

kvm -cdrom custom-backup.iso -m 1024 -vga std -soundhw all

Di seguito alcune schermate di una macchina virtuale Lubuntu 12.10  ottenuta con remastersys opzione backup file custom-backup.iso:
1) avvio

ubuntu 12.10 qemu-remastersys avvio ubuntu 12.10 qemu-remastersys start

 

2) desktop e windows manager a disposizione

ubuntu 12.10 qemu-remastersys

3) environment awesome si nota pcmanfm con protocollo sftp su macchina remota della rete locale la risoluzione video è 1920×1080.

Comunque con qemu possiamo avviare qualsiasi iso live ad esempio se si dispone della iso slax: slax-6.1.2.iso
La live potrà essere eseguita  con :

kvm -cdrom slax-6.1.2.iso -m 512

Sel il PC presenta qualche GB di RAM ( ad esempio 4GB)  L’avvio di ISO con qemu risultarà senz’altro efficace.

Volendo è possibile anche indicare il disco immagine  IDE hard disk 0.
Per creare il disco immagine

qemu-img create  qemu_hda.img 2G

Quindi il comando per lanciare la ISO diventa

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512

oppure

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512 -boot d

Nota: Il formato di default per il disco immagine è raw volendo si può precisare anche il formato vmdk di vmware :    qemu-img create  -f vmdk qemu_hda.vmdk 2G

E possibile anche utilizzare interfaccie grafiche per l’avvio di qemu ad esempio qemu-launcher che si installa con:.

sudo apt-get install qemu-launcher

qemu-laucher

Testare una ISO in Ubuntu 12.04 con qemu

Grazie all’ emulatore QEMU risulta agevole, in ubuntu 12.04, testare  una distribuzione live per la quale sia diponibile una ISO.

Installare qemu con:

sudo apt-get install qemu

Qualora di disponga ad esempio della iso slax: slax-6.1.2.iso

La live potrà essere eseguita  con  :

kvm -cdrom slax-6.1.2.iso -m 512

Con -m viene specificata la RAM da dedicare.

Sel il PC presenta qualche GB di RAM ( ad esempio 4GB)  L’avvio di ISO con qemu risultarà senz’altro efficace.

Volendo è possibile anche indicare il disco immagine  IDE hard disk 0.
Per creare il disco immagine

qemu-img create  qemu_hda.img 2G

Quindi il comando per lanciare la ISO diventa

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512

oppure

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512 -boot d

Nota: Il formato di default per il disco immagine è raw volendo si può precisare anche il formato vmdk di vmware :    qemu-img create  -f vmdk qemu_hda.vmdk 2G

Categorie:Server Tag:, , , ,