سرویس Distributed Resource Scheduler یا همان DRS نام یک سرویس کاربردی و مهم در VMware Vsphere میباشد در این مطلب میخواهیم به بررسی این سرویس از نقطه نظر فنی بپردازیم.
البته در ویدیو "آموزش ساخت Host و Cluster در vSphere" وقتی داشتیم یک Cluster جدید ایجاد میکردیم، اشاره کوتاهی به قابلیت DRS داشتیم.
شرح قابلیت DRS به زبان ساده
به زبان ساده، DRS یک قابلیت از vSphere است که به ما امکان "تعدیل بار (یا همان Load Balancing)" و "برنامهریزی برای استفاده از منابع (یا همان Resource Scheduling)" را میدهد.
اگر بخواهیم اشاره کوچکی به هر یک از این موارد داشته باشیم:
تعدیل بار یعنی فشار کاری که برروی تجهیزات وجود داره رو بین تجهیزات تقسیم کنیم (اجازه ندهیم که یک تجهیز تحت فشار زیاد باشد در حالی که برروی تجهیزات دیگر فشار آنچنانی وجود ندارد.)
برنامه ریزی برای استفاده از منابع نیز مفهوم مشابهی دارد و به این معنی است که برای استفاده از منابع (مثل ظرفیت پردازشی تجهیزات یا همان CPUها، ظرفیت RAMها و ...) برنامهریزی داشته باشیم تا از ظرفیتهای موجود برروی تجهیزات بهترین استفاده را ببریم.
قبل از ادامه دادن بحث، یک یادآوری کوتاه از ساختار کلی تجهیزات بکنیم:
در vSphere یک Virtual Datacenter داریم. درون این دیتاسنتر چندین Cluster میتوانیم ایجاد کنیم و درون هر یک از این Clusterها چندین ESXI Host وجود دارد. در اصل Cluster این اجازه را به ما میدهد تا از منابع ESXIهای درون آن بصورت اشتراکی استفاده کنیم. این دقیقا همان ساختاری هست که داخل ویدیوهای دوره "دیتاسنتر مجازی VMware" بارها به آن اشاره کردیم.
بنابراین DRS برروی یک Cluster از Hostها (که در اینجا Hostها همان ESXIها هستند) تعریف میشود و یک سری امکانات مدیریتی به ما میدهد تا بتوانیم از تجهیزات خود بهینهتر استفاده کنیم.
طبیعی هست که اگر یک مدیرشبکه از طریق تنظیمات Cluster برای یکی از Hostها مقداری CPU و RAM اختصاص بدهد، چک کردن اینکه این Host از میزان تعیین شده CPU و RAM بیشتری مصرف نکند، به عهده DRS خواهد بود.
قابلیت DRS چگونه کار میکند؟
شاید مساله "تعدیل بار" و "برنامهریزی برای استفاده از منابع" در مورد یک شبکه ساده خیلی مهم نباشد، اما در اکثر وارد واقعی و سازمانی، یک امر بسیار مهم میباشد.
وقتی تعداد Clusterها و Hostهای شما به عنوان مدیر شبکه چند ده تا شود، به سادگی متوجه اهمیت این مهم خواهید شد.
در یک سازمان با چندین و چند ESXI Host که در هر لحظه بار کاری آنها (یا همان Workload) مدام در حال تغییر کردن باشد، با احتمال بالایی منابع بصورت نامتعادل استفاده خواهند شد. یعنی مثلا در اکثر مواقع اگر تجهیزات سازمان را مانیتور کنید، مشاهده میکنید که یک تجهیز در حال استفاده از 90% منابع خود است در حالی که دیگر تجهیزات کمتر از 10% منابع خود را استفاده میکنند. این اتفاق میتواند تا حد زیادی برروی کیفیت خدمات و کاربردهای سیستم تاثیر منفی بگذارد.
اما DRS چه کاری انجام میدهد؟...
سرویس DRS برای حل این مشکل، مرتبا تجهیزات را مانیتور میکند (بصورت پیشفرض هر 5 دقیقه) و هر بار اقدامات لازم برای برطرف کردن هرگونه عدم تعادل را انجام میدهد.
در اصل این سرویس، تعیین میکند که کدام VMها (Virtual Machine) از منتقل شدن از Host فعلی خود به یک Host دیگر بهره بیشتری میبرد. منظور از منتقل شدن، عملیات Migration است که توسط vMotion انجام میشود.
با این سازوکار DRS تضمین میکند که درون یک Cluster هر ماشین مجازی به منابع مورد نظر خود دست پیدا میکند.
پس ما با فعال کردن سرویس DRS در یک Cluster، تعدیل بار بین ESXIها را بوجود میآوریم.
اما اینکه DRS چطور این کار را انجام میدهد، به نحوه طراحی الگوریتمهای آن برمیگردد. یعنی DRS برای محاسبه بهینگی انتقال یک سری الگوریتم دارد. یعنی این سرویس هر بار عددی را به عنوان بهینگی یک انتقال تعیین میکند و سپس هر انتقالی که بهینگی بیشتری را برای سیستم داشته باشد، انجام میدهد. یکی از عوامل موثر در این الگوریتم، نیاز ماشین مجازی میباشد. یعنی ماشین مجازی که به میزان RAM و CPU بیشتری نیاز داشته باشد، از اولویت بالاتری برخوردار است.
سوالات و نظرات خود را پست کنید!
سلام
من از طریق یکی از فیلم های شما با سایت edu.tregence.ir آشنا شدم از اینکه این سایت پرمحتوا دیگر فعال نیست ناراحت شدم.
حقیقت وقتی اومدم و بلاگ شما رو مطالعه کردم و لینک هایی که داده بودید بیشتر ناراحت شدم.
اگرچه می دونم نگهداری یک سایت هزینه های خودش رو داره، امیدوارم بتونید به زودی و قویتر از گذشته دوباره به صحنه برگردید.