Používám VirtualBox, jde o nástroj umožňující na fyzickém tzv. virtualizačním počítači běh více tzv. virtuálních počítačů, navíc i s různými operačními systémy současně. VirtualBox může běžet jak na Linuxu tak i Windows a Mac OS. Má grafické konfigurační rozhraní, stejně tak se dá ovládat z příkazové řádky.
Domovské stránky: https://www.virtualbox.org/
Nároky na hostující virtualizační počítač jsou hlavně kapacitní a rychlostní, to dle nároků provozovaných virtuálních počítačů a jejich počtu.
- Procesor podporující virtualizaci, minimálně 2 jádrový a s podporou Hyper-threading.
- Dostatek operační paměti (dělí se pro jednotlivé běžící virtuální počítače).
- Dostatek diskové a svižné kapacity
↩️️ Obecné
💻 sudo apt install virtualbox
💻 sudo /sbin/vboxconfig
Stažení nejnovějšího doplňku https://www.virtualbox.org/wiki/Downloads nebo dle verze VirtualBoxu starší https://www.virtualbox.org/wiki/Download_Old_Builds
a nainstalovat dvojklikem na soubor.
💻 vboxmanage showvminfo "VM-TEST"
Konfigurace přístupu
💻 vboxmanage showvminfo "VM-TEST" |grep VRDE
💻 vboxmanage modifyvm "VM-TEST" --vrde on VBoxManage
Start virtuálu na pozadí
💻 startvm "VM-TEST" -type headless
Vzdálené připojení se na obrazovku virtuálu
Nainstalovat prohlížeč rdesktop, v příkladu připojovaný na lokální port 3389 s rozlišením 1280×800 :
💻 sudo apt install rdesktop
💻 rdesktop -g 1280x800 localhost:3389
↩️️ Ovládání virtuálu
💻 vboxmanage startvm "VM-TEST"
💻 vboxmanage controlvm "VM-TEST" acpipowerbutton
💻 vboxmanage controlvm "VM-TEST" poweroff
↩️️ Zálohování / Obnova
💻 vboxmanage export "VM-TEST" -o "VM-TEST.ova"
↩️️ Konfigurace virtuálu
Ikdyž je definice typu síťového adaptéru nepovinná, je vhodné ji uvést, aby virtuál při prvotním startu nehavaroval a nemusel se adaptér potvrdit v klikacím nastavení. Ve skriptu uzpůsobit _NET="enp4s0"
#!/bin/bash
#
# SKRIPT PRO VYTVORENI TESTOVACIHO VIRTUALU PRO RAID
# ==================================================
#
### NAZEV VIRTUALU A SITOVEHO ADAPTERU ###
_VM="VM-TEST"
_NET="enp4s0"
#### ZALOZENI VIRTUALU ###
vboxmanage createvm --name $_VM --ostype "Ubuntu_64" --register
### KONFIGURACE CPU, RAM, BOOTOVANI ###
vboxmanage modifyvm $_VM --cpus 2 --accelerate3d off --vram 64 --memory 2048 --boot1 dvd --boot2 disk --boot3 none --boot4 none
### SITOVY MOST S DEFINICI ADAPTERU ###
vboxmanage modifyvm $_VM --nic1 bridged --bridgeadapter1 "$_NET"
### KONFIGURACE DISKOVYCH PORTU ###
vboxmanage storagectl $_VM --name "IDE" --add ide --controller PIIX4
vboxmanage storagectl $_VM --name "SATA" --add sata --controller IntelAHCI --bootable on --portcount 6
### VYTVORENI VIRTUALNICH DISKU ###
vboxmanage createmedium disk --filename "$HOME/VirtualBox VMs/$_VM/${_VM}-0.vdi" --format VDI --size 8192
vboxmanage createmedium disk --filename "$HOME/VirtualBox VMs/$_VM/${_VM}-1.vdi" --format VDI --size 8192
vboxmanage createmedium disk --filename "$HOME/VirtualBox VMs/$_VM/${_VM}-2.vdi" --format VDI --size 8192
vboxmanage createmedium disk --filename "$HOME/VirtualBox VMs/$_VM/${_VM}-3.vdi" --format VDI --size 8192
### PRIPOJENI VIRTUALNICH DISKU A ISO SOUBORU ###
vboxmanage storageattach $_VM --storagectl "SATA" --device 0 --port 0 --type hdd --medium "$HOME/VirtualBox VMs/$_VM/${_VM}-0.vdi"
vboxmanage storageattach $_VM --storagectl "SATA" --device 0 --port 1 --type hdd --medium "$HOME/VirtualBox VMs/$_VM/${_VM}-1.vdi"
vboxmanage storageattach $_VM --storagectl "SATA" --device 0 --port 2 --type hdd --medium "$HOME/VirtualBox VMs/$_VM/${_VM}-2.vdi"
vboxmanage storageattach $_VM --storagectl "SATA" --device 0 --port 3 --type hdd --medium "$HOME/VirtualBox VMs/$_VM/${_VM}-3.vdi"
vboxmanage storageattach $_VM --storagectl "IDE" --device 0 --port 0 --type dvddrive --medium "/tmp/ubuntu-20.04.3-live-server-amd64.iso"💻 vboxmanage unregistervm "VM-TEST" --delete
Vytvoření definice
Definice User=spravce Group=spravce jsou nutné mít aktuální, pod kým je virtuál definován. Parametr vypnutí acpipowerbutton je pro korektní sjetí systému, kdy musí být ve virtuálu nainstalovaná extensions podpora. Jinak pro vypnutí natvrdo je parametr poweroff. Upravit si i TimeOuty /bin/sleep 14 a TimeoutStopSec=15s čekání na sjetí systému.
💻 sudo vi /etc/systemd/system/VM-TEST.service
Vložit:
[Unit] Description=VM-TEST Requires=vboxdrv.service [Service] Type=oneshot User=spravce Group=spravce ExecStart=/usr/bin/vboxmanage startvm "VM-TEST" --type vrdp RemainAfterExit=yes ExecStop=/usr/bin/vboxmanage controlvm "VM-TEST" acpipowerbutton ; /bin/sleep 14 TimeoutStopSec=15s [Install] WantedBy=multi-user.target
Zavedení definice
💻 sudo systemctl daemon-reload
Aktivace startu virtuálu při startu hostujícího počítače
💻 sudo systemctl enable VM-TEST
Deaktivace startu virtuálu při startu hostujícího počítače
💻 sudo systemctl disable VM-TEST
Start virtuálu
💻 sudo systemctl start VM-TEST
Stop virtuálu
💻 sudo systemctl stop VM-TEST
ReStart virtuálu
💻 sudo systemctl restart VM-TEST
Status virtuálu
💻 sudo systemctl status VM-TEST
↩️️ Problémy 🆘
Poměrně častá chyba VirtualBoxu, který nedokáže si přes klikátka aktualizovat Extension Pack, odstranit předešlý. Dá se vyřešit z příkazové řádkyt z příkazové řádky:
Odinstalace doplňku
Zjištění názvu nainstalovaného doplňku:
💻 vboxmanage list extpacks
Odinstalace dle názvu:
💻 sudo vboxmanage extpack uninstall "Oracle VirtualBox Extension Pack"
Reinstalace závislosti
💻 sudo apt-get install --reinstall libecore1
Instalace doplňku
Stažení nejnovějšího doplňku https://www.virtualbox.org/wiki/Downloads nebo dle verze VirtualBoxu starší https://www.virtualbox.org/wiki/Download_Old_Builds a nainstalovat:
💻 sudo vboxmanage extpack install '/tmp/Oracle_VM_VirtualBox_Extension_Pack-6.1.12.vbox-extpack'
