Created on 07 Mar 2013 ; Modified on 08 Mar 2013
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?
Da un punto di vista macroscopico dobbiamo:
Come spesso accade, la parte più delicata è l'ultima voce. Vediamo le attività una per volta.
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.
L'installazione di VM VirtualBox è semplice:
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:
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:
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:
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:
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:
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:
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:
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.
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 +.
Il gestore delle VM ci chiederà
se vogliamo utilizzare un CD/DVD virtuale, come nell'immagine seguente
Spingiamo il pulsante Scegli il disco e navighiamo sul file system fino ad individuare
il file ISO che abbiamo scaricato:
Conclusa l'operazione avremo una situazione come segue:
.
A questo punto possiamo avviare la macchina virtuale che, trovato il disco di
installazione di CentOS, a sua volta lo farà partire:
L'installazione, ovviamente è del tutto standard. Salvo un messaggio che
avvisa della necessità di reinizializzare il drive 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.
Effettuiamo il login come root, e:
"Hurra", ecco il nostro agognato sistema pronto per la configurazione:
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.
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
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
Con il seguente comando in CentOS riavviamo i servizi di rete:
# service network restart
Buon lavoro
CentOS as a Guest OS in VirtualBox
CentOS 5 Interface configuration files
Red Hat 6 Interface configuration files
How To: Disable Firewall on RHEL / CentOS / RedHat Linux
Ma ho installato senza problemi sistemi simili in macchine XP dotate di un solo GB di RAM. ↩
In Windows 7: Start | Tutti i programmi | Oracle VM VirtualBox | Oracle VM VirtualBox. ↩
Da non confondere con la configurazione della singola macchina virtuale, che vedremo oltre. ↩
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. ↩
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. ↩
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. ↩
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. ↩
La versione minimale di CentOS include vi come file editor. ↩