Si të krijoni VM VirtualBox nga terminali Linux


Shumica e ofruesve të resë kompjuterike do të marrin me qira serverë virtualë në vend të harduerit aktual. Nëse dëshironi të bëni të njëjtën gjë në serverët tuaj, ose për të ekzekutuar sisteme të ndryshme operative ose për të menaxhuar mjedise të shumta, mund ta bëni këtë tërësisht nga terminali juaj.

Nëse po planifikoni të përdorni vetëm makina virtuale, mund të jeni të interesuar për një hipervizor. Një hipervizor zëvendëson OS tuaj pritës dhe është ndërtuar me porosi për menaxhimin e makinave të shumta virtuale. Ju nuk do të jeni në gjendje të ekzekutoni aplikacione në sistemin operativ pritës, por mund të virtualizoni lehtësisht Serverin Ubuntu ose diçka tjetër dhe të ekzekutoni aplikacionet në krye të hipervizorit.

Instalimi i VirtualBox dhe paketës së zgjerimit VBox

VirtualBox është një softuer virtualizimi falas i bazuar në GUI që funksionon si një aplikacion në OS-në tuaj të hostit (një hipervizor i tipit 2). Mund ta keni përdorur më parë në një kompjuter personal për të konfiguruar një VM, por VirtualBox në fakt ka një ndërfaqe të plotë të linjës së komandës dhe është plotësisht i përdorshëm vetëm nga një terminal, duke e bërë atë të përsosur për këtë rast përdorimi. Një zgjidhje tjetër do të ishte QEMU, por VirtualBox është i provuar dhe testuar dhe është i pamposhtur për të qenë pa pagesë dhe me burim të hapur.

Sidoqoftë, VirtualBox CLI është padyshim pak i pafuqishëm, kështu që nëse thjesht po ngatërroni në një server në shtëpi dhe keni pak RAM për të kursyer, në vend të kësaj mund të instaloni një mjedis të lehtë desktopi në serverin tuaj dhe të konfiguroni VirtualBox në mënyrën normale. Mund t'i ekzekutoni akoma VM-të në modalitetin pa kokë për t'i mbajtur ato të funksionojnë pasi të dilni nga DE.

Nëse planifikoni t'i përmbaheni CLI-së, instalimi është mjaft i thjeshtë, pasi është i disponueshëm direkt nga apt:

sudo apt-get install virtualbox

Sidoqoftë, do të dëshironi të mbani një shënim për versionin që është instaluar ( VBoxManage -v ), pasi do t'ju duhet të instaloni disa gjëra të tjera. Për shkak se po konfigurojmë në modalitetin pa kokë, do të na duhet një mënyrë për t'u lidhur me makinën përpara se SSH/RDP të mund të konfigurohet.

Shkoni te faqja e shkarkimit të VirtualBox dhe gjeni lidhjen për paketën shtesë për versionin në të cilin po ekzekutoni. Shkarkoni atë me wget:

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

Dhe instaloni atë:

sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.42.extpack

Për disa arsye, VRDE nuk dukej se funksiononte për ne me paketën shtesë të integruar VNC të instaluar. Heqja e kësaj pakete e zgjidhi problemin:

sudo VBoxManage extpack uninstall VNC

Vendosja e një VM

Për të filluar, ne do të krijojmë një VM të re të quajtur Ubuntu. Mund të shikoni një listë të llojeve të OS të mbështetura me llojet e listës VBoxManage.

sudo VBoxManage createvm --name "Ubuntu" --ostype Ubuntu_64 --register

Jepini makinës pak RAM dhe krijoni një hard disk të ri. Ne do të shkojmë me 4 GB RAM dhe 32 GB hapësirë në HDD, por këto të dyja mund të zgjerohen më vonë. Vini re se hard disku është një disk virtual dhe nuk është i paracaktuar.

sudo VBoxManage modifyvm "Ubuntu" --memory 4096
sudo VBoxManage createhd --filename "Ubuntu.vdi" --size 32000

Caktoni numrin e vCPU-ve. Kjo matet në fije, jo në bërthama të plota të CPU-së.

sudo VBoxManage modifyvm "Ubuntu" --cpus 2

Tjetra është disa konfigurime të tjera për hard diskun. Zakonisht kjo ndodh automatikisht kur krijoni makina nga GUI, por do t'ju duhet të krijoni manualisht një kontrollues SAS dhe ta lidhni atë në VM që hard disku të funksionojë siç duhet.

sudo VBoxManage storagectl "Ubuntu" --name "SAS Controller" --add sas --controller LSILogicSAS
sudo VBoxManage storageattach "Ubuntu" --storagectl "SAS Controller" --port 0 --device 0 --type hdd --medium "Ubuntu.vdi"
sudo VBoxManage storagectl "Ubuntu" --name "SAS Controller" --hostiocache on

Ne do të bëjmë të njëjtën gjë për diskun që do të mbajë ISO për të instaluar OS. Kjo supozon se ISO juaj ndodhet në /home/user/Ubuntu.iso, kështu që ndryshoni atë në përputhje me rrethanat.

sudo VBoxManage storagectl "Ubuntu" --name "IDE Controller" --add ide --controller PIIX4
sudo VBoxManage storageattach "Ubuntu" --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium "/home/user/Ubuntu.iso"

Më pas, ktheni disa çelësa të lidhur me performancën për të parandaluar ngadalësimet nga përdorimi i tepërt i RAM-it:

sudo VBoxManage modifyvm "Ubuntu" --nestedpaging on
sudo VBoxManage modifyvm "Ubuntu" --largepages on

Më pas, ne do të krijojmë rrjetin që do të përdorë kjo VM. Ka shumë opsione për këtë hap:

  • NAT, më e thjeshta, e cila thjesht lejon VM-në të komunikojë me botën e jashtme duke përdorur përkthimin e adresave të rrjetit (NAT). Kjo nuk i lejon VM-të të flasin me njëri-tjetrin dhe nuk lejon kontaktin e hostit me mysafirin përveç nëse porta përcillet.
  • Rrjeti NAT, është i ngjashëm me NAT, përveç se rrjeti është i ndarë midis VM-ve dhe ata mund të flasin me njëri-tjetrin. Rrjeti NAT vepron si një nënrrjet virtual.
  • Urë, e cila lidh lidhjen fizike direkt me VM. VM ka një adresë IP aktuale në rrjetin tuaj. Kjo mund të funksionojë edhe me vetëm një lidhje Wi-Fi/Ethernet, por nëse keni një kartë rrjeti me porta të shumta Ethernet, mund të caktoni një ndërfaqe të tërë direkt në një VM.
  • Rrjeti virtual, i cili lidh disa instanca në një rrjet të izoluar të virtualizuar. Kjo është e dobishme për modelimin e rrjeteve reale, por nuk është e përshtatshme për shumicën e rasteve të përdorimit.
  • Përshtatësi i vetëm host, është i ngjashëm me rrjetin virtual, por lejon bisedën me hostin (jo internetin).

Për këtë shembull, ne do të shkojmë me NAT Network, pasi është i thjeshtë për t'u konfiguruar dhe më i gjithanshëm nga grupi, duke ofruar një ekuilibër të lidhjes dhe izolimit.

Krijo një rrjet të ri në nënrrjetin 10.0.0.0/24 , nise:

sudo VBoxManage natnetwork add --netname natnet1 --network "10.0.0.0/24" --enable
sudo VBoxManage natnetwork start --netname natnet1

Dhe bashkëngjitni atë në VM:

sudo VBoxManage modifyvm "Ubuntu" --nic1 natnetwork --nat-network1 natnet1

Tjetra, ne do të duhet të konfigurojmë se si i qasemi këtij shembulli. Për shkak se ne po e instalojmë këtë në një server pa kokë (pa dalje video), nuk do të jemi në gjendje të përfundojmë procesin e instalimit dhe të instalojmë një klient RDP në sistemin operativ të ftuar. Për ta zgjidhur këtë, ne do të përdorim serverin VRDE të VirtualBox, arsyeja kryesore pse kemi instaluar paketën shtesë të VirtualBox më herët. Kjo kap daljen e ekranit virtual dhe e bën atë të disponueshëm mbi RDP.

Aktivizoni këtë dhe vendosni një port për të. Ju do të dëshironi të siguroheni që sistemi operativ pritës e ka këtë port të hapur.

sudo VBoxManage modifyvm "Ubuntu" --vrde on
sudo VBoxManage modifyvm "Ubuntu" --vrdeport 5587

Më në fund, ne jemi në gjendje të nisim VM-në në modalitetin pa kokë dhe të fillojmë instalimin e OS.

sudo VBoxManage startvm "Ubuntu" --type headless

Vini re se modaliteti pa kokë do të thotë se po funksionon në një server pa kokë dhe jo se sistemi operativ i ftuar nuk ka video jashtë.

Do të duhen një ose dy sekondë për të filluar, dhe ju do të jeni në gjendje të aktivizoni një klient RDP dhe të lidheni me të duke përdorur portin që keni specifikuar. Mund të kërkojë një emër përdoruesi dhe fjalëkalim; VRDE parazgjedhur është admin pa fjalëkalim.

Përcjellja e portit pas konfigurimit

Pasi të përfundojë instalimi i sistemit operativ, do t'ju duhet të bëni disa përcjellje portash për të ruajtur aksesin pasi VRDE të jetë çaktivizuar, në thelb si hapja e rregullave të murit të zjarrit. Nëse po krijoni një mjedis pa kokë si Linux, thjesht do t'ju duhet të dërgoni SSH përpara. Komanda e mëposhtme do të shtojë një rregull të përcjelljes së portit në rrjetin tuaj NAT për të përcjellë portin 2200 në sistemin operativ pritës në portin e paracaktuar SSH të mysafirit. Vini re se kjo port do të duhet të jetë e hapur në murin e zjarrit të hostit tuaj që kjo të funksionojë.

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 "ssh:tcp:[]:2200:[10.0.0.2]:22"

Nëse po konfiguroni RDP, do të duhet të konfiguroni serverin RDP në sistemin operativ të ftuar dhe sigurohuni që porta RDP të jetë e hapur në murin e zjarrit të mysafirit. Pas kësaj, ju mund të dërgoni përpara në të njëjtën mënyrë:

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 "rdp:tcp:[]:5589:[10.11.0.2]:3389"

Nëse keni nevojë të fshini rregullat e përcjelljes së portit, do t'ju duhet t'i fshini ato me emër me këtë komandë mjaft të vështirë (vargu i parë përpara dy pikave):

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete rdp

Pasi të keni verifikuar se mund të lidheni me SSH/RDP direkt me sistemin operativ të ftuar, mund të çaktivizoni VRDE:

sudo VBoxManage modifyvm "Ubuntu" --vrde off

Nëse po planifikoni të përdorni këtë VM mbi RDP për periudha të gjata kohore, mund të dëshironi të instaloni paketën VirtualBox Guest Additions për OS tuaj të ftuar.

Nëse vendosni të menaxhoni VirtualBox duke përdorur GUI-në pas konfigurimit të kësaj VM nga CLI, mbani në mend se kjo VM është krijuar si root, kështu që do t'ju duhet të hapni GUI-në VirtualBox si root për të parë këtë VM në listë. Përndryshe, duhet të funksionojë normalisht.

Gjithashtu, nëse dëshironi që pajisja të funksionojë ndërsa mjedisi i desktopit është i mbyllur, do t'ju duhet të klikoni me të djathtën për të nisur pajisjen në modalitetin pa kokë.