Virtualizzazione · 5 min read · Dec 31, 2025
VBoxHeadless - Esecuzione di Macchine Virtuali Con VirtualBox 4.0 Su Un Server CentOS 5.6 Senza Interfaccia Grafica
VBoxHeadless - Esecuzione di Macchine Virtuali Con VirtualBox 4.0 Su Un Server CentOS 5.6 Senza Interfaccia Grafica
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Questa guida spiega come puoi eseguire macchine virtuali con VirtualBox 4.0 su un server CentOS 5.6 senza interfaccia grafica. Normalmente utilizzi l’interfaccia grafica di VirtualBox per gestire le tue macchine virtuali, ma un server non ha un ambiente desktop. Fortunatamente, VirtualBox viene fornito con uno strumento chiamato VBoxHeadless che ti consente di connetterti alle macchine virtuali tramite una connessione desktop remota, quindi non c’è bisogno dell’interfaccia grafica di VirtualBox.
Non fornisco alcuna garanzia che questo funzionerà per te!
1 Nota Preliminare
Ho testato questo su un server CentOS 5.6 (sistema host) con l’indirizzo IP 192.168.0.100 dove sono loggato come utente normale (nome utente admin in questo esempio) invece che come root.
Se hai solo un account root, ma nessun account utente normale, creane uno come segue (utente admin, gruppo admin)…
# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin… crea una password per il nuovo utente…
# passwd admin… e accedi come quell’utente.
2 Installazione di VirtualBox
Per installare VirtualBox 4.0 sul nostro server CentOS 5.6, abbiamo bisogno dei privilegi di root, quindi eseguiamo
$ suOra abilitiamo il repository RPMforge sul nostro sistema CentOS poiché il pacchetto dkms ( Dynamic Kernel Module Support Framework - questo pacchetto è necessario per costruire il modulo del kernel di VirtualBox) che stiamo per installare non è disponibile nei repository ufficiali di CentOS 5.6:
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt# cd /tmp
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm(Se il link sopra non funziona più, puoi trovare la versione attuale di rpmforge-release qui: http://packages.sw.be/rpmforge-release/)
Poi installiamo le dipendenze per VirtualBox 4.0 come segue:
# yum groupinstall 'Development Tools'# yum groupinstall 'Development Libraries'# yum install SDL kernel-devel kernel-headers dkmsCon l’ultimo comando abbiamo installato gli header del kernel del nostro kernel attualmente in uso. Gli header si trovano nella directory /usr/src/kernels/, ma è probabile che la sua directory non sia denominata
Controlla la tua versione del kernel…
# uname -r[root@server1 kernels]# uname -r
2.6.18-238.el5
[root@server1 kernels]#… e architettura:
# uname -m[root@server1 2.6.18-238.el5]# uname -m
x86_64
[root@server1 2.6.18-238.el5]#Questo significa che dovrebbe esserci una directory chiamata 2.6.18-238.el5-x86_64 nella directory /usr/src/kernels/. Possiamo controllare questo ora:
# cd /usr/src/kernels/
# ls -l[root@server1 kernels]# ls -l
total 4
drwxr-xr-x 19 root root 4096 Mag 19 14:26 2.6.18-238.9.1.el5-x86_64
[root@server1 kernels]#Come vedi, ho la directory 2.6.18-238.9.1.el5-x86_64, ma non 2.6.18-238.el5-x86_64. Pertanto creiamo un symlink chiamato 2.6.18-238.el5-x86_64 che punta a 2.6.18-238.9.1.el5-x86_64:
# ln -s 2.6.18-238.9.1.el5-x86_64 `uname -r`-`uname -m`Successivamente scarica e registra la chiave pubblica rpm di VirtualBox:
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
# rpm --import oracle_vbox.asc
# rm -f oracle_vbox.ascOra abilitiamo il repository di VirtualBox CentOS sul nostro sistema:
# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repoPossiamo ora semplicemente installare VirtualBox 4.0 come segue:
# yum install VirtualBox-4.0Se l’installazione ha esito positivo, l’output dovrebbe terminare come segue:
[...]
Esecuzione Transazione
Installazione : VirtualBox-4.0 1/1
Creazione del gruppo 'vboxusers'. Gli utenti VM devono essere membri di quel gruppo!
Nessun modulo precompilato per questo kernel trovato -- tentativo di costruirne uno. Messaggi
emessi durante la compilazione del modulo saranno registrati in /var/log/vbox-install.log.
Arresto dei moduli del kernel di VirtualBox [ OK ]
Disinstallazione dei vecchi moduli del kernel DKMS di VirtualBox [ OK ]
Tentativo di registrare i moduli del kernel di VirtualBox utilizzando DKMS [ OK ]
Avvio dei moduli del kernel di VirtualBox [ OK ]
Installato:
VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1
Completato!
[root@server1 kernels]#(Se l’installazione fallisce perché la directory degli header del kernel corretta non può essere trovata, l’output terminerà come segue:
[...]
Creazione del gruppo 'vboxusers'. Gli utenti VM devono essere membri di quel gruppo!
Nessun modulo precompilato per questo kernel trovato -- tentativo di costruirne uno. Messaggi
emessi durante la compilazione del modulo saranno registrati in /var/log/vbox-install.log.
Arresto dei moduli del kernel di VirtualBox [ OK ]
Disinstallazione dei vecchi moduli del kernel DKMS di VirtualBox [ OK ]
Tentativo di registrare i moduli del kernel di VirtualBox utilizzando DKMS
Errore! Gli header del tuo kernel per il kernel 2.6.18-238.el5 non possono essere trovati in
/lib/modules/2.6.18-238.el5/build o /lib/modules/2.6.18-238.el5/source.
[FAILED]
(Fallito, tentativo senza DKMS)
Ricompilazione dei moduli del kernel di VirtualBox [FAILED]
(Guarda /var/log/vbox-install.log per scoprire cosa è andato storto)
Installato:
VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1
Completato!
[root@server1 yum.repos.d]#In questo caso, prova a creare il symlink del kernel corretto (come mostrato prima) e poi esegui
# /etc/init.d/vboxdrv setupper creare il modulo del kernel di VirtualBox.)
Ora dobbiamo aggiungere l’utente che eseguirà VirtualBox (admin in questo esempio) al gruppo vboxusers:
# /usr/sbin/usermod -G vboxusers adminVirtualBox è ora installato e pronto per essere utilizzato.
Digita
# exitper uscire dall’account root e diventare di nuovo un utente normale (admin).
3 Utilizzo di VirtualBox dalla Riga di Comando
3.1 Creazione di una VM
Per creare una VM dalla riga di comando, possiamo utilizzare il comando VBoxManage. Vedi
$ VBoxManage --helpper un elenco degli switch disponibili e (altamente consigliato!) dai un’occhiata a http://www.virtualbox.org/manual/ch08.html.
Ora creerò una VM Ubuntu 11.04 Server con 512MB di memoria e un hard disk da 10GB dall’immagine iso di Ubuntu 11.04 Server (che ho memorizzato in /home/ubuntu-11.04-server-amd64.iso):
$ VBoxManage createvm --name "Ubuntu 11.04 Server" --register
$ VBoxManage modifyvm "Ubuntu 11.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_11_04_Server.vdi --size 10000
$ VBoxManage storagectl "Ubuntu 11.04 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_11_04_Server.vdi
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-11.04-server-amd64.iso3.2 Importazione di una VM Esistente
Supponiamo che tu abbia una VM chiamata examplevm che desideri riutilizzare su questo host. Sul vecchio host, dovresti avere una directory Machines/examplevm nella directory di VirtualBox; Machines/examplevm dovrebbe contenere il file examplevm.xml. Copia la directory examplevm (incluso il file examplevm.xml) nella tua nuova directory Machines (se il tuo nome utente è admin, questa è /home/admin/.VirtualBox/Machines - il risultato dovrebbe essere /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml).
In aggiunta a ciò copia il file examplevm.vdi dalla vecchia directory VDI a quella nuova (ad esempio /home/admin/.VirtualBox/VDI/examplevm.vdi).
Dopo, devi registrare la VM importata:
$ VBoxManage registervm Machines/examplevm/examplevm.xml3.3 Avvio di una VM Con VBoxHeadless
Indipendentemente dal fatto che tu crei una nuova VM o importi una vecchia, puoi avviarla con il comando:
$ VBoxHeadless --startvm "Ubuntu 11.04 Server"(Sostituisci Ubuntu 11.04 Server con il nome della tua VM.)
VBoxHeadless avvierà la VM e un server VRDP ( VirtualBox Remote Desktop Protocol) che ti consente di vedere l’output della VM da remoto su un’altra macchina.
Per fermare una VM, esegui
$ VBoxManage controlvm "Ubuntu 11.04 Server" poweroffPer mettere in pausa una VM, esegui
$ VBoxManage controlvm "Ubuntu 11.04 Server" pausePer ripristinare una VM, esegui
$ VBoxManage controlvm "Ubuntu 11.04 Server" resetPer saperne di più su VBoxHeadless, dai un’occhiata a
$ VBoxHeadless --helpe a http://www.virtualbox.org/manual/ch07.html#vboxheadless.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.