Virtualisointi on joukon laskentaresursseja tai niiden loogista yhdistelmää, joka on irrotettu laitteiston toteutuksesta , ja samalla tarjoaa samalla fyysisellä resurssilla käynnissä olevien laskentaprosessien loogisen eristämisen toisistaan.
Esimerkki virtualisoinnin käytöstä on kyky käyttää useita käyttöjärjestelmiä yhdellä tietokoneella: kun taas jokainen tällaisten vieraskäyttöjärjestelmien esiintymä toimii omilla loogisilla resursseilla (prosessori, RAM, tallennuslaitteet), joiden tarjoaminen laitteistotasolla saatavilla olevasta yhteisestä poolista ohjaa isäntäkäyttöjärjestelmä - hypervisor . Tietoverkot , tallennusverkot , alusta- ja sovellusohjelmistot ( emulointi ) voidaan myös virtualisoida .
Käyttöjärjestelmien virtualisoinnissa käytetään sarjaa lähestymistapoja, jotka toteutustyypin mukaan jaetaan ohjelmistoihin ja laitteistoihin [3] .
Dynaamisessa ( binäärisessä ) käännöksessä hypervisor sieppaa ongelmalliset komennot vieraskäyttöjärjestelmästä . Kun nämä komennot on korvattu turvallisilla, ohjaus palautetaan vierasjärjestelmälle.
ParavirtualisointiParavirtualisointi on virtualisointitekniikka, jossa vieraskäyttöjärjestelmät valmistetaan toimimaan virtualisoidussa ympäristössä, jota varten niiden ydin on hieman muokattu. Käyttöjärjestelmä on vuorovaikutuksessa hypervisor-ohjelman kanssa, joka tarjoaa sille vierassovellusliittymän sen sijaan, että se käyttäisi suoraan resursseja, kuten muistisivutaulukkoa.
Paravirtualisointimenetelmä mahdollistaa paremman suorituskyvyn saavuttamisen kuin dynaaminen käännösmenetelmä.
Paravirtualisointimenetelmää voidaan soveltaa vain, jos vieraskäyttöjärjestelmissä on avoimia lähdekoodeja, joita voidaan muokata lisenssin mukaan, tai hypervisorin ja vieraskäyttöjärjestelmän on kehittänyt sama valmistaja, ottaen huomioon vierasjärjestelmän paravirtualisoinnin mahdollisuus ( Vaikka hypervisorin alla saattaa olla alemman tason hypervisori, on käynnissä itse hypervisorin paravirtualisointi).
Termi esiintyi ensimmäisen kerran Denali -projektissa .
Sisäänrakennettu virtualisointiEdut:
Toteutukset:
Edut:
Tekniikka:
Laitteiston virtualisointia käyttävät alustat:
Säilön virtualisointi — käyttöjärjestelmätason virtualisointi — mahdollistaa eristettyjen virtuaalisten järjestelmien ajamisen yhdessä fyysisessä isännässä, mutta ei salli käyttöjärjestelmien käyttämistä, joiden ytimet eroavat taustalla olevan käyttöjärjestelmän ydintyypistä. Tällä lähestymistavalla ei ole erillistä hypervisor-kerrosta, vaan isäntäkäyttöjärjestelmä itse vastaa laitteistoresurssien jakamisesta useiden vierasjärjestelmien (säilöjen) kesken ja varmistaa niiden riippumattomuuden. Jotkut toteutukset ovat FreeBSD Jail (2000), Virtuozzo Containers (2000), Solaris Containers (2005), Linux-VServer , OpenVZ (2005), LXC (2008), iCore Virtual Accounts (2008), Docker (2013).
Virtuaalikone on ympäristö, joka esitetään "vieraskäyttöjärjestelmälle" laitteistona. Se on kuitenkin itse asiassa ohjelmistoympäristö, jota isäntäjärjestelmäohjelmisto emuloi. Tämän emuloinnin on oltava tarpeeksi vankka, jotta vierasohjaimet voivat toimia vakaasti. Paravirtualisointia käytettäessä virtuaalikone ei emuloi laitteistoa, vaan tarjoaa sen sijaan erityisen API :n käyttöä .
Sovellusesimerkkejä:
Resurssien virtualisointi (tai resurssien jakaminen , eng. osiointi ) voidaan esittää yhden fyysisen solmun jakamisena useisiin osiin, joista jokainen näkyy omistajalle erillisenä palvelimena. Se ei ole virtuaalikoneen tekniikka, se on toteutettu käyttöjärjestelmän ydintasolla.
Tyypin 2 hypervisorilla varustetuissa järjestelmissä sekä vieras- että hypervisor-käyttöjärjestelmät vievät fyysisiä resursseja ja vaativat erillisen lisenssin. Käyttöjärjestelmän ydintasolla toimivat virtuaalipalvelimet eivät koskaan menetä nopeutta, mikä mahdollistaa satojen virtuaalisten palvelimien ajamisen yhdellä fyysisellä palvelimella, jotka eivät vaadi lisälisenssejä.
Levytila tai verkon kaistanleveys on jaettu useisiin pienempiin osiin, joten samantyyppisiä resursseja on helpompi käyttää.
Esimerkiksi resurssien jakamisen toteutus voidaan katsoa OpenSolaris Network Virtualisation and Resource Controlin (Project Crossbow) ansioksi, jonka avulla voit luoda useita virtuaalisia verkkorajapintoja yhdelle fyysiselle rajapinnalle.
Monien resurssien yhdistäminen, jakaminen tai lisääminen suuriksi resurssiksi tai resurssien yhdistäminen. Esimerkiksi symmetriset moniprosessorijärjestelmät yhdistävät useita prosessoreita; RAID- ja levynhallintaohjelmat yhdistävät useita levyjä yhdeksi suureksi loogiseksi levyksi; RAID ja verkko käyttävät useita kanavia niputettuina yhteen yhdeksi laajakaistakanavaksi. Metatasolla tietokoneklusterit tekevät kaiken edellä mainitun. Joskus tämä sisältää myös verkkotiedostojärjestelmät, jotka on erotettu tietovarastoista, joihin ne on rakennettu, esimerkiksi Vmware VMFS , Solaris / OpenSolaris ZFS , NetApp WAFL .
Sovelluksen virtualisointi on prosessi, jossa käytetään sovellusta, joka on muunnettu käyttöjärjestelmään asennusta vaativasta asennusta vaatimattomaksi (tarvitaan vain suorittamiseen). Sovelluksen virtualisointia varten virtualisointiohjelmisto määrittää, kun virtualisoitava sovellus asennetaan, mitkä käyttöjärjestelmäkomponentit vaaditaan ja emuloi niitä. Siten tälle virtualisoidulle sovellukselle luodaan tarvittava erikoisympäristö ja näin varmistetaan tämän sovelluksen toiminnan eristäminen. Virtuaalisovelluksen luomiseksi virtualisoitu sijoitetaan säiliöön , joka on yleensä suunniteltu kansioksi. Kun virtuaalinen sovellus käynnistetään, käynnistetään virtualisoitava sovellus ja sen työympäristönä oleva kontti. Suoritusaika käynnistyy ja paljastaa paikalliset aiemmin luodut resurssit, jotka sisältävät rekisteriavaimet, tiedostot ja muut sovelluksen käynnistämiseen ja suorittamiseen tarvittavat komponentit. Tämä virtuaaliympäristö toimii kerroksena sovelluksen ja käyttöjärjestelmän välillä, mikä välttää sovellusten väliset ristiriidat. Sovellusten virtualisointia tarjoavat esimerkiksi Citrix XenApp [6] , SoftGrid [7] ja VMware ThinApp -ohjelmat .
Edut:
Emulointi - ja virtualisointiohjelmistot ( vertailu ) _ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sovelluskerros |
| ||||||||||||||
OS- taso (säilöt) |
| ||||||||||||||
Laitteistotaso _ |
| ||||||||||||||
Verkon virtualisointi |
|