ارائه GRAPHIC به کاربران VDI
قدم اول برای ارائه Graphic توسط زیر ساخت مجازی، ارائه VDI (Virtual Desktop Infrastructure) می باشد. زمانی که VDI یا Desktop Virtualization را ارائه می دهیم، در اصل ویندوز یا سیستم عامل کاربران را بر روی سخت افزار سروری ارائه می دهیم که این امر باعث می شود نه تنها سرعت کابران دو چندان شود، بلکه باعث می شود بتوانند از قابلیتهایی که در Server Virtualization داشتیم نیز استفاده کنند. اما زمانی که صحبت از ارائه Graphic میکنیم، مطلب آنقدرها هم ساده نیست.
مدل ارائه Graphic در مجازی سازی دسکتاپ
به صورت کلی در پیاده سازی بسترهای مجازی سازی دسکتاپ (VDI) سه مدل ارائه Graphic داریم:
1- vSGA (Virtual Shared Graphic Accelerator)
2- vDGA (Virtual Direct Graphic Accelerator)
3- vGPU (Virtual Graphic Processing Unit)
vSGA (Virtual Shared Graphic Accelerator)
در این مدل Graphic Card نصب شده بر روی سرور توسط Hypervisor یعنی همان ESXi به اشتراک گذاشته می شود. چون Graphic توسط ESXi به اشتراک گذاشته می شود، پس در نهایت Driver استفاده شده، همان VMware Tools است. این مدل بیشترین Compatibility را در میان تمامی مدلهای ارائه Graphic دارد، اما زمانی که می خواهیم با دو مدل دیگر از لحاظ Performance مقایسه کنیم، با اختلاف بسیار کمی در جایگاه سوم قرار می گیرد.
خصلت این مدل Graphic این است که می توانید به تعداد بسیار زیادی ماشین مجازی Graphic ارائه دهید و محدودیت تعداد فقط وابسته به حافظه Graphic Card و از طرف دیگر تعداد ماشینهای موجود بر روی یک ESXi می باشد. در vSGA ، چون به هیچ وجه عملیات Pass-Through در هیچ لایه ای انجام نمی شود، به راحتی می توانید یک ماشین مجازی را بین دو سروری که کارت Graphic دارند (نه لزوما یک مدل Graphic Card یکسان) به صورت روشن (Hot vMotion) یا چه به صورت خاموش (Cold vMotion) جابجا کنید. یکی از مدلهایی که vSGA را Support یا پشتیبانی می کند، سری NVIDIA Quadro می باشد. فقط در نظر داشته باشید در هر Version کارت Graphicهای پشتیبانی شده تغییر می کند و باید در لینک زیر یعنی همان HCL (Hardware Compatibility List) آنها را انتخاب کنید.
vDGA (Virtual Direct Graphic Accelerator)
این مدل از ارائه Graphic برای کارهای Rendering بسیار بالا صورت می گیرد. تقریبا می توان گفت اگر به دنبال ارائه Graphic به چند کاربر نباشیم و صرفا به دنبال گرفتن بالاترین Performance از Graphic Card باشیم، این مدل در ابتدای لیست قرار می گیرد. در واقع در پیاده سازی این مدل یک Graphic Card فقط به یک کاربر اختصاص داده می شود و آن کاربر می تواند با حداکثر توان از آن Graphic استفاده کند. در این مدل چون Graphic Card به صورت کامل به یک ماشین داده شده است، برای Driver کارت Graphic از Driver خود سازنده Graphic استفاده می شود نه از VMware Tools. بیشتر نرم افزارهایی که Render بالایی دارند، از این مدل استفاده می کنند مانند Cinema 4D یا مثلا 3D MAX و MAYA. در این مدل Render که ساعتها توسط یک سیستم به طول می انجامد را در زمان بسیار کمتری انجام می دهد. برخلاف قدرت بالای این مدل، متاسفانه به هیچوجه امکان جایجایی ماشین مجازی یعنی vMotion چه به صورت روشن و چه به صورت خاموش وجود ندارد. نه تنها vMotion بلکه هیچکدام از کارهای زیر بر روی ماشین مجازی نمی تواند صورت بپذیرد:
- Suspend/Resume
- CPU Hot Add
- Memory Hot Plug
- Snapshot
- DRS/DPM
- …
زمانی که این مدل را برای پیاده سازی در نظر می گیرد، باید Trade Off آن یعنی کیفیت بالا ولی سختی مدیریت را بپذیرید.
به عنوان آخرین نکته این vDGA باید بدانیم راههایی وجود دارد که بتوانیم این کارت Graphic را بین چندین ماشین مجازی از طریق پروتکلهای مختص VMware به اشتراک بزاریم، البته بدون افت صفر درصدی کیفیت.
vGPU (Virtual Graphic Processing Unit)
این مدل ترکیبی از دو مدل قبل می باشد به بیان دیگر: Best of Both Worlds یعنی کیفیت بالا از یک طرف و از طرف دیگر قابلیت ارائه Graphic به چند ماشین مجازی .در این مدل Graphic Card ،Share می شود ولی نه توسط ESXi، این کار توسط خود Graphic Card صورت می پذیرد و همانطور که حدس می زنید اینکار باعث می شود که Performance Graphic ما خیلی بهتر از vSGA باشد که توسط ESXi به اشتراک گذاشته می شد.
سوال: پس Virtualization یعنی کندی؟
جواب خیر است. عملیات مجازی سازی در ماشین مجازی یا سرور باعث ایجاد Overhead می شود و در کارت بسیار پر سرعتی مانند GPU این داستان باعث ایجاد مقدار بسیار کمی Latency در ارائه می شود. پس این مطلب را بدانید هر گاه کارتی توانست خودش را Share کند، بهتر از آن است که ESXi آنرا Share کند، مثال دیگری که برای این مدلها می توانیم بزنیم، کارت شبکه های SRIOV نیز می باشند. پس در این مدل، Graphic خود را بر اساس Policy مدیر شبکه (Admin) تیکه تیکه می کند و به ماشینهای مجازی ارائه می دهد. در این مدل علاوه بر هزینه تجهیزات و Licenseهای مربوط به VMware که از قبل تهیه یا خرید کردید، باید لایسنس Graphic برای سرورها را نیز خرید کنید، که هزینه اضافی به سازمانها تحمیل می کند.
پس در نهایت باید بدانید این Graphic Card خود را به سیستم عاملها به صورت Pass-Through نشان می دهد یعنی Driver خود سازنده Graphic Card بر روی سیستم عاملها نصب می گردد. اما زمانی که از دید ESXi به این Graphic Card نگاه کنیم، کاری که انجام می دهد Pass-Through نیست بلکه Shared Pass-Though می باشد. از جمله Graphic Cardهایی که این مدل را پشتیبانی می کنند سری Grid و Tesla شرکت NVIDIA می باشد.
برچسب ها: ESXi, VDI, vGPU, nVidia, vDGA, vSGA, Desktop Virtualization, Pass-Through, Graphic, VMware Tools, Graphic Card, Driver, Render, Cinema 4D, 3D MAX, MAYA, Memory Hot Plug, CPU Hot Plug, Trade Off, Overhead, Latency, Share, SRIOV, Policy, License, Shared Pass-Though, Grid, Tesla