Virtualizzazione · 5 min read · Feb 09, 2026

La Configurazione Perfetta di Xen 3.0.3 per Debian Sarge - Pagina 7

5.2 Creare Una Macchina Virtuale (domU)

(Nota: la creazione dell’immagine dipende da se hai installato Xen dai sorgenti o dai binari. Se hai installato Xen dai sorgenti, fai riferimento al capitolo 4.4!)

Successivamente creiamo un’immagine di una macchina virtuale. Sarà un sistema Debian di base. Questa immagine sarà il modello per tutte le nostre macchine virtuali. Ogni volta che vogliamo creare una nuova macchina virtuale, copiamo semplicemente questa immagine, creiamo un nuovo file di configurazione Xen e avviamo la copia, e poi possiamo continuare a configurare la copia secondo le nostre esigenze (ad esempio installare un server di posta, un server web, un server DNS, ecc. su di essa). Tutte le nostre immagini saranno sulla partizione /vserver che dovrebbe essere la più grande che abbiamo.

mkdir /vserver/vm_base  
mkdir /vserver/images

Ora creiamo un file immagine di 1 GB e un’immagine di swap di 500 MB. Alla fine, le macchine virtuali avranno 1 GB di spazio e 500 MB di swap. Questi sono solo valori di esempio, nel mondo reale potresti voler avere più spazio per le tue macchine virtuali (ad esempio tra 5 e 30 GB), quindi aumenta semplicemente il valore di count per creare immagini più grandi.

dd if=/dev/zero of=/vserver/images/vm_base.img bs=1024k count=1000  
dd if=/dev/zero of=/vserver/images/vm_base-swap.img bs=1024k count=500

Poi formattiamo /vserver/images/vm_base.img con ext3 e vm_base-swap.img con swap:

mkfs.ext3 /vserver/images/vm_base.img

Quando vedi quanto segue, rispondi con y:

/vserver/images/mail.img is not a block special device.  
Proceed anyway? (y,n) <-- y
mkswap /vserver/images/vm_base-swap.img

5.2.1 Installare Un Debian Di Base Nell’Immagine

Per installare un sistema Debian di base nella nostra immagine, montiamo l’immagine, eseguiamo debootstrap e alcuni altri comandi:

mount -o loop /vserver/images/vm_base.img /vserver/vm_base  
debootstrap --arch i386 sarge /vserver/vm_base/ http://ftp2.de.debian.org/debian
chroot /vserver/vm_base  
apt-setup

Ti viene posta la seguente domanda:

Metodo di accesso all’archivio per apt: <– http

Quindi seleziona un mirror vicino a te.

Successivamente, modifica /etc/apt/sources.list e sostituisci testing con stable. Ecco come appare il mio /etc/apt/sources.list:

vi /etc/apt/sources.list

| deb http://ftp2.de.debian.org/debian/ stable main deb-src http://ftp2.de.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main |

Poi esegui

apt-get update

Ora impostiamo le nostre localizzazioni. Se non lo facciamo ora, vedremo alcuni avvisi brutti durante la configurazione di base come questi:

| perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_DE:en_US:en_GB:en", LC_ALL = (unset), LANG = "en_US" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory |

Non sono gravi, ma brutti… Quindi eseguiamo

apt-get install localeconf

Ti verranno poste alcune domande:

Seleziona le localizzazioni da generare. <– en_US ISO-8859-1
Quale localizzazione dovrebbe essere quella predefinita nell’ambiente di sistema? <– en_US
Gestire i file di configurazione delle localizzazioni con debconf? <– Sì
Impostazioni ambientali che dovrebbero sovrascrivere la localizzazione predefinita: <– non selezionare nulla
Sostituire i file di configurazione delle localizzazioni esistenti? <– Sì
Localizzazione di sistema predefinita: <– ad esempio en_US ISO-8859-1

Successivamente esegui

base-config

Vedrai un menu con opzioni di installazione. Ecco cosa facciamo:

  1. Configurare il fuso orario
  2. Configurare utenti e password
  3. Selezionare e installare pacchetti (quando si tratta di Scegliere il software da installare:, puoi scegliere quello che vuoi; io, tuttavia, non scelgo nulla perché voglio installare un sistema di base.)
  4. Finire di configurare il sistema di base

Non occuparti degli altri elementi del menu, non ne hai bisogno. Poi rimuoviamo nfs-common e cancelliamo /etc/hostname:

apt-get remove nfs-common

Poi modifica /etc/fstab. Dovrebbe apparire così:

vi /etc/fstab

| /dev/hda1 / ext3 defaults 1 2 /dev/hda2 none swap sw 0 0 /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 |

Poi crea /etc/hosts:

vi /etc/hosts

| 127.0.0.1 localhost.localdomain localhost # Le seguenti righe sono desiderabili per host compatibili con IPv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |

Poi fai questo:

mkdir /lib/modules/2.6.16.29-xen  
depmod 2.6.16.29-xen

Successivamente modifichiamo gli script /etc/init.d/hwclock.sh e /etc/init.d/hwclockfirst.sh e aggiungiamo la riga exit 0 proprio all’inizio perché altrimenti questi due script rallenteranno davvero l’avvio delle nostre macchine virtuali:

vi /etc/init.d/hwclock.sh

| #!/bin/sh # hwclock.sh Imposta e regola l'orologio CMOS, secondo l'UTC # impostazione in /etc/default/rcS (vedi anche rcS(5)). # # Versione: @(#)hwclock.sh 2.00 14-Dic-1998 [email protected] # # Patch: # 2000-01-30 Henrique M. Holschuh <[email protected]> # - Piccole modifiche cosmetiche nel tentativo di aiutare i nuovi # utenti a notare che qualcosa STA cambiando i loro orologi # durante l'avvio/shutdown. # - Aggiunti commenti per avvisare gli utenti di problemi con hwclock # e scoraggiare la manomissione senza una lettura adeguata della documentazione. # AVVISO: Si prega di leggere /usr/share/doc/util-linux/README.Debian.hwclock # prima di modificare questo file. Rischi di comportamenti seri dell'orologio. exit 0 [...] |

vi /etc/init.d/hwclockfirst.sh

| #!/bin/bash # hwclockfirst.sh Imposta l'orologio di sistema all'orologio hardware, secondo l'UTC # impostazione in /etc/default/rcS (vedi anche rcS(5)). # # AVVISO: Esegue senza permessi di scrittura su /etc, e prima # di montare tutti i filesystem! Se hai bisogno di permessi di scrittura # per fare qualcosa, fallo in hwclock.sh. # # AVVISO: Se il tuo orologio hardware non è in UTC/GMT, questo script # deve conoscere il fuso orario locale. Queste informazioni sono # memorizzate in /etc/localtime. Questo potrebbe essere un problema se # il tuo /etc/localtime è un collegamento simbolico a qualcosa in # /usr/share/zoneinfo E /usr non è nella partizione root! # La soluzione alternativa è definire TZ o # in /etc/default/rcS, o nel posto appropriato qui sotto. # # RICORDA DI MODIFICARE ANCHE hwclock.sh! # Imposta questo su eventuali opzioni che potresti dover fornire a hwclock, come # il tipo di orologio hardware della macchina per Alphas. exit 0 HWCLOCKPARS= [...] |

Ora usciamo dall’ambiente chroot:

exit

Poi smontiamo l’immagine:

mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled  
fuser -k /vserver/vm_base  
umount /vserver/vm_base

Ora il nostro modello di immagine della macchina virtuale è pronto!

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.