محاكاة افتراضية بمستوى نظام التشغيل
الافتراضية بمستوى نظام التشغيل (بالإنجليزية: Operating-system-level virtualization) هي طريقة لإنشاء بيئة افتراضية على مستوى نظام التشغيل حيث أن نواة نظام التشغيل تسمح بإنشاء عدة مستخدمين بدلا من واحد مع مساحات منعزلة. مثل هذه الحالات (التي تسمى أحيانا الحاويات، حاويات البرمجيات، أو محركات الافتراضية (VE)، خدمة الشبكة الخاصة الافتراضية (VPS)، أو السجون) حيث يبدو لمستخدمها عند اتصاله بالملقم كأنه مدير الخادم والمشرف عليه.
على أنظمة التشغيل مثل يونكس ، يمكن للمرء أن يعمل على هذه التقنية لتنفيذا عدة مهام قياسية بصفة الجدر . بالإضافة إلى آليات العزل، غالبا ما توفر النواة ميزات كإدارة الموارد للحد من تأثير الأنشطة في الخوادم أو تغلب حاوية على حاويات أخرى.
الاستخدامات
تستخدم التقنية عادة في بيئة الاستضافة الظاهرية، حيث أنه من الضروري تخصيص موارد الملقم وتحديدها بشكل آمن بين عدد كبير من المستخدمين .و قد يستخدمها مسؤولي النظام لتعزيز أجهزة الخوادم عن طريق نقل الخدمات في مضيفين منفصل في حاويات على خادم واحد. أو فصل العديد من التطبيقات كل على حدى في حاويات لتحسين الأمان وإستقلالية الأجهزة.
تطبيقات
آلية | نظام التشغيل | الرخصة | متوفر منذ/خلال | الميزات | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
عزل نظام الملفات | نسخ عند الكتابة | حصص القرص | I/O تحديد | تحديد الذاكرة | حصص المعالج | عزل الشبكة | تداخل الإفتراضية | فحص التقسيمات الهجرة الألية |
عزل صلاحيات الجذر | ||||
chroot | معظم الانظمة شبيه يونكس | يختلف حسب نظام التشغيل | 1982 | جزئي[lower-alpha 1] | لا | لا | لا | لا | لا | لا | نعم | لا | لا |
دوكر (برمجية) | لينكس[2] | رخصة أباتشي | 2013 | نعم | نعم | Not directly | Not directly | نعم | نعم | نعم | نعم | لا | لا |
Linux-VServer (security context) |
جنو/لينكس | حر | 2001 | نعم | نعم | نعم | نعم[lower-alpha 2] | نعم | نعم | جزئي[lower-alpha 3] | ؟ | لا | جزئي |
lmctfy | جنو/لينكس | رخصة أباتشي 2.0 | 2013 | نعم | نعم | نعم | نعم[lower-alpha 2] | نعم | نعم | جزئي [lower-alpha 3] | ؟ | لا | جزئي |
ال إكس سي | جنو/لينكس | حر | 2008 | نعم[3] | نعم | جزئي[lower-alpha 4] | جزئي[lower-alpha 5] | نعم | نعم | نعم | نعم | لا | نعم[3] |
LXD | جنو/لينكس | رخصة أباتشي | 2015 | نعم | نعم | جزئي(see LXC) | جزئي(see LXC) | نعم | نعم | نعم | نعم | جزئي | نعم |
أوبن في زي | جنو/لينكس | رخصة جنو العمومية | 2005 | نعم | لا | نعم | نعم[lower-alpha 6] | نعم | نعم | نعم[lower-alpha 7] | جزئي[lower-alpha 8] | نعم | نعم |
Virtuozzo | جنو/لينكس, | إحتكاري | 2000[6] | نعم | نعم | نعم | نعم[lower-alpha 9] | نعم | نعم | نعم[lower-alpha 7] | جزئي[lower-alpha 10] | نعم | نعم |
Solaris Containers (Zones) | اي لوم او اس (أوبن سولاريس), سولاريس |
CDDL, برمجيات احتكارية |
2004 | نعم | نعم (ZFS) | نعم | جزئي[lower-alpha 11] | نعم | نعم | نعم[lower-alpha 12][9][10] | جزئي[lower-alpha 13] | جزئي[lower-alpha 14][lower-alpha 15] | نعم |
FreeBSD jail | فري بي إس دي | رخص بي إس دي | 2000[11] | نعم | نعم (ZFS) | نعم[lower-alpha 16]jail&sektion=8 FreeBSD jail man page] for details.}} | لا | نعم[12] | نعم | نعم[13] | نعم | لا | نعم[14] |
sysjail | أوبن بي إس دي, نت بي إس دي | رخص بي إس دي | 2006–2009 (اعتبارا من 3 مارس 2009 , it is no longer supported) | نعم | لا | لا | لا | لا | لا | نعم | لا | لا | ? |
WPARs | آي بي إم إيه آي إكس | إحتكاري | 2007 | نعم | لا | نعم | نعم | نعم | نعم | نعم[lower-alpha 17] | لا | نعم[16] | ? |
HP-UX Containers (SRP) | إتش بي - يو إكس | إحتكاري | 2007 | نعم | لا | جزئي[lower-alpha 18] | نعم | نعم | نعم | نعم | ؟ | نعم | ? |
iCore Virtual Accounts | ويندوز اكس بي | إحتكاري | 2008 | نعم | لا | نعم | لا | لا | لا | لا | ؟ | لا | ? |
Sandboxie | ويندوز | إحتكاري | 2004 | نعم | نعم | جزئي | لا | لا | لا | جزئي | لا | لا | نعم |
Spoon | ويندوز | إحتكاري | 2012 | نعم | نعم | لا | لا | لا | لا | نعم | لا | لا | نعم |
VMware ThinApp | ويندوز | إحتكاري | 2008 | نعم | نعم | لا | لا | لا | لا | نعم | لا | لا | نعم |
مراجع
- "3.5. Limiting your program's environment". freebsd.org. مؤرشف من الأصل في 23 ديسمبر 2018. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - "Docker drops LXC as default execution environment". InfoQ. مؤرشف من الأصل في 27 مارس 2019. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - Graber, Stéphane (1 January 2014). "LXC 1.0: Security features [6/10]". مؤرشف من الأصل في 07 مايو 2019. اطلع عليه بتاريخ 12 فبراير 2014.
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
الوسيط|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) - "I/O priorities for containers". OpenVZ Virtuozzo Containers Wiki. مؤرشف من الأصل في 03 مارس 2016. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) - "Docker inside CT". مؤرشف من الأصل في 22 يوليو 2017. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - "Initial public prerelease of Virtuozzo (named ASPcomplete at that time)". مؤرشف من الأصل في 14 أبريل 2016. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - "Parallels Virtuozzo Now Provides Native Support for Docker". مؤرشف من الأصل في 13 مايو 2016. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - Pijewski, Bill. "Our ZFS I/O Throttle". مؤرشف من الأصل في 05 أكتوبر 2018. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) - Network Virtualization and Resource Control (Crossbow) FAQ نسخة محفوظة 21 أكتوبر 2009 على موقع واي باك مشين.
- "Managing Network Virtualization and Network Resources in Oracle® Solaris 11.2". مؤرشف من الأصل في 29 أبريل 2016. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - "Contain your enthusiasm - Part Two: Jails, Zones, OpenVZ, and LXC". مؤرشف من الأصل في 16 مايو 2018.
Jails were first introduced in FreeBSD 4.0 in 2000
الوسيط|CitationClass=
تم تجاهله (مساعدة) - "Hierarchical_Resource_Limits - FreeBSD Wiki". Wiki.freebsd.org. 2012-10-27. مؤرشف من الأصل في 18 فبراير 2018. اطلع عليه بتاريخ 15 يناير 2014. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - "Implementing a Clonable Network Stack in the FreeBSD Kernel" (PDF). usenix.org. 2003-06-13. مؤرشف من الأصل (PDF) في 18 أبريل 2016. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - "3.5. Limiting your program's environment". Freebsd.org. مؤرشف من الأصل في 23 ديسمبر 2018. اطلع عليه بتاريخ 15 يناير 2014. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - "IBM Fix pack information for: WPAR Network Isolation - United States". ibm.com. مؤرشف من الأصل في 30 يونيو 2017. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - Live Application Mobility in AIX 6.1 نسخة محفوظة 08 يوليو 2017 على موقع واي باك مشين.
- بوابة تقنية المعلومات
- Root user can easily escape from chroot. Chroot was never supposed to be used as a security mechanism.[1]
- Utilizing the CFQ scheduler, there is a separate queue per guest.
- Networking is based on isolation, not virtualization.
- Disk quotas per container are possible when using separate partitions for each container with the help of LVM.
- I/O rate limiting is supported when using Btrfs.
- 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]
- 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.
- Docker containers can run inside OpenVZ containers.[5]
- Available since version 4.0, January 2008.
- Docker containers can run inside Virtuozzo containers.[7]
- Yes with illumos[8]
- See OpenSolaris Network Virtualization and Resource Control for more details.
- Only when top level is a KVM zone (illumos) or a kz zone (Oracle).
- Starting in Solaris 11.3 Beta, Solaris Kernel Zones may use live migration.
- Cold migration (shutdown-move-restart) is implemented.
- Available since TL 02.[15]
- Yes with logical volumes.