مجازی‌سازی و کلاسترینگ‌ در مایکروسافت (قسمت اول – مفاهیم پایه‌ای)

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

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

مجازی سازی سرورها تکنولوژی بود که دنیای IT را تغییر داد و اولین بار سال 1960 به عنوان یک روش منطقی تقسیم منابع سیستم بین برنامه های مختلف ارائه شد. تا اینکه سال 2003 کمپانی مایکروسافت با خرید تکنولوژی مجازی‌سازی از شرکت Connectix پا به دنیای مجازی‌سازی گذاشت و در سال 2008نسل جدیدی به نام Hyper-V به بازار عرضه کرد همچنین در سال 2012 نسل سوم را با تغییرات چشم گیر و متفاوت‌تری ارایه داد. درنهایت در سال 2016 جدیدترین نسل، Windows server 2016 Hyper-V را معرفی کرد که این نسل روی بسیاری از کمپانی‌های رغیب را کم کرده است. 

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

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

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

مجازی سازی سرور

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

مجازی سازی شبکه

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

 مجازی سازی دسکتاپ

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

مجازی سازی نرم افزار

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

مجازی سازی Storage

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

 

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

 انواع Hypervisor :

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

Native or Bare-Metal

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

Hosted

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

 : نصب رول Hyper-V 

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

ویندوز سرور Core

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

Install-WindowsFeature -Name “Hyper-V” -ComputerName <computer_name> -IncludeManagementTools -Restart

ویندوز سرور 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

 معماری 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 ارسال می‌کند.

Virtual-Newadmin

‌ظرفیت‌های  Hyper-V 2012R2:

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

Newadmin-Hyper-V

انواع ماشین های مجازی :

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

Generation 1

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

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

Generation 2

مدیران مایکروسافت در سرورهای2012R2  یک گزینه جدید به ماشین های مجازی اضافه کردند که این مدل نسبت به 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 نیست زیرا این امکان از 2012R2 اضافه شده است.
  • G2 فقط از سیستم عامل های 64 بیتی با UEFI ساپورت میکند. پس حتی در ویندوز 8.1 که 32 بیتی است ممکن نیست.
  • در این مدل 4 عدد SCSI Controller میتوان اضافه کرد که هر کنترلر  64 عدد هارد داشته باشد. (در مجموع 256 هارد)
  • همزمان بیش از4 دی وی دی درایو مجازی ساپورت می‌کند.(فایل ISO انتساب داده شده)
  • iSCSI  یا Fiber Channel بوت نیستند.
  • Secure Boot به صورت پیش فرض فعال است.
  • ماکسیمم کارت شبکه های فعال 8عدد است.
  • با اینکه (Windows 2008R2 (X-64 نیز UEFI است نمیتوانیم G2 داشته باشیم به دلیل وجود programmable interrupt controller (PIC)

محتویات ماشین مجازی :

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

XML

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

VHD / VHDX

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

AV​HD

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

VSV

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

BIN

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

در این قسمت تنها به بخشی از مفاهیم و مباحث مقدماتی مجازی سازی پرداختیم. در مقاله بعد آموزش کامل تنظیمات پیشرفته Hyper-V Manager را عنوان می‌کنیم. امیدواریم نکات ذکر شده در این قسمت پاسخگوی نیازها و سوالات شما همراهان عزیزمان باشد. چنانچه در این خصوص سوال داشتید در قسمت نظرات ثبت بفرمایید تا در اولین فرصت پاسخگو باشیم.

درباره نویسنده

بهاره جهان یار

۳ دیدگاه

  1. علی Reply

    سلام
    ممنون از مقاله مفید
    یک سوال الان برای من بوجود اومده ، من دو ویندوز ۸ روی نوت بوک دارم، فلش ۳۲ گیگ گرفتم با استفاده نرم افزار WinToUSB یک ویندوز ۷نصب کنم قابل حمل هنگام انتخاب حالت نصب سه گزینه legacy VHD VHDX اومده ، که فقط VHD قابل انتخاب بود ، در ویندوز ۸ دیگرم که امتحان کردم Legacy رو هم می شد انتخاب کرد، علت چی میتونه باشه ؟ اصلا تفاوتی هم دارند برای نصب یه ویندوز قابل حمل نصب بصورت legacy یا VHD ؟
    تصویر پیوست شخص دیگری در اینترنت که سوال من رو داشت؛
    http://8pic.ir/images/a9lxw7181nsanxi0dtp4.png

    • محمد جلالیان Reply

      سلام …
      خدمت شما دوست عزیز عرض کنم من با ابزار مورد نظر به صورت خاص کار نکردم ، اما در کل این ابزار از سیستم عامل شما یه هارد مجازی ایجاد میکنه … حالا با VHD یا VHDX که باشه کاملا تفاوت هاش ( از ماکزیمم اندازه و برخی دیگر از پارامتر هاش ) مشخصه…..
      یکی از دلایل این امر که احتمالا اجازه ایجاد این نوع هارد رو به شما نمیده کوچک بودن فضای فلش شما هست … بعد از ایجاد هارد مجازی ها اون رو در فلش قرار میده و بوت میکنه اون رو ( دقیقا مثل نصب هایپر وی سرور بر رو USB که پست اون تو همین سایت وجود داره )
      اما اون مورد Legacy رو دقیق نمیدونم اما حدس میزنم شاید هاردی تولید کنه که بر روی Virtual-PC که ابزار خیلی قدیمی مایکروسافت هست رو نیز ساپورت کنه ( اما این فقط یک حدس هست )

  2. خیلی مطلب خوبی بود. ممنون
    از به اشتراک گزاری.

پاسخ دهید