6 avoimen lähdekoodin virtualisointiteknologiaa, jotka kannattaa tuntea vuonna 2020

Virtualization Tools, joka tunnetaan paremmin nimellä Virt Tools, on kokoelma kuutta avoimen lähdekoodin virtualisointityökalua, jotka on luotu useiden eri tekijöiden toimesta ja joiden tarkoituksena on parantaa virtualisointimaailmaa.

1_virttools.jpg

Virt Tools -verkkosivusto

(Bryant Son, CC BY-SA 4.0)

Jotkut työkaluista, kuten KVM ja QEMU, saattavat olla tuttuja Linux-harrastajille, mutta libvirtin ja libguestfs:n kaltaiset työkalut luultavasti vähemmän.

Jos haluat oppia mieluummin katsomalla videoita kuin lukemalla, loin tästä artikkelista videoversion, johon pääset käsiksi YouTubessa.

Voit ennen työkalujen läpikäyntiä tutustua joihinkin olennaisiin virtualisointitermistöihin. Johdin monet näistä määritelmistä Wikipediasta, jonka sivut on linkitetty taulukossa.

Termi Määritelmä
Virtualisointi Virtualisoinnilla tarkoitetaan tietojenkäsittelyn alalla virtuaalisen (fyysisen) version luomista jostakin asiasta, mukaan luettuina virtuaaliset tietokoneen laitteistoalustat, tallennuslaitteet ja tietokoneverkon resurssit.
Emulaattori Emulaattori on laitteisto tai ohjelmisto, jonka avulla yksi tietokonejärjestelmä (nimeltään isäntä) voi käyttäytyä kuin toinen tietokonejärjestelmä (nimeltään vieras).
Virtuaalikone (VM) Nimeltään ”vieras-kone”, nämä ovat oikeiden fyysisten laitteisto-tietokoneiden jäljitelmiä.
Hostit Laitteistovirtualisoinnissa tietokone, jossa hypervisor ajaa yhtä tai useampaa VM:ää.
Hypervisor Se on tietokoneohjelmisto, laiteohjelmisto tai -laitteisto, joka luo ja ajaa VM:ää.
Kernel Tämä on tietokoneen käyttöjärjestelmän ytimessä oleva tietokoneohjelma, jolla on täydellinen määräysvalta kaikkeen järjestelmässä olevaan.
Daemon Tämä on tietokoneohjelma, joka toimii taustaprosessina eikä vuorovaikutteisen käyttäjän suorassa hallinnassa.

Tässä taulukossa on yhteenveto jokaisesta Virt-työkalusta, mukaan lukien lisenssitiedot ja linkit kunkin työkalun verkkosivuille ja lähdekoodiin. Suuri osa näistä tiedoista on peräisin Virt Tools -sivustolta ja kunkin työkalun sivustolta.

Nimi Mitä se on Lisenssi Lähdekoodi
Kernel-based Virtual Machine (KVM) Linux-ytimen virtualisointimoduuli, jonka avulla ydin voi toimia hypervisorina GNU GPL tai LGPL Lähdekoodi
Lähdekoodi
Nopea Emulator (QEMU) Yleinen ja avoimen lähdekoodin kone-emulaattori ja virtualisoija GPLv2 Lähdekoodi
Libvirt Kirjasto ja daemon, joka tarjoaa vakaan, avoimen lähdekoodin API virtualisointi-isäntien hallintaan GNU Lähdekoodi
Libguestfs Työkalut VM-levykuvien käyttämiseen ja muokkaamiseen LGPL, GPL Lähdekoodi
Virt-manager Työpöydän käyttöliittymä VM:ien hallintaan libvirt:n avulla GPLv2+ Lähdekoodi
Libosinfo Tarjoaa tietokannan tietoja käyttöjärjestelmän julkaisuista, jotka auttavat laitteiston optimaalisessa konfiguroinnissa VM:ien käyttöönoton yhteydessä LGPLv2+ Lähdekoodi

Kernel-based Virtual Manager (KVM)

2_kvm.jpg

KVM:n verkkosivut

(Bryant Son, CC BY-SA 4.0)

KVM on täydellinen virtualisointiratkaisu Linux-käyttöjärjestelmälle laitteistoissa, jotka sisältävät virtualisointilaajennuksia. KVM tarjoaa laitteistovirtualisoinnin monille erilaisille vieraskäyttöjärjestelmille, kuten Linux, Windows, macOS, ReactOS ja Haiku. KVM:n avulla voit käyttää useita VM:iä muokkaamattomilla Linux- tai Windows-kuvilla. Jokaisella VM:llä on oma virtualisoitu laitteisto: verkkokortti, levy, grafiikkasovitin jne.

Viime aikoina et ole suoraan tekemisissä KVM:n kanssa. Sen sijaan sinun on käytettävä QEMU:ta, virt-manageria tai muuta virtualisoinnin hallintatyökalua, jotta voit hyödyntää KVM:ää.

KVM:n verkkosivuilta löydät täydellisen dokumentaation sekä pääset käsiksi sen lähdekoodiin.

Quick Emulator (QEMU)

3_qemu.jpg

QEMU:n verkkosivusto

(Bryant Son, CC BY-SA 4.0)

QEMU on yleinen, avoimen lähdekoodin kone-emulaattori ja virtualisaattori. Kun QEMUa käytetään emulaattorina, sillä voidaan ajaa käyttöjärjestelmiä ja ohjelmia, jotka on tehty yhdelle koneelle (esim. ARM-levylle), toisella koneella (esim. omalla x86_64-tietokoneella). Virtualisaattorina käytettynä QEMU saavuttaa lähes natiivin suorituskyvyn suorittamalla vieraskoodin suoraan isäntäsuorittimella KVM:n avulla.

QEMU:ta tuetaan useissa käyttöjärjestelmissä, ja sen asennusprosessi on yhtä helppoa kuin muutaman yksinkertaisen komennon suorittaminen; tässä näet, miten QEMU asennetaan macOS:ään Homebrew:n avulla.

3_1_qemuinstall.jpg

QEMU macOS:n asennustiedot

(Bryant Son, CC BY-SA 4.0)

Asennuksen jälkeen opettele käyttämään sitä lukemalla sen dokumentaatio läpi, ja pääset myös käsiksi sen lähdekoodiin.

Libvirt

4_libvirt.jpg

Libvirtin verkkosivusto

(Bryant Son, CC BY-SA 4.0)

Libvirt on kirjasto ja daemon, joka tarjoaa vakaan avoimen lähdekoodin sovellusrajapinnan virtualisointi-isäntäkoneiden hallintaan. Se kohdistuu useisiin hypervisoreihin, kuten QEMU:hun, KVM:ään, LXC:hen, Xeniin, OpenVZ:hen, VMWare ESX:ään, VirtualBoxiin ja muihin.

Toinen mielenkiintoinen asia libvirtistä on se, että KubeVirt, avoimen lähdekoodin projekti VM:ien luomiseen ja hallintaan Kubernetes-alustan sisällä, hyödyntää pitkälti Libvirtiä. (Käsittelen KubeVirtiä tulevassa artikkelissa.) Libvirt on mielenkiintoinen projekti, johon kannattaa tutustua, ja sen viralliselta sivustolta löytyy runsaasti tietoa sekä sen lähdekoodin lataaminen.

Libguestfs

5_libguestfs.jpg

Libguestfs-sivusto

(Bryant Son, CC BY-SA 4.0)

Libguestfs on joukko työkaluja VM-levykuvien käyttämiseen ja muokkaamiseen. Voit käyttää sitä vieraiden sisällä olevien tiedostojen tarkasteluun ja muokkaamiseen, VM-kuviin tehtävien muutosten skriptaamiseen, käytettyjen/vapaiden levytilastojen seurantaan, vieraiden, fyysisistä virtuaalikoneista virtuaalikoneiksi (P2V) tai virtuaalisista virtuaalikoneista virtuaalikoneiksi (V2V) luotujen koneiden luomiseen, varmuuskopioinnin suorittamiseen, VM:ien kloonaamiseen, VM:ien rakentamiseen, levyjen alustamiseen, levyjen koon muuttamiseen ja paljon muuhun. Olen käyttänyt sitä viime aikoina työskennellessäni KubeVirt-pohjaisen projektin nimeltä OpenShift Virtualization parissa, josta voit oppia lisää video-oppaassani.

Libguestfs:n virallisella verkkosivustolla on laaja dokumentaatio kunkin komennon käytöstä, ja voit myös ladata sen lähdekoodin GitHubista.

Virt-manager

6_virtualmanager.jpg

Virt-managerin verkkosivusto

(Bryant Son, CC BY-SA 4.0)

Virt-manager on työpöydän käyttöliittymä VM:ien hallintaan libvirt:n avulla. Se kohdistuu ensisijaisesti KVM-VM:iin, mutta hallitsee myös Xeniä ja LXC:tä. Se sisältää myös komentorivin provisiointityökalun virt-install. Ajattele virt-manageria helppokäyttöisenä VM:ien hallintatyökaluna. Voit esimerkiksi käyttää virt-manageria Microsoft Windows -ympäristön käyttämiseen Linux-työasemalla tai päinvastoin.

Virt-managerin lähdekoodi on saatavilla GitHubissa ja dokumentaatio löytyy sen verkkosivuilta. Tällä hetkellä virt-manager on saatavilla vain Linux-alustoille.

Libosinfo

7_libosinfo.jpg

Libosinfon verkkosivut

(Bryant Son, CC BY-SA 4.0)

Libosinfo tarjoaa tietokannan, joka sisältää tietoja käyttöjärjestelmän julkaisuista ja auttaa laitteiston konfiguroinnissa VM:n käyttöönoton yhteydessä. Se sisältää C-kirjaston tietokannan tietojen kyselyyn, jota voi käyttää myös millä tahansa kielellä, jota GObject-introspektio tukee. Kuten arvata saattaa, libosinfo on enemmänkin rakennuspalikka, joka mahdollistaa käyttöjärjestelmän toiminnallisuuden – mutta varsin tärkeä sellainen.

Libosinfon lähdekoodi on saatavilla GitLabissa, ja sen dokumentaatio löytyy sen verkkosivuilta.

Loppupäätelmä

Vastaa

Sähköpostiosoitettasi ei julkaista.