eramax

مقدمة عن انواع ال Virtualization

6 ردود في هذا الموضوع

السلام عليكم ورحمة الله وبركاته

اهلا بكم اخوانى الكرام ,,,

انتشرت فى الاونة الاخيرة الحديث عن ال فوائد ال virtual machine (VM) واستخداماتها المتعددة وايضا عن ال virtualization لذلك سنتكلم هذا اليوم عن انواع ال virtualization وفوائد كلا منها

انواع ال virtualization :-

post-115179-1225531241_thumb.png

1-Desktop virtualization

2-Application virtualization

3-Server virtualization

4-Storage virtualization

5-Presentation virtualization

6-Network virtualization

اولا Desktop virtualization وتسمى ايضا virtual desktop infrastructure (VDI)

post-115179-1225535515_thumb.jpg

وهى تمكين المستخدم من انشاء اكثر من Virtual Machine على نفس الجهاز فى نفس الوقت

ما هى ال virtual machine (VM) :- هى عبارة عن برنامج يقوم بمحاكاة ال real machine يفهم Instruction Set architecture (ISA) معينه خاصة به ويقوم بتنفيذها

[+]A system virtual machine (Emulation of the underlying raw hardware (native execution))

تسمى ايضا hardware virtual machines

وفى هذا النوع يتم انشاء Complete Virtual Computer System بمعنى Virtual Processor على سبيل المثال x86 processor emulator وايضا Virtual prephirales على سبيل المثال virtual keyboard و ايضا virtual Mouse و virtual memory وهكذا لكل باقى ال Computer System

ومميزات هذا النوع انك تستطيع تشغيل نظام تشغل كامل داخل نظامك الحالى الذى يعمل عليه برنامج ال VM

على سبيل المثال تشغيل نظام لينكس وانت تعمل على نظام وندوز ويسمى اللينكس فى هذه الحالة ب guest operating system

وايضا دعم تشغيل برمجيات لا تعمل على معالجك بسبب ان ال ISA الخاصة بها ليست كمثل ال ISA الخاصة بمعالجك كمثال على ذلك نظام تشغيل MAC موجهه الى معالج من عائلة PowerPC وانت معالجك من نوع Pentium فالحل الوحيد ان يكون ال VM الذى يعمل على جهازك يدعم هذا المعالج PowerPC ويقوم فى هذه الحالة ال VM بتحويل كل Instruction مكتوبه بال PowerPC ISA الى Pentium ISA حتى يتمكن من تشغيلها على جهازك

من الفوائد ايضا انك احيانا تحتاج الى ان قوم بتشغيل عملية معينة هامة لك ولا تريد اى شئ يمكن ان يوقفها او يقطعها يمعنى انك تريدها تعمل فى بيئة امنة لذلك يمكن لك تشغيل هذه ال Process فى VM خاصة بها بمعنى انك انشئت VM كاملة لها ولا يمكن لاى Process ان تؤثر على هذه ال Process التى تعمل داخل ال VM

وهذه الطريقة تستخدم فى الكثر من السيرفرات وتسمى quality-of-service isolation QoS isolation

امثلة على برمجيات توفر لك هذا النوع من ال VM :-

Virtual PC, Virtual Box, Parallels Workstation , Virtual Iron

ثانيا Application virtualization

[+]Process virtual machine (Emulation of a non-native system)

post-115179-1225530599_thumb.png

وهو عبارة عن برنامج يعمل من اجل Process اخرى يعمل عندما تشتغل هذه ال Process وينتهى عندما تنتهى هذه ال Process وهذا ال VM كمثال عليه ال Java runtime VM والتى تقوم بانشاء platform-independent environment لكى يتمكن ال Java Application من العمل

ولا تنسوا ان الكود الناتج من عملية ال Compilation لكود جافا هو ByteCode وليس Machine code موجهه لمعالج معين

وهذا ال ByteCode هو عبارة عن ISA خاصه بال Java VM تفهمها وتقوم من خلالها بتفسيرها Interpretation الى Machine dependent code وتقوم بتنفذ هل ال code الناتج

وايضا لغة ال C# التى تستخدم ال Common Language Runtime VM كبيئة تخيلية لها .

post-115179-1225535529_thumb.gif

تعريف ال computer cluster :- وهو ان يكون هناك عدد من اجهزة الكمبيوتر التى تعمل معا لتشغيل برنامجا او العديد من البرمجيات معا من خلال ال Parallel Processing وهذا يؤدى الى اداء عالى وفاعلية اكبر

فاذا افتضرت انك تستطيع تشغيل اكثر من Computer System فى نفس الوقت فى نفس الجهاز فانك تسطيع انشاء computer cluster

امثلة على برمجيات توفر لك هذا النوع من ال VM :-

p-code machine , Java virtual machine,Common Language Infrastructure,

ثالثا Server virtualization او ما يسمى

virtual private server (VPS) او Virtual Dedicated Server (VDS)

post-115179-1225536650_thumb.jpg

وهو اذا كان لديك سيرفر يحتوى على resources معينة فبدلا من ان تشغل على هذا ال server نظام تشغيل واحد يمتلك كل ال resources فستقوم بتكوين عدد معين من ال VM التى كل منها تمثل سيرفر يحتوى على جزء من ال resources الخاصة بالسيرفر ولذلك فستتمكن من تشغيل اكثر من سيرفر (ftp و web server و dns ) من نفس السيرفر فى نفس الوقت كل سيرفر منهم يعمل فى بيئة تخيلية VM لا يرى الاخر ولا يتحكم فيه اخر ولكل سيرفر جزء من ال resources الخاصة بالسيرفر الاصلى

رابعا Storage virtualization

post-115179-1225546004_thumb.jpg

وهذا النوع يطبق على مجموعة من السيرفرات او الاجهزة وهناك storage media نريد ان نقسمه على هذه الاجهزة بنسب معينه لكل جهاز فلذلك نستخدم جهاز Storage virtualization Manager (SVM) وتسمى فى هذه الحالة الاجهزة بانها تكون SAN (storage area network) وجهاز ال SVM هو المسؤل على اعطاء كل جهاز او سيرفر المساحة المخصصة له من خلال انه يظهر الى هذا السيرفر او الجهاز على انه Logical Disk بمساحة معينه ومن مميزات هذا النوع من ال virtualization

1- ال Security من خلال انك تمنع احد الاجهزة من التمكن من الاطلاع على بيانات جهاز اخر

2- تستطيع استخدام ال Sharing من خلال انك تجعل ملف او مجلد مشترك بين اكثر من جهاز

3-تستطيع ان تعمل resize لل logical disk فى اى وقت على حساب مساحة جهاز اخر

خامسا Presentation virtualization

post-115179-1225538238_thumb.gif

وفى هذا النوع يوجد جهاز واحد مركزى ويوجد العديد من ال end-user terminal التى تتكون من شاشة وماوس وكيبورد حتى يتمكن ال مستخدم من التحكم فى الجهاز الخاصة به كل end-user terminal تقوم بعمل virtual session على الجهاز المركزى ولذلك يتعامل المستخدم كانه يملك الجهاز كله وكان لا يوجد احد اخر يتعامل يشاركه فى موارد الجهاز ومن خلال هذا يستطيع اكثر من مستخدم تشغيل نفس البرنامج من نفس النسخة الى على الجهاز المركزى وهذا يساعد احيانا على اداء افضل وعلى الا تكون معدات المؤسسة كبيرة وعالية الثمن

ووظيفة الجهاز المركزى هل تلقى طلبات انشاء virtual session والتعامل معها كانها session منفرده لا تستطيع اى session من تخطى حدها والتحكم فى session اخر ويوفر باقى عمليات النظام التى يحتاجها لتشغيل البرمجيات المطلوبة

سادسا Network virtualization

post-115179-1225538256_thumb.jpg

وهو اذا كان دلينا شبكة كبير تضم عشرات الاجهزة فيمكننا من تقسيم هذه الاجهزة على شبكات تخيلة بدلا من ان يكونوا كشبكة واحدة وهذا التقسيم سيحسن من اداى الشبكة وعمل troubleshooting اسهل للشبكة

ولذلك لابد ان نقسم شبكتنا الى العديد من ال VLan اى Virtual Lan ونحدد من خلال ال Switches اى الاجهزة تنضم الى ال VLan المعينة ونقسم كل الاجهزة على عدد من ال VLan وبذلك بدلا من ان نعامل كل الاجهزة كانها داخل شبكة واحد نعاملها كان كل مجموعة اجهزة لا يشترط ان يكونوا على نفس ال Switch انهم يكونوا شبكة Lan مع بعضهم

بعض الكتب التى تشرح كيفية بناء ال VM سواءا من نوع System VM او من نوع Process VM :-

الكتاب الاول Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design)

post-115179-1225530604_thumb.jpg

http://rapidshare.com/files/103425491/1558609105.rar

http://ifile.it/i8m492g/1558609105.rar

Password: ebooksclub.org

File size: 42.8 MB

Format: PDF v1.6 (Acrobat 7+)

الكتاب الثانى Virtual Machine Design and Implementation in C/C++ (With CD-ROM)

post-115179-1225530611_thumb.jpg

http://ifile.it/fsjqcp/ebc_virtual_machine...lementation.rar

http://www.mediafire.com/?2wkzjuz3yzz

filetype :zip

size : 5.5mb

المصادر للاستزادة :-

http://en.wikipedia.org/wiki/Virtual_machine#cite_note-2

http://en.wikipedia.org/wiki/Popek_and_Gol...on_requirements

http://en.wikipedia.org/wiki/Java_virtual_machine

http://www.byte.com/art/9711/sec4/art4.htm#117cput1

http://en.wikipedia.org/wiki/Java_bytecode

http://en.wikipedia.org/wiki/Operating_sys..._virtualization

http://en.wikipedia.org/wiki/Chroot

http://en.wikipedia.org/wiki/CP/CMS

http://en.wikipedia.org/wiki/Stack_machine

http://en.wikipedia.org/wiki/Comparison_of_virtual_machines

http://en.wikipedia.org/wiki/QEMU

http://www.thefreecountry.com/emulators/pc.shtml

http://bochs.sourceforge.net/

http://en.wikipedia.org/wiki/Network_virtualization

http://en.wikipedia.org/wiki/VDI

http://en.wikipedia.org/wiki/Application_virtualization

http://en.wikipedia.org/wiki/Server_virtualization

http://en.wikipedia.org/wiki/Storage_virtualization

http://www.microsoft.com/virtualization/so...esentation.mspx

http://www.microsoft.com/VIRTUALIZATION/so...ch-storage.mspx

اتمنى من الله ان اكون قد وفقت فى طرح الموضوع واتمنى من الاعضاء تصحيح اى مفهوم خاطئ ورد منى فى هذه المقالة وجزاكم الله خيرا

احمد عصام EraMaX

<_<

تم تعديل بواسطه eramax
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مدخل جميل جدا،

وهذا موضوع سابق به بعض برامج Virtualization

http://www.arabteam2000-forum.com/index.php?showtopic=164028

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لقد كانت لى تجارب سابقة مع هذه التقنية مع البنامج الشهير VMware

و لكن حدثت بسببة مشاكل لا حصر لها فى القرص الصلب بعد ما أسمح للنظام الوهمى أن يجتاز القرص الصلب و يصبح جزء من الهارد ويير الوهمى

تنهار ملفات النظام الأساسى الذى يدار عليه النظام الوهمى

و تتلف و تنهار قطاعات كاملة من القرص الصلب مما يجعلك لامفر تقوم بتنصيب النظام الحقيقى من جديد بسبب فقدانك لكل الملفات الهامة فيه

و طبعا لا ينفع الإصلاح حيث أن البرامج الأخرى هى الأخرى تضرر من الأمر كثيرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

انا احب ال Virtual Box فهو خفيف بشكل كبير من ال VMware

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

نعم

الvBox من sun أليس كذلك

رأيته عند أحد الإصدقاء على لينكس

خفيف جدا

هناك أدوات تكون commandLine و قد جربت إحداها بنفسى (و لا أنصح بها) لكونها صعبة نوعا ما لإى مبتدئ

مثل QEMU 0.9.0

برنامج جيد و لكن يجب عليك أن تنتبه إلى الذى تكتبة جيدا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هذا ينطبق على الـvmware الأساسي القديم نسبيا.

هناك منتج آخر، أيضا قديم، لكن على الأقل أحدث عما تتحدثون، وهو vmware esx. ميزته أنه ﻻ يحتاج إلى نظام تشغيل آخر حتى ينزل عليه. يعني على الـbare metal فهو بحد ذاته نظام تشغيل مصغر فقط لتوفير virtualized hardware كاملا. فينزل عليه نظام التشغيل الـguest وﻻ يدري ماتحته.

هذا اسمه full virtualization والـvmware يقوم بهذا من خلال السوفتوير.

تقنيات جديدة كالـvt مع intel توفر طريقة بديلة لتوفير full virtualization من خلال الهاردوير عوضا من السوفتوير.

بالطرف المقابل، هناك paravirtuazation، والذي يقوم به الـhost في هذه الحالة _أخف_ وأيضا أسرع فهو يقوم _فقط_ بمحاكاة المعالج، الذاكرة العشوائية، الديسكات، والio. لكن سلبيته أنه يجب عليك تعديل الـguest. فالـguest سيكون نسخة معدلة. وهذا متوفر مع linux kernels كإختيار في حال الـcompile والذي هو تعديل طفيف وسهل نسبيا.

مثال على الـparavirtualization هو xen، برنامج مفتوح الشفرة ومشتركة معاهم شركات عملاقة عديدة، والـoverhead ضئيل جدا. تقريبا 3 إلى 5% حسب كلامهم رسميا.

السلبية الوحيدة مع paravirtualization أنك لن تستطيع تشغيل windows لأنه ﻻ توجد نسخة معدلة "شريفة" صالحة للإستخدام الشرعي مع xen. والناس الذين قامو بتشغيل windows في بيئة paravirtualization قاموا بالتعديل لأغراض تعليمية بحته. حسب علمي نسخة معدلة من windows xp تطفو في فضاء التورنتس.

لكن، ربما قرابة 2007 وﻻ 2006 (لا أذكر)، عندما ظهرت تقنية vt من intel، أو amd-v، أصبح بإمكان xen تطبيق full virtualization بالهاردوير دون الحاجة إلى القيام بـfull virtualization بالسوفتوير كما يفعله vmware. ولهذا السبب، الآن يمكننا أيضا تشغيل windows غير معدل على xen بواسطة full hardware virtualization.

طبعا الناس هنا تريد تبيع والشغل طاحن بين xen و vmware esx. وكل منهم يطعن الآخر. vmware تصر أن أسلوبها بالـfull virtualization by software أسرع من 1st generation hardware virtualization من خلال intel vt او amd-v نظريا للـoptimizations التي قامت بها. بينما XEN تقول العكس.

للعلم xen متحدة مع مايكروسوفت لإنتاج hyper-v ولذا تجدهم أيضا يدافعون عن منتجهم، كما أنهم أيضا يبيعون نسخ تجارية ودعم فني.

أما قضية virtual box و vmware (من دون esx) أو qemu فهذه سوقهم الآن مختلفة جدا و_دائما_ أكثر بطئا واستخدامها الشائع الآن هو للتجارب. بينما بيئات الإنتاج تستخدم xen او vmware esx الذي ينزل على الـbare metal كـos منفصل تماما.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .