Hur man Skapar VirtualBox VMs från Linux Terminal

0
51

Mest moln leverantörer kommer att hyra virtuella servrar, snarare än själva hårdvaran. Om du vill göra samma sak på dina egna servrar, antingen för att köra olika operativsystem eller hantera flera olika miljöer, kan du göra det helt från din terminal.

Om du planerar att bara använda virtuella maskiner, kan du vara intresserad av en hypervisor. En hypervisor ersätter din värd OS, och är anpassad för att hantera flera virtuella maskiner. Du kommer inte att kunna köra program på den mottagande OS, men du kan enkelt virtualisera Ubuntu Server eller något och köra program på toppen av hypervisor.

Installera VirtualBox och VBox Extension Pack

VirtualBox är en kostnadsfri GUI-baserade virtualisering programvara som körs som en app på din värd OS (en Typ 2-hypervisor). Du kan ha använt det innan på en personlig dator för att upprätta en VM, men VirtualBox har faktiskt en full command line interface och är helt användbar från endast en terminal, vilket gör den perfekt för detta användningsområde. En annan lösning skulle vara QEMU, men VirtualBox är beprövade och testade, och är oslagbart för att vara fri och öppen källkod.

VirtualBox CLI är visserligen lite otymplig men, så om du bara driver omkring på en home server och har lite RAM-minne till godo, kan du istället installera en ljus skrivbordsmiljö på servern och ställa upp VirtualBox vanligt sätt. Du kan fortfarande köra VMs i huvudlösa läge för att hålla dem igång när du loggar ut ur DE.

Om du tänker på att hålla sig till CLI, installationen är ganska enkel, eftersom den är tillgänglig direkt från apt:

sudo apt-get install virtualbox

Vill du vara en del av den version som är installerad men ( VBoxManage -v ), som du behöver för att installera ett fåtal fler saker. Eftersom vi ställer upp i huvudlösa läge, behöver vi ett sätt att ansluta till maskinen innan SSH/RDP kan konfigureras.

Chef över till VirtualBox är sidan för nedladdning och du hittar länken till förlängning pack för den version som du kör på. Ladda ner den med wget:

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

Och installera det:

sudo VBoxManage extpack installera Oracle_VM_VirtualBox_Extension_Pack-5.2.42.extpack

Av någon anledning, VRDE inte verkar fungera för oss med inbyggd VNC-extension pack är installerat. Ta bort denna förpackning löst frågan:

sudo VBoxManage extpack avinstallera VNC

Att sätta Upp en VM

Vi börjar med att skapa en ny VM som heter “Ubuntu.” Du kan visa en lista över de OPERATIVSYSTEM som stöds typer med VBoxManage lista ostypes.

sudo VBoxManage createvm –namn “Ubuntu” –ostype Ubuntu_64 –registrera dig

Ge maskinen lite RAM och skapa en ny hårddisk. Vi kommer att gå med 4 GB RAM och 32 GB HDD utrymme, men dessa kan både byggas ut senare. Observera att hårddisk är en virtuell disk, och är inte preallocated.

sudo VBoxManage modifyvm “Ubuntu” – memory 4096
sudo VBoxManage createhd –filnamn “Ubuntu.vdi” –storlek 32000

Ange det antal vCPUs. Detta mäts i trådar, inte är fullständig CPU-kärnor.

sudo VBoxManage modifyvm “Ubuntu” –processorer 2

Nästa är lite mer konfiguration för hårddisken. Vanligtvis sker detta automatiskt när du skapar maskiner från GUI, men måste du manuellt skapa en SAS-controller och bifoga det till VM för att hårddisken ska fungera.

sudo VBoxManage storagectl “Ubuntu” –namn “SAS Controller” –add sas –controller LSILogicSAS
sudo VBoxManage storageattach “Ubuntu” –storagectl “SAS Controller” –port 0 –enhet 0 –typ hdd –medium “Ubuntu.vdi”
sudo VBoxManage storagectl “Ubuntu” –namn “SAS Controller” –hostiocache på

Vi ska göra samma sak för den disk som ska hålla ISO för att installera OS. Detta förutsätter att din ISO-ligger på /home/user/Ubuntu.iso så ändra det i enlighet med detta.

sudo VBoxManage storagectl “Ubuntu” –namn “IDE Controller” –add ide –controller PIIX4
sudo VBoxManage storageattach “Ubuntu” –storagectl “IDE Controller” –port 0 –enhet 0 –typ dvddrive –medium “/home/user/Ubuntu.iso”

Sedan, vänd vissa prestanda-relaterade växlar för att förhindra nedgångar från överskott RAM-användning:

sudo VBoxManage modifyvm “Ubuntu” –nestedpaging på
sudo VBoxManage modifyvm “Ubuntu” –largepages på

Nu ska vi skapa nätverk att detta VM kommer att använda. Det finns en hel del alternativ för detta steg:

  • NAT, den enklaste, som bara tillåter VM för att kommunicera till omvärlden med hjälp av network address translation (NAT). Detta tillåter inte VMs för att prata med varandra, och inte tillåter host-to-gäst kontakta om port vidarebefordras.
  • NAT Nätverk, liknar NAT, utom nätverket är delat mellan VMs, och att de kan prata med varandra. NAT nätverk fungerar som en virtuella subnät.
  • Överbryggas, som överbryggar den fysiska anslutningen direkt till VM. VM har en verklig IP-adress på nätverket. Detta kan fungera även med bara en Wi-Fi – /Ethernet-anslutning, men om du har ett nätverkskort med flera Ethernet-portar, kan du tilldela en hel gränssnitt direkt till VM.
  • Virtuellt Nätverk, som knyter samman flera instanser i en isolerad virtualiserade nätverk. Detta är användbart för modellering av verkliga nätverk, men är inte lämplig för de flesta typer av användning.
  • Värd Bara Adapter, som är liknande till det virtuella nätverket, men kan tala till värden (inte internet).

För detta exempel kommer vi att gå med NAT Nätverk, eftersom det är enkelt att sätta upp och den mest mångsidiga av gäng, görningen en balans av anslutning och isolering.

Skapa ett nytt nätverk på 10.0.0.0/24 subnät, startar den upp:

sudo VBoxManage natnetwork lägga till –netname natnet1 –nätverk “10.0.0.0/24” –enable
sudo VBoxManage natnetwork start –netname natnet1

Och bifoga det till VM:

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

Nu ska vi ha för att konfigurera hur vi får tillgång till denna instans. Eftersom vi installerar detta på en huvudlös server (ingen video output), kommer vi inte att kunna slutföra installationen och installera en RDP-klient på gäst-OS. För att lösa detta, vi kommer att använda VirtualBox är VRDE server, den främsta anledningen varför vi har installerat VirtualBox Extension Pack tidigare. Detta fångar produktionen av den virtuella displayen och gör det tillgängligt via RDP.

Slå på och ange en port för det. Du kommer att vilja se till att den mottagande OS har den här porten öppen.

sudo VBoxManage modifyvm “Ubuntu” –vrde på
sudo VBoxManage modifyvm “Ubuntu” –vrdeport 5587

Äntligen kan vi starta VM i huvudlösa läge och börja OS-installation.

sudo VBoxManage startvm “Ubuntu” –typ huvudlöse

Observera att huvudlösa läge innebär att det körs på en huvudlös server, och inte som gäst OS har ingen video ut.

Det kommer att ta en sekund eller två för att starta, och du kommer att kunna skjuta upp en RDP-klient och anslut till den med hjälp av den port som du har angett. Det kan be om ett användarnamn och lösenord, VRDE standardvärdet är “admin” med inget lösenord.

Port Forwarding Efter Installationen

När OS-installation är klar, du kommer att behöva göra några port forwarding för att upprätthålla tillgång efter VRDE är avstängd, i huvudsak som att öppna brandväggen reglerna. Om du ställer in en huvudlös miljö som Linux, kommer du helt enkelt har för vidarebefordring av port SSH. Följande kommando kommer att lägga till en port forward regel till din NAT nätverk för att vidarebefordra port 2200 på den mottagande OS standard SSH port på gäst. Observera att denna port måste vara öppna på din host brandvägg för att detta ska fungera.

sudo VBoxManage natnetwork ändra –netname natnet1 –port-framåt-4 “ssh:tcp:[]:2200:[10.0.0.2]:22”

Om du ställer upp RDP, måste du konfigurera RDP-server i gäst OS och kontrollera att RDP-port är öppen i gästens brandvägg. Efter det kan du port forward på ungefär samma sätt:

sudo VBoxManage natnetwork ändra –netname natnet1 –port-framåt-4 “rdp-tcp:[]:5589:[10.11.0.2]:3389”

Om du behöver ta bort port-forwarding-regler, måste du ta bort dem med namn med denna ganska otymplig kommando (den första strängen innan kolon):

sudo VBoxManage natnetwork ändra –netname natnet1 –port-framåt-4 radera rdp

När du har kontrollerat att du kan ansluta via SSH/RDP direkt till gästen OS, du kan stänga av VRDE:

sudo VBoxManage modifyvm “Ubuntu” –vrde av

Om du planerar att använda detta VM över RDP för längre tidsperioder, kanske du vill installera VirtualBox Guest Tillägg svit för din gäst OS.

Om du bestämmer dig för att hantera VirtualBox använder det GRAFISKA gränssnittet efter att ha ställt upp i detta VM från kommandoraden, tänk på att detta VM var skapat som root, så du kommer att behöva starta VirtualBox GUI som root för att se detta VM i listan. Annars ska det fungera normalt.

Dessutom, Om du vill att maskinen ska köra samtidigt som din skrivbordsmiljö är avstängd, måste du höger-klicka för att starta maskinen i huvudlösa läge.