محاكاة افتراضية بمستوى نظام التشغيل

الافتراضية بمستوى نظام التشغيل (بالإنجليزية: Operating-system-level virtualization)‏ هي طريقة لإنشاء بيئة افتراضية على مستوى نظام التشغيل حيث أن نواة نظام التشغيل تسمح بإنشاء عدة مستخدمين بدلا من واحد مع مساحات منعزلة. مثل هذه الحالات (التي تسمى أحيانا الحاويات، حاويات البرمجيات، أو محركات الافتراضية (VE)، خدمة الشبكة الخاصة الافتراضية (VPS)، أو السجون) حيث يبدو لمستخدمها عند اتصاله بالملقم كأنه مدير الخادم والمشرف عليه.

على أنظمة التشغيل مثل يونكس ، يمكن للمرء أن يعمل على هذه التقنية لتنفيذا عدة مهام قياسية بصفة الجدر . بالإضافة إلى آليات العزل، غالبا ما توفر النواة ميزات كإدارة الموارد للحد من تأثير الأنشطة في الخوادم أو تغلب حاوية على حاويات أخرى.

الاستخدامات

تستخدم التقنية عادة في بيئة الاستضافة الظاهرية، حيث أنه من الضروري تخصيص موارد الملقم وتحديدها بشكل آمن بين عدد كبير من المستخدمين .و قد يستخدمها مسؤولي النظام لتعزيز أجهزة الخوادم عن طريق نقل الخدمات في مضيفين منفصل في حاويات على خادم واحد. أو فصل العديد من التطبيقات كل على حدى في حاويات لتحسين الأمان وإستقلالية الأجهزة.

تطبيقات

آلية نظام التشغيل الرخصة متوفر منذ/خلال الميزات
عزل نظام الملفات نسخ عند الكتابة حصص القرص I/O تحديد تحديد الذاكرة حصص المعالج عزل الشبكة تداخل الإفتراضية فحص التقسيمات
الهجرة الألية
عزل صلاحيات الجذر
chroot معظم الانظمة شبيه يونكس يختلف حسب نظام التشغيل 1982 جُزئيٌّ[أ] لا لا لا لا لا لا نعم لا لا
دوكر (برمجية) لينكس[2] رخصة أباتشي 2013 نعم نعم Not directly Not directly نعم نعم نعم نعم لا لا
Linux-VServer
(security context)
جنو/لينكس حر 2001 نعم نعم نعم نعم[ب] نعم نعم جُزئيٌّ[ج] ؟ لا جُزئيٌّ
lmctfy جنو/لينكس رخصة أباتشي 2.0 2013 نعم نعم نعم نعم[ب] نعم نعم جُزئيٌّ [ج] ؟ لا جُزئيٌّ
ال إكس سي جنو/لينكس حر 2008 نعم[3] نعم جُزئيٌّ[د] جُزئيٌّ[ه] نعم نعم نعم نعم لا نعم[3]
LXD جنو/لينكس رخصة أباتشي 2015 نعم نعم جُزئيٌّ(see LXC) جُزئيٌّ(see LXC) نعم نعم نعم نعم جُزئيٌّ نعم
أوبن في زي جنو/لينكس رخصة جنو العمومية 2005 نعم لا نعم نعم[و] نعم نعم نعم[ز] جُزئيٌّ[ح] نعم نعم
Virtuozzo جنو/لينكس,

ويندوز

إحتكاري 2000[6] نعم نعم نعم نعم[ط] نعم نعم نعم[ز] جُزئيٌّ[ي] نعم نعم
Solaris Containers (Zones) اي لوم او اس ‏ (أوبن سولاريس),
سولاريس
CDDL,
برمجيات احتكارية
2004 نعم نعم (ZFS) نعم جُزئيٌّ[ك] نعم نعم نعم[ل][9][10] جُزئيٌّ[م] جُزئيٌّ[ن][س] نعم
FreeBSD jail فري بي ‌إس ‌دي رخص بي إس دي 2000[11] نعم نعم (ZFS) نعماكتب عنوان المرجع بين علامتي الفتح <ref> والإغلاق </ref>jail&sektion=8 FreeBSD jail man page] for details.}} لا نعم[12] نعم نعم[13] نعم لا نعم[14]
sysjail أوبن بي إس دي، نت بي إس دي رخص بي إس دي 2006–2009 (اعتبارًا من 3 مارس 2009 (2009-03-03), it is no longer supported) نعم لا لا لا لا لا نعم لا لا ؟


WPARs آي بي إم إيه آي إكس إحتكاري 2007 نعم لا نعم نعم نعم نعم نعم[ع] لا نعم[16] ؟


HP-UX Containers (SRP) إتش بي - يو إكس إحتكاري 2007 نعم لا جُزئيٌّ[ف] نعم نعم نعم نعم ؟ نعم ؟


iCore Virtual Accounts ويندوز اكس بي إحتكاري 2008 نعم لا نعم لا لا لا لا ؟ لا ؟


Sandboxie ويندوز إحتكاري 2004 نعم نعم جُزئيٌّ لا لا لا جُزئيٌّ لا لا نعم
Spoon ويندوز إحتكاري 2012 نعم نعم لا لا لا لا نعم لا لا نعم
VMware ThinApp ويندوز إحتكاري 2008 نعم نعم لا لا لا لا نعم لا لا نعم

مصادر


ملاحظات

  1. ^ Root user can easily escape from chroot. Chroot was never supposed to be used as a security mechanism.[1]
  2. ^ أ ب Utilizing the CFQ scheduler, there is a separate queue per guest.
  3. ^ أ ب Networking is based on isolation, not virtualization.
  4. ^ Disk quotas per container are possible when using separate partitions for each container with the help of LVM.
  5. ^ I/O rate limiting is supported when using Btrfs.
  6. ^ Available since Linux kernel 2.6.18-028stable021. Implementation is based on CFQ disk I/O scheduler, but it is a two-level schema, so I/O priority is not per-process, but rather per-container.[4]
  7. ^ أ ب Each container can have its own IP addresses, firewall rules, routing tables and so on. Three different networking schemes are possible: route-based, bridge-based, and assigning a real network device (NIC) to a container.
  8. ^ Docker containers can run inside OpenVZ containers.[5]
  9. ^ Available since version 4.0, January 2008.
  10. ^ Docker containers can run inside Virtuozzo containers.[7]
  11. ^ Yes with illumos[8]
  12. ^ See OpenSolaris Network Virtualization and Resource Control for more details.
  13. ^ Only when top level is a KVM zone (illumos) or a kz zone (Oracle).
  14. ^ Starting in Solaris 11.3 Beta, Solaris Kernel Zones may use live migration.
  15. ^ Cold migration (shutdown-move-restart) is implemented.
  16. ^ Available since TL 02.[15]
  17. ^ Yes with logical volumes.

مراجع

  1. ^ "3.5. Limiting your program's environment". freebsd.org. مؤرشف من الأصل في 2018-12-23.
  2. ^ "Docker drops LXC as default execution environment". InfoQ. مؤرشف من الأصل في 2019-03-27.
  3. ^ أ ب Graber، Stéphane (1 يناير 2014). "LXC 1.0: Security features [6/10]". مؤرشف من الأصل في 2019-05-07. اطلع عليه بتاريخ 2014-02-12. LXC now has support for user namespaces. [...] LXC is no longer running as root so even if an attacker manages to escape the container, he'd find himself having the privileges of a regular user on the host
  4. ^ "I/O priorities for containers". OpenVZ Virtuozzo Containers Wiki. مؤرشف من الأصل في 2016-03-03.
  5. ^ "Docker inside CT". مؤرشف من الأصل في 2017-07-22.
  6. ^ "Initial public prerelease of Virtuozzo (named ASPcomplete at that time)". مؤرشف من الأصل في 2016-04-14.
  7. ^ "Parallels Virtuozzo Now Provides Native Support for Docker". مؤرشف من الأصل في 2016-05-13.
  8. ^ Pijewski، Bill. "Our ZFS I/O Throttle". مؤرشف من الأصل في 2018-10-05.
  9. ^ Network Virtualization and Resource Control (Crossbow) FAQ نسخة محفوظة 21 أكتوبر 2009 على موقع واي باك مشين.
  10. ^ "Managing Network Virtualization and Network Resources in Oracle® Solaris 11.2". مؤرشف من الأصل في 2016-04-29.
  11. ^ "Contain your enthusiasm - Part Two: Jails, Zones, OpenVZ, and LXC". مؤرشف من الأصل في 2018-05-16. Jails were first introduced in FreeBSD 4.0 in 2000
  12. ^ "Hierarchical_Resource_Limits - FreeBSD Wiki". Wiki.freebsd.org. 27 أكتوبر 2012. مؤرشف من الأصل في 2018-02-18. اطلع عليه بتاريخ 2014-01-15.
  13. ^ "Implementing a Clonable Network Stack in the FreeBSD Kernel" (PDF). usenix.org. 13 يونيو 2003. مؤرشف من الأصل (PDF) في 2016-04-18.
  14. ^ "3.5. Limiting your program's environment". Freebsd.org. مؤرشف من الأصل في 2018-12-23. اطلع عليه بتاريخ 2014-01-15.
  15. ^ "IBM Fix pack information for: WPAR Network Isolation - United States". ibm.com. مؤرشف من الأصل في 2017-06-30.
  16. ^ Live Application Mobility in AIX 6.1 نسخة محفوظة 08 يوليو 2017 على موقع واي باك مشين.