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
Upgrade Extension Pack příkazy
Poměrně častá chyba VirtualBoxu, který nedokáže si přes klikátka aktualizovat Extension Pack, odstranit předešlý. Dá se ho k odstranění donutit z příkazové řádky:
sudo vboxmanage extpack uninstall "Oracle VM VirtualBox Extension Pack" vboxmanage list extpacks sudo apt-get install --reinstall libecore1
a pak ze stránky https://www.virtualbox.org/wiki/Downloads si stáhnout a nainstalovat nový, například:
sudo vboxmanage extpack install '/tmp/Oracle_VM_VirtualBox_Extension_Pack-6.1.12.vbox-extpack'
Zapnutí / Vypnutí virtuálu
Zapnutí
_VM=VM-TEST vboxmanage startvm $_VM
Vypnutí sjetím systému
_VM=VM-TEST vboxmanage controlvm $_VM acpipowerbutton
Vypnutí (natvrdo)
_VM=VM-TEST vboxmanage controlvm $_VM poweroff
Export virtuálu do souboru
_VM=VM-TEST vboxmanage export $_VM -o "$_VM.ova"
Zrušení virtuálu i s disky
_VM=VM-TEST vboxmanage unregistervm $_VM --delete
Info o virtuálu
_VM=VM-TEST vboxmanage showvminfo "$_VM"
Připojení se na „obrazovku“ terminálu
Povolení připojení se na obrazovku a nastartování virtuálnu v módu „headless“
_VM=VM-TEST vboxmanage showvminfo $_VM |grep VRDE vboxmanage modifyvm "$_VM" --vrde on VBoxManage startvm $_VM -type headless
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
Zadefinování Zapnutí / Vypnutí virtuálu do systemd
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.
/etc/systemd/system/VM-TEST.service
[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
Příklad vytvoření testovacího 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"