GNU/Linux >> Linux Esercitazione >  >> Ubuntu

VBoxHeadless - Esecuzione di macchine virtuali con VirtualBox 5.1 su un server LTS Ubuntu 16.04 senza testa

Questa guida spiega come eseguire macchine virtuali con VirtualBox 5.1 su un server Ubuntu 16.04 headless. Normalmente usi la GUI 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 remoto, quindi non è necessaria la GUI di VirtualBox.

1 Nota preliminare

L'ho testato su un server Ubuntu 16.04 (sistema host) con l'indirizzo IP 192.168.1.100 dove ho effettuato l'accesso come utente normale (amministratore del nome utente in questo esempio) anziché come root.

2 Installazione di VirtualBox

Per installare VirtualBox 5.1 sul nostro server Ubuntu 16.04, apriamo /etc/apt/sources.list...

sudo nano /etc/apt/sources.list

... e aggiungi la seguente riga:

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

Quindi scarichiamo la chiave pubblica di VirtualBox...

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

... e aggiorna il nostro database dei pacchetti:

sudo apt-get update

Successivamente, installiamo VirtualBox 5.1 come segue:

sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-5.1 dkms

(Il pacchetto dkms garantisce che i moduli del kernel dell'host VirtualBox siano aggiornati correttamente se la versione del kernel Linux cambia.)

A partire dalla versione 4.0, VirtualBox ha introdotto i cosiddetti "pacchetti di estensione" e ha esternalizzato alcune funzionalità come il supporto della connessione desktop remoto (VRDP) che faceva parte dei pacchetti VirtualBox prima della versione 4.0 in questi pacchetti di estensione. Poiché abbiamo bisogno di connessioni desktop remote per controllare le nostre macchine virtuali, è necessario installare ora il pacchetto di estensione appropriato. Vai su http://www.virtualbox.org/wiki/Downloads e troverai un link al seguente pacchetto di estensione:

VirtualBox 5.1 Oracle VM VirtualBox Extension Pack

Scarica e installa il pacchetto di estensione come segue:

cd /tmp
wget http://download.virtualbox.org/virtualbox/5.1.0/Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack

(Assicurati di prendere l'ultima versione dal sito Web di VirtualBox e di utilizzare sudo per installare il file extpack con VBoxManage.)

Ora dobbiamo aggiungere l'utente che eseguirà VirtualBox (amministratore in questo esempio) al gruppo vboxusers:

sudo adduser administrator vboxusers

VirtualBox è ora installato e pronto per essere utilizzato.

3 Utilizzo di VirtualBox sulla riga di comando

3.1 Creazione di una VM

Per creare una VM sulla riga di comando, possiamo utilizzare il comando VBoxManage. Vedi

VBoxManage --help

per un elenco degli switch disponibili e (altamente consigliato!) dai un'occhiata a http://www.virtualbox.org/manual/ch08.html.

Ora creerò una VM del server Ubuntu 16.04 con 2048 MB di memoria e un disco rigido da 10 GB dall'immagine ISO del server Ubuntu 16.04 (che ho archiviato in /home/administrator/iso/ubuntu-16.04-server-amd64.iso):

VBoxManage createvm --name "Ubuntu 16.04 Server" --register
VBoxManage modifyvm "Ubuntu 16.04 Server" --memory 2048 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 ens33
VBoxManage createhd --filename /home/administrator/Ubuntu_16_04_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 16.04 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/administrator/Ubuntu_16_04_Server.vdi
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/administrator/iso/ubuntu-16.04-server-amd64.iso
VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

Ora procedi con il capitolo 3.3 per avviare la vm e poi connettiti alla VM con un client desktop remoto come descritto nel capitolo 4. 

3.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 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 è amministratore, questo è /home/administrator/.VirtualBox/Machines - il risultato dovrebbe essere /home/administrator/.VirtualBox/Machines /examplevm/examplevm.xml).

In aggiunta a ciò, copia il file examplevm.vdi dalla vecchia directory VDI a quella nuova (ad es. /home/administrator/.VirtualBox/VDI/examplevm.vdi).

Successivamente, devi registrare la VM importata:

VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Avvio di una macchina virtuale con VBoxHeadless

Indipendentemente dal fatto che tu crei una nuova VM o ne importi una vecchia, puoi avviarla con il comando:

VBoxHeadless --startvm "Ubuntu 16.04 Server"

(Sostituisci Ubuntu 16.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 in remoto su un'altra macchina.

Per arrestare una macchina virtuale, esegui

VBoxManage controlvm "Ubuntu 16.04 Server" poweroff

Per mettere in pausa una macchina virtuale, esegui

VBoxManage controlvm "Ubuntu 16.04 Server" pause

Per reimpostare una macchina virtuale, esegui

VBoxManage controlvm "Ubuntu 16.04 Server" reset

Per saperne di più su VBoxHeadless, dai un'occhiata a

VBoxHeadless --help

e su http://www.virtualbox.org/manual/ch07.html#vboxheadless.

4 Connessione a una macchina virtuale da un desktop remoto

4.1 Windows

È possibile utilizzare l'utilità di connessione desktop remoto integrata per connettersi alla macchina virtuale.

Digita il nome host o l'indirizzo IP dell'host (non dell'ospite!):

E voilà, dovresti essere connesso alla VM:

4.2 Ubuntu Desktop

Sui desktop Ubuntu, puoi utilizzare Remmina Remote Desktop Client o gnome-rdp per connetterti alla VM.

Installa il client con apt:

sudo apt-get install remmina remmina-plugin-rdp

Basta cercare remmina e quindi fare doppio clic sull'icona Remmina Client per avviare l'applicazione RDP.

In Remmina Remote Desktop Client, fare clic sull'icona più per aggiungere una nuova connessione desktop remoto:

Nella finestra delle preferenze di Desktop remoto, inserisci un nome per il profilo (come Ubuntu 16.04 Server), assicurati che RDP sia selezionato come protocollo (dovrebbe essere selezionato per impostazione predefinita), quindi inserisci l'indirizzo IP dell'host, non l'IP dell'ospite VirtualBox! - nel campo Server, e selezionare una Profondità colore maggiore rispetto al valore predefinito di 8bpp - 16bpp è ok. Quindi fare clic su Connetti:

E voilà, dovresti essere connesso alla VM:

4.3 Se la connessione desktop remoto non funziona...

Se la connessione al desktop remoto non funziona, probabilmente hai perso il passaggio in cui installo il pacchetto di estensione VirtualBox nel capitolo 2. Installa ora il pacchetto di estensione, arresta la tua macchina virtuale (vedi capitolo 3.3) e modifica la tua macchina virtuale per accettare connessioni desktop remote:

VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

(Se il pacchetto di estensione è già installato quando crei la tua macchina virtuale, le connessioni desktop remote vengono abilitate automaticamente.)

Quindi riavvia la tua macchina virtuale.

  • VirtualBox:http://www.virtualbox.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Gestione di un'installazione Headless VirtualBox con phpvirtualbox (Ubuntu 16.04 LTS)

  2. Configurazione iniziale del server con Ubuntu 20.04 LTS (Focal Fossa)

  3. Mantenere il server Ubuntu in esecuzione su un laptop con il coperchio chiuso?

  4. Non riesci a connetterti con Vps che esegue Ubuntu Server 16 con X2go?

  5. Macchine virtuali settimanali, con build script

Come installare il server VsFTPD con TLS su Ubuntu 18.04 LTS

Come installare Jellyfin Media Server su Ubuntu 20.04 LTS Server/Desktop

Come installare Plex Media Server su Ubuntu 20.04 LTS Server/Desktop

Come installare phpMyAdmin con Apache su Ubuntu 22.04 LTS

Come installare Ubuntu 22.04 LTS ISO in VirtualBox VM per testarlo

Come installare KVM e creare macchine virtuali su Ubuntu 16.04 LTS