بهبود عملکرد ماشین مجازی در Hyper-V
"چه مسائلی میتوانید بر محیط Hyper-V تاثیر بگذارد و از چه راههایی میتوانید ماشین مجازی (VM) خود را بهبود بخشید؟"
بهینه سازی عملکرد ماشینهای مجازی در Hyper-V
هر سیستمی هر چند وقت یک بار مستعد خطا و خرابی به همین دلیل کاربران دائماً به دنبال راه هایی برای بهبود عملکرد با زیرساخت مجازی خود هستند. در این پس از سایت ITSkill365 ما قصد داریم در مورد اینکه چگونه مسائل مربوط به عملکرد میتواند بر محیط Hyper-V شما تاثیر بگذارند و از چه راههایی میتوانید ماشین مجازی (VM) خود را بهبود بخشید، صحبت کنیم. در این مقاله، لیستی از 20 ترفند را گردآوری کردهایم که میتوان از آنها برای بهینهسازی و بهبود عملکرد VM در محیط Hyper-V استفاده کرد:
- خدمات یکپارچه سازی (Integration) را فعال کنید
- از فایل های ثابت VHD استفاده کنید
- از snapshotهای Hyper-V به عنوان یک جایگزین نسخه پشتیبان Hyper-V استفاده نکنید
- اندازه فایل های صفحه بندی را پیکربندی کنید
- سوئیچ های شبکه مجازی زیادی ایجاد نکنید
- از بارگذاری بیش از حد سیستم عامل مدیریت خودداری کنید
- برنامه های غیر ضروری را ببندید
- Hyper-V را روی Windows Server Core نصب کنید
- یک خط پایه عملکرد را تعیین کنید
- منابع را به طور مفید اختصاص دهید
- Multipath I/O را فعال کنید
- از ویژگی Dynamic Memory استفاده کنید
- برچسب گذاری VLAN را فعال کنید
- دیفرگمنت هارد دیسکهای مجازی
- اطمینان حاصل کنید که سخت افزار شما دارای تاییدیه است
- از RAID 10 استفاده کنید
- استقرار سیستم عامل مهمان 64 بیتی و VMهای نسل 2
- آنتی ویروس خود را به درستی پیکربندی کنید
- ماشین های مجازی شلوغ را در حجم های جداگانه سازماندهی کنید
- کارها را با cmdlet های PowerShell به صورت خودکار انجام دهید
در ادامه این مقاله با ما همراه باشید تا بدانید فناوری مجازی سازی Hyper-V چگونه کار میکند، چه مسائلی ممکن است بر عملکرد Hyper-V VM تأثیر بگذارد و چگونه NAKIVO Backup & Replication میتواند به شما در محافظت از محیط مجازی کمک کند.
Hyper-V چگونه کار میکند؟
Hyper-V یک نرم افزار مجازی سازی است که توسط مایکروسافت توسعه یافته است و به شما این امکان را میدهد که یک نسخه مجازی سازی شده از یک کامپیوتر را که به آن ماشین مجازی (VM) میگویند، ایجاد و اجرا کنید. یک هاست Hyper-V می تواند چندین ماشین مجازی را به طور همزمان و جدا از یکدیگر اجرا کند. علاوه بر این، همه ماشینهای مجازی از منابع سخت افزاری یک سرور میزبان از جمله حافظه، پردازندهها، و همچنین دستگاههای ذخیرهسازی و شبکه به صورت اشتراکی استفاده میکنند. به همین دلیل میتوان از منابع سخت افزار به صورت موثر استفاده کرده و به راحتی به ماشینهای مجازی که بیشتر به منابع نیاز دارند، منابع بیشتری اختصاص داد.
Hyper-V به عنوان یک نقش سرور در ویندوز سرور 2008 به بعد یا به عنوان یک محصول مستقل رایگان (سرور Hyper-V) موجود است که دارای عملکرد محدود و فقط یک رابط خط فرمان است.
مشکلات رایج Hyper-V
اگرچه Hyper-V یک پلت فرم مجازی سازی سرور بسیار پیشرفته است، اما همچنان می تواند برخی از مشکلات عملکرد را تجربه کند. اجزای سیستم زیر به احتمال زیاد خراب می شوند و منجر به مشکلات عملکرد VM می شوند:
- پردازنده (به عنوان مثال بارگذاری بیش از حد پردازنده های منطقی یا مجازی، تاخیرهای CPU)
- حافظه (به عنوان مثال تعهد بیش از حد حافظه، تمام شدن حافظه رم، عدم راه اندازی ماشین های مجازی)
- شبکه (به عنوان مثال هاست های متصل به شبکه و ماشین های مجازی، عدم تعادل منابع شبکه)
- ذخیره سازی (به عنوان مثال تأخیر دیسک، اتلاف فضای ذخیره سازی فیزیکی، سرعت ورودی/خروجی کند)
اینها اجزای سخت افزاری هستند که در صورت شناسایی هرگونه فعالیت غیرعادی باید به دقت مورد نظارت و مراقبت قرار گیرند. بیشتر مشکلات در نتیجه استفاده نادرست از منابع موجود رخ می دهد. هاست Hyper-V دارای مقدار محدودی از منابع سخت افزاری و نرم افزاری است که می تواند از آنها استفاده کند و در بین ماشین های مجازی در حال اجرا در بالای آن به اشتراک بگذارد. بنابراین بسیار مهم است که به تعداد VMهایی که به طور همزمان در هاست Hyper-V در حال اجرا هستند، نحوه مصرف منابع موجود را مدیریت کنید که منابع بیشتر از حد یا برعکس به مقدار کم استفاده نشود. مجموع همه این عوامل میتوان بر بهبود عملکرد ماشین مجازی در Hyper-V تاثیر گذار باشد.
یکی از جنبههای کلیدی بهینهسازی و نظارت بر عملکرد، درک میزان واقعی حجم کار در زیرساخت مجازی شما و تعداد منابع مورد نیاز برای ارائه چنین حجم کاری است. به این ترتیب، می توانید خطرات و چالشهای بالقوه ای را که ممکن است بر عملکرد VM شما تأثیر منفی بگذارد، شناسایی کنید. توصیه اساسی در مورد بهبود عملکرد Hyper-V این است که از ایجاد و اجرای بیش از حد VM ها روی یک هاست خودداری کنید و مصرف منابع غیر ضروری را در محیط مجازی خود به حداقل برسانید.
20 راه برای بهبود عملکرد VM در Hyper-V
در بخش بعدی، ما قصد داریم در مورد اینکه چگونه تعدادی از پیکربندی های ساده می توانند به شما در بهبود عملکرد VM در محیط Hyper-V خود کمک کنند، بحث کنیم. بنابراین، برای بهبود عملکرد VM، می توانید موارد زیر را انجام دهید:
خدمات یکپارچه سازی (Integration) را فعال کنید
Hyper-V Integration Services مجموعه ای از درایورها و ابزارهای کمکی خاص را نشان می دهد که برای بهبود عملکرد سیستم عامل های مهمان (OSes) در حال اجرا در داخل یک ماشین مجازی Hyper-V طراحی شده اند. برای دستیابی به نتایج مطلوب، توصیه می شود که Hyper-V Integration Services را هم در میزبان Hyper-V و هم در همه سیستم عامل های مهمان فعال کنید. توجه داشته باشید که تمام سرویس های یکپارچه سازی Hyper-V (به جز سرویس های مهمان) به طور پیش فرض در سیستم عامل های جدیدتر ویندوز در دسترس هستند.با این حال، اگر ماشین مجازی شما از لینوکس یا نسخههای قدیمیتر سیستمعامل ویندوز استفاده میکند، بهتر است بررسی کنید که آیا خدمات یکپارچهسازی بهطور خودکار در آن سیستمعاملهای مهمان فعال هستند یا خیر. اگر نه، آنها باید به صورت دستی نصب شوند.
از فایلهای ثابت VHD استفاده کنید
دیسکهای با اندازه ثابت و دیسکهای در حال گسترش پویا، هر کدام برای اهداف خاصی طراحی شدهاند. هنگام ایجاد یک هارد دیسک مجازی جدید، از شما خواسته می شود که نوع هارد دیسک مجازی را که می خواهید داشته باشید، انتخاب کنید. برای انتخاب درست، ابتدا باید نحوه استفاده از آن در محیط مجازی خود را در نظر بگیرید. دیسکهای با اندازه ثابت عملکرد بهتری ارائه میکنند و برای سرورهایی که برنامههای کاربردی با سطوح بالای فعالیت دیسک را اجرا میکنند، توصیه میشوند. دیسکهایی که به صورت پویا گسترش مییابند استفاده بهتری از فضای ذخیرهسازی فیزیکی را فراهم میکنند و برای سرورهایی که برنامههایی را اجرا میکنند که منابع زیادی نیاز ندارند توصیه میشوند.
فضای دیسک با اندازه ثابت زمانی که فایل هارد دیسک مجازی ایجاد می شود اختصاص داده می شود و با افزودن یا حذف داده ها تغییر نمی کند. فضای دیسک در حال گسترش پویا بر اساس نیاز تخصیص داده می شود و اندازه آن پس از افزودن یا حذف داده ها تغییر می کند. بنابراین، دیسک های در حال گسترش پویا باید در محیط های آزمایش و استقرار استفاده شوند، در حالی که دیسک های با اندازه ثابت در محیط های تولید بهتر کار می کنند.
از snapshotهای Hyper-V به عنوان یک جایگزین نسخه پشتیبان Hyper-V استفاده نکنید
snapshotهای Hyper-V که به عنوان چک پوینتهای Hyper-V نیز شناخته میشوند هرگز نباید به عنوان پشتیبان استفاده شوند، زیرا ثابت شده است که در محیطهای آزمایشی و توسعه تاثیرگذار هستند. به عنوان مثال شما میخواهید پَچها و بروزرسانیها را در سیستم خود نصب کنید، اما مطمئن نیستید که چگونه ممکن است بر زیرساخت مجازی شما تأثیر بگذارد. در این حالت، گرفتن snapshot به شما این امکان را میدهد که موارد را آزمایش کنید و در صورت خرابی به عق برگردید.
برخلاف نسخه پشتیبان، snapshotهای Hyper-V به همراه هارد دیسکهای VM در یک دیتا استور تولیدی ذخیره میشوند که آنها را به VM وابسته میکند. اگر ماشین مجازی آسیب ببیند یا حذف شود، snapshotهای Hyper-V نیز از بین خواهند رفت. پشتیبانگیری گزینهای مطمئنتر برای حفاظت از دادهها است، زیرا به عنوان یک کپی ثابت و مستقل از VM عمل میکند که میتواند به راحتی جابجا شده و در یک مکان از راه دور ذخیره شود.
اندازه فایل های صفحه بندی را پیکربندی کنید
Pagefile.sys فایل پیجینگ ویندوز است که برای مدیریت حافظه مجازی و مقابله با کمبود حافظه استفاده می شود. هنگامی که حافظه فیزیکی سیستم شروع به کم شدن می کند، می توانید با استفاده از فایل های صفحه به RAM اضافی دسترسی پیدا کنید. اگرچه ممکن است ایده خوبی به نظر برسد، استفاده از فایل صفحه گاهی اوقات می تواند بر عملکرد VM تأثیر بگذارد. بنابراین توصیه می شود که حجم فایل پیجینگ ویندوز را افزایش داده و حداقل و حداکثر آن را 3 برابر بیشتر از مقدار رمی که در اختیار دارید قرار دهید.
سوئیچ های شبکه مجازی زیادی ایجاد نکنید
ممکن است وسوسه شوید چندین سوئیچ شبکه مجازی ایجاد کنید که برای اهداف مختلف مورد استفاده قرار گیرند. در حقیقت، استفاده از سوئیچ های مجازی زیاد در یک شبکه می تواند باعث سربار پردازش شود. برای بهبود عملکرد VM توصیه می شود تنها یک سوئیچ شبکه مجازی ایجاد کنید و در موارد مختلف از آن استفاده کنید.
از بارگذاری بیش از حد سیستم عامل مدیریت خودداری کنید
یک سیستم عامل مدیریتی برای اجرای ماشینهای مجازی، نرم افزار پشتیبان گیری و ضد بدافزارها در نظر بگیرید. هر چیزی که با این معیارها مطابقت ندارد باید روی ماشین های مجازی شما اجرا شود. همچنین، اگر قصد استفاده از همه آنها را ندارید، از ایجاد VMهای بیش از حد در همان هاست Hyper-V خودداری کنید. اگر متوجه شدید که برخی از ماشین های مجازی شما دیگر مورد استفاده قرار نمی گیرند و هیچ کارکرد عملی در محیط مجازی شما ندارند، بهتر است آنها را حذف کنید تا دیگر منابع سخت افزاری موجود را مصرف نکنند و هاست Hyper-V شما را بیش از حد بارگذاری کنند.
برنامه های غیر ضروری را ببندید
هنگام کار با چندین ماشین مجازی به طور همزمان، نظارت بر تک تک برنامه هایی که باز می کنید ممکن است دشوار باشد. با این حال، اگر آنها را برای مدت طولانی در حال اجرا رها کنید، آنها شروع به مصرف منابع سیستم در دسترس می کنند که در نهایت بر عملکرد کلی VM تأثیر می گذارد. اگر کار را انجام داده اید و دیگر به آنها نیاز ندارید، آماده باشید که پنجره اتصال ماشین مجازی، مدیریت Hyper-V و هر پنجره برنامه دیگری را ببندید. این یک راه ساده و در عین حال موثر برای بهبود عملکرد VM است.
Hyper-V را روی Windows Server Core نصب کنید
یکی از توصیه های تایید شده جهانی در این لیست، نصب Hyper-V بر روی Windows Server Core به دلیل مزایای زیادی است که می تواند ارائه دهد. هنگامی که Windows Server Core با ویندوز سرور گرافیکی مقایسه میشود، مشخص میشود که Windows Server Core ردپا و سطح حمله کوچکتری دارد. در نتیجه منابع سخت افزاری کمتری مصرف می شود و کل سیستم دارای آسیب پذیری های کمتری است. این منابع ذخیره شده اکنون می توانند برای تهیه ماشین های مجازی در حال اجرا در سیستم استفاده شوند، که می تواند عملکرد VM را به طور قابل توجهی در محیط Hyper-V بهبود بخشد.
یک خط پایه عملکرد را تعیین کنید
خط پایه عملکرد، سطح عملکردی است که سیستم شما در شرایط استاندارد نشان می دهد. توصیه می شود که یک مبنای عملکرد از قبل تعیین کنید. به این ترتیب، میتوانید تشخیص دهید که آیا چیزی در مصرف منابع تغییر کرده است یا خیر، عملکرد کلی VM را زیر نظر داشته باشید، و به سرعت به خطاها و خرابیهای سیستمی که ممکن است شناسایی شده باشد پاسخ دهید.
منابع را به طور مفید اختصاص دهید
تصمیم بگیرید که چگونه میخواهید از محیط Hyper-V خود استفاده کنید، چه تعداد ماشین مجازی را میخواهید بسازید، و این ماشینهای مجازی برای چه اهدافی اجرا میشوند. پس از آن، باید تعیین کنید که چه تعداد منابع سخت افزاری و نرم افزاری در دسترس شما هستند و چگونه می توانید به طور موثر آنها را برای دستیابی به حداکثر عملکرد VM تخصیص دهید. علاوه بر این، پس از ایجاد ماشین های مجازی و اختصاص منابع موجود به آن ها، باید حجم کاری هر VM را به دقت زیر نظر داشته باشید و در صورت وجود، امکان overprovisioning یا underprovisioning را از بین ببرید.
Multipath I/O را فعال کنید
Multipath I/O یا MPIO میتواند تعدادی مسیر داده اضافی بین دستگاههای ذخیرهسازی و سرور فراهم کند، که در نتیجه میتواند تعادل بار را بهبود بخشد و در دسترس بودن بالای محیط Hyper-V شما را تضمین کند. توصیه می شود که این ویژگی را در محیط تولید خود فعال کنید، به خصوص اگر با حجم زیادی از داده کار می کنید. اگر اتصالی قطع شده باشد، MPIO از یک مسیر جایگزین استفاده می کند تا اطمینان حاصل شود که داده ها همچنان قابل انتقال هستند.
از ویژگی Dynamic Memory استفاده کنید
حافظه پویا به شما این امکان را می دهد تا زمانی که سیستم عامل مهمان فعال است و نیاز به رم بیشتری دارد، منابع حافظه بیشتری را به VM اضافه کنید. از طرف دیگر، اگر سیستم عامل مهمان آفلاین باشد و به منابع زیادی برای پشتیبانی از عملکرد VM نیاز نداشته باشد، Hyper-V می تواند منابع استفاده نشده را بازیابی کند و آنها را به سایر ماشین های مجازی در حال اجرا اختصاص دهد. علاوه بر این، میتوانید با اختصاص مقدار مشخصی از حداکثر و حداقل RAM موجود به این ماشین مجازی، حافظه پویا را پیکربندی کنید.
توجه داشته باشید که پس از فعال کردن Hyper-V Dynamic Memory، توصیه میشود تنظیمات حافظه پیشفرض را تغییر دهید و مقادیر Dynamic Memory را برای هر VM بر اساس حجم کاری فعلی آن پیکربندی کنید.
برچسب گذاری VLAN را فعال کنید
از VLAN ها می توان برای فعال کردن ارتباطات شبکه از طریق آداپتورهای شبکه موجود استفاده کرد. با افزودن تگ های ویژه VLAN، می توانید شناسایی کنید که کدام بسته متعلق به کدام LAN مجازی است و مدیریت شبکه در سیستم خود را آسان تر کنید.
برچسب گذاری VLAN یک ویژگی مفید است زیرا به شما امکان می دهد چندین کاربر را در یک VLAN گروه بندی کنید و عملکرد آنها را به دقت بررسی کنید. علاوه بر این، برچسب گذاری VLAN می تواند امنیت محیط مجازی شما را بهبود بخشد زیرا می توانید مشخص کنید که کدام کاربران مجاز به دسترسی به شبکه های خاص هستند.
دیفرگمنت هارد دیسکهای مجازی
تکه تکه شدن یا فرگمنت زمانی اتفاق می افتد که محتویات یک فایل واحد در بخش های مختلف روی دیسک ذخیره می شود. در نتیجه فضای ذخیره سازی ضعیف می شود و عملکرد VM تحت تأثیر قرار می گیرد. رای جلوگیری از بروز چنین مشکلاتی و بهبود عملکرد VM، توصیه می شود هارد دیسک های مجازی را دیفرگمنت (Defragment) کنید. این عملیات امکان سازماندهی مجدد فایل ها و برنامه های موجود، شناسایی میزان فضای استفاده نشده دیسک و صرفه جویی در منابع موجود را از مصرف بیش از حد فراهم می کند.
اطمینان حاصل کنید که سخت افزار شما دارای تاییدیه است
برای تضمین اینکه زیرساخت مجازی شما بتواند بدون تاخیر و وقفه کار کند، باید از قطعات سخت افزاری و نرم افزاری استفاده کنید که توسط مایکروسافت تایید شده و به طور کامل در محیط Hyper-V پشتیبانی می شوند. برای تأیید اینکه یک جزء سخت افزاری یا نرم افزاری انتخاب شده واقعاً تأیید شده است و می تواند در محیط شما استفاده شود، از Microsoft Windows Server Catalog دیدن کنید و اطلاعات مورد نیاز را پیدا کنید.
از RAID 10 استفاده کنید
RAID (آرایه اضافی از دیسکهای مستقل) رویکردی برای ذخیره دادههای شما در نواحی مختلف بر روی چندین هارد دیسک است که میتواند افزونگی دادهها و تحمل خطای ذخیرهسازی شما را بهبود بخشد. RAID 10 ترکیبی از RAID 1 (Disk Mirroring) و RAID 0 (Disk stripping) است که می تواند مزایای هر دو نوع آرایه را ارائه دهد. این به حداقل 4 دیسک برای ساخت RAID 10 نیاز دارد، که در نهایت به شما امکان می دهد به طور ایمن از داده ها محافظت کنید و در صورت خرابی درایو به راحتی آنها را بازیابی کنید.
استقرار سیستم عامل مهمان 64 بیتی و VMهای نسل 2
در بسیاری از موارد، توصیه می شود که یک سیستم عامل مهمان 64 بیتی را به جای یک سیستم عامل 32 بیتی انتخاب کنید زیرا می تواند فضای حافظه اضافی را فراهم کند. بنابراین، اگر می خواهید سرعت کلی حافظه را افزایش دهید و عملکرد VM را بهبود ببخشید، بهتر است یک سیستم عامل 64 بیتی را مستقر کنید، اگرچه اجباری نیست.
علاوه بر این، توصیه میشود ماشینهای مجازی نسل 2 را ایجاد کنید، زیرا آنها به گونهای طراحی شدهاند که از هایپروایزر آگاه هستند و بر خلاف ماشینهای مجازی نسل 1، به سختافزار شبیهسازی شده یا مصنوعی متکی نیستند. ماشین های مجازی نسل 2 می توانند با استفاده از Secure Boot و Trusted Platform Module از سطح بالاتری از امنیت اطمینان حاصل کنند، گزینه های بوت بیشتری را در اختیار شما قرار دهند و در نتیجه عملکرد VM شما را به میزان قابل توجهی بهبود بخشند.
آنتی ویروس خود را به درستی پیکربندی کنید
اگر تصمیم به ساخت یک محیط Hyper-V گرفته اید، مهم است که از امنیت آن نیز مراقبت کنید. برای این منظور می توانید یک آنتی ویروس یا هر نرم افزار ضد بدافزار دیگری را نصب کنید که هر گونه فعالیت مخرب را در زیرساخت شما جستجو و شناسایی می کند و همچنین از آلوده کردن کل سیستم شما جلوگیری می کند.
با این حال، اگر آنتی ویروس به درستی پیکربندی نشود، خطر تداخل در فرآیندها و عملیات حیاتی در حال اجرا در سیستم شما را به دنبال دارد. بنابراین، باید تنظیمات پیشفرض آنتی ویروس خود را تغییر دهید و فایلها و برنامههای خاص را از اسکنهای ویروسی معمولی حذف کنید.
انواع فایل هایی که نباید در اسکن های معمولی ویروس گنجانده شوند عبارتند از: vhd.، vhdx.، .avhd، .avhdx، .vsv، .iso، rct.، vmcx.، .vmrs. با این حال، اگر میخواهید ایمنی یک ماشین مجازی Hyper-V خاص را تضمین کنید، توصیه میشود یک آنتیویروس را روی ماشین مجازی انتخابشده نصب کنید و اسکنهای آسیبپذیری را درون آن اجرا کنید.
ماشین های مجازی شلوغ را در حجم های جداگانه سازماندهی کنید
اگر چندین ماشین مجازی را در یک حجم ذخیره سازی یکسان قرار دهید که حجم کاری زیادی دارند، این می تواند بر عملیات ورودی/خروجی فعلی تأثیر بگذارد و به طور کلی عملکرد VM را تضعیف کند. برای جلوگیری از این مشکل، توصیه می شود ماشین های مجازی را در حجم های جداگانه مشغول نگه دارید تا فضای کافی برای ذخیره سازی هارد دیسک های مجازی و فایل های پیکربندی VM و همچنین منابع سخت افزاری کافی برای اجرای حجم کاری زیاد خود داشته باشند.
کارها را با cmdlet های PowerShell به صورت خودکار انجام دهید
مزیت اصلی استفاده از cmdlet های PowerShell این است که به شما امکان می دهند وظایف خاصی را خودکار کنید، بنابراین در هنگام مدیریت محیط های Hyper-V انعطاف پذیری بیشتری برای شما فراهم می کند. با وجود اینکه ابزارهای رایج مدیریت Hyper-V (Hyper-V Manager یا SCVMM) شامل رابط کاربری گرافیکی هستند، اما در مدیریت هاست ها و ماشین های مجازی Hyper-V هنوز قابلیت های محدودی دارند. برخی از ویژگی های مجازی سازی را فقط می توان با استفاده از PowerShell فعال و پیکربندی کرد. بنابراین، نباید قدرت cmdlet های PowerShell را دست کم بگیرید. هنگامی که نحوه کار با این اسکریپت ها را فهمیدید، می توانید عملکرد VM خود را به سطح جدیدی ارتقا دهید و نحوه مدیریت محیط Hyper-V خود را تغییر دهید.