Nā loina hana maʻamau o QEMU-KVM

Nā loina hana maʻamau o QEMU-KVM

ʻO koʻu ʻike i kēia manawa:

1) KVM

ʻO KVM (Kernel-based Virtual Machine) kahi hypervisor (VMM - Virtual Machine Manager) e holo ana ma ke ʻano he module ma Linux OS. Pono ka hypervisor no ka holo ʻana i kekahi polokalamu i loko o kahi kaiapuni ʻole (virtual) a ma ka manawa like e hūnā mai kēia polokalamu i ka lako kino maoli kahi e holo ai kēia polokalamu. Hana ʻia ka hypervisor ma ke ʻano he "spacer" ma waena o ka ʻenehana kino (host) a me ka OS virtual (malihini).

No ka mea ʻo KVM kahi module maʻamau o ka kernel Linux, loaʻa iā ia nā mea maikaʻi a pau mai ka kernel (hoʻokele hoʻomanaʻo, scheduler, etc.). A no laila, i ka hopena, hele kēia mau pōmaikaʻi a pau i ka poʻe malihini (no ka mea, hana nā malihini i kahi hypervisor e holo ana ma / ma ka Linux OS kernel).

He wikiwiki loa ʻo KVM, akā ʻaʻole lawa ia e holo i kahi OS virtual, no ka mea ... Pono kēia i ka emulation I/O. No I/O (CPU, disks, network, video, PCI, USB, serial ports, etc.) Hoʻohana ʻo KVM i ka QEMU.

2) QEMU

ʻO QEMU (Quick Emulator) he emulator no nā ʻano mea like ʻole e hiki ai iā ʻoe ke holo i nā ʻōnaehana hana i hoʻolālā ʻia no kekahi hale kiʻi ma kekahi (no ka laʻana, ARM -> x86). Ma kahi o ke kaʻina hana, hoʻohālikelike ʻo QEMU i nā ʻenehana peripheral like ʻole: kāleka pūnaewele, HDD, kāleka wikiō, PCI, USB, etc.

Ke hana nei e like me kēia:

Hoʻololi ʻia nā ʻōlelo aʻoaʻo / code binary (no ka laʻana, ARM) i ke code waena-kūʻokoʻa me ka hoʻohana ʻana i ka mea hoʻololi TCG (Tiny Code Generator) a laila hoʻololi ʻia kēia code binary platform-independent i nā kuhikuhi / code (e laʻa, x86).

ARM -> waena_code -> x86

ʻO ka mea nui, hiki iā ʻoe ke holo i nā mīkini virtual ma QEMU ma kekahi host, ʻoiai me nā hiʻohiʻona kaʻina hana kahiko i kākoʻo ʻole iā Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). Eia naʻe, i kēia hihia, e hana mālie loa ia, ma muli o ka pono e hoʻohui hou ʻia ka code binary hoʻokō i ka lele ʻelua, me ka hoʻohana ʻana iā TCG (TCG he Just-in-Time compiler).

ʻO kēlā mau. ʻO QEMU ponoʻī he mega ʻoluʻolu, akā hana mālie.

3) Nā apo pale

Nā loina hana maʻamau o QEMU-KVM

Hoʻohana ʻia nā code binary program ma nā kaʻina hana no kahi kumu, akā aia ma nā pae like ʻole (rings / Protection rings) me nā pae like ʻole o ka loaʻa ʻana o ka ʻikepili, mai ka mea nui loa (Ring 0), a hiki i ka mea i kaupalena ʻia, hoʻoponopono ʻia a "me nā nati i hoʻopaʻa ʻia. ” (Ring 3).

Holo ka ʻōnaehana hana (OS kernel) ma ka Ring 0 (kernel mode) a hiki iā ia ke hana i kāna makemake me nā ʻikepili a me nā mea hana. Hoʻohana ʻia nā noi mea hoʻohana ma ka pae Ring 3 (mode mea hoʻohana) a ʻaʻole ʻae ʻia e hana i nā mea a lākou e makemake ai, akā pono e noi i ke komo i kēlā me kēia manawa e hana i kahi hana kūikawā (no laila, loaʻa i nā noi mea hoʻohana i kā lākou ʻikepili ponoʻī a ʻaʻole hiki ke "loaʻa. i loko o” pahu one a kekahi). Hoʻohana ʻia ke kani 1 a me 2 e nā mea hoʻokele.

Ma mua o ka hana ʻana o Intel VT-x / AMD SVM, ua holo nā hypervisors ma ka Ring 0, a holo nā malihini ma ka Ring 1. Mai ka Ring 1 ʻaʻole i lawa nā kuleana no ka hana maʻamau o ka OS, me kēlā me kēia kelepona ponoʻī mai ka ʻōnaehana malihini, Ua hoʻololi ʻo hypervisor i kēia kelepona ma ka lele a hoʻokō iā ia ma ka Ring 0 (e like me kā QEMU). ʻO kēlā mau mea. binary malihini ʻAʻole ua hoʻokō pololei ʻia ma ka kaʻina hana, a i kēlā me kēia manawa e hele i kekahi mau hoʻololi waena ma ka lele.

He mea koʻikoʻi ke poʻo a he pilikia nui kēia, a laila hoʻokuʻu nā mea hana hana, kūʻokoʻa i kekahi i kekahi, i kahi hoʻonohonoho lōʻihi o nā kuhikuhi (Intel VT-x / AMD SVM) e ʻae ai i ka hoʻokō ʻana i ka code OS malihini. PONO ma ke kaʻina hana hoʻokipa (ke kaʻe ʻana i nā ʻanuʻu waena, e like me ka hihia ma mua).

Me ka hiki ʻana mai o Intel VT-x / AMD SVM, ua hana ʻia kahi pae Ring hou kūikawā -1 (minu hoʻokahi). A i kēia manawa ke holo nei ka hypervisor ma luna, a holo ka poʻe malihini ma ka Ring 0 a loaʻa iā lākou ke komo pono i ka CPU.

ʻO kēlā mau. hope loa:

  • holo ka host ma ke kani 0
  • hana nā malihini ma ke kani 0
  • holo ka hypervisor ma ka Ring -1

4) QEMU-KVM

Hāʻawi ʻo KVM i nā malihini i ka Ring 0 a hoʻohana iā QEMU e hoʻohālike i ka I/O (processor, disks, network, video, PCI, USB, serial ports, etc. a nā malihini e "ʻike" a hana pū me).

No laila QEMU-KVM (a i ʻole KVM-QEMU) :)

KEKAHI
Kiʻi e hoʻohuli i ka manaʻo
Kiʻi o nā apo pale

PS Ua paʻi mua ʻia ka kikokikona o kēia ʻatikala ma ke kahawai Telegram @RU_Voip ma ke ʻano he pane i ka nīnau a kekahi o nā mea komo i ke ala.

E kākau i loko o nā manaʻo kahi aʻu i maopopo ʻole ai i ke kumuhana a inā he mea e hoʻohui ai.

Alakaʻi!

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka