مجازی سازی

مجازی‌سازی و کلاسترینگ‌ در مایکروسافت-قسمت اول

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره غیر فعالستاره غیر فعال
 

دوستان حتما می‌دانید زمانی که بحث یک تخصص واحد می‌شود ، برند جایگاهی ندارد. به عنوان مثال چندین کمپانی‌ معتبر از جمله Vmware، Cirtix، Microsoft و …… به طور حرفه ای در بحث مجازی‌سازی فعالیت می‌کنند بنابراین متخصص واقعیمجازی سازی فردی است که حداقل با بیش از یکی ازین برندها قادر به انجام کار باشد. اگر قصد دارید در مجازی‌سازی به طور حرفه ای فعالیت داشته باشید توصیه اکید ما به شما این است که به کار با یک برند اکتفا نکنید.

مجازی سازی سرورها تکنولوژی بود که دنیای IT را تغییر داد و اولین بار سال ۱۹۶۰ به عنوان یک روش منطقی تقسیم منابع سیستم بین برنامه های مختلف ارائه شد. تا اینکه سال ۲۰۰۳ کمپانی مایکروسافت با خرید تکنولوژی مجازی‌سازی از شرکت Connectix پا به دنیای مجازی‌سازی گذاشت و در سال ۲۰۰۸نسل جدیدی به نام Hyper-V به بازار عرضه کرد همچنین در سال ۲۰۱۲ نسل سوم را با تغییرات چشم گیر و متفاوت‌تری ارایه داد. درنهایت در سال ۲۰۱۶ جدیدترین نسل، Windows server 2016 Hyper-V را معرفی کرد که این نسل روی بسیاری از کمپانی‌های رغیب را کم کرده است.

از مزایای آن به موارد زیر می‌توان اشاره کرد:

کاهش هزینه‌های خرید و نگه داری سرورهای فیزیکی
قدرت کنترل بیشتر در زمان بروز مشکل
بالا بردن زمان سرویس دهی مدوام و تحمل خطا
ایجاد محیط تست قبل از راه اندازی هر سرویس
کاهش مصرف انرژی
و …..

انواع مجازی سازی:

مجازی سازی سرور
ایجاد تعدادی سرور مجازی در سرور فیزیکی است. در واقع یک لایه نرم افزای (Hypervisor) بین سرور فیزیکی و سیستم عامل قرار می گیرد و اجازه می دهد چندین ماشین مجازی را بر روی سرور فیزیکی اجرا کنیم.

مجازی سازی شبکه
برای  راه اندازی شبکه مجازی در یک سرور فیزیکی به کار می رود تا ماشین های مجازی با‌هم یا سرورهای خارج از شبکه‌شان ارتباط داشته باشند.

مجازی سازی دسکتاپ
این روش، سیستم عامل کامپیوترهای شخصی را از ماشین فیزیکی جدا می ‏کند و ماشین مجازی حاصل را، به جای اینکه روی هارد دیسک کامپیوتر کاربر ذخیره کند، روی یک سرور مرکزی ذخیره می‏کند بنابراین وقتی کاربران در حال کار با ماشین خودشان هستند، همه برنامه‏ ها و عملیات پردازشی و داده‏ های استفاده شده توسط آنان روی سرور مرکزی اجرا و نگهداری می‏شود.

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

مجازی سازی Storage
این روش جهت مجازی سازی SAN Storage به کار می رود و عمده کاربرد آن در کلاسترینگ است.

عموما وقتی حرف از Virtualization می‌شود مجازی سازی سرورها بیشتر در نظر می‌آید. این تصور برای آشنایی اولیه با دنیای مجازی‌سازی قابل قبول است که در قسمت های اولیه مقالات مفصلا به این بحث می‌پردازیم.


محتویات ماشین مجازی :
همزمان با ساختن یک Virtual Machine در مسیر نصبی که خودمان تعیین کردیم تعدادی فایل (XML , VHD/VHDX , VSV) به صورت پیش فرض ایجاد می‌شوند. که هرکدام ازآنها نقش مهمی درحفظ و نگه داری ماشینهای مجازی ایفا می‌کنند.

XML
فایلی برای نگه داری تنظیمات و مشخصات ماشین مجازی.
اهمیت حفظ این فایل کم حجم بسیار زیاد است مخصوصا در زمان کپی ، Import کردن یا Live Migrate چراکه سایر فایل ها را به هم متصل میکند.
در صورت عدم وجود این فایل امکان راه اندازی VM وجود ندارد.
امکان تغییر آن تنها در صورت Stop بودن سرویسVMMS ممکن است (مثل تغییر دادن MAC).


VHD / VHDX
معمول ترین نوع Storage که یک ماشین مجازی استفاده می‌کند.
نمونه مجازی یک هارد فیزیکی است که بر روی هارد فیزیکی ذخیره می‌شود.
هر VM حداقل یک فایل VHD دارد.
بر اساس کاربرد ۳ نوع (Fix , Dynamic , Diffrencing) هستند.
تنها در صورت استفاده از هارددیسک‎های فیزیکی (Path-Through) نیازی به استفاده ازین فایل نیست.


AVHD
فایل Automatic VHD هنگامی ایجاد می‌شوند که از یک ماشین مجازی Snapshot می‌گیریم.
پس از ایجاد Snapshot کلیه عملیات Read/Write روی فایل AVHD انجام می‌شود و از فایل قبلی تنها برای خواندن اطلاعات گذشته استفاده می‌کند.
در زمان حذف یک Checkpoint اطلاعات فایل AVHD (که جدیدتر هستند) می بایست با فایل VHD ادغام شود.
امکان تهیه حداکثر ۵۰ Checkpoint به ازای هر ماشین مجازی وجود دارد.
استفاده از Snapshot در محیط های عملیاتی ممکن است سبب افزایش پیچیدگی‌های مدیریتی، کاهش کارایی VMها و یا حتی از دست رفتن اطلاعات (در صورت بروز خطاهای انسانی) شود.
عملکرد فایل AVHD تا حدودی شبیه به فایل‌‎های Differencing است بوده که استفاده از آن‌ها در محیط عملیاتی توصیه نمی‌شود و در محیط های آزمایشی و تست نرم افزارها بسیار کارآمد است.


VSV
در ماشین های مجازی حالتی به نام Save وجود دارد که مشابه Hibernate در سیستم های فیزیکی است.
این فایل حاوی آخرین وضعیت دستگاه های مجازی متصل شده به VM است.
هنگام بازیابی VM وضعیت دستگا‌های مجازی همانند حالتی قبل از Save شدن تنظیم میگردند.


BIN
هنگامیکه ماشین مجازی به حالت Saved می‌رود کلیه اطلاعات داخل RAM آن در فایلی با پسوند .BIN ذخیره می‌شود.
این فایل شامل آخرین اطلاعات RAM ماشین مجازی بوده و در هنگام Start مجددا بداخل RAM بارگزاری می‌شود.
محل ذخیره سازی این فایل در محل فایل پیکربندی و در شاخه ای به نام GUID ماشین مجازی است.
اندازه این فایل به اندازه حافظه RAM بستگی داشته.

نصب رول Hyper-V :
Hyper-V یک تکنولوژی Hypervisor-Base است که از ویندوز سرور۲۰۰۸ (X64) ارایه شد و شرط لازم برای ایجاد ماشین مجازی در هر نوع ویندوزی می‌باشد. در ادامه انواع نصب و کابرد آنها را توضیح می‌دهیم:

ویندوز سرور Core
زمانی که می‌خواهیم یک سرور فیزیکی را برای میزبانی ماشین‌ها یا سرورهای مجازی آماده کنیم ابتدا باید یک سیستم عامل Core نصب شود. پس از آن حتما باید رول Hyper-V را در آن فعال کنیم تا آمادگی میزبانی ماشین های مجازی را داشته باشد. زیرا پس از نصب رول Hyper-V در پارتیشن Parent یکسری کامپوننت‌ها برای مدیریت ماشینهای مجازی ایجاد می‌شود. قابل ذکر است که در سرور Core نسخه ۲۰۱۲ این رول پیش فرض نصب می‌شود اما اگرسرور۲۰۰۸ است باید با دستورات PowerShell این کار را انجام دهیم.


ویندوز سرور GUI
در ویندوز سرورهای GUI به صورت یک رول در کنار سایر رول ها با کنسول Add Role and Feature نصب می‌شود و از طریق Administrative Tools در دسترس است. نصب ماشین مجازی در ویندز سرور GUI نسبت به حالت قبل کارایی چندانی ندارد.

ویندوز Client
در ویندوز‌های دسکتاپ پس از نصب رول Hyper-V چنانچه درکنسول Hyper-V Manager به سیستم عامل Local خود وصل شویم و در آن ماشین مجازی نصب کنیم یکHyper-V Client ایجاد کرده ایم. عمده استفاده این مدل برای تست و آموزش است. برای نصب این رول ابتدا باید پکیج RSAT را از طریق Windows Feature فعال کنیم.

تعدادی از قابلیت های Hyper-V Server Hyper-V Client که وجود ندارند عبارتند از :

Remote FX Capability to Virtualize GPUs – Software GPU in RDP
Live VM Migration
Hyper-V Replica
SR-IOV Networking
Synthetic Fibber Channel

 

انواع Hypervisor :
Hypervisor که به آن (Virtual Machine Manager :VMM) هم می‌گویند یک لایه نرم افزاری است که اجازه می‌دهد چندین ماشین مجازی مستقل، از یک پلت فرم سخت افزاری اشتراکی استفاده کنند. که با توجه به کاربرد آن دو نوع متداول دارد:

Native or Bare-Metal
این مدل مجازی ‌سازی را Type 1 هم می‌نامند که در محیط های عملیاتی به کار می‌بریم. لایه Hypervisor روی سخت افزار نگاشت می‌شود و سیستم عامل Core بر روی Hypervisior در نتیجه اگر سیستم عامل Core از دست برود ماشین های مجازی در وضعیت خود باقی می‌مانند و صرفا دسترسی به آن‌ها نداریم که با نصب مجدد Core ماشین های مجازی بازگردانده می‌شوند.

Hosted
این مدل را مجازی سازی ۲ Type می‌گویند که بیشتر مناسب محیط های تست و کاربردهای خانگی هستند. در این نوع مجازی‌سازی سیستم عامل Core روی سخت افزار نصب می‌شود و لایه Hypervisor روی سیستم عامل Core است. پس این سیستم عامل همه منظوره سبب کاهش سرعت دسترسی به منابع می‌شود (افزایش فراخوانی ها). و اگر ویندوز Host از دست برود ماشین های مجازی هم از بین می‌روند.

معماری Hyper-v :
پارتیشن بندی و فراهم سازی منابع اختصاصی به ازای هر پارتیشن همچنین کنترل دسترسی به سخت افزار از وظایف مهم Hypervisor است. پارتیشن ها Container‌هایی هستند که توسط Hypervisor از یکدیگر جدا نگه داشته می‌شوند و دارای Component‌های متعددی هستند.

Parent Partition
پارتیشن پیش فرضی است که با نصب سرور Core بصورت خودکار نصب می‌شود. دسترسی مستقیم به سخت افزارها دارد و وظیفه آن فراهم کردن منابع برای پارتیشن های فرزند (Child Partition) است که این پروسه از طریق (Virtual Service Provider :VSP) انجام می‌شود.

Child Partition
این پارتیشن شبیه‌سازی شده نرم افزاری یک کامپیوتر فیزیکی است که بطور کلی به آنها ماشین مجازی (Virtual Machin) گفته می‌شود. در پارتیشن فرزند دسترسی مستقیم به سخت افزار‌های فیزیکی داده نمی‌شود و تنها تصویری مجازی ازمنابع فیزیکی دارد. در این پارتیشن یک تجهیز شبیه سازی شده به نام (Virtual Service Client :VSC) وجود دارد که به واسطه VMBus درخواست های منابع مجازی را به VSP ارسال می‌کند.

‌ظرفیت‌های Hyper-V 2012R2:
مشخصا هر سیستم عاملی با توجه به کاربردش ظرفیت‌ها یا محدودیت‌های خود را دارد که این مقادیر همگام با ترقی و پیش‌روی تکنولوژی افزایش می‌یابند. در جدول زیر اطلاعاتی از ظرفیت تخصیص منابع در هایپروی درج شده است.

انواع ماشین های مجازی :
پس از آشنایی با انواع مجازی سازی و ویندوزهای میزبان VM نوبت به تعیین مدل ماشین‌های مجازی می‌رسد. متذکر می‌شویم پس از انتخاب نوع ماشین مجازی تغییر آن ممکن نیست پس حتما در زمان نصب ماشین مجازی به این گزینه دقت داشته باشید. اکنون توضیحات کاملی در خصوص مقایسه نوع VM‌ها و کاربرد آنها ذکر می‌شود:

Generation 1
این نسل قدیمی تر ماشین های مجازی هست که تا قبل از سرور ۲۰۱۲R2 فقط از این مدل استفاده می‌شد. ویژگی‌های آن در مقایسه با مدل دوم عبارتند از:

G1 از کنترلر۱ برای اولین هارد و از کنترلر۲ برای DVD استفاده میکند که هردو آنها حتما باید IDE باشد بنابراین این مدل فقط IDE Boot است. ولی از کنترلر دوم به بعد می‌توانیم ۴ عدد کنترلر SCSI اضافه کنیم.
مزیت G1 نسبت به G2 اینست که از Physical DVD Drive وفلاپی داریو پشتیبانی می‌کند.
مزیت دیگر اینست که RemotFX و vGPU فقط در این مدل قابل استفاده است.
با G1 میتوان فایل VHD را به VHDX تبدیل کرد اما درG2 این امکان وجود ندارد.


Generation 2
مدیران مایکروسافت در سرورهای۲۰۱۲R2 یک گزینه جدید به ماشین های مجازی اضافه کردند که این مدل نسبت به G1 برتری های چشم گیری دارد.

(UEFI (Universal Extensible Firmware Interface بوت هستند. UEFI در واقع جایگزین بایوس است و البته بسیار مفصل‌‌تر، پیچیده‌تر و پیشرفته‌تر از آن و چیزی شبیه به یک سیستم ‌عامل خواهد بود و در نتیجه محیط حالت DOS بایوس‌های فعلی، جای خود را به محیط گرافیکی حالت ویندوز می‌دهد که امکان استفاده از ماوس نیز در آن فراهم شده است.
در این مدل کنترلر IDE حذف شده و فقط SCSI ساپورت میکند درنتیجه ویندوزSCSI Boot است که مشخصا سرعت کار افزایش خواهد یافت.
برای PXE Boot الزاما نباید Legacy Adapter ایجاد کنیم و با پشتیبانی شبکه های مجازی استاندارد PXE بوت ممکن است. درکل از Legacy Adapter پشتیبانی نمی‌کند.
فقط ازهاردهای با فورمت VHDX ساپورت می‌کند. و اگر فایل VHDX تبدیل شده از حالت VHD باشد باز هم پشتیبانی نمی‌کند. حتما باید از ابتدا فایل به صورت VHDX ایجاد شود.
ماشینی با G2 قابل ایمپورت کردن در Hyper-V 2012 نیست زیرا این امکان از ۲۰۱۲R2 اضافه شده است.
G2 فقط از سیستم عامل های ۶۴ بیتی با UEFI ساپورت میکند. پس حتی در ویندوز ۸٫۱ که ۳۲ بیتی است ممکن نیست.
در این مدل ۴ عدد SCSI Controller میتوان اضافه کرد که هر کنترلر ۶۴ عدد هارد داشته باشد. (در مجموع ۲۵۶ هارد)
همزمان بیش از۴ دی وی دی درایو مجازی ساپورت می‌کند.(فایل ISO انتساب داده شده)
iSCSI یا Fiber Channel بوت نیستند.
Secure Boot به صورت پیش فرض فعال است.
ماکسیمم خدمات شبکه های فعال ۸عدد است.
با اینکه (Windows 2008R2 (X-64 نیز UEFI است نمیتوانیم G2 داشته باشیم به دلیل وجود programmable interrupt controller (PIC)