V Ubuntu sa ako nástroje na správu odporúča používať hypervízor KVM (správca virtuálnych strojov) a knižnicu libvirt. Libvirt obsahuje sadu softvérových rozhraní API a vlastných ovládacích aplikácií virtuálne stroje(VM) virt-manager (grafické rozhranie, GUI) alebo virsh ( príkazový riadok,CLI). Ako alternatívnych manažérov môžete použiť convirt (GUI) alebo convirt2 (WEB rozhranie).
V súčasnosti je na Ubuntu oficiálne podporovaný iba hypervízor KVM. Tento hypervízor je súčasťou kódu operačného jadra Linuxové systémy. Na rozdiel od Xen, KVM nepodporuje paravirtualizáciu, čo znamená, že ak ju chcete použiť, váš CPU musí podporovať technológie VT. Môžete skontrolovať, či váš procesor podporuje túto technológiu spustením príkazu v termináli:
Ak sa ako výsledok zobrazí nasledujúca správa:
INFO: /dev/kvm existuje Je možné použiť zrýchlenie KVM
To znamená, že KVM bude fungovať bez problémov.
Ak ste pri výstupe dostali nasledujúcu správu:
Váš procesor nepodporuje rozšírenia KVM Zrýchlenie KVM sa NEDÁ použiť
potom môžete stále používať virtuálny stroj, ale bude oveľa pomalší.
Nainštalujte 64-bitové systémy ako hostia
Prideľte hosťovským systémom viac ako 2 GB pamäte RAM
Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Ide o inštaláciu na server bez X, t.j. neobsahuje grafické rozhranie. Môžete ho nainštalovať pomocou príkazu
Sudo apt-get install virt-manager
Potom sa v ponuke objaví položka „Správca virtuálnych strojov“ a s vysokou pravdepodobnosťou bude všetko fungovať. Ak sa stále vyskytnú nejaké problémy, budete si musieť prečítať pokyny na anglickej wiki.
Postup vytvorenia hosťa pomocou GUI celkom jednoduché.
Ale textový režim sa dá popísať.
Pri vytváraní systému pomocou GUI as pevný disk Navrhuje sa buď vybrať existujúci obrazový súbor alebo blokové zariadenie, alebo vytvoriť nový súbor s nespracovanými (RAW) dátami. Toto však zďaleka nie je jediný dostupný formát súboru. Zo všetkých typov diskov uvedených v man qemu-img je najflexibilnejší a najmodernejší qcow2. Podporuje snímky, šifrovanie a kompresiu. Musí byť vytvorený pred vytvorením nového hosťa.
Qemu-img create -o preallocation=metadata -f qcow2 qcow2.img 20G
Podľa toho istého muža qemu-img predbežné pridelenie metadát (-o preallocation=metadata) robí disk spočiatku trochu väčším, ale poskytuje lepší výkon, keď obraz potrebuje rásť. V skutočnosti v v tomto prípade Táto možnosť vám umožní vyhnúť sa nepríjemnej chybe. Vytvorený obrázok spočiatku zaberá menej ako megabajt miesta a podľa potreby rastie na špecifikovanú veľkosť. Hosťujúci systém by mal okamžite vidieť túto konečnú špecifikovanú veľkosť, avšak počas fázy inštalácie môže vidieť skutočnú veľkosť súboru. Prirodzene, nainštalujte pevný disk 200 kB vo veľkosti odmietne. Chyba nie je špecifická pre Ubuntu, objavuje sa aspoň v RHEL.
Okrem typu obrazu si následne môžete zvoliť spôsob jeho pripojenia – IDE, SCSI alebo Virtio Disk. Výkon bude závisieť od tejto voľby diskový subsystém. Neexistuje žiadna jednoznačná správna odpoveď, ktorú si musíte vybrať na základe úlohy, ktorá bude pridelená hosťovskému systému. Ak je hosťovský systém vytvorený „na pozeranie“, potom bude stačiť akákoľvek metóda. Vo všeobecnosti je to I/O, ktoré je prekážkou virtuálneho stroja, takže pri vytváraní vysoko zaťaženého systému je potrebné pristupovať k tomuto problému čo najzodpovednejšie.
Kontrola podpory hypervízora
Skontrolujeme, či server podporuje virtualizačné technológie:
cat /proc/cpuinfo | egrep "(vmx|svm)"
Ako odpoveď by ste mali dostať niečo takéto:
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp nonstop_lm reptsf aperfm perf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb tpr_shadow vnmi flexpriority ept vpid dtherm ida arat
V opačnom prípade prejdite do systému BIOS, nájdite možnosť povoliť technológiu virtualizácie (má rôzne názvy, napríklad Intel Virtualization Technology alebo Virtualization) a povoľte ju - nastavte hodnotu Povoliť.
Kompatibilitu môžete skontrolovať aj pomocou príkazu:
* ak príkaz vráti chybu "kvm-ok príkaz nenájdený", nainštalujte príslušný balík: apt-get nainštalovať cpu-checker.
Ak vidíme:
INFO: /dev/kvm existuje
Je možné použiť zrýchlenie KVM
To znamená, že existuje hardvérová podpora.
Pre naše pohodlie si vytvoríme adresár, do ktorého budeme ukladať dáta pre KVM:
mkdir -p /kvm/(vhdd,iso)
*vytvoria sa dva adresáre: /kvm/vhdd(pre virtuálne pevné disky) A /kvm/iso(pre obrázky iso).
Nastavíme čas:
\cp /usr/share/zoneinfo/Europe/Moskva /etc/localtime
* tento príkaz nastavuje zónu v súlade s moskovským časom.
ntpdate ru.pool.ntp.org
* Synchronizujeme s časovým serverom.
Nainštalujeme KVM a potrebné nástroje na správu.
a) Ubuntu do verzie 18.10
apt-get install qemu-kvm libvirt-bin virtinst libosinfo-bin
b) Ubuntu po 18.10:
apt-get install qemu-kvm libvirt-daemon-system libvirt-bin virtinst libosinfo-bin
* Kde qemu-kvm- hypervízor; libvirt-bin— riadiaca knižnica hypervízora; virtinst— nástroj na správu virtuálnych strojov; libosinfo-bin— pomôcka na zobrazenie zoznamu možností operačného systému, ktoré možno použiť ako hosťujúce operačné systémy.
Nakonfigurujme službu tak, aby sa spustila automaticky:
systemctl povoliť libvirtd
Spustíme libvirtd:
systemctl spustiť libvirtd
Virtuálne stroje môžu pracovať za NAT (čo je KVM server) alebo prijímať IP adresy lokálna sieť— na to musíte nakonfigurovať sieťový most. To posledné nakonfigurujeme.
Používanie vzdialené pripojenie, pozorne skontrolujte nastavenia. Ak sa vyskytne chyba, spojenie sa ukončí.
Nainštalujte bridge-utils:
apt-get install bridge-utils
a) nastavenie siete v starších verziách Ubuntu (/etc/network/interfaces).
Ak chcete nakonfigurovať sieťové rozhrania, otvorte konfiguračný súbor:
vi /etc/network/interfaces
A dajme to v tejto forme:
#iface eth0 inet static
# adresa 192.168.1.24
# maska siete 255.255.255.0
#brána 192.168.1.1
# dns-nameservers 192.168.1.1 192.168.1.2
Auto br0
iface br0 inet static
adresa 192.168.1.24
sieťová maska 255.255.255.0
brána 192.168.1.1
dns-nameservers 192.168.1.1 192.168.1.2
bridge_ports eth0
bridge_fd 9
most_ahoj 2
bridge_maxage 12
bridge_stp off
* kde všetko, čo je zakomentované, sú staré nastavenia mojej siete; br0— názov rozhrania vytvoreného mosta; eth0— existujúce sieťové rozhranie, cez ktoré bude most fungovať.
Reštartujte sieťovú službu:
systemctl reštartovanie siete
b) nastavenie siete v nových verziách Ubuntu (netplan).
vi /etc/netplan/01-netcfg.yaml
*v závislosti od verzie systému, konfiguračný súbor yaml môže mať iný názov.
Poďme to do formy:
sieť:
verzia: 2
renderer: sieťový
ethernety:
eth0:
dhcp4: nepravda
dhcp6: nepravda
wakeonlan: pravda
Mosty:
br0:
makaddress: 2c:6d:45:c3:55:a7
rozhrania:
-eth0
adresy:
- 192.168.1.24/24
brána4: 192.168.1.1
mtu: 1500
menné servery:
adresy:
- 192.168.1.1
- 192.168.1.2
parametre:
stp: pravda
oneskorenie dopredu: 4
dhcp4: nepravda
dhcp6: nepravda
*V v tomto príklade vytvoríme rozhranie virtuálneho mosta br0; ako fyzické rozhranie používame eth0.
Aplikujeme nastavenia siete:
Trváme na presmerovaní sieťovej prevádzky (aby virtuálne stroje so sieťovým rozhraním NAT mali prístup na internet):
vi /etc/sysctl.d/99-sysctl.conf
Pridajte riadok:
net.ipv4.ip_forward=1
Použiť nastavenia:
sysctl -p /etc/sysctl.d/99-sysctl.conf
Ak chcete vytvoriť prvý virtuálny počítač, zadajte nasledujúci príkaz:
virt-install -n VM1\
--autostart\
--noautoconsole\
--network=bridge:br0 \
--ram 2048 --arch=x86_64 \
--vcpus=2 --hostiteľ cpu --check-cpu \
--cesta k disku=/kvm/vhdd/VM1-disk1.img,veľkosť=16 \
--cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \
--graphics vnc,listen=0.0.0.0,password=vnc_password \
--os-type linux --os-variant=ubuntu18.04 --boot cdrom,hd,menu=on
Na počítači, z ktorého plánujeme pracovať s virtuálnymi strojmi, si stiahnite klienta VNC, napríklad TightVNC, a nainštalujte ho.
Na serveri zadáme:
virsh vncdisplay VM1
príkaz ukáže, na ktorom porte VNC beží pre stroj VM1. mal som:
* :1 znamená, že musíte pridať 1 k 5900 - 5900 + 1 = 5901.
Spustite program TightVNC Viewer, ktorý sme nainštalovali, a zadajte údaje o pripojení:
Kliknite na Pripojte sa. Keď sa zobrazí výzva na zadanie hesla, zadajte heslo, ktoré ste zadali pri vytváraní virtuálneho počítača ( vnc_password). K virtuálnemu stroju sa pripojíme pomocou vzdialenej konzoly.
Ak si nepamätáme heslo, otvoríme nastavenie virtuálneho počítača príkazom:
A nájdeme riadok:
* v tomto príklade sa na prístup k virtuálnemu stroju používa heslo 12345678 .
Príklady príkazov, ktoré môžu byť užitočné pri práci s virtuálnymi strojmi.
1. Získajte zoznam vytvorených strojov:
virsh list --all
2. Povoľte virtuálny počítač:
virsh start VMname
* Kde VMname— názov vytvoreného stroja.
3. Vypnite virtuálny počítač:
ubuntu-vm-builder je balík vyvinutý spoločnosťou Canonical na uľahčenie vytvárania nových virtuálnych strojov.
Ak ho chcete nainštalovať, zadajte:
apt-get nainštalujte ubuntu-vm-builder
Píšem túto poznámku, aby som to demonštroval inštalácia krok za krokom a nastavenie virtuálneho stroja založeného na KVM v systéme Linux. Predtým som písal o virtualizácii, kde som použil nádherný .
Teraz stojím pred otázkou prenájmu dobrý server s veľkým množstvom pamäte RAM a objemné pevný disk. Nechcem však spúšťať projekty priamo na hostiteľskom počítači, takže ich rozdelím na samostatné malé virtuálne servery so systémom Linux alebo Docker kontajnery (o nich budem hovoriť v inom článku).
Všetky moderné cloud hostingy fungujú na rovnakom princípe, t.j. hostiteľ zapnutý dobrá žľaza zdvihne hromadu virtuálne servery, ktoré sme zvykli nazývať VPS/VDS, a distribuuje ich používateľom, prípadne tento proces automatizuje (ahoj, DigitalOcean).
KVM (kernel-based virtual machine) je softvér pre Linux, ktorý využíva hardvér procesorov kompatibilných s x86 na prácu s virtualizačnou technológiou Intel VT/AMD SVM.
Všetky machinácie s vytvorením virtuálneho stroja vykonám na OS Ubuntu 16.04.1 LTS. Ak chcete skontrolovať, či vaše procesy podporujú virtualizáciu hardvéru založené na Intel VT/AMD SVM, vykonajte:
Grep -E "(vmx|svm)" /proc/cpuinfo
Ak terminál nie je prázdny, potom je všetko v poriadku a KVM je možné nainštalovať. Ubuntu oficiálne podporuje iba hypervízor KVM (súčasť linuxového jadra) a ako nástroj na jeho správu odporúča používať knižnicu libvirt, čo urobíme ďalej.
Podporu virtualizácie hardvéru v Ubuntu môžete skontrolovať aj pomocou príkazu:
Ak uspejete, uvidíte niečo takéto:
INFO: /dev/kvm existuje Je možné použiť zrýchlenie KVM
Nainštalujte balíky pre prácu s KVM:
Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Ak máte prístup k grafický shell systém, môžete nainštalovať správcu GUI libvirt:
Sudo apt-get install virt-manager
Používanie virt-manager je pomerne jednoduché (nie ťažšie ako VirtualBox), takže v tomto článku budeme hovoriť o možnosti konzoly na inštaláciu a konfiguráciu virtuálneho servera.
V konzolovej verzii inštalácie, konfigurácie a správy systému je nevyhnutným nástrojom virsh utility (doplnok ku knižnici libvirt). Ona má veľké množstvo možnosti a parametre, podrobný popis možno získať takto:
Muž virsh
alebo zavolajte štandardnú "pomoc":
Virsh pomoc
Pri práci s virtuálnymi servermi vždy dodržiavam nasledujúce pravidlá:
Začnime inštalovať prvý virtuálny stroj (64-bitový server Ubuntu 16.04 LTS):
Cd /var/lib/libvirt/boot sudo wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso
Po stiahnutí obrázka spustite inštaláciu:
Sudo virt-install \ --virt-type=kvm \ --name ubuntu1604\ --ram 1024 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --hvm \ --cdrom=/var/ lib/libvirt/boot/ubuntu-16.04.1-server-amd64.iso \ --network network=default,model=virtio \ --graphics vnc \ --cesta k disku=/var/lib/libvirt/images/ubuntu1604. img,veľkosť=20,zbernica=virtio
Preložením všetkých týchto parametrov do „ľudského jazyka“ sa ukáže, že vytvárame virtuálny stroj s OS Ubuntu 16.04, 1024 MB RAM, 1 procesor, štandardná sieťová karta (virtuálny stroj bude pristupovať na internet, akoby vďaka NAT ), 20 GB HDD.
Stojí za to venovať pozornosť parametrom --os-variant, informuje hypervízor, ktorému OS by sa mali nastavenia prispôsobiť.
Zoznam dostupných možností OS možno získať spustením príkazu:
Osinfo-dotaz os
Ak takýto nástroj nie je vo vašom systéme, nainštalujte:
Sudo apt-get install libosinfo-bin
Po spustení inštalácie sa v konzole zobrazí nasledujúca správa:
Inštalácia domény stále prebieha. Môžete opätovným pripojením ku konzole dokončite proces inštalácie.
Toto je bežná situácia, budeme pokračovať v inštalácii cez VNC.
Pozrime sa, ktorý port bol vytvorený na našom virtuálnom stroji (napríklad v nasledujúcom termináli):
Virsh dumpxml ubuntu1604...
Port 5900, na miestnej adrese 127.0.0.1. Ak sa chcete pripojiť k VNC, musíte použiť presmerovanie portov cez ssh. Predtým, ako to urobíte, skontrolujte, či je v démone ssh povolené presmerovanie tcp. Ak to chcete urobiť, prejdite do nastavení sshd:
Cat /etc/ssh/sshd_config | grep AllowTcpForwarding
Ak sa nič nenašlo alebo vidíte:
AllowTcpForwarding č
Potom upravíme konfiguráciu na
AllowTcpForwarding áno
a reštartujte sshd.
Spustíme príkaz na lokálnom počítači:
Ssh -fN -l login -L 127.0.0.1:5900:localhost:5900 server_ip
Tu sme nakonfigurovali presmerovanie ssh portu z lokálneho portu 5900 na port servera 5900. Teraz sa môžete pripojiť k VNC pomocou ľubovoľného klienta VNC. Preferujem UltraVNC kvôli jeho jednoduchosti a pohodliu.
Po úspešnom pripojení sa na obrazovke zobrazí štandardné uvítacie okno na spustenie inštalácie Ubuntu:
Po dokončení inštalácie a zvyčajnom reštarte sa zobrazí prihlasovacie okno. Po prihlásení určíme IP adresu novovytvoreného virtuálneho počítača, aby sme ho neskôr zmenili na statický:
Ifconfig
Pamätáme si a ideme k hostiteľskému stroju. Vytiahneme mac adresu „sieťovej“ karty virtuálneho počítača:
Virsh dumpxml ubuntu1604 | grep "mac adresa"
Zapamätajme si našu mac adresu:
Úprava sieťových nastavení hypervízora:
Sudo virsh net-edit predvolene
Hľadáme DHCP a pridáme toto:
Malo by to vyzerať asi takto:
Aby sa nastavenia prejavili, musíte reštartovať server DHCP hypervízora:
Sudo virsh net-destroy predvolená sudo virsh net-start predvolená služba sudo libvirt-bin reštart
Potom virtuálny počítač reštartujeme, teraz bude mať vždy priradenú IP adresu - 192.168.122.131.
Existujú aj iné spôsoby, ako nastaviť statickú IP pre virtuálny počítač, napríklad priamou úpravou sieťových nastavení v hosťujúcom systéme, ale tu je to čokoľvek, po čom vaše srdce túži. Práve som ukázal možnosť, ktorú radšej používam.
Ak sa chcete pripojiť k terminálu virtuálneho počítača, spustite:
Ssh 192.168.122.131
Auto je pripravené na boj.
Vidieť beh virtuálnych hostiteľov(všetky dostupné je možné získať pridaním --all):
Sudo virsh zoznam
Hostiteľa môžete reštartovať:
Sudo virsh reštartujte $VM_NAME
Zastavte virtuálny počítač:
Sudo virsh stop $VM_NAME
Vykonajte zastavenie:
Sudo virsh znič $VM_NAME
Sudo virsh štart $VM_NAME
Zakázať:
Sudo virsh vypnutie $VM_NAME
Pridať do automatického spustenia:
Automatické spustenie sudo virsh $VM_NAME
Veľmi často je potrebné klonovať systém, aby ho bolo možné v budúcnosti použiť ako rámec pre iné virtuálne operačné systémy, používa sa na to utilita virt-clone.
Virt-klon --pomoc
Klonuje existujúci virtuálny stroj a mení údaje citlivé na hostiteľa, napríklad mac adresu. Heslá, súbory a ďalšie informácie špecifické pre používateľa v klone zostávajú rovnaké. Ak bola IP adresa na klonovanom virtuálnom stroji zaregistrovaná manuálne, môžu nastať problémy s prístupom SSH ku klonu v dôsledku konfliktu (2 hostitelia s rovnakou IP).
Okrem inštalácie virtuálneho stroja cez VNC je možné použiť aj X11Forwarding cez utilitu virt-manager. V systéme Windows na to môžete použiť napríklad Xming a PuTTY.
Vydanie WordPress 5.3 zlepšuje a rozširuje editor blokov predstavený vo WordPress 5.0 o nový blok, intuitívnejšiu interakciu a vylepšenú dostupnosť. Nové funkcie v editore […]
Po deviatich mesiacoch vývoja je k dispozícii multimediálny balík FFmpeg 4.2, ktorý obsahuje sadu aplikácií a kolekciu knižníc pre operácie s rôznymi multimediálnymi formátmi (nahrávanie, konvertovanie a […]
Linux Mint 19.2 je dlhodobá podpora, ktorá bude podporovaná do roku 2023. Dodáva sa s aktualizovaným softvér a obsahuje vylepšenia a mnoho nových […]
Prezentované vydanie distribučnej súpravy Linux Mint 19.2, druhej aktualizácie vetvy Linux Mint 19.x, vytvorenej na dávke Založené na Ubuntu 18.04 LTS a podporované do roku 2023. Distribúcia je plne kompatibilná [...]
K dispozícii sú nové vydania služby BIND, ktoré obsahujú opravy chýb a vylepšenia funkcií. Nové vydania si môžete stiahnuť zo stránky na stiahnutie na webovej stránke vývojára: […]
Exim je agent prenosu správ (MTA) vyvinutý na Univerzite v Cambridge na použitie v systémoch Unix pripojených k internetu. Je voľne dostupný v súlade s [...]
Po takmer dvoch rokoch vývoja je predstavené vydanie ZFS na Linuxe 0.8.0, implementácia súborový systém ZFS, navrhnutý ako modul pre jadro Linuxu. Prevádzka modulu bola testovaná s Linuxové jadrá od 2.6.32 do […]
IETF (Internet Engineering Task Force), ktorá je zodpovedná za vývoj internetových protokolov a architektúry, dokončila vytvorenie RFC pre protokol ACME (Automatic Certificate Management Environment) […]
Komunitou kontrolovaná nezisková certifikačná autorita Let’s Encrypt, ktorá poskytuje certifikáty všetkým bezplatne, zhrnula výsledky uplynulého roka a hovorila o plánoch na rok 2019. […]
Osobne je pre mňa najjednoduchšie predstaviť si KVM (Kernel-based Virtual Machine) ako úroveň abstrakcie nad technológiami virtualizácie hardvéru Intel VT-x a AMD-V. Vezmeme stroj s procesorom, ktorý podporuje jednu z týchto technológií, nainštalujeme na tento stroj Linux, nainštalujeme KVM do Linuxu a ako výsledok dostaneme možnosť vytvárať virtuálne stroje. Zhruba takto funguje cloud hosting, napríklad Amazon Web Services. Spolu s KVM sa niekedy používa aj Xen, ale diskusia o tejto technológii presahuje rámec tohto príspevku. Na rozdiel od technológií virtualizácie kontajnerov, napríklad Docker, vám KVM umožňuje spustiť ľubovoľný operačný systém ako hosťovský systém, ale má tiež O Vyššie náklady na virtualizáciu.
Poznámka: Kroky popísané nižšie som testoval na Ubuntu Linux 14.04, ale teoreticky budú v mnohých ohľadoch rovnako pravdivé ako pre ostatné Verzie Ubuntu a ďalšie Linuxové distribúcie. Všetko by malo fungovať na pracovnej ploche aj na serveri, ku ktorému sa pristupuje cez SSH.
Skontrolujeme, či náš procesor podporuje Intel VT-x alebo AMD-V:
grep -E "(vmx|svm)" /proc/cpuinfo
Ak sa niečo zahreje, znamená to, že je to podporované a môžete ísť ďalej.
Inštalácia KVM:
aktualizácia sudo apt-get
sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils
Čo sa zvyčajne ukladá, kde:
Teraz, keď je KVM nainštalovaný, poďme vytvoriť náš prvý virtuálny stroj.
Ako hosťujúci systém som si vybral FreeBSD. Stiahnite si ISO obraz systému:
cd /var/lib/libvirt/boot/
sudo wget http://ftp.freebsd.org/ path/ to/ some-freebsd-disk.iso
Virtuálne stroje sú vo väčšine prípadov spravované pomocou nástroja virsh:
sudo virsh --pomoc
Pred spustením virtuálneho počítača budeme musieť zhromaždiť nejaké ďalšie informácie.
Pozeráme sa na zoznam dostupných sietí:
sudo virsh net-list
Zobrazenie informácií o konkrétnej sieti (pomenovaná predvolená):
sudo virsh net-info predvolene
Pozrime sa na zoznam dostupných optimalizácií pre hosťujúce operačné systémy:
sudo virt-install --os-variant list
Takže teraz vytvoríme virtuálny stroj s 1 CPU, 1 GB RAM a 32 GB miesta na disku, pripojený k predvolenej sieti:
sudo virt-install\
--virt-type =kvm\
--name freebsd10\
--ram 1024\
--vcpus=1\
--os-variant =freebsd8 \
--hvm\
--cdrom =/ var/ lib/ libvirt/ boot/ FreeBSD-10.2 -RELEASE-amd64-disc1.iso \
--sieťová sieť =predvolené,model =virtio \
--graphics vnc\
--cesta k disku =/ var/ lib/ libvirt/ images/ freebsd10.img,size =32 ,bus =virtio
Môžete vidieť:
VAROVANIE Nedá sa pripojiť ku grafickej konzole: nie je virt-viewer
nainštalovaný. Nainštalujte si balík „virt-viewer“.
Inštalácia domény stále prebieha. Môžete sa znova pripojiť ku konzole
na dokončenie procesu inštalácie.
To je normálne, tak to má byť.
Potom sa pozrite na vlastnosti virtuálneho počítača vo formáte XML:
sudo virsh dumpxml freebsd10
Najkompletnejšie informácie sú uvedené tu. Patrí sem napríklad MAC adresa, ktorú budeme neskôr potrebovať. Zatiaľ zisťujeme informácie o VNC. V mojom prípade:
Pomocou vášho obľúbeného klienta (osobne používam Rammina) sa prihlasujeme cez VNC, v prípade potreby pomocou SSH port forwardingu. Prejdeme priamo do inštalačného programu FreeBSD. Potom je všetko ako obvykle - Ďalej, Ďalej, Ďalej, dostaneme nainštalovaný systém.
Poďme sa teraz pozrieť na základné príkazy pre prácu s KVM.
Získanie zoznamu všetkých virtuálnych počítačov:
sudo virsh list --all
Získanie informácií o konkrétnom virtuálnom stroji:
sudo virsh dominfo freebsd10
Spustite virtuálny stroj:
sudo virsh štart freebsd10
Zastaviť virtuálny stroj:
sudo virsh vypnutie freebsd10
Sotva pribijete virtuálny stroj (napriek názvu, toto nie vymazanie):
sudo virsh zničiť freebsd10
Reštartujte virtuálny počítač:
sudo virsh reboot freebsd10
Klonovať virtuálny stroj:
sudo virt-clone -o freebsd10 -n freebsd10-clone \
--file /var/lib/libvirt/images/freebsd10-clone.img
Povoliť/zakázať automatické spustenie:
sudo virsh autostart freebsd10
sudo virsh autostart --zakázať freebsd10
Spustenie virsh v dialógovom režime (všetky príkazy v dialógovom režime - ako je popísané vyššie):
sudo virsh
Úpravou vlastností virtuálneho stroja v XML, vrátane tu môžete zmeniť limit na množstvo pamäte atď.:
sudo virsh upraviť freebsd10
Dôležité! Komentáre z upraveného XML sú bohužiaľ odstránené.
Keď je virtuálny počítač zastavený, veľkosť disku sa dá zmeniť aj takto:
zmena veľkosti sudo qemu-img /var/ lib/ libvirt/ images/ freebsd10.img -2G
sudo qemu-img info /var/lib/libvirt/images/freebsd10.img
Dôležité! Vášmu hosťujúcemu OS sa pravdepodobne nebude páčiť, že sa disk náhle zväčší alebo zmenší. V najlepšom prípade sa spustí v núdzovom režime s návrhom na prerozdelenie disku. Pravdepodobne by ste to nemali chcieť robiť. Môže byť oveľa jednoduchšie vytvoriť nový virtuálny stroj a migrovať naň všetky údaje.
Zálohovanie a obnovenie sú pomerne jednoduché. Výstup dumpxml stačí niekam uložiť, aj obraz disku a následne obnoviť. na YouTube sa podarilo nájsť video S ukážkou tohto procesu naozaj nie je všetko ťažké.
Zaujímavá otázka - ako zistiť, akú IP adresu dostal virtuálny stroj po spustení? KVM to robí šikovným spôsobom. Nakoniec som napísal tento skript v Pythone:
#!/usr/bin/env python3
# skript virt-ip.py
# (c) 2016 Aleksander Alekseev
# http://site/
import sys
import re
import os
podproces importu
z xml .etree importujte ElementTree
def eprint(str) :
print(str, súbor = sys.stderr)
if len(sys.argv)<
2
:
eprint("POUŽITIE: " + sys .argv [ 0 ] + "
eprint("Príklad: " + sys .argv [ 0 ] + " freebsd10" )
sys.exit(1)
if os .geteuid () != 0 :
eprint("CHYBA: mali by ste byť root")
eprint("Tip: spustite `sudo " + sys .argv [ 0 ] + " ...`" ) ;
sys.exit(1)
ak podproces .call ( "ktorý arping 2>&1 >/dev/null", shell = Pravda ) != 0 :
eprint("CHYBA: arping sa nenašiel" )
eprint( "Tip: spustite `sudo apt-get install arping`")
sys.exit(1)
Doména = sys.argv[1]
ak nie, znova .match ("^*$" , doména):
eprint( "CHYBA: neplatné znaky v názve domény")
sys.exit(1)
Domout = podproces .check_output ("virsh dumpxml " +doména+" || true" ,
škrupina = pravda)
domout = domout.decode("utf-8").strip()
if domout == "" :
# chybové hlásenie už vytlačil dumpxml
sys.exit(1)
Doc = ElementTree.fromstring(domout)
# 1. zoznam všetkých sieťových rozhraní
# 2. spustiť `arping` na každom rozhraní paralelne
#3.grep odpovede
cmd = "(ifconfig | cut -d " " -f 1 | grep -E "." | " + \
"xargs -P0 -I IFACE arping -i IFACE -c 1 () 2>&1 | " + \
"grep "bytes from") || true"
pre dieťa v doc.iter() :
if child.tag == "mac" :
macaddr = dieťa.attrib["adresa"]
macout = podproces .check_output (cmd .format (macaddr) ,
škrupina = pravda)
print(macout.decode("utf-8"))
Skript pracuje s predvolenou sieťou aj premostenou sieťou, ktorej konfiguráciu zvážime neskôr. V praxi je však oveľa pohodlnejšie nakonfigurovať KVM tak, aby hosťujúcim systémom prideľoval vždy rovnaké IP adresy. Ak to chcete urobiť, upravte nastavenia siete:
sudo virsh net-edit predvolene
... niečo takéto:
Po vykonaní týchto zmien
>
... a nahraďte ho niečím ako:
Reštartujeme hosťovský systém a skontrolujeme, či dostal IP cez DHCP zo smerovača. Ak chcete, aby mal hosťovský systém statickú IP adresu, táto je nakonfigurovaná ako zvyčajne v rámci samotného hosťujúceho systému.
Tiež by vás mohol zaujímať program virt-manager:
sudo apt-get install virt-manager
sudo usermod -a -G libvirtd USERNAME
Takto vyzerá jeho hlavné okno:
Ako môžete vidieť, virt-manager nie je len GUI pre virtuálne stroje bežiace lokálne. S jeho pomocou môžete spravovať virtuálne stroje bežiace na iných hostiteľoch, ako aj prezerať si krásnu grafiku v reálnom čase. Osobne považujem za obzvlášť výhodné vo virt-manager, že nemusíte prehľadávať konfigurácie, aby ste zistili, ktorý port VNC beží na konkrétnom hosťujúcom systéme. Virtuálny počítač jednoducho nájdete v zozname, dvakrát kliknete a získate prístup k monitoru.
S pomocou virt-manager je tiež veľmi pohodlné robiť veci, ktoré by inak vyžadovali pracnú úpravu XML súborov a v niektorých prípadoch aj spustenie dodatočné príkazy. Napríklad premenovanie virtuálnych strojov, nastavenie afinity CPU a podobné veci. Mimochodom, použitie afinity CPU výrazne znižuje vplyv hlučných susedov a vplyv virtuálnych strojov na hostiteľský systém. Vždy, keď je to možné, používajte ho.
Ak sa rozhodnete použiť KVM ako náhradu za VirtualBox, majte na pamäti, že nebudú môcť medzi sebou zdieľať hardvérovú virtualizáciu. Aby KVM fungovalo na vašom desktope, budete musieť nielen zastaviť všetky virtuálne stroje vo VirtualBox a Vagrant, ale aj reštartovať systém. Osobne považujem KVM za oveľa pohodlnejší ako VirtualBox, prinajmenšom preto, že nevyžaduje spustenie príkazu nastavenie sudo /sbin/rcvboxdrv po každej aktualizácii jadra funguje adekvátne s Unity a vo všeobecnosti umožňuje skryť všetky okná.
Protoss: Ruský požiarny preukaz.