سرورهای مجازی
استفاده از مجازی سازی، با توجه به اینکه کاربران متوجه شدهاند که چگونه این فناوری میتواند برای استفاده از پردازش قدرت و پایینآوردن هزینههای کلی فناوریاطلاعات کارآمد عمل کند، درحال گسترش است. مجازی سازی و استفاده از سرورهای مجازی برای کسانی که هنوز از زیرساخت های سنتی استفاده میکنند، مفهوم غریبهای است.
مجازی سازی اساسا راهی برای اجرای چندین سیستم عامل و اپلیکیشن روی یک سرور، برای دریافت مزایای کامل قدرت پردازشی آن میباشد. مجازی سازی، زیرساختها را سادهتر و کارآمدتر کرده و این امکان را فراهم میکند تا اپلیکیشنها سریعتر اجرا شده و عملکرد و دسترسپذیری آنها نیز افزایش یابد. سرورهای مجازی به جهت اینکه باعث ایجاد فناوریاطلاعات آسانتر با هزینه کمتر برای مالکیت و مدیریت میشود، بسیار جذاب میباشد.
سرورهای مجازی چگونه کار می کنند؟
برای ایجاد کارایی مطلوب و موردنظر، یک سرور فیزیکی اختصاصی با استفاده از نرمافزار مخصوص سرور به چندین سرور مجازی تقسیم میشود. معمولا یک سرور فیزیکی فقط به یک اپلیکیشن یا وظیفه اختصاص داده میشود.
این سیستم سنتی یک شبکه کامپیوتری را از نقطه نظر فنی ساده میکند. اما از تمام مزایای پردازش قدرت سرور استفاده نمیکند. استفاده از یک سرور فیزیکی برای هر تسک به صورت جداگانه، باعث هدررفتن حجم زیادی از انرژی میشود. و شبکههای کامپیوتری بسیار بزرگ و پیچیده خواهند شد.
یک data center توسط سرورهای فیزیکی بسیار زیادی اشغال شده است که انرژی بسیار زیادی مصرف میکند و نگهداری آن بسیار هزینهبر است. تبدیل سرور فیزیکی به چندین سرور مجازی مزایایی دارد، ازجمله:
- مصرف بهینه انرژی
- هر سرور میتواند چندین سیستم عامل و اپلیکیشن را اجرا کند.
معماری و اجزای تشکیل دهنده
معماری سرورهای مجازی با یک سرور فیزیکی اصلی آغاز میشود. که توسط نوع خاصی از نرمافزار به سرور مجازی تبدیل میشود. سپس سرور مجازی به انواعی از چندین سختافزار مجازی و ماشینهای مجازی تقسیم میشود که هرکدام به طور مستقل عمل میکند.
هر ماشین مجازی میتواند سیستم عامل و اپلیکیشنهای خودش را اجرا کند.
هر ماشین مجازی، شبکه مجازی خودش را دارد و همه آنها به یک شبکه بزرگتر کلی متصل هستند. از طریق مجازی سازی کامل، اجزا شامل hypervisor که نرمافزاری است که مستقیما با CPU و فضای دیسک سرور فیزیکی درارتباط است، میباشد.
دیگر روشهای مجازی سازی عبارتاند از:
- para-virtualization
- OS-level virtualization
یک سرور مجازی چیست؟
سرور مجازی میتواند به عنوان یک وب سرور تعریف شود که منابع کامپیوترها را با دیگر سرورهای مجازی به اشتراک میگذارد و یک سرور اختصاصی نیست. با یک سرور مجازی، کل کامپیوتر برای اجرای نرمافزار سرور اختصاص داده نشده است. بلکه بین دو یا چندین ماشین مجازی تقسیم شدهاست.
دهها سرور مجازی میتوانند بر روی یک کامپیوتر مشابه بدون تاثیر بر عملکرد آن، اقامت داشتهباشند. اما بستگی به حجم کاری دارد. ماشینهای مجازی میتوانند به عنوان یک سرویس با قیمتی بسیار کمتر از یک سرور فیزیکی فروخته شوند. علیرغم اینکه از نظر عملکردی کاملا شبیه به یک سرور فیزیکی اختصاصی عمل میکنند.
ایجاد و پیکربندی سرورهای مجازی، بسیار راحتتر از یک سرور اختصاصی است.
انواع مختلف سرورهای مجازی چیست؟
تعداد کمی از انواع رایج و مختلف مجازی سازی وجود دارد.
این موارد شکلهای منحصربفردی از سرورهای مجازی ایجاد میکند. یک نوع از مجازی سازی بر روی سیستم عامل تمرکز میکند. به اینمعنیاست که سیستم عامل یک سیستم desktop به یک محیط مجازی انتقال داده میشود و یک سرور را میزبانی میکند. سیستم عامل شامل یک نسخه روی سرور فیزیکی و کپیهایی از آن برای هرکدام از سرورهای مجازی که به کاربران مختلفی عرضه میشود، میباشد.
نوع دیگری از مجازی سازی، مجازی سازی سرور است.
این روش کل سرور فیزیکی را به محیط مجازی انتقال میدهد. نه فقط سیستم عامل، این متد مجازی سازی میتواند با یک سرور فیزیکی برابری کند و تعداد سرورهایی که نیاز است تا استفاده شود را کاهش میدهد.
سرورهای مجازی همچنین میتوانند برای ذخیرهسازی یا برای ترکیب چندین سختافزار فیزیکی به یک محیط ذخیرهسازی مجازی سازی شده، استفاده شوند. این مجازی سازی همچنین به عنوان ذخیرهسازی ابری شناخته میشود و میتواند عمومی، خصوصی و یا ترکیبی از هردو باشد.
نوع آخر، شبیهسازی سختافزاری است.
این روش اجزای یک ماشین واقعی را مجازی میکند. شبیه به یک ماشین واقعی کار میکند و معمولا یک کامپیوتر با یک سیستم عامل است. نرم افزارها بر روی ماشین فیزیکی باقی میمانند و از منابع سختافزاری جدا شده است.
موارد مختلف استفاده از سرورهای مجازی چیست؟
سرورهای مجازی به عنوان ابزاری برای کاهش هزینهها و ایجاد استفاده کارآمدتر از انرژی مفید واقع شوند، اما عملکرد آنها بستگی به اولویت کاربر دارد. بعضی از سرورهای مجازی میتوانند عمدتا برای تست و توسعه اپلیکیشنهای سرور، استفاده شوند. ایجاد اپلیکیشنهای سروری نیازمند پیکربندی مجدد سریع و مکرر است. که باعث میشود سرورهای مجازی، به ابزاری مفید در پروسه تبدیل شوند.
یک شرکت میتواند کتابخانهای از ماشینهای مجازی را در پیکربندیهای مختلف سرور، بدون نیاز به اختصاص یک کامپیوتر فیزیکی به هر پیکربندی، ایجاد کند. این مسئله برای تست نرم افزار در پیکربندیهای مشخص قبل از اجرای آنها، سودمند است. سرورهای مجازی همچنین در تلفیق میزان سرورهایی که یک تجارت استفاده میکند، سودمند هستند.
آنها میتوانند با انتقال اپلیکیشنها و سیستم عاملها به یک ماشین مجازی که تنها بر روی یک سرور اجرا میشود، تعداد سرورهای فیزیکی را کاهش دهند. شرکتهایی که اپلیکیشنهای مختلف شعبهای که برای سیستم عاملهای مختلف نوشتهشدهاست، دارند، میتوانند سرورهایی که کم استفاده شدهاند را تلفیق کنند.
پیکربندی های رایج سرورهای مجازی چیست؟
پیکربندی یک سرور مجازی معمولا با یک سرور میزبان آغاز میشود. که باید برای اجرای چندین سرور تنظیم شود. سرور فیزیکی معمولا یک CPUی ۴ یا ۶ هستهای است که برای اجرای تعدادی از سرورهای مجازی که از منابع پخششده در RAM، CPU، دیسک و ورودی/خروجیهای شبکه استفاده میکنند، کافی است.
یک پروژه مجازی سازی کوچک معمولا با یک سرور تنها شروع میشود. که باید حداقل یک CPUی ۴هستهای برای منابع سختافزاری داشته باشد. اما با CPUهای ۶ یا ۱۲ هستهای بهتر کار خواهد کرد. هستههای بیشتر CPU به معنی عملکرد سریعتر و استوارتر در ماشینهای مجازی است.
اشتراک بیش ازحد RAM، امری دشوار است. چراکه اجرای چندین ماشین مجازی نیازمند تعداد بیشتری RAM است. مخصوصا در hypervisors، که قابلیتهای مموری را به اشتراک نمیگذارد. همین امر در مورد دیسکهای ذخیرهسازی که معمولاً درایوهای SATA یا درایوهای SAS در آرایه RAID 5 یا RAID 6 هستند ، صادق است.
مجازی سازی سرور چیست؟
ایجاد یک سرور مجازی، پروسهای است که به عنوان مجازی سازی سرور شناخته میشود. به معنی تقسیمبندی کردن یک سرور فیزیکی به سرورهای مجازی کوچکتر برای به حداکثر رساندن منابع سرور اختصاصی، میباشد.
از طریق مجازی سازی سرور، منابع سرور، مخفی هستند و یا از کاربرانی که هرکدام ماشین مجازی جداگانه و مستقلی برای استفاده دارند، پوشیده هستند. مدیر سرور از نرمافزاری استفاده میکند که سرور فیزیکی را به چندین محیط مجازی ایزوله شده تقسیم میکند درحالیکه منابع مانند اعداد و هویت سرورهای فیزیکی منفرد، پردازندهها و سیستم عاملها، از کاربران پوشیده میباشد.
شبیه سازی سخت افزاری
سرورهای مجازی، گاهی اوقات، اگر دسترسی مستقیم به سختافزار سرور نداشته نباشد، تنها زمانی قادر به فعالیت هستند که از شبیهسازی سختافزاری استفاده کنند. شبیهسازیهای سختافزاری بهاینمعنیاست که یک دستگاه سختافزاری عملکرد دستگاه سختافزاری دیگری را تقلید میکند. این روش معمولا زمانی استفاده میشود که یک مدیر نیاز دارد تا یک سیستم عامل پشتیبانینشده را در یک ماشین مجازی اجرا کند.
از آنجاکه ماشین مجازی دسترسی به سختافزار سرور ندارد، یک لایه شبیهسازی، ترافیک را بین سختافزار فیزیکی و مجازی هدایت میکند. شبیه سازی سختافزاری برای سرورهای مجازیای که تنها میتوانند روی سیستم عاملهای مهمان استفاده شوند، مهم است.
از طریق لایه شبیهسازی، مدیر میتواند با یک سیستم عامل تعبیه شده از یک سیستم رومیزی که به طور نرمال نمیتواند سیسیتم عامل را پشتیبانی کند، اجرا و تعامل داشته باشد. به این دلیل ضروری است که یک سیستم عامل تعبیهشده برای اجرای محیطهای سختافزاری اختصاصی یا روی سیستمهایی برای استفاده موردنظر ما نیستند، ایجاد شده است.
۳ نوع از مجازی سازی سرور
سه نوع اصلی از انواع مجازی سازی سرور وجود دارد که معمولا برای تقسیمکردن سرور فیزیکی به چندین سرور مجازی استفاده میشود. هر کدام ویژگیهای مشترک را به اشتراک میگذارد و از سرور فیزیکی به عنوان میزبان به همراه سرورهای مجازی به عنوان مهمان استفاده میکنند. هر سه سیستم از یک روش متفاوت برای اختصاص منابع سرور فیزیکی به نیازمندیهای سرور مجازی، استفاده میکند.
Full Vitualization
این روش، اولین نوع مجازی سازی است. که از hypervisor به عنوان یک نوع خاصی از نرمافزار برای اختصاص منابع استفاده میکند. Hypervisor بهطورمستقیم با سرویس فیزیکی، درتعامل است و به عنوان یک پلتفرمی برای هر سیستم عامل سرور مجازی، عمل میکند.
Hypervisor همچنین برای نگهداری هر ماشین مجازی بهطورمستقل از دیگر سرورهای مجازی درحال اجرا بر روی ماشین فیزیکی، کار میکند.هر سرور مهمان، سیستم عامل خودش را اجرا میکند. درحالیکه hypervisor، بر روی منابع سرور فیزیکی نظارت دارد و این منابع را بر روی سرور مجازی مناسب، باز پخش میکند.قدرت پردازشی بعضی از این سرورهای فیزیکی باید برای نیازهای hypervisor رزرو شوند.
Para Vitualization
نوع دوم، روش متفاوتی است که Para Vitualization نامیده میشود.
در این متد، بر خلاف مدل قبلی، سرورهای مجازی یا مهمان، از یکدیگر بااطلاع هستند. hypervisor قدرت پردازشی خیلی زیادی برای مدیریت سرورهای مجازی، نیاز ندارد، همانطور که تحت مجازی سازی کامل انجام میشود، از کاهش عملکرد جلوگیری میکند.
Hypervisor به دلیل اینکه هر سیستم عامل از درخواستهای دیگر سیستم عاملهای قراردادهشده روی سرور مطلع است، نقش خیلی بزرگی بازی نمیکند. این مسئله باعث میشود کل سیستم به جای اینکه hypervisor منابع را بازپخش کند و بر اینکه چه منابعی برای هر سرور مجازی در دسترس است، نظارت داشته باشد، به عنوان یک واحد با یکدیگر کار کنند.
OS Level Virtualization
این مدل، از یک معماری کاملا متفاوت نسبت به دو روش قبلی استفاده میکند. این مدل از hypervisor به هیچ عنوان استفاده نمیکند. چون که ظرفیت مجازی سازی بخشی از سیستم عامل میزبان است که آن نوع توابعی که یک hypervisor کاملا مجازی انجام میدهد را اجرا میکند.
حتی اگر تمام سرورهای مجازی یا مهمان روی یک سیستم عامل اجرا شوند، بازهم محدودیتهایی در این روش وجود دارد. سرورهای مجازی مستقل از یکدیگر نگهداشتهمیشوند اما کاربران قادر به ترکیب و همخوانی سیستم عامل ها درمیان آنها نیستند. این محیط به دلیل اینکه سیستم عاملها مشابه هستند، همگن نامیده میشود.
بازیابی ماشین های مجازی یا فایل های VM با استفاده از Web Console
برای بازیابی ماشین مجازی یا فایلهای یک ماشین مجازی میتوانید از Web Console استفاده کنید.
برای بازیابی اطلاعات ماشین مجازی، نیازمند موارد زیر هستیم:
- باید منبع VM را داشته باشید.
- اگر بازیابی به یک مقصد متفاوت انجام میشود(ماشین فیزیکی یا مجازی)، باید ماشین مقصد را نیز داشته باشید.
- منبع VM باید بک آپ گرفته شود.
اگر به ماشین مجازی یا فایلهای آن دسترسی ندارید، با مدیرمسئول بکآپها، تماس برقرار کنید.
بازیابی بدون عامل با استفاده از Web Console
برای بازیابی فایلهای کوچک و فولدرها به یک ماشین مجازی که صاحب آن هستید، میتوانید بدون نیاز به نصب عامل سرور مجازی روی ماشین مجازی مقصد، از web console استفاده کنید. این قابلیت به صورت پیش فرض فعال است.
برای بازگردانی فایلها بدون عامل، با استفاده از hypervisor، نکات زیر را درنظر داشته باشید:
- میزبان hypervisor باید روی سیستم عامل ویندوز ۲۰۱۲ R2 درحال اجرا باشد.
- ماشین مجازی مقصد باید برروی ویندوز ۲۰۰۸ R2(یا سیستم عاملهای جدیدتر مانند windows 2012 یا windows 2012 R2) با Service pack ۱ یا جدیدتر، درحال اجرا باشد.
- ریکاوری فایل بدون عامل، توسط ماشین مجازی هایی که مجهز به لینوکس هستند، پشتیبانی نمیشوند.
- ماشین مجازی مقصد باید روشن باشد.
- اطمینان حاصل کنید که آخرین ورژن سرویسهای ادغامی روی ماشین مجازی مقصد درحال اجراست.
- گزینه سرویس های فایل مهمان را روی ماشین مجازی مقصد فعال کنید.
اگر این گزینه فعال نباشد، عملیات بازیابی، این سرویس ها را فعال خواهد کرد. - پروکسی نمیتواند دو یا چندین اتصال همزمان موازی به یک ماشین مجازی مشابه را برقرار کند. به دلیل اینکه بازگردانی به ماشین مجازی برای شغلی که اولین اتصال را با موفقیت ایجاد میکند، و یک اتصال فعال بین proxy و ماشین مجازی وجود دارد، مشاغل بعدی با خطای اتصال از کار میافتند.
بازیابی ماشین مجازی
برای بازیابی، مراحل زیر را انجام دهید:
- وارد Web Console شوید.
- روی My Data کلیک کنید.
- روی VMs کلیک کنید.
در صفحه VMs، ماشین های مجازی به صورت لیست در زیر My Virtual Machines قرار دارد.
شما میتوانید یک ماشین مجازی کامل یا فایلهای آن را بازیابی کنید.
ریکاوری فایل های ماشین مجازی
برای ریکاوری فایل به صورت زیر عمل کنید:
- روی Restore در ستون Actions برای ماشین مجازی کلیک کنید. یا روی ماشین مجازی در ستون Computers کلیک کرده و سپس روی Select Files روی صفحه ماشین مجازی کلیک کنید.
- روی صفحه Restore Files، روی یک ورودی در ستون Name کلیک کنید تا حجم و ساختار فایل گسترش یابد.
- یک یا تعداد بیشتری فایل یا فولدر انتخاب کنید.
- روی Restore کلیک کنید.
در صفحه Restore Options، موارد زیر را میتوانید ببینید:
Destination Computer:
برای بازیابی فایل ها به ماشین مجازی مقصد، تنظیمات را در حالت پیش فرض قرار دهید.
یا از منوی کشویی، مقصد متفاوت انتخاب کنید.
Destination Path:
مسیر فولدری که میخواهید فایل ها در آنجا بازیابی شوند را مشخص کنید.
Overwrite files and folders if they exist:
برای جایگزینی فایل یا فولدر موجود، این گزینه را انتخاب کنید.
- سپس بر روی Restore Now کلیک کنید. تا فایلهای انتخاب شده بازیابی شوند.
ریکاوری ماشین مجازی
برای ریکاوری ماشین مجازی به صورت زیر عمل کنید:
- در ستون Computers زیر My Virtual Machines، روی ماشین مجازی که باید بازیابی شود، کلیک کنید.
- روی Recover Virtual Machine کلیک کنید تا ماشین مجازی بازیابی شود.
- در کادر باز شده ی Recover Virtual Machine، فیلد VM Name، نام ماشین مجازی منبع را نشان میدهد.
۱-برای بازیابی ماشین مجازی اصلی، نام پیش فرض را تغییر ندهید.
اگر ماشین مجازی اصلی هنوز موجود است، اصلی پاک شده و ماشین مجازی از بک آپ بازگردانی میشود.
۲-برای بازیابی یک کپی از بک آپ ماشین مجازی، نام جدیدی را وارد کنید.
اگر ماشین مجازی ای با نامی که شما وارد کردهاید، موجو است، عملیات بازیابی ناموفق است. - روی Submit کلیک کنید.
نوار پیشرفتی با عنوان Operation: Recover Vitual Machine، میزان پیشرفت عملیات بازیابی را نشان میدهد.
ریکاوری ماشین مجازی با استفاده از vSphere Replication
به کمک vSphere Replication، میتوانید ماشینهای مجازی که با موفقیت در محل موردنظر تکرار شده بودند را بازیابی کنید.
پیش نیازهای بازیابی:
اطمینان حاصل کنید که ماشین موردنظر در محل مبدا، خاموش است.
اگر ماشین ماشین مجازی روشن است، پیام خطایی به شما یادآوری میکند که آن را خاموش کنید.
بازیابی ماشین مجازی
برای بازیابی، به صورت زیر عمل کنید:
- وارد سایت موردنظر با استفاده از vSphere Web Client شوید و سرور vCenter را که دستگاه vSphere Replication در آن ثبت شده است را انتخاب کنید.
- روی Monitor و سپس vSphere Replication کلیک کنید.
- در تب Incoming Replication، روی ماشین مجازی راست کلیک کرده و Recovery را انتخاب کنید.
- دو حالت برای انتخاب وجود دارد:
ماشین مجازی با تمام اطلاعات جدید آن بازیابی شود.
یا ماشین مجازی با آخرین اطلاعات موجود بر روی سایت موردنظر بازیابی شود. - فولدر موردنظر برای ریکاوری را انتخاب کنید و گزینه Next را انتخاب کنید.
- منبع محاسباتی موردنظر را انتخاب کنید و روی Next کلیک کنید.
- اگر ماشین مجازی هارددیسک هایی دارد که تکرار برای آنها فعال نشده است، مقصد موردنظر را انتخاب کنید تا یک دیسک را اتچ و یا دیتچ کنید.
سپس روی Next کلیک کنید.
این صفحه فقط زمانی ظاهر میشود که ماشین مجازی هارددیسک هایی داشته باشد که تکرار برای آن ها فعال نشده باشد.
*برای انتخاب مقصد موردنظر، روی Browse کلیک کنید و به یک فولدر در datastore بروید که در آن فایل دیسک قرار داده شده است.
*برای دیتچ کردن دیسک و جلوگیری از ریکاوری فایلهای دیسک، روی گزینه Detach کلیک کنید. - گزینه Power on after recovery را انتخاب کنید(اختیاری).
- روی Finish کلیک کنید.