🔰 01- Kernel-based Virtual Machine (KVM)
Website | License | Type | Operating system |
![]() |
GNU GPL or LGPL | Hypervisor |
Unix-like |
هى الآلة الافتراضية المستندة إلى Kernel (KVM) هي وحدة افتراضية مجانية ومفتوحة المصدر في Linux kernel تسمح للنواة بالعمل كمشرف. تم دمجه في نواة لينكس الرئيسية في الإصدار 2.6.20 ، والذي تم إصداره في 5 فبراير 2007.
تتطلب KVM معالجًا بامتدادات افتراضية للأجهزة ، مثل Intel VT أو AMD-V. كما تم نقل KVM إلى أنظمة تشغيل أخرى مثل FreeBSD و illumos في شكل وحدات kernel قابلة للتحميل.
تم تصميم KVM في الأصل لمعالجات x86 ولكن تم نقله منذ ذلك الحين إلى ESA / 390 ، PowerPC ، IA-64 ، و ARM. تمت إزالة منفذ IA-64 في عام 2014.
يوفر KVM المحاكاة الافتراضية بمساعدة الأجهزة لمجموعة متنوعة من أنظمة تشغيل الضيف بما في ذلك Linux و BSD و Solaris و Windows و Haiku و ReactOS و Plan 9 و AROS Research نظام التشغيل و macOS.
KVM هو حل افتراضي كامل لنظام Linux على أجهزة تحتوي على امتدادات افتراضية. يوفر KVM الأجهزة الافتراضية لمجموعة متنوعة من أنظمة تشغيل الضيف ، بما في ذلك Linux و Windows و macOS و ReactOS و Haiku. باستخدام KVM ، يمكنك تشغيل العديد من أجهزة VM على صور Linux أو Windows غير المعدلة. يحتوي كل جهاز افتراضي على أجهزة افتراضية خاصة: بطاقة شبكة ، وقرص ، ومحول رسومات ، وما إلى ذلك.
في معظم الأوقات ، لن تتفاعل مباشرة مع KVM. بدلاً من ذلك ، يجب عليك استخدام QEMU أو Virt-manager أو أداة إدارة افتراضية أخرى للاستفادة من KVM.
يمكنك العثور على الوثائق الكاملة على موقع KVM ، بالإضافة إلى الوصول إلى كود المصدر الخاص به.
source code | documentation |
🔰 02- Quick Emulator (QEMU)
Website | License | Type | Operating system |
![]() |
GPL-2 | Hypervisor, Emulator | Linux, Microsoft Windows, macOS and some other UNIX platforms |
هو عبارة عن جهاز افتراضي عام ومفتوح المصدر يقوم بإجراء المحاكاة الافتراضية للأجهزة. مطورها الأصلي هو فابريس بيلارد. يقوم بتنفيذ رمز الضيف مباشرة على وحدة المعالجة المركزية المضيفة ، لذلك يحقق أداء شبه أصلي عند استخدامه كمحاكاة افتراضية.
توفر مجموعة من نماذج الأجهزة المختلفة للجهاز ، مما يمكنها من تشغيل مجموعة متنوعة من أنظمة التشغيل الضيف. يمكنه التعامل مع الجهاز الظاهري المستند إلى Kernel (KVM) لتشغيل الأجهزة الافتراضية بسرعة قريبة من السرعة الأصلية.
هو محاكي عام ومفتوح المصدر وآلة افتراضية. عند استخدامه كمحاكي ، يمكن لـ QEMU تشغيل أنظمة التشغيل والبرامج المصممة لجهاز واحد (على سبيل المثال ، لوحة ARM) على جهاز مختلف (على سبيل المثال ، جهاز كمبيوتر x86_64 الخاص بك). عند استخدامه كجهاز افتراضي ، يحقق QEMU أداءً شبه أصلي من خلال تنفيذ رمز الضيف مباشرةً على وحدة المعالجة المركزية المضيفة باستخدام KVM.
QEMU مدعوم على أنظمة تشغيل متعددة ، وعملية التثبيت سهلة مثل تشغيل بعض الأوامر البسيطة
![]() |
How To install QEMU on macOS |
🔰 03- Libvirt
Website | License | Type | Operating system |
![]() |
GNU GPL or LGPL | Hypervisor |
Unix-like |
هى عبارة عن واجهة برمجة تطبيقات مفتوحة المصدر وأداة إدارة لإدارة ظاهرية النظام الأساسي ويمكن استخدامه لإدارة KVM و Xen و VMware ESXi و QEMU وتقنيات المحاكاة الافتراضية الأخرى.
تُستخدم واجهات برمجة التطبيقات هذه على نطاق واسع في طبقة تنسيق برامج Hypervisor في تطوير حل قائم على السحابة , كما ان libvirt يدعم العديد من برامج Hypervisors ويدعمه العديد من حلول الإدارة
libvirt هي مكتوبة بلغة C مع روابط بلغات أخرى ، لا سيما في Python ، Perl ، OCaml ، Ruby ، Java ، JavaScript (عبر Node.js) و PHP .
هى عبارة عن مكتبة توفران واجهة برمجة تطبيقات مستقرة مفتوحة المصدر لإدارة مضيفي المحاكاة الافتراضية. يستهدف العديد من برامج Hypervisor ، بما في ذلك QEMU و KVM و LXC و Xen و OpenVZ و VMWare ESX و VirtualBox والمزيد.
شيء آخر مثير للاهتمام حول libvirt هو أن KubeVirt ، وهو مشروع مفتوح المصدر لإنشاء وإدارة VMs داخل منصة Kubernetes ، يستخدم إلى حد كبير Libvirt.
Source Code | KubeVirt |
![]() |
![]() |
🔰 04- Libguestfs
Website | License | Type | Operating system |
![]() |
LGPL, GPL | accessing and modifying virtual machine | Linux, FreeBSD, Windows, macOS |
Libguestfs هى عبارة عن مجموعة من الأدوات للوصول إلى صور قرص VM وتعديلها. يمكنك استخدامها لعرض وتحرير الملفات داخل الضيوف ؛ تغييرات البرمجة النصية لأجهزة VM ؛ قرص المراقبة المستخدم / الإحصائيات المجانية ؛ إنشاء ضيوف ، أجهزة فعلية إلى افتراضية (P2V) ، أو أجهزة افتراضية إلى افتراضية (V2V) ؛ إجراء النسخ الاحتياطية الاستنساخ VMs ؛ بناء VMs أقراص التنسيق أقراص تغيير الحجم وأكثر بكثير.
تم إنشاؤه بسبب مشاكل أمنية ، عندما يتم تحميل صور القرص الظاهري مباشرة على النظام المضيف ويمكن لـ libguestfs الوصول إلى أي نوع من أنظمة الملفات تقريبًا بما في ذلك: جميع الأنواع المعروفة من أنظمة ملفات Linux (ext2 / 3/4 و XFS و btrfs وما إلى ذلك) وأي نظام ملفات Windows (VFAT و NTFS) وأي نظام ملفات Mac OS X و BSD و LVM2 إدارة وحدة التخزين ، أقسام قرص MBR و GPT ، الأقراص الأولية ، qcow2 ، VirtualBox VDI ، VMWare VMDK ، Hyper-V VHD / VHDX ، على الملفات ، الأجهزة المحلية ، CD و DVD ISO ، بطاقات SD ، أو عن بعد عبر FTP ، HTTP ، SSH ، بروتوكول iSCSI و NBD و GlusterFS و Ceph و Sheepdog وغير ذلك الكثير.
لا يتطلب libguestfs أذونات الجذر.
libguestfs هي أيضًا واجهة برمجة تطبيقات يمكن ربطها ببرامج إدارة C و C ++ ولها روابط لكل من Perl و Python و Ruby و Java و OCaml و PHP و Haskell و Erlang و Lua و Golang و C #.
يتم تنفيذ libguestfs باستخدام الجهاز الظاهري المستند إلى Kernel لنواة Linux.
📦 Getting started
![]() |
OpenShift Virtualization |
🔰 05- Virt-manager
Website | License | Type | Operating system |
![]() |
GPL v2+ | Virtual machine | Linux |
Virt-manager ، وهو اختصار لـ Virtual Machine Manager ، هو تطبيق واجهة مستخدم رسومية يستخدم لإدارة الأجهزة الافتراضية من خلال libvirt. لوضع هذا بعبارة أخرى ، فإن Virt-manager هو واجهة أمامية رسومية لـ libvirt.
على الرغم من أنه تم إنشاؤه بشكل أساسي لضيوف KVM ، إلا أنه يمكنه أيضًا إدارة حاويات XEN و LXC أيضًا. يحتوي على تطبيق عارض عميل VNC و SPICE مضمن لعرض وحدة التحكم بملء الشاشة لجهاز افتراضي قيد التشغيل.
تطبيق Virt-manager مفيد لإدارة ضيوف KVM المستضافة في أنظمة Linux التي تحتوي على بيئات سطح مكتب رسومية.
يسمح Virtual Machine Manager للمستخدمين بما يلي:
┓> إنشاء وتحرير وبدء وتعليق واستئناف وإيقاف الأجهزة الافتراضية ،
┫> عرض والتحكم في كل وحدة تحكم VM ،
┫> عرض جميع أجهزة VMs والمضيفين قيد التشغيل ،
┫> عرض إحصائيات الأداء والاستخدام لكل جهاز افتراضي ،
┫> عرض إحصائيات الأداء المباشر واستخدام الموارد لأجهزة VM والمضيفين ،
┫> إدارة الأجهزة الافتراضية KVM أو Xen أو QEMU ، والتي تعمل إما محليًا أو عن بُعد ،
┛> إدارة حاويات LXC وما إلى ذلك.
تمت كتابة Virt-manager بلغة Python وتم تطويره بواسطة Red Hat.
Virt-manager هي واجهة مستخدم لسطح المكتب لإدارة الأجهزة الافتراضية من خلال libvirt. إنه يستهدف في الأساس KVM VMs ولكنه يدير أيضًا Xen و LXC ويتضمن أيضًا أداة التزويد بسطر الأوامر Virt-install.
فكر في Virt-manager كأداة إدارة سهلة الاستخدام لأجهزة VM الخاصة بك. على سبيل المثال ، يمكنك استخدام Virt-manager لتشغيل بيئة Microsoft Windows على محطة عمل Linux أو العكس.