Awọn ilana ṣiṣe gbogbogbo ti QEMU-KVM

Awọn ilana ṣiṣe gbogbogbo ti QEMU-KVM

Oye mi lọwọlọwọ:

1) KVM

KVM (Ẹrọ Foju ti o da lori Kernel) jẹ hypervisor (VMM – Oluṣakoso ẹrọ foju) nṣiṣẹ bi module lori Linux OS. A nilo hypervisor lati le ṣiṣẹ diẹ ninu sọfitiwia ni agbegbe ti ko si (foju) ati ni akoko kanna tọju ohun elo ti ara gidi lori eyiti sọfitiwia yii nṣiṣẹ. Hypervisor n ṣiṣẹ bi “spacer” laarin ohun elo ti ara (ogun) ati OS foju (alejo).

Niwọn igba ti KVM jẹ module boṣewa ti ekuro Linux, o gba gbogbo awọn ire ti a beere lati ekuro (isakoso iranti, oluṣeto, ati bẹbẹ lọ). Ati ni ibamu, ni ipari, gbogbo awọn anfani wọnyi lọ si awọn alejo (niwon awọn alejo ṣiṣẹ lori hypervisor ti o nṣiṣẹ lori / ni Linux OS ekuro).

KVM yara pupọ, ṣugbọn funrararẹ ko to lati ṣiṣẹ OS foju kan, nitori… Eyi nilo afarawe I/O. Fun I/O (Sipiyu, disiki, nẹtiwọki, fidio, PCI, USB, tẹlentẹle ebute oko, ati be be lo) KVM nlo QEMU.

2) QEMU

QEMU (Emulator Yara) jẹ emulator fun ọpọlọpọ awọn ẹrọ ti o fun ọ laaye lati ṣiṣẹ awọn ọna ṣiṣe ti a ṣe apẹrẹ fun faaji kan lori omiiran (fun apẹẹrẹ, ARM -> x86). Ni afikun si ero isise naa, QEMU ṣe apẹẹrẹ ọpọlọpọ awọn ẹrọ agbeegbe: awọn kaadi nẹtiwọki, HDD, awọn kaadi fidio, PCI, USB, bbl

O ṣiṣẹ bi eleyi:

Awọn ilana/koodu alakomeji (fun apẹẹrẹ, ARM) jẹ iyipada si agbedemeji Syeed-koodu ominira nipa lilo oluyipada TCG (Tiny Code Generator) ati lẹhinna koodu alakomeji olominira iru ẹrọ yii jẹ iyipada si awọn ilana ibi-afẹde/koodu (fun apẹẹrẹ, x86).

ARM –> agbedemeji_code –> x86

Ni pataki, o le ṣiṣe awọn ẹrọ foju lori QEMU lori eyikeyi agbalejo, paapaa pẹlu awọn awoṣe ero isise agbalagba ti ko ṣe atilẹyin Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). Bibẹẹkọ, ninu ọran yii, yoo ṣiṣẹ laiyara pupọ, nitori otitọ pe koodu alakomeji ti n ṣiṣẹ nilo lati tun ṣajọpọ lori fo lẹẹmeji, ni lilo TCG (TCG jẹ olupilẹṣẹ Just-in-Time).

Awon. QEMU funrararẹ jẹ mega dara, ṣugbọn o ṣiṣẹ laiyara pupọ.

3) Awọn oruka Idaabobo

Awọn ilana ṣiṣe gbogbogbo ti QEMU-KVM

Awọn koodu eto alakomeji lori awọn olutọsọna ṣiṣẹ fun idi kan, ṣugbọn o wa ni awọn ipele oriṣiriṣi (awọn oruka / Awọn oruka Idaabobo) pẹlu awọn ipele oriṣiriṣi ti wiwọle data, lati anfani julọ (Oruka 0), si opin julọ, ofin ati “pẹlu awọn eso ti o ni ihamọ. ” (Oruka 3).

Eto ẹrọ (kernel OS) nṣiṣẹ lori Iwọn 0 (ipo ekuro) ati pe o le ṣe ohunkohun ti o fẹ pẹlu eyikeyi data ati awọn ẹrọ. Awọn ohun elo olumulo ṣiṣẹ ni ipele Oruka 3 (ipo olumulo) ati pe ko gba ọ laaye lati ṣe ohunkohun ti wọn fẹ, ṣugbọn dipo gbọdọ beere iraye si ni akoko kọọkan lati ṣe iṣẹ kan pato (nitorinaa, awọn ohun elo olumulo nikan ni iwọle si data tiwọn ati pe ko le “gba). sinu” apoti iyan elomiran). Iwọn 1 ati 2 jẹ ipinnu fun lilo nipasẹ awọn awakọ.

Ṣaaju ki o to awọn kiikan ti Intel VT-x / AMD SVM, hypervisors nṣiṣẹ lori iwọn 0, ati awọn alejo ran lori iwọn 1. Niwon Oruka 1 ko ni ni to ẹtọ fun deede isẹ ti awọn OS, pẹlu kọọkan anfani ipe lati awọn alejo eto, awọn hypervisor ni lati yi ipe yii pada lori fo ati ṣiṣẹ lori Iwọn 0 (bii QEMU ṣe). Awon. alakomeji alejo KO ti a pa taara lori ero isise, ati kọọkan akoko lọ nipasẹ orisirisi awọn agbedemeji iyipada lori awọn fly.

Idoju oke jẹ pataki ati pe eyi jẹ iṣoro nla kan, lẹhinna awọn olupese iṣelọpọ, ni ominira ti ara wọn, tu awọn ilana ti o gbooro sii (Intel VT-x / AMD SVM) ti o fun laaye lati ṣiṣẹ koodu OS alejo. TÁRÀN lori ero isise agbalejo (nipasẹ eyikeyi awọn igbesẹ agbedemeji idiyele, bi o ti jẹ ọran tẹlẹ).

Pẹlu dide ti Intel VT-x / AMD SVM, pataki kan ipele Oruka tuntun -1 (iyokuro ọkan) ni a ṣẹda. Ati nisisiyi hypervisor nṣiṣẹ lori rẹ, ati awọn alejo nṣiṣẹ lori Iwọn 0 ati ki o ni anfani si Sipiyu.

Awon. nikẹhin:

  • agbalejo nṣiṣẹ lori Oruka 0
  • awọn alejo ṣiṣẹ lori Oruka 0
  • hypervisor nṣiṣẹ lori Oruka -1

4) QEMU-KVM

KVM fun awọn alejo wọle si Iwọn 0 ati pe o lo QEMU lati ṣe apẹẹrẹ I / O (isise, awọn disiki, nẹtiwọki, fidio, PCI, USB, awọn ebute oko oju omi, ati bẹbẹ lọ pe awọn alejo “wo” ati ṣiṣẹ pẹlu).

Nitorinaa QEMU-KVM (tabi KVM-QEMU) :)

Awọn ayẹyẹ
Aworan lati fa akiyesi
Aworan ti Idaabobo oruka

PS Ọrọ ti nkan yii ni akọkọ ti a tẹjade ni ikanni Telegram @RU_Voip bi idahun si ibeere lati ọkan ninu awọn olukopa ikanni.

Kọ sinu awọn asọye nibiti Emi ko loye koko naa ni deede tabi ti ohunkohun ba wa lati ṣafikun.

O ṣeun!

orisun: www.habr.com

Fi ọrọìwòye kun