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/imagesOra 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=500Poi formattiamo /vserver/images/vm_base.img con ext3 e vm_base-swap.img con swap:
mkfs.ext3 /vserver/images/vm_base.imgQuando vedi quanto segue, rispondi con y:
/vserver/images/mail.img is not a block special device.
Proceed anyway? (y,n) <-- ymkswap /vserver/images/vm_base-swap.img5.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/debianchroot /vserver/vm_base
apt-setupTi 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 updateOra 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 localeconfTi 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-configVedrai un menu con opzioni di installazione. Ecco cosa facciamo:
- Configurare il fuso orario
- Configurare utenti e password
- 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.)
- 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-commonPoi 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-xenSuccessivamente 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:
exitPoi smontiamo l’immagine:
mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled
fuser -k /vserver/vm_base
umount /vserver/vm_baseOra il nostro modello di immagine della macchina virtuale è pronto!
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.