Virtualizzazione · 5 min read · Dec 01, 2025
VBoxHeadless - Esecuzione di macchine virtuali con VirtualBox 4.2 su un server OpenSUSE 12.2 senza interfaccia grafica
VBoxHeadless - Esecuzione di macchine virtuali con VirtualBox 4.2 su un server OpenSUSE 12.2 senza interfaccia grafica
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Questa guida spiega come eseguire macchine virtuali con VirtualBox 4.2 su un server OpenSUSE 12.2 senza interfaccia grafica. Normalmente si utilizza l’interfaccia grafica di VirtualBox per gestire le proprie macchine virtuali, ma un server non ha un ambiente desktop. Fortunatamente, VirtualBox viene fornito con uno strumento chiamato VBoxHeadless che consente di connettersi alle macchine virtuali tramite una connessione desktop remota, quindi non c’è bisogno dell’interfaccia grafica di VirtualBox.
Non fornisco alcuna garanzia che questo funzioni per te!
1 Nota preliminare
Ho testato questo su un server OpenSUSE 12.2 (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.2 sul nostro server OpenSUSE 12.2, abbiamo bisogno dei privilegi di root, quindi eseguiamo
$ suPrima dobbiamo scoprire quale kernel abbiamo installato:
# uname -aserver1:/home/admin # uname -a
Linux server1 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux
server1:/home/admin #Come vedi, ho installato il pacchetto kernel-desktop - se hai installato il pacchetto kernel-server, sostituisci desktop con server nel comando seguente.
Installiamo le dipendenze per VirtualBox 4.2 come segue (installando nuovamente il pacchetto kernel-desktop / kernel-server, ci assicuriamo di avere l’ultima versione installata):
# zypper install kernel-desktop kernel-desktop-devel kernel-source kernel-syms Xerces-c gcc makeSe il kernel viene aggiornato, ti verrà detto di riavviare il sistema - in questo caso esegui:
# rebootAccedi di nuovo come utente normale e poi diventa root:
$ suSuccessivamente, scarica e registra la chiave pubblica rpm di VirtualBox:
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
# rpm --import oracle_vbox.ascOra abilitiamo il repository di VirtualBox OpenSUSE sul nostro sistema (non c’è un file repo per OpenSUSE 12.2 perché il file repo per 11.4 funziona anche su 12.2):
# cd /etc/zypp/repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/virtualbox.repoPossiamo ora semplicemente installare VirtualBox 4.1 come segue:
# zypper install VirtualBox-4.2Successivamente, assicurati che il modulo del kernel vboxdrv sia caricato:
# modprobe vboxdrvIl comando seguente assicura che il modulo del kernel vboxdrv venga caricato automaticamente ogni volta che avvii il sistema:
# insserv vboxdrvA partire dalla versione 4.0, VirtualBox ha introdotto i cosiddetti “pacchetti di estensione” e ha esternalizzato alcune funzionalità come il supporto per la connessione desktop remota (VRDP) che facevano parte dei pacchetti di VirtualBox prima della versione 4.0 in questi pacchetti di estensione. Poiché abbiamo bisogno di connessioni desktop remote per controllare le nostre macchine virtuali, dobbiamo installare ora il pacchetto di estensione appropriato. Vai su http://www.virtualbox.org/wiki/Downloads, e troverai un link al seguente pacchetto di estensione:
Pacchetto di estensione Oracle VM VirtualBox 4.2
Supporto per dispositivi USB 2.0, VirtualBox RDP e avvio PXE per schede Intel.Scarica e installa il pacchetto di estensione come segue:
# cd /tmp
# wget http://download.virtualbox.org/virtualbox/4.2.0/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack
# sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack(Assicurati di scaricare l’ultima versione dal sito web di VirtualBox.)
Ora dobbiamo aggiungere l’utente che eseguirà VirtualBox (admin in questo esempio) al gruppo vboxusers:
# /usr/sbin/usermod -G vboxusers admin(Potresti dover disconnetterti e riconnetterti per rendere effettiva questa modifica.)
VirtualBox è ora installato e pronto per essere utilizzato.
Digita
# exitper uscire dall’account root e tornare a essere un utente normale (admin) di nuovo.
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 delle opzioni disponibili e (altamente consigliato!) dai un’occhiata a http://www.virtualbox.org/manual/ch08.html.
Ora creerò una VM Ubuntu 12.04 Server con 512MB di memoria e un hard disk da 10GB dall’immagine iso di Ubuntu 12.04 Server (che ho memorizzato in /home/ubuntu-12.04-server-amd64.iso):
$ VBoxManage createvm --name "Ubuntu 12.04 Server" --register
$ VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_12_04_Server.vdi --size 10000
$ VBoxManage storagectl "Ubuntu 12.04 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_04_Server.vdi
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.04-server-amd64.iso3.2 Importazione di una VM esistente
Supponiamo che tu abbia una VM chiamata examplevm che vuoi 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).
Successivamente, 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 12.04 Server"(Sostituisci Ubuntu 12.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 12.04 Server" poweroffPer mettere in pausa una VM, esegui
$ VBoxManage controlvm "Ubuntu 12.04 Server" pausePer ripristinare una VM, esegui
$ VBoxManage controlvm "Ubuntu 12.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.