نکاتی در مورد طراحی دسکتاپ Horizon View

ممکن است تصور کنید با یکبار طراحی بر اساس مطالبی که قبلا گفته شد کار تمام است! اما سخت در اشتباه هستید. در واقع تازه کار شروع شده است. راهکار VDI شما، بدون دسکتاپ ها، فقط یک زیرساخت مجازی است، طراحی و عملکرد دسکتاپ ها در کنار پیاده سازی موفق بسیار مهم است. گزینه های زیادی برای انتخاب وجود دارد باید طراحی مناسبی برای ایجاد دسکتاپ ها با استفاده از Horizon View داشته باشید.

Thin clients

موضوع مهمی که باید به آن توجه شود این است که  تمام thin client ها به صورت یکسان و یکجور ساخته نمی شوند. شما باید مطمئن شوید که برای استفاده از هر موردی، باید نیازهای Thin client ها را بسنجید و thin های مناسب را انتخاب کنید. چگونگی مدیریت Thin client ها یکی از موارد اساسی و مهم می باشد.

Pool Design

قصد طراحی دسکتاپ هایی را دارید که بر اساس شباهت های کاربری گروه بندی شده و در یک pool قرار گرفته اند. برای انجام اینکار باید از اطلاعات جمع آوری شده در مراحل قبلی استفاده کنید این فرآیند بوسیله ارزیابی دسکتاپ ها و سایر سورس هایی که در هنگام شروع طراحی استفاده نمودید حاصل میشود و مشخص میکند که چه مدلی از دسکتاپ poll هایی را باید ایجاد نمایید. وقتی دیتاها آنالیز می شوند  متوجه شباهت های بین برنامه های مورد استفاده می شوید و تصمیم می گیرید بر اساس اطلاعات بدست آمده pool ها را طراحی نمایید. اولویت شما این است که تا حد امکان poolها کوچک باقی مانده و از یک اندازه ای بزرگتر نشود زیرا بزرگ شدن pool ها تلاش برای recompose کردن آنها را سخت میکند و بر روی کارایی(اجرا) تاثیرگذار منفی میگذارد. همان طور که مشاهده می کنید، بالانس pool ها یکی از موارد مهم و اساسی فاز اجرا می باشد. که در مطالب بعدی زیاد در مورد آن صحبت خواهیم کرد.

برآورد ( اندازه) دسکتاپ ها

در لیست زیر بعضی موارد برای برآورد پایه دسکتاپ ها  آورده شده است این اطلاعات با جمع آوری از داکیومنت های منتشر شده از VMware بدست آمده و کاملا بر اساس تجربیات کاربران میباشد. برای دسکتاپ هایی که با محوریت برنامه ها ساخته شده اند ریسورس بسیار لازم و حیاتی است. مانند:

برآورد سروهایی که قرار است میزبان دسکتاپ ها باشند:

یکی از بیشترین سوالاتی که در تمام پروژه ها پرسیده میشود تعداد دسکتاپ مجازی است که میتوان بر روی یک هاست ایجاد کرد و به کاربر سرویس داد. یا مثلا برای هر دسکتاپ مجازی چند Core سی پی یو باید درنظر بگیریم مثل روال سابق هم تنها جواب ما این است: بستگی دارد!!!

  • اول، میزان مصرف CPU بستگی دارد به اینکه دسکتاپ شما چه مقداری هرتز نیاز دارد! این هم رابطه مستقیمی با تعدد برنامه ها دارد پس پاسخ به این سوال فقط از روی ارزیابی دیتاها امکان پذیر است.
  • دوم، بدیهی است، تعداد دسکتاپی که می توانیم بر روی یک سرور قرار دهیم رابطه مستقیم با ریسورس های آن هاست دارد. مثلا چه مقدار رم و CPU برای هاست در نظر گرفتیم. معمولا انتخاب بین قیمت/کارایی برای یک کارفرما سخت می باشد ! زیرا این دو المان ارتباط معکوسی با هم دارند.

برای این بخش ما ارزیابی دقیقی را نمی توانیم ارائه کنیم که هم قابل استناد باشد هم محکم و قابل قبول اما از بعضی فرضیات استفاده می کنیم و نیازمندی های مربوط به  CPU را برای انواع کاربربه شما ارائه میدهیم. کاربرانی که در دسته مصرف کنندگان light گروه بندی می شوند، مصرف کنندگان medium و مصرف کنندگان heavy. پایه و اساس محاسبات ما بر روی یک وضعیت استاندارد، یک عدد سرور rack-mount کانفیگ شده با دو عدد سی پی یو Intel Xeon E5-2660 که دارای 2.6 GHz و 10 cores per CPU است که به صورت کلی 20 cores برای هر هاست می دهد.

در مثال محاسباتی زیر، در نظر داشته باشید که کمتر از دو هسته از coreهای هاست در اختیار دارید زیرا خود لایه هایپروایزر(ESXi) نیز به ریسورس های CPU برای اجرای دستورات صادره نیاز دارد.

Light user:

میزان استفاده از ریسورس CPU در حدود 300MHz است. در peak کاری اضافه کردن بعضی ریسورس ها یک مزیت  افزوده برای شما می باشد.برای این مثال، ما 10 درصد به 300 MHz اضافه میکنیم. پروفایل این نوع از کاربر می تواند شخصی باشد که در مرکز تماس کار میکند و یا یک ادمین است و یا کاربری که وب گردی میکند. این دسکتاپ ها می توانند در یک دوره زمانی بلااستفاده بوده و مصرف بسیار پایینی داشته باشند، و فقط یک یا چند برنامه بر روی آنها اجرا شود. نیازهای کاری CPU با محاسبات سریع زیر حاصل می شود:

در این سناریو کاربر از سرور استانداردی که در قسمت های قبلی توضیح داده شد استفاده میکند و حدودا 17 کاربر برای هر Core در نظر گرفته می شود.

Medium User

استفاده معمولی در حدود 500 MHZ از ریسورس های CPU ، بعلاوه 10 درصد. این نوع از کاربر می تواند ورود دیتاها را داشته باشد، دکترها، دانشجویان، کاربران برنامه های مایکروسافت و یا یک helpdeskها در این گروه بندی قرار می گیرند. این دسکتاپ ها به صورت متمادی در دفاتر تجاری استفاده می شوند و مصرف سنگینی ندارند. برای محاسبه میزان CPU مصرفی از روش زیر استفاده می نماییم:

در سناریو مذکور کاربر تعریف شده از سرور استانداردی که قبلا توصیف شده استفاده می نماید و شما می توانید در حدود 85 دسکتاپ مجازی داشته باشید که برای هر Core، 4 کاربر می دهد.

Heavy User

استفاده معمولی چیزی در حدود 750MHZ از ریسورس CPU می باشد. بعلاوه 10 درصد. این مدل از کاربر می تواند کارهایی مانند توسعه سیستم ها ، ادمین، کارمند IT، ادمین دیتابیس و یا از واحد مهندسی باشد. بر روی این دسکتاپ بار مصرفی زیادی بوده و معمولا این دسکتاپ ها  در تمام ساعات اداری و کاری مورد استفاده قرار میگیرند. میزان استفاده از CPU توسط فرمول زیر تخمین زده می شود:

در سناریو مذکور کاربر تعریف شده از سرورهای استانداردی که قبلا توصیف شده استفاده میکند و می توانید در حدود 65 دسکتاپ مجازی داشته باشید که به شما 3 کاربر برای هر Core می دهد.

نکات قابل توجه در تخمین RAM

تخمین میزان رم مصرفی دسکتاپ ها نسبت به CPU بسیار آسان تر می باشد، اگر چه بالانس بین سرورها را باید ­رعایت نمایید. اگر دسکتاپ مجازی داشته باشید که نیاز به 2 گیگ مموری دارد و با دید light user به آن نگاه کنید بر اساس مثال های قبلی می توانید 141 دسکتاپ مجازی ایجاد نمایید. این بدین معنی است که سرور به 282 GB مموری برای میزبانی از دسکتاپ مجازی بعلاوه مموری لازم برای اجرا شدن هایپروایزرنیاز دارد.

با توجه به سخت افزارهای سرور انتخابی ، ممکن است امکان اضافه شدن این مقدار مموری بر روی سرور وجود نداشته باشد یا این نگرانی همیشه با شما باشد که در صورت توسعه دسکتاپ ها و عدم ساپورت سخت افزارهای بیشتر بر روی سرور با مشکلات زیادی مواجه شوید. فراموش نکنید وقتی که سایزبندی و کانفیگ مموری برای ماشین مجازی را انجام می دهید هرگز مموری را بیش از اندازه نگیرید (over-commit). این کار باعث می شود که swap فایل متوقف شده و عواقب خوبی به همراه ندارد مثلا کاهش کارایی چشمگیری خواهید داشت.

مقایسه Linked clone و Full Clone:

دو نوع desktop image برای استفاده وجود دارد. Linked clone یا full clone. به صورت خلاصه، linked clone ها بوسیله replicate کردن یک گلدن ایمیج در داخل یک thin provisioned replica ساخته می شوند. این VM سایزی شبیه به فضای استفاده شده در داخل Golden Image دارد. تمام read ها از این VM انجام میشود وتعداد دسکتاپ ها در داخل pool ها اصلا مهم نیست. هر دسکتاپ یک delta دیسک برای نوشتن دیتا بر روی آن دارد که به رشد خود ادامه می دهد تا زمانی که بر روی linked clone عمل recompose، refresh یا delete صورت گیرد. یک full clone دقیقا همان چیزی است که وجود داشته و نمایش داده می شود یک کپی از golden image خودش و به اندازه ظرفیت خودش فضا اشغال می کند.

اگر فضای storage برای ما مهم است باید از linked cloned استفاده نماییم.هر چند نکات مهمی در استفاده از Linked cloneها وجود دارد و با استفاده از این قابلیت شما بعضی امکانات بالقوه را از دست می دهید مثلا:

  • VMware Mirage integration

وقتی حالت linked clone از بیرون بسیار جذاب بوده و قابلیت توسعه پذیری را به شما می دهد مسلما وسوسه میشوید تا از آن استفاده کنید اما همیشه بعنوان یک راهکار عالی محسوب نمی شود. وقتی از طراحی Full Clone بهره مند می شوید باید نکات طراحی مربوط به Storage را با حساسیت و دقت رعایت کنید. سازندگان Storage زیادی هستند که پیشنهاد re-duplication، compression و… را به شما میدهند اما گزینه انتخابی باید در جهت بالا رفتن کارایی و performance باشد.

Persistent در مقابل non-persistent

زمانی که مشغول تصمیم گیری جهت استفاده از linked clones یا full clones هستید، باید مشخص کنید که میخواهید از دیسک persistent  یا non-persistent برای دسکتاپ ها استفاده نمایید. با دسکتاپ های persistence کاربر یک دسکتاپ اختصاصی دارد، خواه به صورت دستی و یا خودکار به او داده شده باشد. و وقتی به دسکتاپ pool وصل می شود به دسکتاپ خودش هدایت می شود. با non-persistent دسکتاپ ها، کاربران به سمت دسکتاپ pool ی می روند که در آن قرار گرفته اند.در بسیاری از طراحی ها ، دسکتاپ هایی که به صورت linked clone وجود دارند non-persistent پیکربندی شده و full clone دسکتاپ ها به صورت persistent تنظیم شده اند. اما این موارد همیشگی نبوده و بر اساس طراحی شما متفاوت می باشد.

توصیه می شود، هر کجا که امکان دارد از non-persistent دسکتاپ هایی که بر اساس تقاضا برای استفاده از linked clone ها یا instant clones ها ساخته می شود استفاده نمایید.

پروفایل های کاربران می توانند با View Persona Management و  UEM ارائه شوند. Group Policy برای پیکربندی دسکتاپ ها و App Volume ها ارائه میشود. اگر نوع طراحی مناسب باشد می توانید ساده ترین راه در جهت refresh کردن دسکتاپ ها با کمترین تاثیر بر روی کاربران را ایجاد کنید. اگر طراحی شما طوری است که این امکان وجود ندارد سعی کنید بازنگری نسبت به آن داشته باشید زیرا این قابلیت بسیار کاربردی و مهم است. اگر حالت Persistence دسکتاپ را پیاده سازی کرده اید با توجه به ارزش دیتاها و یا تنظیماتی که در نظر گرفته اید در دسکتاپ های Full Clone Persistence جهت محافظت و نگهداری از موارد نام برده شده از راهکار Horizon Mirage استفاده نمایید.

Offline Desktop

دسکتاپ هایی می باشند که در هنگام عدم وجود ارتباط با سرورها (خواه ارتباط از طریق LAN یا WAN باشد) کار میکند.  در نسخه های قبلی View این قابلیت مورد استفاده قرار میگرفت. بدین صورت که سرور یک کپی از دسکتاپ کاربر را جابجا میکند تا کاربران بتوانند به صورت آفلاین مد از سیستم استفاده نمایند. زمانی که کانکشن ایجاد می شود، شما می توانید تغییرات دسکتاپ را در محیط مجازی sync کنید. پروسه انجام این کار زیاد پیچیده نمی باشد. اما برای کاربران دانلود و آپلود فایل ها بسیار زمانبر است. همینطور باید توجه داشته باشید که اغلب در طی اجرای فازهای POC ، Offline Mode مورد استفاده قرار میگیرد. بسیار به ندرت دیده شده که این قابلیت در محیط های عملیاتی اجرایی شود.

ساخت یک دسکتاپ ترکیبی

طراحی یک دسکتاپ منعطف قابلیتی برای ساخت و شخصی سازی لایه های مختلف دسکتاپ می باشد. لایه ها در این زمینه به صورت جزئی از دسکتاپ مثل OS، Persona  بعلاوه app ها ارائه می شوند.

این دسکتاپ ها فقط انعطاف پذیری بیشتری ندارند تا اجازه دهند یک Base Image مورد استفاده قرار گیرد. دیاگرام زیر یک دسکتاپ یوزر و تمام المان های کلیدی که کنترل و مدیریت می شوند را به تصویر میکشد.

 

تجربه ارائه دسکتاپ بوسیله PCoIP
بررسی پروتکل Blast Extreme
بررسی سخت افزارهای گرافیکی در Horizon View – بخش اول
بررسی سخت افزارهای گرافیکی در Horizon View – بخش دوم
پشتیبانی از ارتباطات یکپارچه (Unified Communication) در Horizon View
معیارهای موفقیت در پروژه VMware Horizon
طراحی محیط عملیاتی VMware Horizon : فاز سوم
بررسی نکات کلیدی و زیرساخت های مورد نیاز VMware Horizon
محاسبه IOPS (Input/Output operations Per Second) در طراحی Horizon View
بررسی Load Balancing در Horizon View

4 دیدگاه
  1. سید موسوی says

    تشکر.

    1. اشکان پزشکی says

      خواهش میکنم .

  2. payman007 says

    مثل همیشه عالی
    سپاس مهندس
    H@nif

    1. اشکان پزشکی says

      ممنونم. شما همیشه به بنده لطف دارید

دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.