Virtualizzazione · 4 min read · Oct 22, 2025

Installazione di Xen su un server Ubuntu 8.04 (Hardy Heron) dai repository di Ubuntu - Pagina 2

3 Creazione di macchine virtuali (domU)

Ora creiamo il nostro primo dominio ospite, xen1.example.com, che esegue Hardy Heron (hardy) con l’indirizzo IP 192.168.0.101:

xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Molti switch sono superflui qui perché abbiamo specificato gli stessi dettagli in /etc/xen-tools/xen-tools.conf, ma dimostra che puoi specificare le impostazioni desiderate sia nella riga di comando che in /etc/xen-tools/xen-tools.conf. Assicurati di specificare –ide, altrimenti la tua macchina virtuale potrebbe non avviarsi!

(Per saperne di più sulle opzioni disponibili, dai un’occhiata alla pagina man di xen-create-image:

man xen-create-image

)

Il comando xen-create-image ora creerà la macchina virtuale xen1.example.com per noi. Questo potrebbe richiedere alcuni minuti. L’output dovrebbe essere simile a questo:

root@server1:~# xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
> --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
> --dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
> --initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
> --mirror=http://archive.ubuntu.com/ubuntu/ --passwd  
  
Informazioni generali  
--------------------  
Nome host       :  xen1.example.com  
Distribuzione   :  hardy  
Partizioni     :  swap            256Mb (swap)  
                  /               2Gb   (ext3)  
Tipo di immagine :  sparse  
Dimensione della memoria :  64Mb  
Percorso del kernel :  /boot/vmlinuz-2.6.24-16-xen  
Percorso di Initrd :  /boot/initrd.img-2.6.24-16-xen  
  
Informazioni di rete  
----------------------  
Indirizzo IP 1   : 192.168.0.101 [MAC: 00:16:3E:62:DA:BB]  
Netmask        : 255.255.255.0  
Broadcast      : 192.168.0.255  
Gateway        : 192.168.0.1  
  
  
Creazione dell'immagine della partizione: /home/xen/domains/xen1.example.com/swap.img  
Fatto  
  
Creazione dello swap su /home/xen/domains/xen1.example.com/swap.img  
Fatto  
  
Creazione dell'immagine della partizione: /home/xen/domains/xen1.example.com/disk.img  
Fatto  
  
Creazione del filesystem ext3 su /home/xen/domains/xen1.example.com/disk.img  
Fatto  
Metodo di installazione: debootstrap  
Fatto  
  
Esecuzione dei ganci  
Fatto  
  
Nessun script di ruolo è stato specificato.  Salto  
  
Creazione del file di configurazione di Xen  
Fatto  
Impostazione della password di root  
Inserisci nuova password UNIX:  
Reinserisci nuova password UNIX:  
passwd: password aggiornata con successo  
Tutto fatto  
  
  
File di log prodotto in:  
         /var/log/xen-tools/xen1.example.com.log  
root@server1:~#

Ora dovrebbe esserci un file di configurazione xen1.example.com - /etc/xen/xen1.example.com.cfg. Dai un’occhiata per familiarizzare con i file di configurazione delle macchine virtuali:

cat /etc/xen/xen1.example.com.cfg

| # File di configurazione per l'istanza Xen xen1.example.com, creato # da xen-tools 3.8 il Mar Mag 6 16:01:38 2008. # # Kernel + dimensione della memoria # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' # # Dispositivo(i) disco. # root = '/dev/hda2 ro' disk = [ 'file:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'file:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] # # Nome host # name = 'xen1.example.com' # # Rete # vif = [ 'ip=192.168.0.101,mac=00:16:3E:62:DA:BB' ] # # Comportamento # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' extra = '2 console=xvc0' |

Il parametro file: è ora deprecato in Xen 3.2, quindi dobbiamo modificare /etc/xen/xen1.example.com.cfg ora e sostituire file: con tap:aio: (altrimenti riceverai un errore simile a questo:

Error: Device 769 (vbd) could not be connected. losetup /dev/loop0 /home/xen/domains/xen1.example.com/swap.img failed

quando provi ad avviare una vm - vedi http://ubuntuforums.org/showthread.php?t=770902 come riferimento):

vi /etc/xen/xen1.example.com.cfg

| [...] disk = [ 'tap:aio:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] [...] |

(Nota: se hai una CPU dual-core e vuoi che la macchina virtuale utilizzi entrambi i core della CPU, aggiungi la riga vcpus = ‘2’ al file di configurazione, in questo modo:

vi /etc/xen/xen1.example.com.cfg

| # File di configurazione per l'istanza Xen xen1.example.com, creato # da xen-tools 3.8 il Lun Mag 5 16:49:32 2008. # # Kernel + dimensione della memoria # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' vcpus = '2' [...] |

Successivamente, nella macchina virtuale, puoi eseguire il comando

cat /proc/cpuinfo

per controllare che entrambi i core della CPU siano utilizzati dalla macchina virtuale. L’output potrebbe apparire così se la tua vm sta utilizzando entrambi i core:

xen1:~# cat /proc/cpuinfo  
processore       : 0  
vendor_id       : AuthenticAMD  
family_cpu      : 15  
modello           : 75  
nome_modello      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu_MHz         : 2210.054  
cache_size      : 512 KB  
fdiv_bug        : no  
hlt_bug         : no  
f00f_bug        : no  
coma_bug        : no  
fpu             : yes  
fpu_exception   : yes  
cpuid_level     : 1  
wp              : yes  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
processore       : 1  
vendor_id       : AuthenticAMD  
family_cpu      : 15  
modello           : 75  
nome_modello      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu_MHz         : 2210.054  
cache_size      : 512 KB  
fdiv_bug        : no  
hlt_bug         : no  
f00f_bug        : no  
coma_bug        : no  
fpu             : yes  
fpu_exception   : yes  
cpuid_level     : 1  
wp              : yes  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
xen1:~#

)

Per avviare la macchina virtuale, esegui

xm create /etc/xen/xen1.example.com.cfg

Esegui

xm console xen1.example.com

per accedere a quella macchina virtuale (digita CTRL+] se sei alla console, o CTRL+5 se stai usando PuTTY per tornare a dom0), oppure usa un client SSH per connetterti ad essa (192.168.0.101).

Nella macchina virtuale (quando la usi per la prima volta), esegui

mv /lib/tls /lib/tls.disabled

Ora torniamo al sistema host (dom0). Per ottenere un elenco delle macchine virtuali in esecuzione, digita

xm list

L’output dovrebbe apparire così:

root@server1:~# xm list  
Nome                                        ID   Mem VCPUs      Stato   Tempo(s)  
Domain-0                                     0   569     1     r-----    103.6  
xen1.example.com                             1    64     1     -b----     60.8  
root@server1:~#

Per spegnere xen1.example.com, fai così:

xm shutdown xen1.example.com

Se vuoi che vm01 si avvii automaticamente al prossimo avvio del sistema, fai così:

ln -s /etc/xen/xen1.example.com.cfg /etc/xen/auto

Ecco i comandi Xen più importanti:

xm create -c /path/to/config - Avvia una macchina virtuale.
xm shutdown - Ferma una macchina virtuale.
xm destroy - Ferma immediatamente una macchina virtuale senza spegnerla. È come se spegnessi il pulsante di accensione.
xm list - Elenca tutti i sistemi in esecuzione.
xm console - Accedi a una macchina virtuale.
xm help - Elenco di tutti i comandi.

Creiamo una seconda vm, xen2.example.com con l’indirizzo IP 192.168.0.102:

xen-create-image --hostname=xen2.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.102 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Poi apri il file di configurazione della vm, /etc/xen/xen2.example.com.cfg, e sostituisci di nuovo file: con tap:aio:

vi /etc/xen/xen2.example.com.cfg

| [...] disk = [ 'tap:aio:/home/xen/domains/xen2.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen2.example.com/disk.img,hda2,w', ] [...] |

Successivamente, puoi avviare xen2.example.com in questo modo:

xm create /etc/xen/xen2.example.com.cfg

(Non dimenticare di eseguire

xm console xen2.example.com

e

mv /lib/tls /lib/tls.disabled

quando sei nella vm per la prima volta!)

… e spegnerlo in questo modo:

xm shutdown xen2.example.com

Un elenco di tutte le macchine virtuali create con il comando xen-create-image è disponibile sotto

xen-list-images
root@server1:~# xen-list-images  
Nome: xen1.example.com  
Memoria: 64  
IP: 192.168.0.101
Nome: xen2.example.com  
Memoria: 64  
IP: 192.168.0.102  
root@server1:~#

Per saperne di più su cosa puoi fare con xen-tools, dai un’occhiata a questo tutorial: https://www.howtoforge.com/xen_tools_xen_shell_argo

4 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.