General ụkpụrụ nke QEMU-KVM ọrụ

General ụkpụrụ nke QEMU-KVM ọrụ

Nghọta m ugbu a:

1) KVM

KVM ( igwe mebere kernel) bụ hypervisor (VMM – Virtual Machine Manager) na-agba ọsọ dị ka modul na Linux OS. A chọrọ hypervisor iji na-agba ọsọ ụfọdụ software na gburugburu ebe adịghị adị (mebere) ma n'otu oge ahụ zoo na ngwanrọ a n'ezie ngwaike anụ ahụ nke ngwanrọ a na-arụ. Hypervisor na-arụ ọrụ dị ka “spacer” n'etiti ngwaike anụ ahụ (onye ọbịa) na os mebere (ọbịa).

Ebe KVM bụ ọkọlọtọ ọkọlọtọ nke Linux kernel, ọ na-enweta ihe ọma niile achọrọ site na kernel (nchịkwa ebe nchekwa, onye nhazi oge, wdg). N'ihi ya, na njedebe, uru ndị a niile na-aga ndị ọbịa (ebe ọ bụ na ndị ọbịa na-arụ ọrụ na hypervisor na-agba ọsọ na / na Linux OS kernel).

KVM na-adị ngwa ngwa, mana n'onwe ya ezughị iji rụọ ọrụ OS mebere, n'ihi na ... Nke a chọrọ nṅomi I/O. Maka I/O (CPU, disks, network, video, PCI, USB, serial ports, wdg) KVM na-eji QEMU.

2) QEMU

QEMU (Quick Emulator) bụ emulator maka ngwaọrụ dị iche iche na-enye gị ohere ịme sistemụ arụmọrụ emere maka otu ụkpụrụ ụlọ na nke ọzọ (dịka ọmụmaatụ, ARM -> x86). Na mgbakwunye na processor, QEMU na-eṅomi ngwaọrụ dị iche iche: kaadị netwọk, HDD, kaadị vidiyo, PCI, USB, wdg.

Ọ na-arụ ọrụ dị ka nke a:

A na-atụgharị ntuziaka/ koodu ọnụọgụ abụọ (dịka ọmụmaatụ, ARM) ka ọ bụrụ koodu nọọrọ onwe ya n'etiti ikpo okwu site na iji TCG (Tiny Code Generator) ntụgharị wee gbanwee koodu ọnụọgụ abụọ nwere onwe nke ikpo okwu a ka ọ bụrụ ntuziaka/koodu ebumnuche (dịka ọmụmaatụ, x86).

ARM –> intermediate_code –> x86

N'ụzọ bụ isi, ị nwere ike na-agba igwe mebere na QEMU na onye ọbịa ọ bụla, ọbụlagodi na ụdị nrụpụta ochie na-akwadoghị Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). Otú ọ dị, na nke a, ọ ga-eji nwayọọ nwayọọ na-arụ ọrụ, n'ihi na eziokwu na-emezu ọnụọgụ abụọ koodu kwesịrị ka achịkọta ya na ofufe ugboro abụọ, iji TCG (TCG bụ a Just-in-Time compiler).

Ndị ahụ. QEMU n'onwe ya dị ezigbo mma, mana ọ na-arụ ọrụ nwayọ.

3) mgbanaka nchebe

General ụkpụrụ nke QEMU-KVM ọrụ

Koodu mmemme ọnụọgụ abụọ na ndị na-arụ ọrụ na-arụ ọrụ maka ihe kpatara ya, mana ọ dị na ọkwa dị iche iche (mgbanaka / mgbanaka nchekwa) nwere ọkwa dị iche iche nke ịnweta data, site na ndị nwere oke (mgbanaka 0), na nke kacha oke, na-achịkwa na “na mkpụrụ osisi siri ike. ” (Mgbanaka nke 3).

Sistemụ arụ ọrụ (kernel OS) na-agba na mgbanaka 0 (ọnọdụ kernel) ma nwee ike iji data na ngwaọrụ ọ bụla mee ihe ọ bụla masịrị ya. Ngwa onye ọrụ na-arụ ọrụ na ọkwa mgbanaka 3 (ọnọdụ onye ọrụ) na anaghị ekwe ya mee ihe ọ bụla ha chọrọ, mana kama ọ ga-arịọrịrị ohere oge ọ bụla iji rụọ otu ọrụ (ya mere, ngwa onye ọrụ nwere naanị ịnweta data nke ha na enweghị ike ịnweta. banye” igbe ájá nke onye ọzọ). Ebubere mgbanaka 1 na 2 maka ndị ọkwọ ụgbọ ala.

Tupu mmepụta nke Intel VT-x / AMD SVM, hypervisors na-agba ọsọ na Ring 0, na ndị ọbịa na-agba ọsọ na mgbanaka 1. Ebe ọ bụ na mgbanaka 1 enweghị ikike zuru oke maka ọrụ nkịtị nke OS, na oku ọ bụla nwere ohere site na usoro ndị ọbịa, na hypervisor kwesịrị ịgbanwe oku a na ofufe wee mee ya na mgbanaka 0 (dị ka QEMU na-eme). Ndị ahụ. ọnụọgụ abụọ ọbịa Ọ BỤGHỊ e gburu ozugbo na processor, na oge ọ bụla wee site na ọtụtụ etiti mgbanwe na ofufe.

N'elu dị ịrịba ama na nke a bụ nnukwu nsogbu, mgbe ahụ, ndị na-emepụta ihe na-emepụta ihe, na-adabereghị na ibe ha, wepụtara usoro ntụziaka ogologo (Intel VT-x / AMD SVM) nke nyere ohere ịmepụta koodu OS ọbịa. EZIOKWU na onye nhazi nhazi (na-agafe usoro ọ bụla dị oke ọnụ ahịa, dị ka ọ dị na mbụ).

Site na ọbịbịa nke Intel VT-x / AMD SVM, e mepụtara ọkwa mgbanaka ọhụrụ pụrụ iche -1 (mwepu otu). Ma ugbu a hypervisor na-agba ọsọ na ya, ndị ọbịa na-agba ọsọ na Ring 0 wee nweta ohere ịnweta CPU.

Ndị ahụ. emecha:

  • onye ọbịa na-agba na mgbanaka 0
  • ndị ọbịa na-arụ ọrụ na mgbanaka 0
  • hypervisor na-agba na mgbanaka -1

4) QEMU-KVM

KVM na-enye ndị ọbịa ohere ịnweta mgbanaka 0 ma jiri QEMU ṅomie I / O (processor, disks, network, video, PCI, USB, serial ports, wdg na ndị ọbịa "na-ahụ" ma na-arụ ọrụ).

Ya mere QEMU-KVM (ma ọ bụ KVM-QEMU):)

Udo
Foto iji dọta uche
Foto nke mgbanaka nchekwa

PS Ebu ụzọ ebipụta ederede akụkọ a na ọwa Telegram @RU_Voip dịka azịza nye ajụjụ sitere n'aka otu onye so na ọwa.

Dee na nkwupụta ebe m na-aghọtaghị isiokwu nke ọma ma ọ bụ ọ bụrụ na ọ dị ihe ọ bụla ịgbakwunye.

Daalụ!

isi: www.habr.com

Tinye a comment