QEMU-KVM හි සාමාන්‍ය මෙහෙයුම් මූලධර්ම

QEMU-KVM හි සාමාන්‍ය මෙහෙයුම් මූලධර්ම

මගේ වර්තමාන අවබෝධය:

1) කේවීඑම්

KVM (Kernel-පාදක Virtual Machine) යනු Linux OS මත මොඩියුලයක් ලෙස ක්‍රියාත්මක වන hypervisor (VMM - Virtual Machine Manager) වේ. කිසියම් මෘදුකාංගයක් නොපවතින (අථත්‍ය) පරිසරයක ක්‍රියාත්මක කිරීමට සහ ඒ සමඟම මෙම මෘදුකාංගය ක්‍රියාත්මක වන සැබෑ භෞතික දෘඪාංග මෙම මෘදුකාංගයෙන් සඟවා ගැනීමට හයිපර්වයිසර් අවශ්‍ය වේ. හයිපර්වයිසර් භෞතික දෘඪාංග (ධාරක) සහ අතථ්‍ය OS (ආගන්තුක) අතර “ස්පේසර්” ලෙස ක්‍රියා කරයි.

KVM යනු ලිනක්ස් කර්නලයේ සම්මත මොඩියුලයක් වන බැවින්, එය කර්නලයෙන් (මතක කළමනාකරණය, උපලේඛනය, ආදිය) අවශ්‍ය සියලුම හොඳ දේ ලබා ගනී. ඒ අනුව, අවසානයේදී, මෙම සියලු ප්‍රතිලාභ ආගන්තුකයන්ට ලැබේ (අමුත්තන් Linux OS කර්නලය මත ක්‍රියාත්මක වන/අධිවිශේෂයක් මත වැඩ කරන බැවින්).

KVM ඉතා වේගවත්, නමුත් එය විසින්ම අථත්‍ය OS ධාවනය කිරීමට ප්‍රමාණවත් නොවේ, මන්ද... මෙයට I/O අනුකරණය අවශ්‍ය වේ. I/O සඳහා (CPU, තැටි, ජාලය, වීඩියෝ, PCI, USB, අනුක්‍රමික වරායන්, ආදිය) KVM QEMU භාවිතා කරයි.

2) QEMU

QEMU (ඉක්මන් ඉමුලේටරය) යනු එක් ගෘහ නිර්මාණ ශිල්පයක් සඳහා නිර්මාණය කර ඇති මෙහෙයුම් පද්ධති තවත් එකක ධාවනය කිරීමට ඔබට ඉඩ සලසන විවිධ උපාංග සඳහා වන ඉමුලේටරයකි (උදාහරණයක් ලෙස, ARM -> x86). ප්‍රොසෙසරයට අමතරව, QEMU විවිධ පර්යන්ත උපාංග අනුකරණය කරයි: ජාල කාඩ්පත්, HDD, වීඩියෝ කාඩ්පත්, PCI, USB, ආදිය.

එය මේ ආකාරයට ක්‍රියා කරයි:

උපදෙස්/ද්විමය කේතය (උදාහරණයක් ලෙස, ARM) TCG (Tiny Code Generator) පරිවර්තකය භාවිතයෙන් අතරමැදි වේදිකා-ස්වාධීන කේතය බවට පරිවර්තනය කරනු ලබන අතර පසුව මෙම වේදිකා-ස්වාධීන ද්විමය කේතය ඉලක්ක උපදෙස්/කේතය බවට පරිවර්තනය කරනු ලැබේ (උදාහරණයක් ලෙස, x86).

ARM –> intermediate_code –> x86

අත්‍යවශ්‍යයෙන්ම, ඔබට Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine) සඳහා සහය නොදක්වන පැරණි ප්‍රොසෙසර මාදිලි සමඟ වුවද, ඕනෑම සත්කාරකයක් මත QEMU මත අතථ්‍ය යන්ත්‍ර ධාවනය කළ හැක. කෙසේ වෙතත්, මෙම අවස්ථාවෙහිදී, TCG (TCG යනු Just-in-Time compiler) භාවිතයෙන් ක්‍රියාත්මක වන ද්විමය කේතය පියාසර කිරීමේදී දෙවරක් නැවත සම්පාදනය කිරීමට අවශ්‍ය වන නිසා එය ඉතා සෙමින් ක්‍රියා කරයි.

එම. QEMU මෙගා සිසිල්, නමුත් එය ඉතා සෙමින් ක්රියා කරයි.

3) ආරක්ෂක වළලු

QEMU-KVM හි සාමාන්‍ය මෙහෙයුම් මූලධර්ම

ප්‍රොසෙසරවල ද්විමය ක්‍රමලේඛ කේතය හේතුවක් සඳහා ක්‍රියා කරයි, නමුත් විවිධ මට්ටම්වල (මුදු / ආරක්ෂණ වළලු) විවිධ මට්ටමේ දත්ත ප්‍රවේශයන් සහිත, වඩාත්ම වරප්‍රසාදිත (Ring 0), වඩාත්ම සීමිත, නියාමන සහ “ඇට තද කර ඇත. ” (මුදු 3 ).

මෙහෙයුම් පද්ධතිය (OS kernel) Ring 0 (kernel mode) මත ක්‍රියාත්මක වන අතර ඕනෑම දත්තයක් සහ උපාංග සමඟ එයට අවශ්‍ය ඕනෑම දෙයක් කළ හැක. පරිශීලක යෙදුම් Ring 3 මට්ටමේ (පරිශීලක මාදිලියේ) ක්‍රියාත්මක වන අතර ඔවුන්ට අවශ්‍ය ඕනෑම දෙයක් කිරීමට ඉඩ නොදේ, නමුත් ඒ වෙනුවට යම් මෙහෙයුමක් සිදු කිරීම සඳහා සෑම අවස්ථාවකම ප්‍රවේශය ඉල්ලා සිටිය යුතුය (එමගින්, පරිශීලක යෙදුම්වලට ඔවුන්ගේ දත්ත වලට පමණක් ප්‍රවේශය ඇති අතර “ලබා ගත නොහැක. වෙනත් කෙනෙකුගේ වැලිපිල්ලට) මුද්ද 1 සහ 2 රියදුරන් විසින් භාවිතා කිරීමට අදහස් කෙරේ.

Intel VT-x / AMD SVM සොයාගැනීමට පෙර, හයිපර්වයිසර් රින්ග් 0 මත ධාවනය වූ අතර අමුත්තන් රින්ග් 1 මත ධාවනය විය. ආගන්තුක පද්ධතියෙන් ලැබෙන සෑම වරප්‍රසාදලත් ඇමතුමක් සමඟම, මෙහෙයුම් පද්ධතියේ සාමාන්‍ය ක්‍රියාකාරිත්වය සඳහා ප්‍රමාණවත් අයිතීන් Ring 1 ට නොමැති බැවින්, හයිපර්වයිසර්ට පියාසර කරන විට මෙම ඇමතුම වෙනස් කර එය Ring 0 මත ක්‍රියාත්මක කිරීමට සිදු විය (QEMU මෙන්). එම. ආගන්තුක ද්විමය නෙ ප්‍රොසෙසරය මත කෙලින්ම ක්‍රියාත්මක කරන ලද අතර, සෑම අවස්ථාවකදීම පියාසර කිරීමේදී අතරමැදි වෙනස් කිරීම් කිහිපයක් සිදු කරන ලදී.

උඩිස් කාර්ය වැදගත් වූ අතර මෙය විශාල ගැටලුවක් වූ අතර පසුව ප්‍රොසෙසර් නිෂ්පාදකයින් එකිනෙකාගෙන් ස්වාධීනව ආගන්තුක OS කේතය ක්‍රියාත්මක කිරීමට ඉඩ සලසන දිගු උපදෙස් මාලාවක් (Intel VT-x / AMD SVM) නිකුත් කරන ලදී. සෘජුවම ධාරක ප්‍රොසෙසරය මත (පෙර සිදු වූ පරිදි ඕනෑම මිල අධික අතරමැදි පියවරයන් මඟ හැරීම).

Intel VT-x / AMD SVM පැමිණීමත් සමඟ විශේෂ නව Ring level -1 (අඩුම එක) නිර්මාණය විය. දැන් හයිපර්වයිසර් එය මත ක්‍රියාත්මක වන අතර අමුත්තන් Ring 0 මත ධාවනය වන අතර CPU වෙත වරප්‍රසාද ලත් ප්‍රවේශය ලබා ගනී.

එම. අවසානයේ:

  • සත්කාරක Ring 0 මත ධාවනය වේ
  • අමුත්තන් Ring 0 මත වැඩ කරයි
  • හයිපර්වයිසර් Ring -1 මත ධාවනය වේ

4) QEMU-KVM

KVM අමුත්තන්ට Ring 0 වෙත ප්‍රවේශය ලබා දෙන අතර I/O (ප්‍රොසෙසරය, තැටි, ජාලය, වීඩියෝ, PCI, USB, අනුක්‍රමික වරායන්, ආගන්තුකයන් “බලන” සහ වැඩ කරන) අනුකරණය කිරීමට QEMU භාවිත කරයි.

එබැවින් QEMU-KVM (හෝ KVM-QEMU) :)

බැර
අවධානය ආකර්ෂණය කර ගැනීම සඳහා පින්තූරය
ආරක්ෂක වළලු වල පින්තූරය

PS මෙම ලිපියේ පෙළ මුලින් ප්‍රකාශයට පත් කරන ලද්දේ ටෙලිග්‍රාම් නාලිකාවේ ය @RU_Voip නාලිකාවේ සහභාගිවන්නෙකුගේ ප්‍රශ්නයකට පිළිතුරක් ලෙස.

මට මාතෘකාව නිවැරදිව නොතේරෙන හෝ එකතු කිරීමට යමක් තිබේ නම් අදහස් දැක්වීම්වල ලියන්න.

ස්තුතියි!

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න