Nā loina hana maʻamau o QEMU-KVM

Nā loina hana maʻamau o QEMU-KVM

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 ka OS. LinuxPono kahi hypervisor e holo i ka polokalamu ma kahi ʻano ʻole (virtual) me ka hūnā ʻana i nā lako kino maoli e holo ai mai kēlā polokalamu. Hana ka hypervisor ma ke ʻano he "papa" ma waena o nā lako kino (ka host) a me ka OS virtual (ka malihini).

ʻOiai ʻo KVM kahi module kernel maʻamau Linux, loaʻa iā ia nā mea pono āpau mai ka kernel (hoʻokele hoʻomanaʻo, mea hoʻonohonoho, a pēlā aku). A, e like me ia, loaʻa kēia mau pono āpau i nā malihini (ʻoiai e holo ana nā malihini ma kahi hypervisor, e holo ana ma/ma loko o ka kernel OS). Linux).

He wikiwiki loa ʻo KVM, akā ʻaʻole lawa ia e holo i kahi OS virtual ma kāna iho, no ka mea, pono ia i ka hoʻohālike I/O. Hoʻohana ʻo KVM iā QEMU no ka I/O (processor, disks, network, video, PCI, USB, serial ports, etc.).

2) QEMU

ʻO QEMU (Quick Emulator) kahi emulator hāmeʻa e hiki ai iā ʻoe ke holo i nā ʻōnaehana hana i hoʻolālā ʻia no kekahi hoʻolālā ma luna o kekahi (e.g., ARM a i x86). Ma waho aʻe o ka mea hana, hoʻohālike ʻo QEMU i nā peripherals like ʻole: nā kāleka pūnaewele, nā HDD, nā kāleka wikiō, PCI, USB, a me nā mea hou aku.

Ke hana nei e like me kēia:

Hoʻololi ʻia nā kuhikuhi/code binary (e.g. ARM) i code waena kūʻokoʻa paepae me ka hoʻohana ʻana i ka mea hoʻololi TCG (Tiny Code Generator) a laila hoʻololi ʻia kēia code binary kūʻokoʻa paepae i nā kuhikuhi/code i manaʻo ʻia (e.g. x86).

ARM –> code_waena –> x86

ʻO ke kumu, hiki iā ʻoe ke holo i nā mīkini virtual me QEMU ma kekahi kikowaena, ʻoiai me nā mea hana kahiko i kākoʻo ʻole iā Intel VT-x (Intel Virtualization Technology) a i ʻole AMD SVM (AMD Secure Virtual Machine). Eia nō naʻe, i kēia hihia, e lohi loa ia, no ka mea, pono e hōʻuluʻulu hou ʻia ke code binary hiki ke hoʻokō ʻia i ʻelua manawa ma ka lele me ka hoʻohana ʻana iā TCG (ʻo TCG ke kū nei no Just-in-Time Compiler).

ʻO ia hoʻi, he mea maikaʻi loa ʻo QEMU, akā hana lohi loa ia.

3) Nā apo palekana

Nā loina hana maʻamau o QEMU-KVM

ʻAʻole holo wale ke code papahana binary ma nā mea hana e like me ia, akā aia ma nā pae like ʻole (nā apo / nā apo pale) me nā pae like ʻole o ke komo ʻana i ka ʻikepili, mai ka mea i pōmaikaʻi nui ʻia (Apo 0) a hiki i nā wili i kaupalena ʻia, hoʻoponopono ʻia a me nā "wili i hoʻopaʻa ʻia" (Apo 3).

Holo ka ʻōnaehana hana (OS kernel) ma Ring 0 (ʻano kernel) a hiki ke hana i kekahi mea me kekahi ʻikepili a i ʻole nā ​​​​​​mea hana. Holo nā polokalamu mea hoʻohana ma Ring 3 (ʻano mea hoʻohana) a ʻaʻole kūʻokoʻa e hana i kekahi mea a lākou e makemake ai, akā pono e noi i ka ʻae i kēlā me kēia manawa e hana i kahi hana (no laila, loaʻa i nā polokalamu mea hoʻohana ke komo wale i kā lākou ʻikepili ponoʻī a ʻaʻole hiki ke "uhaki" i loko o ka pahu one o kekahi). Ua manaʻo ʻia nā Rings 1 a me 2 no ka hoʻohana ʻana e nā mea hoʻokele.

Ma mua o ka hoʻokumu ʻia ʻana o Intel VT-x / AMD SVM, ua holo nā hypervisor ma Ring 0, a ua holo nā malihini ma Ring 1. ʻOiai ʻaʻohe o Ring 1 i nā kuleana kūpono no ka hana OS maʻamau, i kēlā me kēia manawa i hana ʻia ai kahi kāhea kūikawā e kahi malihini, pono ka hypervisor e hoʻololi i ke kāhea ma ka lele a hoʻokō iā ia ma Ring 0 (like me ka hana a QEMU). ʻO ia hoʻi, ʻo ka binary malihini ʻAʻole ua hoʻokō pololei ʻia ma ke kaʻina hana, a i kēlā me kēia manawa ua hele ia ma o kekahi mau hoʻololi waena ma ka lele.

He mea nui ke poʻo nui a he pilikia nui kēia, no laila ua hoʻokuʻu nā mea hana hana, kūʻokoʻa kekahi i kekahi, i kahi hoʻonohonoho kuhikuhi i hoʻonui ʻia (Intel VT-x / AMD SVM) e ʻae ai i ka hoʻokō ʻana i ke code OS malihini. MA KE ʻANO KŪPONO ma ke kaʻina hana kikowaena (e kāpae ana i nā pae waena pipiʻi āpau, e like me ke ʻano ma mua).

Me ka hiki ʻana mai o Intel VT-x / AMD SVM, ua hana ʻia kahi pae kūikawā hou, ʻo Ring -1 (koe wale nō hoʻokahi). Ke holo nei ka hypervisor ma luna o ia mea, ʻoiai e holo ana nā malihini ma Ring 0 a loaʻa iā lākou ke komo kūikawā i ka CPU.

No laila, i ka hopena:

  • Ke holo nei ka mea hoʻokipa ma Ring 0
  • Hana nā malihini ma ke apo 0
  • holo ka hypervisor ma Ring -1

4) QEMU-KVM

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

No laila ʻo QEMU-KVM (a i ʻole KVM-QEMU) 🙂

KEKAHI
He kiʻi e huki ai i ka manaʻo
Kiʻi apo pale

P.S. Ua paʻi mua ʻia ke kikokikona o kēia ʻatikala ma ke kahawai Telegram @RU_Voip i ka pane ʻana i kahi nīnau mai kekahi o nā mea komo o ke kahawai.

E ʻoluʻolu e kākau i loko o nā manaʻo kahi i kuhihewa ai au i ke kumuhana a inā paha he mea e hoʻohui ai.

Alakaʻi!

Source: www.habr.com

E kūʻai i ka hoʻokipa hilinaʻi no nā pūnaewele me ka pale DDoS, nā kikowaena VPS VDS 🔥 E kūʻai i ka hoʻokipa pūnaewele hilinaʻi me ka pale DDoS, nā kikowaena VPS VDS | ProHoster