Hoe u VirtualBox VMs van het Linux Terminal

0
44

De meeste cloud providers huren van virtuele servers in plaats van de werkelijke hardware. Als u wilt om hetzelfde te doen op uw eigen servers te draaien op verschillende besturingssystemen of beheren van meerdere omgevingen, kunt u volledig van uw terminal.

Als u van plan bent alleen met behulp van virtuele machines, bent u misschien geïnteresseerd in een hypervisor. Een hypervisor vervangt uw host OS, en is op maat gemaakt voor het beheren van meerdere virtuele machines. U zult niet in staat om applicaties te draaien op de host OS, maar u kunt gemakkelijk te virtualiseren Ubuntu Server of iets en de toepassingen uitvoeren op de top van de hypervisor.

Het installeren van VirtualBox en de VBox Extension Pack

VirtualBox is een gratis GUI-gebaseerde virtualisatie-software die wordt uitgevoerd als een app op uw host-OS (een Type-2 hypervisor). Je zou kunnen hebben het eerder gebruikt op een personal computer om de set-up van een VM, maar VirtualBox is eigenlijk een volledige commandoregel interface en is volledig bruikbaar is slechts een terminal, waardoor het perfect is voor deze use case. Een andere oplossing zou zijn QEMU, maar VirtualBox is geprobeerd en getest, en is onverslaanbaar voor zijn gratis en open source.

De VirtualBox CLI is weliswaar een beetje onhandig, dus als je gewoon aanmodderen op een home server en een beetje van het RAM-geheugen te sparen, je kan in plaats van het installeren van een lichte desktop-omgeving op uw server en het opzetten van VirtualBox op de normale manier. U kunt nog steeds het uitvoeren van VMs in headless mode te laten draaien nadat u zich heeft afgemeld van de.

Als je van plan vast te houden aan de CLI, de installatie is vrij eenvoudig, als het beschikbaar is rechtstreeks van apt:

sudo apt-get install virtualbox

Wil je een opmerking van de versie die geïnstalleerd is, hoewel ( VBoxManage -v ), als je nodig hebt voor het installeren van een paar dingen. Omdat we nu in headless modus, we moeten een manier om verbinding te maken met de machine voordat SSH/RDP kan worden geconfigureerd.

Ga dan naar VirtualBox met de download-pagina, en vind de link voor het extension pack voor de versie die je draait. Downloaden met wget:

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

En installeren:

sudo VBoxManage extpack installeren Oracle_VM_VirtualBox_Extension_Pack-5.2.42.extpack

Voor sommige reden, VRDE niet lijken te werken voor ons met de ingebouwde VNC extension pack is geïnstalleerd. Het verwijderen van dit pack is het probleem opgelost:

sudo VBoxManage extpack verwijderen VNC

Het opzetten van een VM

Om te beginnen maken we een nieuwe virtuele machine met de naam “Ubuntu.” U kunt een lijst van ondersteunde OS-types met VBoxManage list ostypes.

sudo VBoxManage createvm –naam “Ubuntu” –ostype Ubuntu_64 –registreren

Geeft de machine aan RAM-geheugen en maak een nieuwe harde schijf. We gaan met 4 GB RAM en 32 GB HDD ruimte, maar deze kan zowel later worden uitgebreid. Merk op dat de harde schijf is een virtuele schijf, en is niet preallocated.

sudo VBoxManage modifyvm “Ubuntu” –geheugen 4096
sudo VBoxManage createhd –filename “Ubuntu.vdi” –size 32000

Het aantal van vcpu ‘ s. Dit wordt gemeten in threads, niet volledige CPU-kernen.

sudo VBoxManage modifyvm “Ubuntu” –2 cpu ‘ s

Vervolgens is een aantal extra configuratie voor de harde schijf. Meestal gebeurt dit automatisch bij het maken van de machines van de GUI, maar je moet het handmatig maken van een SAS-controller en sluit het aan op de VM voor de hard drive goed te laten werken.

sudo VBoxManage storagectl “Ubuntu” –naam “SAS-Controller” –voeg sas –controller LSILogicSAS
sudo VBoxManage storageattach “Ubuntu” –storagectl “SAS-Controller” –port 0 –device 0 –type hdd –medium “Ubuntu.vdi”
sudo VBoxManage storagectl “Ubuntu” –naam “SAS-Controller” –hostiocache op

We doen hetzelfde voor de schijf houdt de ISO te installeren van het OS. Dit veronderstelt dat je ISO map /home/user/Ubuntu.iso dus veranderen dienovereenkomstig.

sudo VBoxManage storagectl “Ubuntu” –naam “IDE Controller” –voeg ide –controller PIIX4
sudo VBoxManage storageattach “Ubuntu” –storagectl “IDE Controller” –port 0 –device 0 –type dvddrive –medium “/home/user/Ubuntu.iso”

Dan, flip enkele prestatie-gerelateerde schakelaars om te voorkomen dat vertragingen van overtollige RAM-gebruik:

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

Vervolgens maken we het netwerk dat deze VM gebruiken. Er is veel van de opties voor deze stap:

  • NAT, de eenvoudigste, die eenvoudig de VM om te communiceren met de buitenwereld via het netwerk adres vertaling (NAT). Dit verbiedt vm ‘ s om met elkaar te praten, en niet toestaan host-naar-guest contact, tenzij de haven doorgestuurd.
  • NAT-Netwerk is vergelijkbaar met het NAT, met uitzondering van het netwerk wordt gedeeld tussen de vm ‘ s, en ze kunnen met elkaar praten. De NAT-netwerk fungeert als een virtuele subnet.
  • Overbrugd, dat een brug slaat tussen de fysieke verbinding rechtstreeks naar de VM. De VM is een echte IP-adres op uw netwerk. Dit kan zelfs werken met slechts één Wi-Fi/Ethernet-verbinding, maar als je hebt een netwerk kaart met meerdere Ethernet-poorten, kan u een hele interface rechtstreeks op een VM.
  • Virtuele Netwerk verbindt meerdere exemplaren in een geïsoleerde gevirtualiseerde netwerk. Dit is handig voor het modelleren van real networks, maar is niet geschikt voor de meeste use cases.
  • Alleen Host-Adapter, is vergelijkbaar met het virtuele netwerk, maar mogelijk maakt het praten met de host (niet het internet).

Voor dit voorbeeld gaan we met de NAT-Netwerk, zoals het is eenvoudig in te stellen en de meest veelzijdige van het bos, verschiet van een balans van de connectiviteit en de isolatie.

Maak een nieuw netwerk op het 10.0.0.0/24 subnet bevinden, start het dan op:

sudo VBoxManage natnetwork toevoegen –netname natnet1 –network “10.0.0.0/24” –enable
sudo VBoxManage natnetwork start –netname natnet1

En sluit het aan op de VM:

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

Volgende, we hebben om te configureren hoe wij toegang krijgen tot deze instantie. Omdat we installeren dit op een headless server (geen video-output), zullen we niet in staat zijn om de installatie te voltooien en het installeren van een RDP-client aan het gast OS. Om dit op te lossen, gebruiken we VirtualBox is VRDE server, de belangrijkste reden waarom we installeerden de VirtualBox Extension Pack eerder. Hierdoor wordt de uitgang van de virtuele display en beschikbaar maakt via RDP.

Zet deze aan en stel een port voor. U zult willen ervoor zorgen dat de host-OS heeft deze poort te openen.

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

Eindelijk, we zijn in staat om te beginnen met de VM in headless modus en start de installatie van het BESTURINGSSYSTEEM.

sudo VBoxManage startvm “Ubuntu” –type headless

Merk op dat headless modus betekent dat het draait op een headless server, en niet dat het guest OS heeft geen video uit.

Het duurt een seconde of twee om te beginnen, en u zult in staat zijn om brand-up van een RDP-client en maak verbinding met de opgegeven poort. Het kan vragen om een gebruikersnaam en wachtwoord; VRDE standaard ingesteld op “admin” met geen wachtwoord.

Port Forwarding Na De Installatie

Zodra de installatie van het BESTURINGSSYSTEEM is voltooid, zult u hebben om te doen wat port forwarding te handhaven toegang na VRDE uitgeschakeld is, in wezen, zoals het openen van firewall regels. Als je het opzetten van een onthoofde omgeving zoals Linux, je moet gewoon naar voren poort van SSH. Het volgende commando zal de poort doorsturen-regel van uw NAT-netwerk voor het doorsturen van de haven 2200 op de host-OS tot de standaard SSH poort van de gast. Merk op dat deze poort moet openen in uw gastheer firewall voor dit werk.

sudo VBoxManage natnetwork wijzigen –netname natnet1 –port-forward-4 “ssh:tcp:[]:2200:[10.0.0.2]:22”

Als je het opzetten van RDP, je hebt voor het configureren van het RDP-server in het guest OS, en zorg ervoor dat de RDP-poort is geopend op de firewall. Na dat, kunt u de poort doorsturen op dezelfde manier:

sudo VBoxManage natnetwork wijzigen –netname natnet1 –port-forward-4 “rdp:tcp:[]:5589:[10.11.0.2]:3389”

Als u het wilt verwijderen port-forwarding-regels, moet u ze verwijderen door de naam met deze nogal onhandig opdracht (de eerste waarde voor de dubbele punt):

sudo VBoxManage natnetwork wijzigen –netname natnet1 –port-forward-4 verwijderen rdp

Zodra je hebt gecontroleerd dat je verbinding kan maken via SSH/RDP direct naar het guest OS, kunt u de VRDE:

sudo VBoxManage modifyvm “Ubuntu” –vrde uit

Als u van plan bent over het gebruik van deze VM over RDP voor langere perioden, die u wilt installeren de VirtualBox Guest Additions suite voor je guest BESTURINGSSYSTEEM.

Als u besluit om het beheer van VirtualBox met behulp van de GUI na het opzetten van het VM van de CLI, in gedachten houden dat deze VM is gemaakt als root, dus je moet de lancering van de VirtualBox GUI als root om dit te zien VM in de lijst. Anders, het moet gewoon werken.

Ook, Als u wilt dat de machine uit te voeren terwijl uw desktop omgeving is afgesloten, je moet naar rechts-klik om te starten van de machine in headless modus.