منبع: پيسي مگزين
يك PC در PC ديگر
مجازيسازي سيستمهاي عامل از جمله مواردي است كه تا آن را با چشم خود نبينيد، باوركردنش سخت است. يك نرمافزار خاص، مكانيسمي را در پردازنده ايجاد ميكند كه به ماشين مجازي (VM) معروف است. به وسيله آن، يك ويندوز در داخل ويندوزي ديگر قابل اجرا است يا حتي فراتر از آن لينوكس، OS/2 WARP، سولاريس و تقريباً تمام سيستمهاي عاملي كه براي سختافزار 86X نوشته شدهاست نيز در آن قابل اجراست.
نرمافزار مجازيسازي به نرمافزار مديريت ماشينمجازي (VMM) يا ناظر معروف است. ماشين مجازي كه توسط VMM اجرا ميشود، شبيهسازي كاملي از يك PC مستقل است. اين شبيهسازي شامل پورتهاي USB، كارتهاي صدا و ويديو، حافظه و در بعضي موارد (براي شبيهسازي يك پيسي 86X روي سختافزار MAC) رجيسترهاي CPU و عملكردها ميشود. ميتوان يك ماشينمجازي به همراه تمام نرمافزارهاي نصب شده روي سيستمعامل آن را بهعنوان يك فايل ذخيره نمود و بعدها از آن استفاده كرد.
وقتي شما يك سيستمعامل را روي ماشينمجازي نصب ميكنيد، اين سيستمعامل، بهطور مستقل (و با درصد بالايي از مجزانمودن محيط) سختافزار و نرمافزار و حتي ساير ماشينهاي مجازي عمل ميكند. اين عمل همانند آن است كه چندين پيسي را روي يك پيسي داشته باشيد. به كمك عملكرد چندگانه، تمام ماشينهاي مجازي بهطور مشترك از سيكلهاي حافظه و پردازنده سيستم استفاده ميكند، اين كار تأثير كم اما نهچندان قابلتوجهي را به واسطه مكانيسم همانندسازي، روي عملكرد سيستم ايجاد ميكند. اما همزمان با سريعتر شدن پردازندهها، ارزان شدن حافظه و به بازار آمدن پردازندههايي با قابليت مجازيسازي توكار، مجازيسازي ميتواند به جايگاه عملكرد چندگانه امروزي برسد.
راههاي جديدي براي كار كردن
مانند تمام پيشرفتهاي نرمافزاري، مجازيسازي چيزهايي را براي ما ممكن ساختهاست كه قبلاً ناممكن بوده يا آنقدر مشكل داشته كه بهقول معروف به دردسرش نميارزيده است. پشتيباني از سيستمهاي عامل متفاوت روي يك PC قبلاً بدين معني بود كه هر پارتيشن به يك سيستمعامل اختصاص يابد و براي استفاده ميبايست زمان زيادي براي بالا آمدن سيستم تلف شود. حركت سريع بين سيستمعاملها نيز ناممكن بود. دلايل مجازيسازي براي توسعهدهندگان نرمافزار، تستكنندگان نرمافزارهاي بتا و متخصصان پشتيباني هم بسيار مهم و قابل توجه است. ديگر نيازي به يك سيستمعامل روي يك پيسي نيست.
در زمان بالا آمدن هر سيستمعامل نيز صرفهجويي شده است. هر سيستمعامل موجود در ماشينمجازي، بهسرعت قابلدسترسي است و هر ماشين مجازي و سيستمعاملي كه در آن ذخيره شده است در چند ثانيه قابل راهاندازي است. اين عمل براي برنامههاي كاربردي نصب شده روي سيستمعامل نيز كاملاً امكانپذير است. يعني درست از جايي كه كار پايان يافته بود، ميتوان آن را ادامه داد.
ايزولاسيون يا مجزاسازي ذاتي بين ماشينهاي مجازي (و ماشين مجازي و سيستمعامل ميزبان) كارهاي كاملاً پرمخاطره را به كارهاي ايمن مبدل نموده است. آمادهسازي نرمافزارهاي جديد بدين معني است كه كامپيوتري را كه موردآزمايش قرارميگيرد نسبت به آسيبهايي مانند تبليغافزار و يا تغييرات غيرقابل بازگشت رجيستري، ايمن ميكند. اكنون توسعهدهندگان ميتوانند يك ماشين مجازي ايجاد كنند، سپس نرمافزار موردنظر را نصب نمايند و تحتآزمايش قرار دهند؛ بدون اينكه در مورد نصب مجدد ويندوز و دردسرهاي آن نگران باشند و پس از آنكه آزمايش انجام شد، ميتوانند تمام حالات ماشين مجازي، كه شامل نرمافزار نيز ميشود را آرشيو كنند (روي يك سرور) يا آن را از بين ببرند.
|
مجازيسازهايي مانند Virtual PC اجازه نصب سيستمعاملهاي قديمي را به كاربران ميدهند. محصولاتي مانند ويندوز 98 در پنجرهاي تحت سيستمعامل ميزبان ديگر قابل دسترسي است. |
|
كنسول Virtual PC كه وضعيت ماشينهاي مجازي در حال اجرا يا متوقف شده را نشان ميدهد. |
از بين بردن ويروسها يا بدافزارها مستلزم آن است كه آن بدافزار در هنگام فعاليت تحتنظر باشد و آزمايشهايي نيز براي مقابله با آنها صورت پذيرد. يك ماشينمجازي قفسي است كه بدافزار به هيچ عنوان امكان فرار از آن و رفتن به ساير قسمتهاي هاردديسك سيستم را ندارد.
(وقتي شما در حال زيرنظر گرفتن فعاليت يك بدافزار هستيد، بهتر است پورتهاي ورودي شبكه خود را ببنديد). اگر بدافزار به سيستمعامل خسارتي وارد نمايد، امكان راهاندازي يك نسخه سالم و ادامه فعاليت روي ماشينمجازي امكانپذير است.
بيشترين قدرت و امكانات مجازيسازي، براي توسعهدهندگان نرمافزار فراهم شده است. ميدانيد نوشتن برنامههاي سطح پايين يا اجزاي سيستمعامل كاري است كه به مهارت بالا نياز دارد. زيرا شما در اصل در حال وصله زدن سيستمعامل هستيد.
آزمايش كردن نرمافزارهاي ساخته شده با ماشينمجازي، ماشين توسعه شما را در برابر خرابي محافظت مينمايد. فراتر از آن، ماشينهاي مجازيسازي مدرن امكاني را براي شما فراهم ميكند كه با آن ميتوانيد به ايجاد و ذخيره مرحله به مرحله كار بپردازيد تا در زمان لزوم بتوان به آن رجوع كرد.
در مورد سرورها نيز ميتوان چندين سرور را كه هر كدام جداگانه روي پيسيهاي مختلف اجرا ميشوند، روي يك پيسي مجتمع كرد. اين عمل منجر به صرفهجويي در فضا، انرژي و كمكردن گرما و آشفتگي محيط ناشي از تعدد كابلها ميشود. دو شركت مايكروسافت و VMWARE به ارائه محصولاتي در زمينه مجازيسازي پرداختهاند.
پيسي مجازي مايكروسافت
در سال 2003 مايكروسافت شركت Connectix به همراه محصول Virtual PC آن (تحت ويندوز و MAC) را به تملك خود درآورد. Virtual PC تحت Mac مدت زيادي است كه اجازه اجراي ويندوز و برنامههاي تحت آن را به كاربران Mac ميدهد. از آنجايي كه Virtual PC مناسب Mac است، راهاندازي و استفاده از آن بسيار آسان است. پورت 86X آن جديدتر است و در نسخه 2004 آن نصب و اجراي تمام محصولات مايكروسافت به همراه نسخههاي OS/2 كه توسطIBM ارائه شده را ميسر ميسازد. هر ماشينمجازي قابليت دريافت آدرس (Media Access Control MAC ) را دارد و ميتواند آدرس IP را از يك DHCP خارجي نمايد.
|
ايستگاه كاري نسخه VMWARE5، هر ماشين مجازي را به صورت صفحهاي مجزا نمايش ميدهد. هر صفحه، فايلهاي ماشين مجازي و هاردديسك مجازي را به اختصار نمايش ميدهد. |
مايكروسافت براي سيستمهايي كه بهصورت مستقيم پشتيباني ميشوند، قابليتهاي يكپارچهاي را ارائه داده است. از آن جمله ميتوان عملكرد يكپارچه، به اشتراكگذاري فايل با سيستمعامل ميزبان، و عملكرد بهبود يافته را نام برد.
با آن كه پشتيباني مستقيمي از لينوكس در ويزارد جديد Virtual PC وجود ندارد، امكان نصب نسخههاي مختلف لينوكس و ساير سيستمعاملها مانند سولاريس و Plan9 با كمي تلاش وجود دارد. Virtual PC با Samba سازگار است و اغلب لينوكسها به راحتي روي ويندوز قابليت به اشتراكگذاري فايل را دارند.
پارامترهاي پنجره X گاهي بايد قبل از نصب GUI توسط كنسول متني عوض شوند و برخي سيستمهاي عامل (براي مثال Bcos)خيلي ضعيف عمل ميكنند.
همچنين توسعهدهندگان نرمافزار معمولاً به ليسانسها و مجوزهاي متفاوتي براي هر نسخه سيستمعامل نصب شده نياز دارند. ويندوز اكسپي نصب شده در ماشين مجازي به عنوان يك نسخه مجزا محسوب ميشود و بايد مجوز جداگانهاي براي آن تهيه گردد.
ايستگاه كاري VMWARE
نسخه ايستگاه كاري VMWARE در سال 1999 معرفي شده و بيشتر مورداستفاده توسعهدهندگان نرمافزار و آزمايشكنندگان قرار ميگيرد تا مصرفكنندگان عادي. آخرين نسخه آن (نسخه 5) روي ميزبانهاي ويندوز و لينوكس قابلنصب است. نسخه جديد اين نرمافزار قابليت اجراي تمام نسخههاي ويندوز از زمان ويندوز 1/3 (تا ويندوز ويستا)، داس، نتور 5 و 6، سولاريس 9 و 10 و اغلب لينوكسها را به عنوان سيستمعامل ميهمان دارد.
|
VMWARE تصاوير فوري snapshotهاي سيستم را در مرورگري به صورت سلسله مراتبي نشان ميدهد و به كاربر امكان ميدهد آن را بگيرد، كپي كند، پاك نمايد، يا به تصوير ذخيره شده خاصي مراجعه نمايد. |
نسخه 5 قابليتهاي جديد بسياري را ارائه نموده است. اين نرمافزار اجازه ايجاد معماري را به شما ميدهد كه تحت آن ميتوانيد snapshot مربوط به هم را از VMM تهيه كنيد و بين آنها به سرعت حركت نماييد. اين كار تحت نظر يك مدير بصري snapshot انجام ميشود.
شما به راحتي قابليت اين را داريد كه به سرعت يك كپي از يك ماشينمجازي موجود را در ماشين مجازي ديگر استفاده نماييد يا يك ماشين مجازي را به ديگري مرتبط كنيد. اين ارتباط موجب صرفهجويي در فضاي ديسك سخت يا شبكه ميشود.
نسخه 5 از مفهوم <گروه يا تيم> پشتيباني ميكند. بدين معني كه گروهي از ماشينهاي مجازي به هم متصلميشوند، بهطوري كه مانند يك شبكه مجازي (VLAN) عمل ميكنند. اما از تمام شبكههاي خارجي كاملاً ايزوله هستند. اين مسئله موجب ميشود برنامه كاربردي تحت شبكه بدون خطر براي شبكه خارجي مورد آزمايش قراربگيرد.
نسخه 5 از روش به اشتراكگذاري حافظه استفاده مينمايد. به نحوي كه بلوكهاي مشابه حافظه را با هم به اشتراك ميگذارد و موجب كاهش استفاده از حافظه ميشود.
پشتيباني از شبكه در VMWARE بسيار قوي است. ماشين مجازي قابليت اتصال به شبكه خارجي را از طريق كارت شبكه فيزيكي ميزبان دارد و يا از طرق مختلفي به صورت محلي با سيستمعامل ميزبان ارتباط برقرار ميكند. اين كار توسط كارت شبكههاي مجازي، سوييچها و وسايل NAT كه توسط نرمافزار VMWARE ايجاد ميشود، امكانپذير است.
XEN
سومين بازيگر عرصه مجازيسازي، نرمافزار منبعباز و رايگان XEN است كه توسط غولهايي چونHP ،IBM و سان پشتيباني ميشود. (نشاني) Xen با دو محصول Virtual PC و WMWARE متفاوت است. از اين لحاظ كه شبهمجازيسازي را ارائه ميدهد و به اين دليل معروف است كه يك محيط مجازي كامل را براي سيستمعامل ميهمان خود فراهم نميكند. در شبه مجازيسازي VMM به عنوان يك واسطه بين سختافزار و سيستمعامل عمل ميكند.
يك سيستمعامل بايد براي كار با XEN كامپايل شود. نكته مثبت در مورد XEN آن است كه سيستمعاملي كه توسط XEN مجازي شده است، بسيار قابلاطمينان و سريع عمل ميكند. همانند آنكه كاملاً توسط خود پيسي تحت كنترل است. از آنجا كه براي استفاده از XEN نياز به تغييرات كرنل است، XEN بهطور عمده توسط لينوكس
(Free BSD ، Plan9) و در آينده نزديك سولاريس مورد استفاده قرار ميگيرد.
رئيس بزرگ
مشكلي كه با نسل كنوني VMMها وجود دارد آن است كه در كلاس پنتيوم فقط يك رئيس ميتواند وجودداشته باشد. وقتي كه ويندوز، لينوكس يا هر سيستم محافظت شده ديگر اجرا ميشود، در اصل در بالاترين سطح دسترسي موجود كه به <حلقه صفر> معروف است اجرا ميگردد. در حالي كه برنامههاي سودمند و كاربردي به <حلقه 3> عودت داده ميشوند. يك VMM در حلقه صفر عمل ميكند و وظيفه آن كنترل و مديريت سيستمهاي عامل در حلقه صفر است.
شروع كار با ماشين مجازي |
1 - مطمئن شويد كه در درك مفهوم مشكل نداريد؛ اشتباه كردن در زمينه مجازيسازي بسيار ساده است. به ويژه در مورد نحوه برقراري ارتباط ماشينهاي مجازي (VM) با سختافزار پيسي مربوط. با افرادي كه تجربه كار با ماشين مجازي را دارند مشورت كنيد و هر مطلب سودمندي درباره اين موضوع به دستتان رسيد، مطالعه كنيد. به سايتسري بزنيد. كتابهايي درباره VMWARE و VirtualPC در حال انتشارند. پس Amazon.com را هم جستجو كنيد.
2 - اطمينان حاصل كنيد تمام پيسيهاي ميزبان منابع كافي دارند. براي كاربردهاي روميزي 512 مگابايت حافظه رم براي هر ماشين مجازي به همراه 512 مگاهرتز قدرت پردازنده كافي است. شما ميتوانيد اينكار را با قدرت كمتر نيز انجام دهيد. ولي ممكن است عملكرد مناسب نباشد. وقتي كه امكان انتخاب داريد، در مورد حافظه صرفهجويي نكنيد.
3 - بررسي كنيد كه آيا برنامههاي شما نياز به سختافزار خاصي دارند يا خير. اكنون مديريت ماشين مجازي، سختافزارهاي بسيار مرسوم را براي هر ماشين مجازي مورداستفاده قرار ميدهد. اگر برنامه شما به سختافزار خاصي نياز داشتهباشد، احتمالاً اجرا نخواهد شد. هر سختافزاري كه روي پيسي نصب شود، الزاماً براي ماشين مجازي قابل دسترس نخواهد بود.
4 - مطمئن شويد كه به حد كافي مجوز نرمافزارها را در اختيار داريد. اغلب سازندگان نرمافزار، ماشينهاي مجازي را به عنوان سكوي جداگانهاي درنظرميگيرند كه براي نصب، به يك مجوز معتبر نياز دارد. يعني نصب سه ويندوز اكسپي در ماشينهاي مجازي مختلف به سه مجوز جداگانه نياز دارد؛ هر چند روي يك پيسي نصب شده باشند.
5 - تصميم بگيريد كه كجا و چگونه فايلهايتان را ذخيره و snapshotها را آرشيو كنيد. كار با ماشين مجازي به فضاي زيادي نياز دارد. هر ماشين مجازي حدود چهار گيگابايت از فضاي هاردديسك را اشغال ميكند. علاوه بر آن، هر snapshot ماشين مجازي 200 تا 600 مگابايت به فضا نياز دارد. اگر ميخواهيد براي گرفتن پشتيبان از ماشين مجازي اقدام نماييد، اطمينان حاصل كنيد كه روي هاردديسك يا در شبكه، فضاي كافي در دسترس داريد. |
با اجراي سيستمعامل ميزبان، ميهمان و VMM در حلقه صفر، نرمافزارها شجاعانه (و تاحدي تصادفي) بايد به كار گرفته شوند تا سيستمعامل ميهمان نسبت به سيستمعامل ميزبان و ساير سيستمهاي عامل موجود ايزوله باشد. يك مرحله پيچيده به نام محدودسازي ميهمان براي تنزل سيستمعامل ميهمان به حلقه پايينتر به كار برده ميشود. اين عمل بدون دخالت سيستمعامل ميهمان صورت ميپذيرد. سيستمعامل ميهمان به نحوي عمل ميكند كه گويي در حلقه صفر در حال اجراست و تمام اجازههاي دسترسي و پيامهاي خطا توسط كدهاي موجود در VMM اجرا و مديريت ميشوند. اين عمل ميتواند باعث آشفتگي و به شدت در مقابل بدافزار، آسيبپذير باشد.
وضعيت كنوني معماري 86X اين اجازه را براي اجراي <خالص> در حلقه صفر، به نرمافزار نميدهد. اين كاستي دو شركت AMD و اينتل را به سويي هدايت كرد كه سختافزارهاي جديد متناسب با مجازيسازي را در نسل بعديCPUهاي خود توسعه دهد. محصول Vender pool از اينتل و Pacifica از AMD با اضافهكردن عملكردهاي ماشيني جديد و مديريت حافظه CPU جديد دقيقاً همين كار را انجام ميدهند.
با معرفي مدلهاي جديد عملكردهاي CPU، سختافزارهاي جديد، حلقهاي را بالاتر از سطح دسترسي حلقه صفر (حلقه يك) ايجاد ميكنند كه توسط آن يك VMM ميتواند نرمافزارهاي حلقه صفر را بدون اينكه در سرعت يا امنيت دخالتي داشته باشد مديريت نمايد.