Come Creare VirtualBox VMs dal Terminale Linux

0
39

Maggior parte dei fornitori di cloud affittare il server virtuali piuttosto che hardware. Se si vuole fare la stessa cosa su un tuo server, eseguire diversi sistemi operativi o gestire più ambienti, è possibile farlo direttamente dal vostro terminale.

Se hai intenzione di fare solo l’utilizzo di macchine virtuali, si potrebbe essere interessati a un hypervisor. Un hypervisor sostituisce il vostro sistema operativo host, ed è costruita su misura per la gestione di più macchine virtuali. Non sarà in grado di eseguire applicazioni sul sistema operativo host, ma si può facilmente virtualizzare Ubuntu Server o qualcosa del genere e eseguire le applicazioni sulla parte superiore dell’hypervisor.

L’installazione di VirtualBox e la Virtualbox Extension Pack

VirtualBox è gratuito GUI di virtualizzazione basata su software che viene eseguito come un’applicazione del sistema operativo host (un hypervisor di Tipo 2). Si potrebbe avere usato prima su un personal computer per impostare il backup di una VM, ma VirtualBox ha in realtà una completa interfaccia a riga di comando ed è pienamente utilizzabile da un solo terminale, il che lo rende perfetto per questo caso d’uso. Un’altra soluzione potrebbe essere QEMU, VirtualBox ma è provato e testato, ed è imbattibile per essere libero e open source.

VirtualBox CLI è vero che è un po ‘ingombrante, però, quindi se sei solo pasticciare su un server di casa e avere un po’ di RAM per pezzi di ricambio, è possibile installare un ambiente desktop leggero sul vostro server e configurare VirtualBox in modo normale. È comunque possibile eseguire macchine virtuali in modalità headless per tenerli in esecuzione dopo il log-out di DE.

Se avete intenzione di fare attaccare il CLI, l’installazione è abbastanza semplice, in quanto è disponibile direttamente da apt:

sudo apt-get install virtualbox

Si vuole fare in una nota della versione che è installata anche se ( VBoxManage -v ), come avrete bisogno di installare un paio di cose in più. Perché siamo l’impostazione in modalità headless, avremo bisogno di un modo per collegare il computer prima di SSH/RDP può essere configurato.

Testa a VirtualBox pagina di download, e trovare il link per il pacchetto di estensione per la versione che stai usando. Scaricare con wget:

wget https://download.virtualbox.org/virtualbox/5.2.42/Oracle_VM_VirtualBox_Extension_Pack-5.2.42.vbox-extpack

E installarlo:

sudo VBoxManage extpack installare Oracle_VM_VirtualBox_Extension_Pack-5.2.42.extpack

Per qualche ragione, VRDE non sembra funzionare per noi con il costruito nel VNC extension pack installato. La rimozione di questo pack risolto il problema:

sudo VBoxManage extpack disinstallare VNC

Impostazione di una VM

Per cominciare, si crea una nuova macchina virtuale denominata “Ubuntu”. È possibile visualizzare un elenco dei sistemi operativi supportati tipi di VBoxManage elenco ostypes.

sudo VBoxManage createvm –nome “Ubuntu” –ostype Ubuntu_64 –register

La macchina un po di RAM e creare un nuovo disco rigido. Andiamo con 4 GB di RAM e 32 GB di spazio sull’HDD, ma questi possono essere ampliato in seguito. Si noti che il disco rigido è un disco virtuale, e non è preallocato.

sudo VBoxManage modifyvm “Ubuntu” –memoria 4096
sudo VBoxManage createhd –filename “di Ubuntu.vdi” –dimensione 32000

Impostare il numero di vcpu. Questo è misurato in un thread, non è completa core della CPU.

sudo VBoxManage modifyvm “Ubuntu” –cpu 2

Il prossimo è un po ‘ di configurazione per il disco rigido. Di solito questo avviene automaticamente durante la creazione di macchine da interfaccia grafica, ma dovrete creare manualmente un controller SAS e allegarlo alla VM per il disco rigido per funzionare correttamente.

sudo VBoxManage storagectl “Ubuntu” –nome “SAS” –add sas –controller LSILogicSAS
sudo VBoxManage storageattach “Ubuntu” –storagectl “SAS” –port 0 –device 0 –tipo di hdd –medium “di Ubuntu.vdi”
sudo VBoxManage storagectl “Ubuntu” –nome “SAS” –hostiocache su

Noi faremo lo stesso per il disco, che conterrà gli ISO per installare il sistema operativo. Questo presuppone che l’ISO è situato in /home/user/Ubuntu.iso, quindi modificare di conseguenza.

sudo VBoxManage storagectl “Ubuntu” –nome “Controller IDE” –add ide –controller PIIX4
sudo VBoxManage storageattach “Ubuntu” –storagectl “Controller IDE” –port 0 –device 0 –tipo dvddrive –medium “/home/user/Ubuntu.iso”

Quindi, capovolgere alcuni relativi a prestazioni di interruttori per evitare rallentamenti da eccesso di utilizzo della RAM:

sudo VBoxManage modifyvm “Ubuntu” –nestedpaging su
sudo VBoxManage modifyvm “Ubuntu” –largepages su

A quel punto, creiamo la rete virtuale da utilizzare. C’è un sacco di opzioni per questo passaggio:

  • NAT, il più semplice, che semplicemente permette di VM per comunicare al mondo esterno utilizzando il network address translation (NAT). Questo non consentire alle macchine virtuali di parlare gli uni agli altri, e non permette di host-guest contatto a meno che non inoltrato alla porta.
  • NAT Network, è simile a NAT, tranne la rete è condivisa tra le macchine virtuali e possono parlare tra di loro. Il NAT della rete agisce come una subnet virtuale.
  • Ponte, che colma il collegamento fisico dritto per la VM. Il VM ha un vero e proprio indirizzo IP sulla rete. Questo può funzionare anche con un solo Wi-Fi/Ethernet, ma se hai una scheda di rete con più porte Ethernet, è possibile assegnare un’intera interfaccia direttamente a una macchina virtuale.
  • Rete virtuale che collega più istanze in un luogo isolato e virtualizzate in rete. Questo è utile per la modellazione di reti reali, ma non è adatto per la maggior parte dei casi di utilizzo.
  • Solo per Host Adapter, è molto simile a quello virtuale della rete, ma consente di parlare con un host (non internet).

Per questo esempio, utilizzeremo il NAT della Rete, in quanto è semplice da configurare e più versatili del gruppo, in vista di un equilibrio di connettività e di isolamento.

Creare una nuova rete 10.0.0.0/24 subnet, start up di:

sudo VBoxManage natnetwork aggiungere –netname natnet1 –rete “10.0.0.0/24” –enable
sudo VBoxManage natnetwork start –netname natnet1

E allegarlo alla VM:

sudo VBoxManage modifyvm “Ubuntu” –nic1 natnetwork –nat-network1 natnet1

A quel punto, dovremo configurare la modalità di accesso a questa istanza. Perché stiamo installando su un server headless (nessuna uscita video), non saremo in grado di completare il processo di installazione e installare un client RDP sul sistema operativo guest. Per risolvere questo, proviamo ad usare VirtualBox è VRDE server, il motivo principale per cui abbiamo installato VirtualBox Extension Pack precedenti. Questo cattura l’output del display virtuale e lo rende disponibile tramite RDP.

Svoltare a questo, e impostare una porta per farlo. Si desidera assicurarsi che il sistema operativo host ha questa porta aperta.

sudo VBoxManage modifyvm “Ubuntu” –vrde su
sudo VBoxManage modifyvm “Ubuntu” –vrdeport 5587

Infine, siamo in grado di avviare la macchina virtuale in modalità headless e iniziare l’installazione del sistema operativo.

sudo VBoxManage startvm “Ubuntu” –tipo senza testa

Nota che headless modalità significa che è in esecuzione su un server headless, e non che il sistema operativo guest non ha nessun video.

Ci vorrà un secondo o due per iniziare, e sarete in grado di sparare un client RDP e connettersi ad esso tramite la porta specificata. Si può richiedere un nome utente e una password; VRDE di default “admin” senza password.

L’Inoltro Della Porta Dopo L’Installazione

Una volta che l’installazione del sistema operativo è completo, dovrete fare un po di port forwarding per mantenere l’accesso dopo VRDE è spento, essenzialmente come aprire le regole del firewall. Se si sta impostando un ambiente headless come Linux, dovrete semplicemente porta avanti SSH. Il comando seguente consente di aggiungere una regola di inoltro della porta per il vostro NAT rete per l’inoltro della porta 2200 sul sistema host di default la porta SSH sul guest. Si noti che questa porta sarà necessario aprire nel tuo host firewall per far funzionare tutto questo.

sudo VBoxManage natnetwork modifica –netname natnet1 –porto-avanti-4 “ssh:tcp:[]:2200:[10.0.0.2]:22”

Se stai impostando RDP, dovrete configurare il server RDP, nel so guest, e assicurarsi che la porta RDP è aperto all’ospite firewall. Dopo di che, porta avanti in modo molto simile:

sudo VBoxManage natnetwork modifica –netname natnet1 –porto-avanti-4 “del psr:tcp:[]:5589:[10.11.0.2]:3389”

Se è necessario eliminare il port-forwarding regole, dovrete cancellare il loro nome con questo piuttosto ingombrante di comando (la prima stringa prima della virgola):

sudo VBoxManage natnetwork modifica –netname natnet1 –porto-avanti-4 eliminare rdp

Una volta che hai verificato che è possibile connettersi tramite SSH/RDP direttamente al sistema operativo ospite, è possibile disattivare VRDE:

sudo VBoxManage modifyvm “Ubuntu” –vrde off

Se stai pianificando l’uso di questa macchina virtuale su RDP per lunghi periodi di tempo, si potrebbe desiderare di installare le Guest Additions di VirtualBox suite per il tuo sistema operativo guest.

Se si decide di gestire VirtualBox utilizzando la GUI dopo che l’impostazione di questa VM da CLI, tenere a mente che questa macchina virtuale è stata creata come root, si dovrà avviare VirtualBox GUI come root per vedere questa macchina virtuale nell’elenco. In caso contrario, dovrebbe funzionare normalmente.

Inoltre, Se si desidera che il computer per eseguire mentre l’ambiente desktop è spento, dovrete fare clic per avviare la macchina in modalità headless.