AstekHPC

other

معرفي چارچوب زير ساخت به عنوان سرويس OpenNebula

در سال هاي اخير روند رو به رشدي در استفاده از متن باز[1] مشاهده مي شود . OPENNEBULA يك سكوي نرم افزاري متن باز براي رايانش ابري است و وظيفه كلي آن مديريت تهيه ماشين هاي مجازي براي فراهم نمودن زير ساخت به عنوان سرويس در ابر است و جايگزيني مهم براي افرادي است كه نمي خواهند از ابر هاي تجاري استفاده نمايند.

 

  OPENNEBULA يكي از پيشرفته ترين و مقياس پذير ترين ابزار هاي رايانش ابري متن باز مي باشد. اگر كه بخواهيد بدانيد كه رايانش ابري چيست و چگونه محقق مي شود، يا نياز به راهي ساده و آسان براي مديريت زير ساخت شلوغ و آشفته خود به يك روش ساده و منسجم داريد، راه درستي را انتخاب نموده ايد. تقریبا 8 سال از زمانی که اولین نگارش OPENNEBULA که یک پروژه دانشگاهی حاصل از جمع آوری نتایج تحقیقات در زیر ساخت های توزیع شده ی ابری منتشر شده است می گذرد.

OPENNEBULA از لحاظ طراحی بسیار سبک است (از نظر وابستگی ها و مولفه ها)، به آسانی توسعه داده می شود و مقیاس پذیر مي باشد. همچنین طراحی کاملا کارای آن به جهت استقرار چابک[2] و انعطاف پذیري در ابر، در سرتاسر دنیا به اثبات رسیده و مورد پذیرش قرار گرفته است. OPENNEBULA يك پروژه متن باز فعال با اجتماعي از كاربران و توسعه دهندگاني است كه تعداد آن ها هر ساله بيش از دو برابر مي شود. OPENNEBULA چندين هزار بار در ماه از سايت رسمي خود دانلود مي گردد و در چندين محيط با مقياس بزرگ استفاده مي شود. OPENNEBULA به پيكربندي سخت افزاري يا نرم افزاري خاصي نياز ندارد. شما بايد يك سرور (يا لپ تاپ) به همراه نصب يك توزيع جديد از گنو لينوكس كه ما دبيان يا اوبانتو را ترجيح مي دهيم، داشته باشيد. OPENNEBULA به عنوان يك پروژه تحقيقاتي توسط گروه تحقيقاتي معماري سيستم هاي توزيع شده (DSA[3]) با مقدار كمي از ويژگي هاي نسخه هاي جاري در سال 2005 در مادريد اسپانيا آغاز به كار كرد و در سال 2008 به صورت كاملا متن باز منتشر شد و امروزه توسط اجتماع وسيعي از كاربران به صورت پويا در سراسر دنيا توسعه داده مي شود.

  

 

 تاريخچه ي OpenNebula.

تفاوت اصلي بين OpenNebula و ديگر راهكار هاي تجاري ابري، متن باز بودن كامل آن مي باشد كه تضمين كننده ي يكپارچگي با هر مولفه ي زير ساخت موجود است.  بنابراين اين موضوع از وابستگي به فروشندگاندر استفاده از استاندارد هاي صنعتي باز رايج مانند API هاي EC2 و OCCI[4] جلوگيري مي نمايد. بر خلاف ديگر جايگزين هاي متن باز، OpenNebula ناظر[5] خاصي را شامل نمي شود. همچنين نيازي به ملزومات زير ساختي خاصي ندارد، به خوبي با محيط هاي از پيش موجود، ذخيره سازي، شبكه يا سياست هاي مديريت كاربر هماهنگ مي شود. به دليل مدل افزونه اي[6] كه در پياده سازي OpenNebula به كار رفته است، به يكپارچه كنندگان سيستم، امكان سفارشي نمودن هر جنبه اي مانند مجازي سازي، ذخيره سازي، اطلاعات، اعتبارسنجي[7]، تعيين اختيارات[8] و سرويس هاي ابري راه دور را فراهم مي نمايد. هر عملي توسط يك اسكريپت bash مديريت مي شود كه مي تواند به آساني اصلاح گردد يا به ديگر اسكريپت هاي سفارشي ديگر و يا با نرم افزار هاي نوشته شده به هر زباني كه توسط سيستم عامل پشتيباني گردد وصل شود. شكل شماره 5 به فهم بيشتر اين كه كدام مولفه ها در OpenNebula وجود دارند و همچنين سطحي كه در آن به ايفاي نقش مي پردازند كمك مي نمايد (سطوح پايين تر به طور مستقيم با منابع ميزبان[9]تعامل برقرار مي كنند و سطوح بالاتر با واسط هاي كاربر تعامل برقرار مي نمايند).


 

  معماري منطقي OpenNebula .

در پايين ترين سطح، درايور ها وجود دارند كه به طور مستقيم با مولفه هاي نرم افزاري سيستم عامل ارتباط برقرار مي نمايند. اين درايور ها عبارتند از 1) درايور هاي انتقال كه  اين درايور ها براي مديريت image هاي ديسك سيستم ذخيره سازي، مانند سيستم هاي ذخيره سازي اشتراكي[10] مانندNFS[11] يا iSCSI[12] يا سيستم هاي ذخيره سازي غير اشتراكي[13] مانند يك كپي ساده بر روي[14]SSH استفاده مي شوند، 2) درايور هاي ماشين مجازي كه اين درايور ها مخصوص ناظر[15] هستند و براي مديريت نمونه هاي ماشين مجازي بر روي ميزبان فعلي به كار مي روند و 3) درايور هاي اطلاعات كه اين درايور ها براي بازيابي وضعيت فعلي نمونه هاي ماشين مجازي و ميزبان ها به كار مي روند. اين درايور ها مخصوص ناظر نيز هستند و از طريقSSH در هر ميزبان فيزيكي كپي مي گردند و از راه دور اجرا مي شوند. تمام اطلاعات مانيتور شده كه از ميزبان هاي فيزيكي و نمونه هاي ماشين مجازي گردآوري شده اند به همراه پيكربندي هر ماشين مجازي، image هاي ديسك موجود (كاتالوگ image ها) و شبكه هاي مجازي، در يك پايگاه داده ساده SQLite يا يك پايگاه داده MySQL ذخيره مي شوند. اين اطلاعات به آساني توسط اسكريپت هاي سفارشي سازي شده يا نرم افزار، بسته به نياز هاي زير ساخت، بازيابي يا تغيير داده مي شوند. اربر مي تواند از مزيت API هاي ابري OpenNebula كه به صورت هاي Java، Ruby و XML-RPC در دسترس هستند بهره ببرد.

اين مسئله، دسترسي به تمامي توابع موجود را ممكن مي سازد و اجازه مي دهد تا يك يكپارچگي ساده از روال هاي سفارشي سازي شده، قبل و بعد از استاندارد سازي آن ها انجام شود. به جهت مسائل كارايي، هسته ي OpenNebula با كد هاي بسيار بهينه سازي شده ي C++ نوشته شده است كه باعث ارايه مقياس پذيري بالا مي شود. نمونه اي خوب از استحكام آن، نمونه ي زير ساخت CERN است كه در بهار سال 2010 تعداد 480 سرور ميزبان را مديريت مي نمود. اين سرور هاي ميزبان، تعداد 16000 نمونه ي ماشين مجازي را مديريت مي نمودند. امنيت نيز به طور جدي در نظر گرفته شده است. ارتباطات ميزبان ها منحصرا از طريق اتصال هاي امن كه با زوج كليد هاي SSH RSA و پروتكل SSL[16] محافظت مي شوند صورت مي گيرد. هر شبكه مجازي با يك ديوار آتش ebtablesمحصور شده است. اين امكان در سطح ARP[17] كار مي كند كه در پشته ي OSI در لايه پيوند داده ها شناخته مي شود. OpenNebula يك تيم اختصاصي تضمين كيفيت دارد كه با تست هاي unit و functional به همراه دامنه ي وسيعي از سناريو ها سر و كار دارند. اين مسئله به ميزان زيادي تعداد خطا[18] ها را كاهش مي دهد يا حداقل به ميزان زيادي كاربر را از چنين خطا هايي آگاه مي سازد. همچنين يك سيستم يكپارچه سازي پيوسته به نام Hudson وجود دارد كه به صورت خودكار هر مجموعه تغييري كه توسط توسعه دهندگان به OpenNebula وارد مي شود را تست مي نمايد. اين نوع اعمال باعث مي شود مردم براي استفاده از OpenNebula بيشتر جذب شوند و در توسعه پرژه شركت نمايند. به دليل تقاضا هاي بالا در اواسط سال 2010 آزمايشگاه هاي C12G براي پشتيباني هاي رسمي اين پروژه تاسيس شدند.

اولين مراحل كار با OpenNebula به سمت محقق سازي ابر خصوصي است. يك ابر خصوصي هيج API اي را به كار نمي برد و هر منبع فقط براي اهداف داخلي استفاده مي شود. هنگامي كه منابع ابر براي كاربران از طريق مجموعه اي از API هاي از پيش تعريف شده موجود باشند، اين ابر، عمومي ناميده مي شود. هنگامي كه از منابع خارجي براي بهبود ابر شما استفاده مي شود و يا شما منابع محلي خود را در دسترس كاربران ديگر قرار مي دهيد و يا هر دو مورد، اين ابر، تركيبي ناميده مي شود. براي آغاز به كار با ابر خصوصي، مي توانيم مجموعه اي از ويژگي ها را در OpenNebula به شرح زير شناسايي نماييم:

·        مديريت كاربر: پيكربندي كاربران متعدد امكان پذير است، افراد فقط به نمونه هاي خود دسترسي خواهند داشت، قابليت حسابرسي براي منابع استفاده شده وجود دارد و سهم بندي نيز ممكن شده است.

·        مديريت image ماشين مجازي: هر image ديسك ثبت شده و توسط كاتالوگ مركزي مديريت شده است.

·        مديريت شبكه مجازي: تعريف چندين شبكه به واسط هاي فيزيكي مختلف با تخصيص آدرس IP ايستا يا پويا ممكن شده است.

·        مديريت ماشين مجازي: هر ماشين مجازي مجموعه ويژگي هاي خودش را دارد (به عنوان مثال CPU، حافظه، ذخيره سازي ديسك و شبكه ي مجازي) و مي تواند تحت هر ناظري روي كلاستر اجرا شود.

·        مديريت سرويس: يك گروه از ماشين هاي مجازي مي توانند جهت استقرار، با هم در زمان راه اندازي[19] گروه بندي شوند و هر ماشين مجازي مي تواند در زمان راه اندازي بدون نياز به تخصيص image هاي ديسك مختلف براي ماشين هاي يكسان، پيكربندي شود.

·        مديريت زير ساخت: ميزبان هاي فيزيكي مي توانند به تنهايي يا به صورت گروهي روي كلاستر هاي مستقل مديريت شوند و اين مسئله هنگامي مفيد است كه يك محيط ناهمگن داشته باشيم.

·        مديريت ذخيره سازي:‌ پشتيباني از اغلب راهكار هاي رايح ذخيره سازي در مراكز داده مانند FibreChannel، iSCSI و ذخيره سازي اشتراكي مانندNAS[20] با پشتيباني خاص مديريت image ديسك نوري، انجام شده است.

·        مديريت اطلاعات: هر ميزبان و هر ماشين مجازي به صورتي فعال هر چند ثانيه مانيتور مي شود و اين مسئله قبلا توسط ابزار هاي استاندارد مانيتورينگ مانند Ganglia در دسترس قرار گرفته بوده است.

·        زمانبندي: ماشين هاي مجازي كه روي گره هاي ميزبان مستقر مي شوند از نيازمندي هاي خاص كاربر و سياست هاي آگاه از منبع[21] مانند packing،striping يا load-aware پيروي مي كنند.

·        واسط كاربر: OpenNebula شامل ابزار هاي خط فرمان براي مديريت هر جنبه اي از خود مي باشد (مانند وضعيت كلاستر، وضعيت ماشين هاي مجازي، مخزنimage و ...).

·        مركز عمليات[22]اغلب اطلاعات و وظايف موجود از طريق خط فرمان، روي واسط هاي وب قابل مرور با هر مرورگر امروزي روي هر سيستم عاملي (حتي گوشي هاي هوشمند Android يا تبلت ها) در دسترس هستند.

براي آغاز به كار با ابر تركيبي كه هم از منابع محلي و هم از منابع راه دور استفاده مي نمايد، دو ويژگي اصلي در OpenNebula وجود دارند كه عبارتند از 1)Cloud-bursting كه اين ويژگي عبارت است از قابليت افزودن منابع محاسباتي به زير ساخت محلي با استفاده از منابع خارجي به منظور مواجه شدن با حداكثر ميزان نيازمندي ها[23] يا پياده سازي استراتژي هاي در دسترس بودن بالا[24] واكنش به تهديد ها و 2) Federation كه اين ويژگي عبارت است از قابليت تركيب كلاستر هاي مختلف با هم، جا به جا نمودن در محل هاي فيزيكي مختلف، فعال سازي سطوح بالاتري از مقياس پذيري و قابليت اطمينان. براي يك ابر عمومي، ويژگي اصلي، در دسترس قرار دادن منابع ابر توسط يك يا چند واسط استاندارد به كاربران خارجي است. مانند واسط هاي ابري كه با استفاده از واسط هاي OCCI و API استاندارد EC2 دسترس پذيري منابع ابر را به يك روش امن براي كاربران خارجي ممكن مي سازند.

به خاطر داشته باشید که توصیه های زیر فقط ایده ای نسبت به نوع سخت افزار مورد نیاز به شما خواهند داد. هر زیر ساختی نیازمندی های خود را می طلبد و سنجش شما می تواند متفاوت باشد.

4-6-2-1-CPU

یکی از جذاب ترین نکاتی که وجود دارد این است که هیچ نیازمندی سخت افزاری خاصی برای میزبان های ابر شما وجود ندارد به جز داشتن یک CPU با قابلیت پشتیبانی از مجازی سازی. در لینوکس فایلی وجود دارد که مشخصات CPU در آن قرار گرفته است و با اجرای دستور زیر می توان به آن مشخصات دست پیدا نمود:

egrep ‘(vmx|svm)’ /proc/cpuinfo|wc -l

 در واقع در این دستور به دنبال فلگ های vmx برای پردازنده های Intel و svm برای پردازنده های AMD می گردیم. اگر خروجی این دستور 0 باشد به این معناست  که یا CPU از مجازی سازی پشتیبانی نمی نماید یا اینکه این قابلیت باید در تنظیمات Setup فعال گردد، در غیر این صورت این دستور تعداد هسته هایCPU را بر می گرداند. پشتیبانی از مجازی سازی پیوسته در CPU ها در حال بهبود است و شرکت های بزرگ مانند Intel و AMD ویژگی های خاصی را برای افزایش کارایی در محیط های مجازی سازی شده در CPU های خود قرار می دهند. جدول شماره 1 به طور خلاصه فلگ های رایج CPU را با توضیحی مختصر از آن ها ارایه می دهد.


فلگ هاي رايج CPU .

 

4-6-2-2-حافظه

دومین مسئله ای که باید در هنگام برنامه ریزی برای زیر ساخت سخت افزاری در نظر گرفته شود، مقدار حافظه ی سرور ها است. این مقدار به نوع کاربرد و تعداد نمونه های ماشين مجازي که بر روی ابر اجرا خواهند شد وابسته است. بر اساس اندازه حافظه می توان سه دسته را مشخص نمود كه عبارتند از 1) برای ماشین های مجازی کوچک مانند برنامه های کاربردی تحت وب با ترافیک پایین، برای هر ماشین مجازی 256 MB کافی است، 2) برای ماشین های با اندازه متوسط مانند سرور های پایگاه داده که مقدار حافظه ي نهان آن ها برای رسیدگی به درخواست ها کم است، مقدار 1 GB کافی است و 3) برای ماشین های مجازی با اندازه ی بزرگ مانند سرور های برنامه های کاربردی جاوا، 2 GB برای هر نمونه، اغلب مورد نیاز است. به خاطر داشته باشید که 4 GB برای آغاز به کار خوب است اما به آسانی می توانید این مقدار را افزایش دهید تا توازن بهینه ای با قدرت CPU موجود برقرار شود.

4-6-2-3-دیسک و RAID

اگر قبلا مجازی سازی را تجربه نموده باشید ممکن است بدانید که تگنا در چنین محیط هایی اغلب ورودی/خروجی دیسک است. با تعداد زیادی از ماشین های مجازی که به صورت همروند اجرا می شوند، حتی با درخواست های خواندن و نوشتن کوتاه، رسیدن به حداکثر عمليات ورودی/خروجی در ثانیه[26] که توسط دستگاه های ذخیره سازی پشتیبانی می شود، به سرعت رخ می دهد. انتخاب های مانند [27]SATA-2 با سرعت 7200 دور در دقیقه[28] می توانند برای آغاز به کار خوب باشند. این مدل برای کاربرد هایی که تگنای محاسباتی[29] و تگنای شبکه ای[30] دارند مانند سرور های برنامه های کاربردی جاوا، وب سرور ها و پایگاه داده های با بار کاری کم، کافی هستند. به محض این که به تگنای SATA-2 رسیدیم باید به دستگاه های ذخیره سازی [31]SAS (یا معادل آن ها) سویچ کنیم که سرعتی برابر با 10 هزار دور تا 15 هزار دور در دقیقه دارند. تجهیزات SAS اغلب برای کاربرد های با ترافیک بالا یا پایگاه داده های بزرگ با هزاران درخواست در دقیقه مورد نیاز می باشند. قيمت تجهيزات SAS به مراتب از تجهيزات SATA-2 بيشتر است. امروزه ديسك هاي solid-state رايج شده اند و مي توانند هم از لحاظ قيمت و هم از لحاظ سرعت مناسب باشند. به دليل اينكه اين نوع ديسك ها، هد هاي خواندن و نوشتن متحرك ندارند، زمان جستجوي[32] آن ها صفر است و در محيط هايي با تعداد بالاي خواندن و نوشتن هاي تصادفي، بسيار خوب عمل مي نمايند. جدا از تجهيزات فيزيكي، رايج ترين تكنيك براي بهبود كارايي و قابليت اطمينان ديسك ها، RAID[33] (آرايه افزونه از ديسك هاي مستقل) است. RAID مجموعه اي از چند ديسك سخت است كه در يك واحد منطقي گروه بندي مي شوند و پيكربندي هاي مختلفي دارد. استفاده از RAID نرم افزاري لينوكس، نقطه ي آغاز خوبي است و ثابت شده است كه براي استفاده در سطح سازمان ها هم قابل اطمينان است، همچنين هزينه اضافه اي نيز براي كارت اضافه ي RAID در بر ندارد. هر توزيع رايج از گنو لينوكس شامل پشتيباني از پيكربندي RAID نرم افزاري در هنگام فرآيند نصب مي باشد. از طرف ديگر RAID هاي سخت افزاري ، كارايي بهتري دارند و در هنگام خرابي ديسك بهتر عمل مي نمايند.

4-6-2-4-كارت شبكه

انتخاب  كارت شبكه به بار كاري شما وابسته است و توصيه مي شود اگر قصد استفاده از پيكربندي ذخيره سازي اشتراكي (مانند NFS، iSCSI و AoE) را داريد، حداقل يك كارت گيگابيت اترنت يا بهتر از آن موجود باشد .

4-6-3- پيكربندي هاي رايج مورد نياز براي كار با OpenNebula

OpenNebula به يك ساختار نصب كلاستر مانند براي frontend احتياج دارد كه شامل واسط مديريتي و تعدادي گره كلاستر است. در يك زير ساخت كوچك، استفاده از گره frontend به عنوان يك گره كلاستر نيز مشكلي ايجاد نمي كند. در زير ساخت هاي بزرگ تر، گره frontend مي تواند به تعدادي CPU، حافظه و منابع ديسك نياز داشته باشد كه بايد در يك گره ي منفرد قرار گيرند. شكل زیر نشان دهنده ي پيكربندي يك سيستم OpenNebula است.

 

پبكربندي يك سيستم OpenNebula ].

مولفه هاي پايه براي يك سيستم OpenNebula به شرح زير هستند:

·        frontend: اين مولفه، سرويس هاي OpenNebula را اجرا مي نمايد.

·        ميزبان ها: بر روي اين گره ها ناظر ها وجود دارد كه به طور فيزيكي بر روي زير ساخت اجرا مي شوند.

·        مخزن Image: اين مولفه، Image هاي پايه ي ماشين هاي مجازي را نگهداري مي نمايد.

·        شبكه ي فيزيكي: اين مولفه VLAN را براي پيوند هاي زير ساخت ماشين هاي مجازي (مانند ذخيره سازي) فراهم مي نمايد.

 نيازمندي هاي نرم افزاري FRONTEND

ماشيني كه OpenNebula را اجرا مي نمايد، frontend ناميده مي شود. سرويس ها OpenNebula شامل مولفه هايي هستند كه عبارتند از daemon مديريت(oned)، زمانبند ماشين مجازي (mm_sched)، daemon نظارت[34] و حسابرسي[35] (onecctd)، سرور واسط وب (Sunstone)، سرور هاي API ابر (EC2-query و يا OCCI). به ياد داشته باشيد كه اين مولفه ها با يكديگر از طريق واسط XML-RPC ارتباط برقرار مي نمايند و به دلايل امنيت يا كارايي مي توانند بر روي ماشين هاي متفاوتي نصب گردند.

 نيازمندي هاي نرم افزاري ميزبان

ميزبان ها، ماشين هاي فيزيكي هستند كه ماشين هاي مجازي را اجرا خواهند نمود. ميزبان ها به صورت مستقيم توسط daemon هاي OpenNebula كه بر رويfrontend اجرا مي شوند و با استفاده از SSH ارتباط برقرار مي نمايند، مديريت مي شوند. نيازي به نصب بسته هاي خاص OpenNebula بر روي هيچ كدام از ميزبان ها نمي باشد و تنها نيازمندي هاي آن ها عبارتند از 1) يك سرور SSH كه با قابليت اعتبارسنجي كليد عمومي اجرا شده باشد، 2) يك ناظر مانندXen/KVM و 3) يك زبان برنامه نويسي متن باز مانند Ruby 1.8.4.

- مخزن IMAGE و ذخيره سازي

OpenNebula براي مديريت فايل هاي image ماشين هاي مجازي، داراي مخزن image است و بايد از طريق frontend با استفاده از يك فناوري مناسب، مانندNAS، SAN، direct attached storage يا سيستم فايل توزيع شده ي شبكه ي گنو لينوكس قابل دسترس باشد. مخزن image متعلق به OpenNebula با يا حتي بدون ذخيره سازي مشترك بين ميزبان ها به صورت زير مي تواند كار كند:

·        با ذخيره سازي مشترك: مي توانيد از قابليت هاي ناظر مانند Live Migration و سرعت بخشيدن به زمان استقرار ماشين مجازي كاملا بهره ببريد.

·        بدون ذخيره سازي مشترك: فايل هاي image ماشين مجازي از يك ميزبان به ديگري قبل از اجرا يا migration ماشين مجازي منتقل خواهند شد و شما تنها قادر به cold migration خواهيد بود.

مخزن image براي ذخيره ي تمامي image هاي ماشين هاي مجازي روي زير ساخت، بايد به اندازه ي كافي بزرگ باشد. هنگام آغاز به كار يك ماشين مجازي مي تواند براي كار با كپي هاي يكساني از image هاي اصلي پيكربندي شود يا به صورت مستقيم از يك image موجود در مخزن استفاده نمايد. به عنوان نمونه، يك كلاستر 64 هسته اي كه 80 ماشين مجازي را اجرا مي نمايد و هر ماشين مجازي به طور متوسط نياز به 10 گيگابايت فضاي ديسك دارد را در نظر بگيريد. بنابراين نياز به 800 گيگابايت فضا براي دايركتوري /var/lib.one مي باشد. همچنين نياز به ذخيره 10 تا 15 عدد image اصلي داريم كه حدود 200 GB براي دايركتوري /var/lib/one/images مورد نياز خواهد بود. بنابراين در مجموع براي نياز هاي ياد شده 1 TB فضا كافي است .

 

مخزن image و ذخيره سازي در OpenNebula [.

 سريع ترين روش براي راه اندازي و اجراي OPENNEBULA

علاوه بر اينكه OpenNebula را مي توان بر روي يكي از توزيع هاي لينوكس، نصب و اجرا نمود، اين قابليت نيز وجود دارد تا يك نسخه ي از پيش تنظيم شده را از سايت رسمي OpenNebula دريافت نمود و از آن استفاده كرد. اين نسخه ي از پيش تنظيم شده را Cloud Sandbox مي نامند. سكو مجازي سازي براي اجرايCloud Sandbox با 4 نوع VirtualBox، KVM، VMware ESX و Amazon موجود مي باشد. فلسفه چنين نسخه اي اين است كه بتوان يك ابر واقعي را در مدت زمان كوتاهي به عنوان مثال بر روي لپ تاپ راه اندازي نمود.  در اين سمينار براي تست و اجرا از اين روش استفاده خواهيم نمود. نسخه مورد استفاده ي ما سيستم عامل CentOS 6.3 به همراه OpenNebula كه از پيش تنظيم شده اند و در قالب فرمت استاندارد VMware ارايه گرديده اند مي باشد. براي آغاز به كار در سايت رسمي OpenNebula[36] بر روي منوي Try out كليك مي نماييم و از قسمت Cloud Sandbox گزينه ي VMware ESX را انتخاب مي نماييم و در مرحله ي بعدي، روي گزينه ي دانلود كليك مي نماييم. OpenNebula 3.8 ESX Sandbox يك image ماشين مجازي سيستم عامل لينوكس CentOS 6.3 64-bit است كه به همراه front-end مربوط به OpenNebula 3.8.1 از قبل تنظيم شده است و ميزبان مجازي سازي آن از QEMU استفاده مي نمايد. اين مجموعه براي تجربه كامل و غني يك محيط ابري آماده سازي گرديده است. هر نسخه اي از VMware قابل استفاده مي باشد و در صورت سازگار نبودن مي توان از ابزار هاي تبديل استفاده نمود. ما در اين سمينار از محصول VMware Workstation 9 استفاده مي نماييم. بعد از نسخه ي بسيار فشرده ي آن كه حدود 683 MB مي باشد استفاده مي نماييم و با استفاده از ابزار 7-Zip در ويندور مي توان اين فايل را از حالت فشرده خارج نمود كه براي اين كار به 10 GB فضاي خالي نياز مي باشد. براي ساخت ماشين مجازي در VMware Workstation دقت كنيد كه ماشين مجازي بايد حداقل 512 MB حافظه ي اصلي داشته باشد و image اي كه از حالت فشرده خارج شده است را بايد به عنوان ديسك سخت اين ماشين مجازي تعريف نماييم. بعد از روشن نمودن ماشين مجازي تعريف شده، سيستم عامل لينوكس CentOS 6.3 64-bit آغاز به كار مي نمايد و بعد از راه اندازي آن مي توان با كلمه ي كاربري root به همراه كلمه ي عبور از پيش تعريف شده يopennebula وارد فضاي كاري كاربر root شد. يكي از مهم ترين اقداماتي كه بايد در اين مرحله انجام شود دانستن آدرس IP ماشين مجازي تعريف شده مي باشد. براي اين كار كافي است تا از دستور ifconfig eth0 در محيط لينوكس استفاده نمايم.

 توضيحاتي پيرامون محيط SUNSTONE

بعد از بدست آوردن آدرس IP كه در بخش قبل گفته شد، مي توانيم با استفاده از آدرس http://:9869 وارد محيطSunstone  شويم. محيطSunstone محيطي است كه براي راهبران و كاربران ابر خصوصي جهت مديريت ابر به كار برده مي شود. اين محيط در يك مرورگر اينترنتي اجرا مي گردد كه خود OpenNebula براي حداكثر بهره وري و سازگاري مرورگر هاي Mozilla Firefox و يا Google Chrome را پيشنهاد مي نمايد. بعد از ورود به محيطSunstone  كافي است تا با نام كاربري oneadmin و كلمه ي عبور opennebula وارد شويم. تمامي فرمان هاي قابل اجرا در محيط گرافيكي Sunstone داراي معادل هايي در محيط خط فرمان نيز مي باشند كه در اينجا به لحاظ رعايت اختصار در نوشتار، گفته نمي شوند. در سمت چپ محيط Sunstone پنج بخش وجود دارد كه در ادامه به توضيح مختصر هر يك مي پردازيم (تمامي اطلاعات به صورت گراف و نمودار به صورتي كاملا حرفه اي نمايش داده مي شوند).

-بخش DASHBOARD

در اين بخش اطلاعاتي به صورت گراف و نمودار در مورد ميزبان ها، مانند تعداد و وضعيت آن ها، وضعيت و ميزان استفاده از CPU توسط آن ها و ميزان استفاده از حافظه ي اصلي توسط آن ها نمايش داده مي شود. همچنين اطلاعاتي در مورد ماشين هاي مجازي مانند تعداد و وضعيت آن ها، پهناي باند upload و download و نرخ انتقال كل نمايش داده مي شود. همچنين اطلاعاتي در مورد كلاستر ها مانند ميزان CPU تخصيص داده شده در هر كلاستر و ميزان حافظه ي تخصيص داده شده در كلاستر نمايش داده مي شود. همچنين اطلاعاتي در مورد كاربران و گروه ها مانند تعداد كل كاربران، تعداد كل گروه ها و تعداد كاربران در هر گروه نمايش داده مي شوند. اين بخش داراي بخشي با عنوان Configuration است كه در آن مي توان زبان واسط كاربري Sunstone را مشخص نمود. جالب اينجاست كه زبان فارسي نيز در بين آن ها ديده مي شود. همچنين داراي گزينه اي است كه امكان استفاده از SSL را جهت بالا بردن امنيت در اين محيط فراهم مي نمايد.

-بخش SYSTEM

در اين بخش، كاربران، گروه ها و ليست هاي كنترل دسترسي مشخص مي شوند. گفتني است كه مديريت منابع سيستم تنها توسط كاربران گروه oneadmin قابل دسترس است. اين بخش داري 3 قسمت به شرح زير است:

·        Users: در اين زير قسمت مديريت كاربران مانند تعريف، تغيير كلمه ي عبور، تغيير ميزان سهم آن ها، تغيير روش اعتبارسنجي و حذف انجام مي گردد. همچنين مشخصات گروهي كه كاربران در آن عضو هستند، نوع درايور اعتبار سنجي، تعداد ماشين هاي مجازي، ميزان حافظه ي استفاده شده و ميزان CPUاستفاده شده توسط كاربران نيز در اين زير منو نمايش داده مي شوند. همچنين گزارش هاي داراي بازه ي زماني به صورت گراف و نمودار در مورد ميزان CPU، حافظه، پهناي باند ورودي شبكه و پهناي باند خروجي شبكه ي استفاده شده توسط كاربران نير در اين زير منو موجود مي باشند. در مورد ميزان سهم ها بايد گفت كه در OpenNebula براي كاربران 4 نوع سهم بندي وجود دارد كه عبارتند از:

1)     ماشين مجازي: از لحاظ حداكثر تعداد، حداكثر ميزان حافظه و حداكثر ميزان CPU

2)     ذخيره سازي داده ها: از لحاظ حداكثر اندازه و حداكثر image ها

3)     image: از لحاظ حداكثر تعداد قابل تعريف از هر نوع image تعريف شده در OpenNebula

4)     شبكه: از لحاظ حداكثر ميزان قابل استفاده

·        Groups: در اين زير قسمت مديريت گروه ها مانند تعريف، تغيير ميزان سهم آن ها (همان 4 نوع زير منوي Users) و حذف انجام مي گردد. همچنين عنوان كاربراني كه در گروه ها وجود دارند، تعداد ماشين هاي مجازي استفاده شده توسط گروه ها، ميزان حافظه ي استفاده شده و ميزان CPU استفاده شده نيز در اين قسمت قابل مشاهده هستند. همچنين گزارش هاي داراي بازه ي زماني به صورت گراف و نمودار در مورد ميزان CPU، حافظه، پهناي باند ورودي شبكه و پهناي باند خروجي شبكه استفاده شده توسط گروه ها نير در اين قسمت موجود مي باشند.

·        ACLs[37]: در اين قسمت قوانيني تعريف مي شوند كه به كاربران و گروه ها اجازه دسترسي به منابع (ميزبان ها، كلاستر ها، ذخيره ساز هاي داده، ماشين هاي مجازي، شبكه هاي مجازي، Image ها، Template ها، كاربران، گروه ها و اسناد) جهت استفاده، مديريت، راهبري و ايجاد را مي دهند.

بخش VIRTUAL RESOURCES

در اين بخش مديريت Template ها، نمونه ها و ذخيره سازي image هاي ماشين هاي مجازي انجام مي گردد. Template هاي ماشين مجازي مي توانند به تعداد دلخواه نمونه سازي شوند. اين بخش داراي 3 قسمت به شرح زير است:

·        Virtual Machines: اين قسمت براي تعريف ماشين هاي مجازي استفاده مي شود. در هنگام تعريف ماشين مجازي، نام، Template و تعداد نمونه هاي درخواستي بايد مشخص شوند. در هنگام كار با يك ماشين مجازي در قسمت وضعيت آن يكي از حالت هاي چرخه ي حيات ماشين هاي مجازي نوشته مي شود. همچنين در اين قسمت نام كاربر مالك ماشين مجازي، گروهي كه مالك عضو آن است، نام ميزباني كه ماشين مجازي بر روي آن اجرا مي شود، IP ماشين مجازي و لينك دسترسي به ماشين مجازي از طريق VNC قابل دسترس است. از طريق اتصال VNC به راحتي مي توان وارد يك ماشين مجازي شد و از طريق سيستم عامل آن ماشين مجازي، عمليات مورد نظر را انجام داد. همچنين مي توان عمليات تغيير ويژگي ها، تغيير مالك، Shutdown، Deploy، Migrate، Live migrate،Hold، Release، Suspend، Resume، Stop، Restart، Resubmit، Power Off، Reboot، Reset، 

Login
HPCLab Media

Site encyclopedia section

In this section, you will find articles and information you need.

Paper Categories
نرم افزار پایش کلاسترهای محاسباتی

این نرم افزار میزان استفاده از منابع محاسباتی و همچنین کار های در حال اجرا روی کلاستر را پایش میکند. به منظور نصب نسخه موبایل استک ابتدا JuiceSSH نصب شود.

Download More

PuTTY

PuTTY is a free and open-source terminal emulator, serial console and network file transfer application. It supports several network protocols, including SCP, SSH, Telnet, rlogin, and raw socket connection. It can also connect to a serial port.

Download More

Winscp

WinSCP is a free and open-source SFTP, FTP, WebDAV and SCP client for Microsoft Windows. Its main function is secure file transfer between a local and a remote computer.

Download More

VNC Viewer

VNC offers a deceptively simple service it allows you to view and control a remote system as though seated next to it, wherever you are.

Download More

NEWS

ابر رایانه واتسون جان زن مبتلا به سرطان را نجات داد

ابر رایانه واتسون (Watson) که محصولی از کمپانی IBM است، دقیق‌ترین تعریفی است که از قدرت هوش مصنوعی و یادگیری ماشینی می‌توانیم داشته باشیم. این کامپیوتر غول‌آسا بعد از برنده شدن در مسابقات تلویزیونی و پخت غذاهای عجیب و غریب، حالا توانسته است مهمترین کار تمام دوران خود را انجام دهد: نجات جان یک انسان!   ...

چین قدرتمندترین ابر کامپیوتر جهان را ساخت

یکی از نتایج توسعه تکنولوژی تولید کامپیوترهای بسیار قدرتمندی موسوم به سوپر کامپیوترها است که همواره نقشی حیاتی در پیشرفت علمی بشر داشته‌اند. امسال شاهد تولید بزرگ‌ترین سوپر کامپیوتر حال حاضر جهان توسط یک شرکت چینی با TaihuLight نام هستیم که توانسته با اختلافی بسیار زیاد از رقبا جایگاه نخست کنفرانس بین المللی ابرکامپیوترهای امسال را کسب کند.   ...

فوجيتسو و فروش يک ابر کامپيوتر 20 ترافلاپي به کانن

دیروز فوجیتسو اعلام کرد که یک دستگاه ابر کامپیوتر تجاری PRIMEHPC FX10 را به شرکت کانن فروخته است. فوجیتسو از معرفی رسمی این سری از سوپرکامپیوترها در سال 2011، چند عدد از آن‌ها را به اهالی صنعت فناوری فروخته است.   ...

درباره ما

بنیاد توسعه کاربردها رایانش سریع و ابری(High performance and Cloud Computing Development Foundation) به منظور طراحی، ساخت و گسترش کاربردهای رایانش سریع در علوم مختلف توسط جمعی از اساتید دانشگاه پیام نور استان یزد پایه گذاری شده است. این بنیاد به دنبال ایجاد بستری با ظرفیت محاسباتی و ذخیره سازی بالا مبتنی بر CPU و GPU می باشد تا بتواند از آن طریق سرویسهای متعددی را به متقاضیان آن ارائه نماید. خدمات این شرکت در حوزه های زیر ارائه می گردد :

  • رایانش سریع و ابری (HPC & Cloud Computing)
  • کلان داده و پردازش داده های حجیم (Big Data Analysis)
  • طراحی و پیاده سازی کلاسترهای محاسباتی مبتنی بر Linux
  • طراحی و اجرای پروژه های انبار داده Data Warehouse
  • مجازی سازی و اجرای شبکه های مبتنی بر نرم افزار (Software Defined Network)