Created on 07 Mar 2013 ;    Modified on 08 Mar 2013

Virtualbox: installare un guest centos 6 in un host windows 7

Premessa

Avendo lavorato qualche anno (una ventina, per ora :-) nel settore della Information Technology, ho acquisito un concetto piuttosto semplice, ma che a volte non viene messo in pratica per motivi economici:

ogni tipo di sistema in produzione deve avere un suo equivalente sistema di test (anche detto di laboratorio).

Se il sistema in produzione è un piccolo WEB server, il cui costo di mantenimento annuo ammonta a una cifra dell'ordine del centinaio di euro, non è economicamente ragionevole acquistare un secondo WEB server solo per fare laboratorio.

In casi come questo, la virtualizzazione ci può dare una mano. Sopratutto se possiamo utilizzare componenti open source, montati su computer già utilizzati per altri scopi. Quindi, perché non allestire nel nostro desktop (o laptop) di casa un server virtuale su cui sperimentare configurazioni ed installazioni prima di eseguire la relativa attività sul server in produzione?

Bene, l'elenco della spesa è semplice.

Quali sono le conoscenze necessarie?

In generale

Da un punto di vista macroscopico dobbiamo:

  1. scaricare Virtual Box e CentOS;
  2. installare Virtual Box;
  3. creare una macchina virtuale per CentOS
  4. e installarla;
  5. configurare la macchina virtuale per poter andare in rete.

Come spesso accade, la parte più delicata è l'ultima voce. Vediamo le attività una per volta.

scaricare Virtual Box e CentOS

Questa è la parte facile.

Facciamo il download di VM VirtualBox. Ci potrà essere utile anche il download di VM VirtualBox Extension Pack.

Dopo di che effettuiamo il download di CentOS. Il puntamento è ad una versione 6.3 minimale, in formato ISO, per sistemi host a 64 bit, ospitata nel sito WEB dell'Università Roma 2. CentOS si appoggia a siti mirror per il download dei suoi corposi file. La versione minimal contiene solo i servizi essenziali, per un totale di circa 329 MB. Le versioni normali sono in un paio di DVD, per oltre 4 GB di dati. Se si vuole scaricare una di queste versioni, è meglio armarsi di santa pazienza e di un client torrent per scaricare con calma dalla rete paritetica usando il torrent ai DVD.

Installare VirtualBox

L'installazione di VM VirtualBox è semplice:
presentazione dell'installatore di VM VirtualBox

Basta avviare l'eseguibile con i diritti di amministratore e dare le risposte di default alle richieste dell'applicazione.

Nell'ultima fase dell'installazione, bisogna accettare diversi driver di dispositivo, necessari a VirtualBox per gestire le porte USB, piuttosto che l'accesso alla rete dati. Un esempio è riportato nella figura che segue:
richiesta di installazione del virtualizzatore del controller USB di VM VirtualBox

Un aspetto cui fare attenzione, è la directory in cui VM VirtualBox salverà le macchine virtuali che creeremo. La directory standard di Windows può essere scomoda da raggiungere. Eventualmente sostituiamo questo path con qualcosa di più breve ed intuitivo.

Avviamo VM VirtualBox2. Si presenterà la finestra del gestore delle macchine virtuali:
gestore delle macchine virtuali

L'esempio mostrato è il messaggio che viene visualizzato con l'ambiente appena installato. Avverte che il pannello a sinistra è vuoto perché ancora non sono state create macchine virtuali.

I parametri di configurazione del gestore delle macchine virtuali3 si modificano scegliendo la voce di menù File | Preferenze. La quale apre il pannello seguente:
impostazioni generali del gestore

Alla voce Generale del menù sx di questa finestra troviamo la cartella predefinita macchine, in cui mettere il path della directory in cui salvare le macchine virtuali che creeremo.

Mentre alla voce Estensioni del menù sx possiamo controllare le estensioni VM VirtualBox. Installiamo la Oracle VM VirtualBox Extension Pack, spingendo il pulsante a dx dell'elenco dei pacchetti di estensione installati. Elenco che nella seguente figura appare vuoto:
estensioni del gestore

Quando installiamo lo Extension Pack facciamo attenzione che il suo numero di versione coincida con quello di VM VirtualBox. Lo controlliamo facilmente nella finestra di avvertimento prima della effettiva installazione, come segue:
richiesta di conferma installazione della estensione

Creare una macchina virtuale per CentOS

Anche la creazione di una macchina virtuale è divenuta piuttosto semplice.

Lo si fa scegliendo nel gestore delle macchine virtuali la voce di menù Macchina | Nuova. Si aprirà la finestra modale:
crea macchina virtuale

In questa diamo un nome alla nuova macchina virtuale, selezioniamo il tipo (Linux) e la Versione (Red Hat(64bit)4). Proseguendo usiamo i default proposti dal sistema6.

Ora curiamo il modo in cui la macchina virtuale si interfaccia con la rete. Volendo configurare un server, dovremo utilizzare la modalità bridge. Per farlo, selezioniamo la macchina appena creata nel pannello a sx della finestra del gestore delle macchine virtuali, e selezioniamo la voce di menù Macchina | Impostazioni e nella relativa finestra modale, la voce Rete come illustrato qui sotto:
impostazioni di rete della macchina virtuale

Nella figura precedente sono già selezionati i valori che ci interessano nella Scheda 1 (l'unica che configuriamo):

Maggiori dettagli riguardo le possibili configurazioni di rete li possiamo avere consultando questo link.

Installare CentOS

Bene, ora che abbiamo creato la macchina virtuale, abbiamo l'equivalente di un computer senza sistema operativo: ovvero, qualcosa che non serve a nulla.

Proseguiamo installando CentOS.

All'avvio della macchina virtuale, dovremo fare in modo che questa sappia dove trovare l'immagine del CD d'installazione di CentOS.

Se abbiamo un CD (o un DVD) d'installazione possiamo utilizzarlo direttamente. Se, come indicato in precedenza, abbiamo scaricato il file ISO, possiamo utilizzare il file su HDU, senza dover masterizzare per forza un CD. Per indicare al sistema dove trovarlo, nel gestore delle macchine virtuali, selezioniamo la nostra macchina e poi la voce di menù Macchina | Impostazioni. Nella successiva finestra modale scegliamo la voce Archiviazione dal pannello sx, e dall'elenco Albero di archiviazione alla voce Controller:IDE selezioniamo il pulsante in alto a dx che raffigura un CD con il segno +.
aggiunta di un CD

Il gestore delle VM ci chiederà se vogliamo utilizzare un CD/DVD virtuale, come nell'immagine seguente
scelta del CD virtuale

Spingiamo il pulsante Scegli il disco e navighiamo sul file system fino ad individuare il file ISO che abbiamo scaricato:
scelta del file ISO

Conclusa l'operazione avremo una situazione come segue:
controller IDE pronto per l'installazione
.

A questo punto possiamo avviare la macchina virtuale che, trovato il disco di installazione di CentOS, a sua volta lo farà partire:
avvio dell'installazione di CentOS

L'installazione, ovviamente è del tutto standard. Salvo un messaggio che avvisa della necessità di reinizializzare il drive ATA VBOX HARDDISK:
reinizializzazione ata vbox harddisk

Dopo di che, è necessario armarsi di pazienza: l'installazione degli oltre duecento pacchetti di CentOS sulla macchina virtuale non è cosa di pochi secondi.

Comunque, conclusa l'installazione, riavviamo per la prima configurazione.

configurare la macchina virtuale per poter andare in rete.

Effettuiamo il login come root, e: "Hurra", ecco il nostro agognato sistema pronto per la configurazione:
shell comandi

Come usuale con le ultime versioni di CentOS, osserviamo che il sistema non è configurato per l'utilizzo della rete. L'unica interfaccia di rete configurata è il local loopback: 127.0.0.1.

Decidiamo:

A questo punto dobbiamo in CentOS:

La disattivazione del firewall è una opzione estrema. Qui la adottiamo perché andiamo di fretta, e stiamo lavorando ad un sistema di laboratorio. Per nessun motivo lo faremmo in un sistema di produzione.

Attivare la rete

Dobbiamo modificare con un file editor alcuni dei parametri nei file di configurazione della rete di CentOS.

Nel file /etc/sysconfig/network-scripts/ifcfg-eth0 impostiamo l'IP fisso:

DEVICE="eth0"
HWADDR=specifc mac address
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="192.168.0.254"
NETMASK="255.255.255.0"

Nel file /etc/sysconfig/network impostiamo hostname e gateway:

NETWORKING=yes
HOSTNAME=lab01.defalcoalfano.it
GATEWAY="192.168.0.1"

Nel file /etc/resolv.conf mettiamo gli indirizzi dei DNS:

nameserver 192.168.0.1

Si noti che in /etc/resolv.conf non abbiamo usato le virgolette per l'indirizzo IP.

Se non è necessario l'uso dell'IPv6, disabilitiamolo in /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Disattivare il firewall

Per disattivare il firewall in CentoOS è necessario intervenire sul servizio di filtraggio dei pacchetti. Il comando utilizzato in shell è iptables come segue (i # indicano i prompt di sistema, non vanno digitati):

# service iptables save
# service iptables stop
# chkconfig iptables off
Riavviare i servizi di rete

Con il seguente comando in CentOS riavviamo i servizi di rete:

# service network restart

Buon lavoro

Riferimenti

CentOS as a Guest OS in VirtualBox

CentOS 5 Interface configuration files

Red Hat 6 Interface configuration files

RHEL/CentOS 6 Networking

How To: Disable Firewall on RHEL / CentOS / RedHat Linux


  1. Ma ho installato senza problemi sistemi simili in macchine XP dotate di un solo GB di RAM. 

  2. In Windows 7: Start | Tutti i programmi | Oracle VM VirtualBox | Oracle VM VirtualBox

  3. Da non confondere con la configurazione della singola macchina virtuale, che vedremo oltre. 

  4. In figura è illustrato RedHat 32 bit, non il 64. Inoltre, VM VirtalBox non ha un modello specifico per CentOS. D'altro canto CentOS è una customizzazione di Red Hat in cui vengono tolte tutte le componenti soggette a copyright. Da qui la possibilità di utilizzare in VM VirtualBox il modello Linux | Red Hat

  5. Nell'esempio in figura, il controller Realtek gestisce la scheda di rete collegata con un cavo LAN. Esiste nel PC un altro controller, che gestisce la rete Wireless. Se possibile, meglio utilizzare il cavo. 

  6. I parametri suggeriti sono validi per una installazione minima. Se si vuole poter installare graficamente, si porti la RAM ad almeno 768 MB. Per la dimensione dell'HDU non scendere sotto gli 8 GB. Se si ha intenzione di installare un buon numero di servizi e/o l'iterfaccia grafica, la dimensione consigliata per l'HDU è di 15 GB. 

  7. Attenzione: gli indirizzi IP del server, del Gateway e del server DNS vanno adattati in funzione della configurazione della LAN su cui affaccia il server. 

  8. La versione minimale di CentOS include vi come file editor.