Kev ua haujlwm dav dav ntawm QEMU-KVM

Kev ua haujlwm dav dav ntawm QEMU-KVM

Kuv txoj kev nkag siab tam sim no:

1) KWM

KVM (Kernel-based Virtual Machine) yog tus kws tshaj lij (VMM - Tus Thawj Tswj Tshuab Virtual) ua haujlwm raws li cov qauv ntawm Linux OS. Ib tug hypervisor yog xav tau nyob rau hauv thiaj li yuav khiav ib co software nyob rau hauv ib tug uas tsis yog-existent (virtual) ib puag ncig thiab nyob rau tib lub sij hawm nkaum los ntawm no software qhov tiag lub cev hardware uas cov software no khiav. Lub hypervisor ua raws li "spacer" ntawm lub cev kho vajtse (tus tswv tsev) thiab virtual OS ( qhua).

Txij li KVM yog tus qauv qauv ntawm Linux ntsiav, nws tau txais tag nrho cov khoom zoo uas yuav tsum tau los ntawm cov ntsiav (kev tswj hwm nco, teem sijhawm, thiab lwm yam). Thiab raws li, thaum kawg, tag nrho cov txiaj ntsig no mus rau cov qhua (vim cov qhua ua haujlwm ntawm lub hypervisor uas khiav ntawm / hauv Linux OS kernel).

KVM ceev heev, tab sis los ntawm nws tus kheej nws tsis txaus los khiav lub virtual OS, vim ... Qhov no yuav tsum tau I / O emulation. Rau I/O (CPU, disks, network, video, PCI, USB, serial ports, thiab lwm yam) KVM siv QEMU.

2) QHOV

QEMU (Quick Emulator) yog ib qho emulator rau ntau yam khoom siv uas tso cai rau koj los khiav cov kev khiav hauj lwm uas tsim los rau ib qho qauv ntawm lwm tus (piv txwv li, ARM -> x86). Ntxiv rau lub processor, QEMU emulates ntau yam khoom siv peripheral: network cards, HDD, video phaib, PCI, USB, thiab lwm yam.

Nws ua haujlwm zoo li no:

Cov lus qhia / binary code (piv txwv li, ARM) tau hloov mus rau hauv nruab nrab platform-yooj yim code siv TCG (Tiny Code Generator) converter thiab tom qab ntawd lub platform-independent binary code yog hloov mus rau hauv cov lus qhia / code (piv txwv li, x86).

ARM -> intermediate_code -> x86

Qhov tseem ceeb, koj tuaj yeem khiav cov tshuab virtual ntawm QEMU ntawm txhua tus tswv tsev, txawm tias muaj cov qauv qub uas tsis txhawb Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). Txawm li cas los xij, nyob rau hauv rooj plaub no, nws yuav ua haujlwm qeeb heev, vim qhov tseeb tias qhov kev ua tiav binary code yuav tsum tau rov ua dua ntawm ya ob zaug, siv TCG (TCG yog Just-in-Time compiler).

Cov. QEMU nws tus kheej yog mega txias, tab sis nws ua haujlwm qeeb heev.

3) Cov nplhaib tiv thaiv

Kev ua haujlwm dav dav ntawm QEMU-KVM

Binary program code ntawm processors ua hauj lwm rau ib tug yog vim li cas, tab sis nyob rau ntawm ntau theem (ntiv nplhaib / Tiv thaiv rings) nrog ntau theem ntawm cov ntaub ntawv nkag, los ntawm cov feem ntau tsim nyog (Nplhaib 0), mus rau feem ntau txwv, tswj thiab "nrog rau cov txiv ntseej nruj. ” (Nplhaib 3).

Lub operating system (OS ntsiav) khiav ntawm Nplhaib 0 (kernel hom) thiab tuaj yeem ua txhua yam nws xav tau nrog cov ntaub ntawv thiab cov khoom siv. Cov neeg siv cov ntawv thov ua haujlwm ntawm Ring 3 qib (tus neeg siv hom) thiab tsis raug tso cai ua txhua yam lawv xav tau, tab sis hloov yuav tsum thov nkag mus rau txhua lub sijhawm los ua haujlwm tshwj xeeb (yog li, cov neeg siv cov ntawv thov tsuas yog nkag mus rau lawv tus kheej cov ntaub ntawv thiab tsis tuaj yeem "tau txais. rau hauv "lwm tus neeg lub sandbox). Ntiv nplhaib 1 thiab 2 yog tsim los siv los ntawm cov neeg tsav tsheb.

Ua ntej invention ntawm Intel VT-x / AMD SVM, hypervisors khiav ntawm Nplhaib 0, thiab cov qhua tau khiav ntawm Nplhaib 1. Txij li thaum Lub Nplhaib 1 tsis muaj cai txaus rau kev ua haujlwm ntawm OS, nrog rau txhua qhov kev hu xov tooj los ntawm cov qhua tuaj noj mov, hypervisor yuav tsum hloov kho qhov kev hu no ntawm ya thiab ua rau nws ntawm Nplhaib 0 (ntau npaum li QEMU ua). Cov. qhua binary TSIS raug tua ncaj qha rau ntawm lub processor, thiab txhua lub sijhawm tau dhau los ntawm ntau qhov kev hloov kho nruab nrab ntawm ya.

Cov nyiaj siv ua haujlwm tseem ceeb thiab qhov no yog qhov teeb meem loj, thiab tom qab ntawd cov neeg tsim khoom lag luam, ntawm nws tus kheej ntawm ib leeg, tso tawm cov lus qhia txuas ntxiv (Intel VT-x / AMD SVM) uas tso cai ua cov qhua OS code. TXOJ CAI ntawm tus tswv tsev processor (thov dhau ib qho nqi nruab nrab ntawm cov kauj ruam, zoo li qhov ua ntej).

Nrog rau qhov tshwm sim ntawm Intel VT-x / AMD SVM, qhov tshwj xeeb tshiab Nplhaib theem -1 (tshem tawm ib qho) tau tsim. Thiab tam sim no tus hypervisor khiav ntawm nws, thiab cov qhua khiav ntawm Nplhaib 0 thiab tau txais kev tso cai nkag mus rau CPU.

Cov. thaum kawg:

  • host khiav ntawm Nplhaib 0
  • qhua ua hauj lwm ntawm Nplhaib 0
  • hypervisor khiav ntawm Nplhaib -1

4) QEMU-KVM

KVM muab cov qhua nkag mus rau Nplhaib 0 thiab siv QEMU los ua raws li I/O (processor, disks, network, video, PCI, USB, serial ports, thiab lwm yam. uas qhua "pom" thiab ua haujlwm nrog).

Li no QEMU-KVM (los yog KVM-QEMU):)

KHWV
Daim duab kom nyiam mloog
Daim duab ntawm Kev Tiv Thaiv Rings

PS Cov lus ntawm tsab xov xwm no yog thawj zaug luam tawm hauv Telegram channel @RU_Voip raws li cov lus teb rau cov lus nug los ntawm ib qho ntawm cov neeg koom nrog channel.

Sau rau hauv cov lus uas kuv tsis nkag siab lub ntsiab lus kom raug lossis yog tias muaj dab tsi ntxiv.

Ua tsaug!

Tau qhov twg los: www.hab.com

Ntxiv ib saib