انتشرت فى الاونة الاخيرة الحديث عن (virtual machine (VM وفوائدها
واستخداماتها المتعددة وايضا عن تقنية virtualization
لذا سنتطرق الى التعرف على تقنية virtualization وانواعها وفوائد كلا منها
انواع ال virtualization :-
1-Desktop virtualization
2-Server virtualization
3-Application virtualization
4-Storage virtualization
5-Presentation virtualization
6-Network virtualization
اولا Desktop virtualization
وتسمى ايضا VDI: virtual desktop infrastructure
وهى تمكين المستخدم من انشاء اكثر من Virtual Machine على نفس الجهاز فى نفس الوقت
تعريف VM: virtual machine :-
عبارة عن برنامج يقوم بمحاكاة ال real machine ويفهم ISA: Instruction Set architecture ويقوم بتنفيذها
[+]A system virtual machine (Emulation of the underlying raw hardware (native
تسمى ايضا 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 حتى يتمكن من تشغيلها على جهازك
وهذه الطريقة تستخدم فى الكثير من السيرفرات
امثلة على برمجيات توفر لك هذا النوع من ال VM :-
Virtual PC, Virtual Box, Parallels Workstation , Virtual Iron
ثانيا : Server virtualization او ما يسمى
virtual private server : VPS
او
Virtual Dedicated Server :VDS
وهو اذا كان لديك سيرفر يحتوى على resources معينة فبدلا من ان تشغل على هذا ال server نظام تشغيل واحد يستهلك كل ال resources لهذا السيرفر ،فستقوم بتكوين عدد معين من ال VM التى كل منها تمثل سيرفر يستهلك جزء من ال resources الخاصة بالسيرفر ولذلك فستتمكن من تشغيل اكثر من سيرفر
( web server , Email Server, Domain server , DataBase Server) من نفس السيرفر فى نفس الوقت كل سيرفر منهم يعمل فى بيئة تخيلية VM ولكل سيرفر جزء من ال resources الخاصة بالسيرفر الاصلى
ثالثا: Application virtualization
[+]Process virtual machine (Emulation of a non-native system)
وهو عبارة عن برنامج يعمل من اجل 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 كبيئة تخيلية لها .
امثلة على برمجيات توفر لك هذا النوع من ال VM :-
p-code machine , Java virtual machine,Common Language Infrastructure
رابعا Storage virtualization
وهذا النوع يطبق على مجموعة من السيرفرات او الاجهزة وهناك storage media نريد ان نقسمه على هذه الاجهزة بنسب معينه لكل جهاز فلذلك نستخدم جهاز Storage virtualization Manager :SVM وتسمى فى هذه الحالة الاجهزة بانها SAN :storage area network وجهاز ال SVM هو المسؤل على اعطاء كل جهاز او سيرفر المساحة المخصصة له، حيث انه يظهر لهذا السيرفر او الجهاز على انه Logical Disk بمساحة معينه
ومن مميزات هذا النوع من ال virtualization
1- الامان Security حيث انك تستطيع منع احد الاجهزة من الاطلاع على بيانات الجهاز الاخر
2- تستطيع استخدام ال Sharing من خلال انشاء مجلد مشترك بين اكثر من جهاز
3- تستطيع ان تعمل resize لـ logical disk فى اى وقت على حساب مساحة جهاز اخر
خامسا Presentation virtualization
وفى هذا النوع يوجد جهاز واحد مركزى ويوجد العديد من الـ end-user terminal التى تتكون من شاشة وماوس وكيبورد حتى يتمكن المستخدم من التحكم فى الجهاز الخاص به.
كل end-user terminal تقوم بعمل virtual session على الجهاز المركزى ولذلك يتعامل المستخدم كانه يملك الجهاز كله وكانه لا يوجد احد اخر يشاركه فى موارد الجهاز ومن خلال هذا يستطيع اكثر من مستخدم تشغيل نفس البرنامج من نفس النسخة الى على الجهاز المركزى وهذا يساعد احيانا على اداء افضل وعلى الا تكون معدات المؤسسة كبيرة وعالية الثمن
ووظيفة الجهاز المركزى هل تلقى طلبات انشاء virtual session والتعامل معها كانها session منفرده لا تستطيع اى session من تخطى حدها والتحكم فى session اخر ويوفر باقى عمليات النظام التى يحتاجها لتشغيل البرمجيات المطلوبة
سادسا Network virtualization
وهو اذا كان لدينا شبكة كبير تضم عشرات الاجهزة فيمكننا من تقسيم هذه الاجهزة على شبكات تخيلة بدلا من ان يكونوا كشبكة واحدة وهذا التقسيم يحسن من اداى الشبكة وعمل troubleshooting اسهل للشبكة
ولذلك لابد ان نقسم شبكتنا الى العديد من ال VLan اى Virtual Lan ونحدد من خلال ال Switches اى الاجهزة تنضم الى ال VLan المعينة ونقسم كل الاجهزة على عدد من ال VLan وبذلك بدلا من ان نعامل كل الاجهزة كانها داخل شبكة واحد نعاملها كان كل مجموعة اجهزة لا يشترط ان يكونوا على نفس ال Switch انهم يكونوا شبكة Lan مع بعضهم
واستخداماتها المتعددة وايضا عن تقنية virtualization
لذا سنتطرق الى التعرف على تقنية virtualization وانواعها وفوائد كلا منها
انواع ال virtualization :-
1-Desktop virtualization
2-Server virtualization
3-Application virtualization
4-Storage virtualization
5-Presentation virtualization
6-Network virtualization
اولا Desktop virtualization
وتسمى ايضا VDI: virtual desktop infrastructure
وهى تمكين المستخدم من انشاء اكثر من Virtual Machine على نفس الجهاز فى نفس الوقت
تعريف VM: virtual machine :-
عبارة عن برنامج يقوم بمحاكاة ال real machine ويفهم ISA: Instruction Set architecture ويقوم بتنفيذها
[+]A system virtual machine (Emulation of the underlying raw hardware (native
تسمى ايضا 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 حتى يتمكن من تشغيلها على جهازك
وهذه الطريقة تستخدم فى الكثير من السيرفرات
امثلة على برمجيات توفر لك هذا النوع من ال VM :-
Virtual PC, Virtual Box, Parallels Workstation , Virtual Iron
ثانيا : Server virtualization او ما يسمى
virtual private server : VPS
او
Virtual Dedicated Server :VDS
وهو اذا كان لديك سيرفر يحتوى على resources معينة فبدلا من ان تشغل على هذا ال server نظام تشغيل واحد يستهلك كل ال resources لهذا السيرفر ،فستقوم بتكوين عدد معين من ال VM التى كل منها تمثل سيرفر يستهلك جزء من ال resources الخاصة بالسيرفر ولذلك فستتمكن من تشغيل اكثر من سيرفر
( web server , Email Server, Domain server , DataBase Server) من نفس السيرفر فى نفس الوقت كل سيرفر منهم يعمل فى بيئة تخيلية VM ولكل سيرفر جزء من ال resources الخاصة بالسيرفر الاصلى
ثالثا: Application virtualization
[+]Process virtual machine (Emulation of a non-native system)
وهو عبارة عن برنامج يعمل من اجل 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 كبيئة تخيلية لها .
امثلة على برمجيات توفر لك هذا النوع من ال VM :-
p-code machine , Java virtual machine,Common Language Infrastructure
رابعا Storage virtualization
وهذا النوع يطبق على مجموعة من السيرفرات او الاجهزة وهناك storage media نريد ان نقسمه على هذه الاجهزة بنسب معينه لكل جهاز فلذلك نستخدم جهاز Storage virtualization Manager :SVM وتسمى فى هذه الحالة الاجهزة بانها SAN :storage area network وجهاز ال SVM هو المسؤل على اعطاء كل جهاز او سيرفر المساحة المخصصة له، حيث انه يظهر لهذا السيرفر او الجهاز على انه Logical Disk بمساحة معينه
ومن مميزات هذا النوع من ال virtualization
1- الامان Security حيث انك تستطيع منع احد الاجهزة من الاطلاع على بيانات الجهاز الاخر
2- تستطيع استخدام ال Sharing من خلال انشاء مجلد مشترك بين اكثر من جهاز
3- تستطيع ان تعمل resize لـ logical disk فى اى وقت على حساب مساحة جهاز اخر
خامسا Presentation virtualization
وفى هذا النوع يوجد جهاز واحد مركزى ويوجد العديد من الـ end-user terminal التى تتكون من شاشة وماوس وكيبورد حتى يتمكن المستخدم من التحكم فى الجهاز الخاص به.
كل end-user terminal تقوم بعمل virtual session على الجهاز المركزى ولذلك يتعامل المستخدم كانه يملك الجهاز كله وكانه لا يوجد احد اخر يشاركه فى موارد الجهاز ومن خلال هذا يستطيع اكثر من مستخدم تشغيل نفس البرنامج من نفس النسخة الى على الجهاز المركزى وهذا يساعد احيانا على اداء افضل وعلى الا تكون معدات المؤسسة كبيرة وعالية الثمن
ووظيفة الجهاز المركزى هل تلقى طلبات انشاء virtual session والتعامل معها كانها session منفرده لا تستطيع اى session من تخطى حدها والتحكم فى session اخر ويوفر باقى عمليات النظام التى يحتاجها لتشغيل البرمجيات المطلوبة
سادسا Network virtualization
وهو اذا كان لدينا شبكة كبير تضم عشرات الاجهزة فيمكننا من تقسيم هذه الاجهزة على شبكات تخيلة بدلا من ان يكونوا كشبكة واحدة وهذا التقسيم يحسن من اداى الشبكة وعمل troubleshooting اسهل للشبكة
ولذلك لابد ان نقسم شبكتنا الى العديد من ال VLan اى Virtual Lan ونحدد من خلال ال Switches اى الاجهزة تنضم الى ال VLan المعينة ونقسم كل الاجهزة على عدد من ال VLan وبذلك بدلا من ان نعامل كل الاجهزة كانها داخل شبكة واحد نعاملها كان كل مجموعة اجهزة لا يشترط ان يكونوا على نفس ال Switch انهم يكونوا شبكة Lan مع بعضهم