VDI چيست؟

VDI چيست؟
VDI که سرمخفف Virtual Desktop Infrastructure است، نگاه و روش جديدي است براي کاربري Desktop . در اين روش سيستم عامل Desktop بصورت مجازي بر روي سرورها نصب ميشود. مجازي سازي سرورها از چندين سال قبل بسيار رايج شده است با اين هدف که بتوان چندين سرور مختلف را بصورت همزمان بر روي يک سرور فيزيکي نصب و مستقلاً اجرا کرد. در حال حاضر به علت مزايايي که اين روش دارد از همين تکنولوژي براي Desktop ها نيز استفاده ميشود و استفاده از آن روز به روز بيشتر ميشود به نحويکه در آينده کاملاً جايگزين PC هاي فيزيکي خواهد شد. در گام بعدي و با استفاده از تکنولوژي Cloud، همانند ساير سرويسهاي رايج امروزي مثل ايميل، Desktop نيز بصورت يک سرويس در اختيار کاربران قرار ميگيرد. اما مزايا و معايب اين روش چيست و چه راه حل هايي براي دستيابي به اين تکنولوژي وجود دارد که در قسمت هاي بعدي به آنها مي پردازيم ولي قبل از آن لازم است به روش ديگري نيز در زمينه استفاده از يک محيط Desktop اشاره کنيم:
Terminal Service
تا قبل از اينکه VDI به شکل امروزي مطرح شود که براي هر کاربر يک OS مستقل در نظر گرفته شود، راه حل ديگري براي جايگزيني PC وجود داشت و دارد و آن استفاده همزمان چندين کاربر از يک سيستم عامل است که اصطلاحاً به آن Terminal Service گفته ميشود. با توجه به قدرت روز افزرون سخت افزارهاي موجود و اينکه در حالت عادي يک کاربر توان محدودي از يک PC را صرف کارهاي خود ميکند اين ايده مطرح شد که امکان اتصال همزمان چندين کاربر به OS فراهم شود. مثلاً به اين منظور شرکت Microsoft در سيستم عامل هاي سرور سرويسي قرار داد به نام Terminal Service که اين امکان را فراهم ميکرد. براي اتصال کاربران به سرور از روشهاي مختلفي ميتوان استفاده کرد که يکي نصب برنامه کلاينت Terminal Service يا همان Remote Desktop در ويندوز ديگري است که بدين منظور نياز به يک PC ديگر وجود دارد. استفاده از اين روش در حقيقت همان قضيه مرغ و تخم مرغ است و کاربر را از PC بي نياز نمي کند لذا شرکتها سخت افزارهاي ديگري مبتني بر ساختار PC ارائه کردند که داراي سخت افزار ضعيفي هستند و فقط وظيفه اتصال کاربر به سرور را بر عهده دارند و قرار نيست برنامه ديگري بر روي آنها نصب شود. به اين نوع نگرش و سخت افزار اصطلاحاً Thin Client گفته مي شود. البته Thin Client نياز به OS دارد و براي آنها سيستم عامل هاي خاصي نيز توسعه يافته است همانند Windows Embedded و Linux هاي خاص.
در حال حاضر ايده Terminal Service همچنان وجود دارد و VDI در حقيقت روش تکميل شده آن است که يک OS يا Desktop را بصورت کامل در اختيار يک کاربر قرار ميدهد. استفاده از Remote Desktop به جز کاربردهاي Administration بخصوص در مورد سرورها خيلي رايج نشد چون به علت ضعف پروتکلهاي ارتباطي کاربران به دلايل گوناگون تجربه خوبي نخواهند داشت مثلاً در مورد اجراي ويدئو و کارهاي گرافيکي. نکته منفي ديگر اين است که يک کاربر ميتواند با اجراي برنامه هاي سنگين، کار کاربران ديگر را مختل کند چون همگي بر روي يک سيستم عامل کار ميکنند. با گذشت زمان هم اکنون ترمينالهاي مختلفي براي اتصال کاربر به سيستم عامل ديگر ايجاد شده است همانند Tablet ها يا Smart Phone.

توضيح بيشتري در مورد روش VDI
لازم است تا کمي در مورد VDI توضيحات کاملتري داده شود که در ادامه بتوان با استناد به اين توضيحات مسائل مختلف در اين زمينه را مطرح کرد. همانطور که گفته شد در اين روش سيستم عامل Desktop همانند سيستم عامل سرور بر روي يک سرور فيزيکي بصورت مجازي نصب مي شود. تنها تفاوت VDI با Server Virtualization در اين مورد نوع سيستم عامل است و هيچ فرقي با يکديگر ندارند. مثلاً فرقي نميکند که يک ويندور 7 را بصورت مجازي نصب کنيم يا يکي ويندوز سرور 2008 R2. تفاوت اصلي VDI با مجازي سازي سرورها در اين است که VDI نياز به روش خاصي دارد که کاربر بتواند به Desktop متصل شود و کارهاي خود را انجام دهد. به اين منظور علاوه بر برنامه هاي رايج، برنامه يا Agent ديگري بر روي سيستم عامل Desktop نصب ميشود که وظيفه آن دريافت و ارسال اطلاعات گرافيکي، کيبورد و موس است. در حقيقت اين برنامه رابط بين محيط گرافيکي سيستم عامل و برنامه کلاينت کاربر را برقرار ميکند که همانند KVM over Net است.
يکي از مسائل و شروط مهم در اين زمينه اين است که نحوه ارتباط بايستي کمترين تاثير را بر روي کار کاربر داشته باشد و به نوعي کاربر احساس کار مستقيم با PC را داشته باشد. عمده تلاشها در حال حاضر در اين قسمت است و سعي ميشود که تا حد ممکن کيفيت و کارايي پروتکل هاي ارتباطي افزايش يابد و از طرف ديگر سخت افزار مورد نياز براي اتصال کاربر به VDI تا حد ممکن ساده تر و ارزانتر شود. در ادامه توجه خود را معطوف انواع پروتکلهاي مطرح در اين زمينه و راه حلهاي اتصال کاربر يا به عبارت ديگر Endpoint ميکنيم ولي قبل از آن به مزايا و معايب VDI مي پردازيم:
(در نظر داشته باشيد که براي اينکه کاربر حداکثر کيفيت کار با Desktop را داشته باشد، بايستي خروجي حافظه کارت گرافيکي يا همان Framebuffer بصورت Realtime و از طريق شبکه در اختيار کاربر قرار گيرد. مثلاٌ در مورد يک Desktop با رزولوشن 1027*1280 32bit و با نرخ تکرار 25 فريم بر ثانيه نياز به نرخ بيت 1024*1280*32*25=1000Mb/s است که نرخ بيت بسيار بالايي است. به اين ترتيب اهميت پروتکل ارتباطي مشخص ميشود که بايستي با فشرده سازي خروجي کارت گرافيکي، تا حد ممکن نرخ بيت کمتري براي کاربر ايجاد کند تا کاربر حس خوبي در ارتباط با محيط Desktop مجازي داشته باشد.)

مزاياي VDI
در اين قسمت بايستي اين بررسي صورت گيرد که با استفاده از روش VDI آيا معايب PC بر طرف ميشود يا نه؟ جواب به اين سوال با اين فرض است که کاربر ميتواند تمام کارهاي خود همانند زمانيکه با PC کار ميکند را انجام دهد. مثلاً در مورد اجراي ويدئو هيچ مشکلي ندارد. با اين فرض مزاياي VDI را ميتوان برشمرد:
- با اين فرض که سيستم اتصال کاربر يا همان Endpoint ساده ترين حالت ممکن را دارد و به نحوي نباشد که به اين منظور PC يا Thin Client مشابهي قرار داده شود، تمام مسائل مربوط به نگهداري و پشتيباني سيستم هاي PC از بين ميرود.
- هيچگونه اطلاعات اصلي بر روي سيستم هاي Endpoint منتقل نميشود و کاربر فقط دسترسي به اطلاعات گرافيکي سيستم ريموت دارد. در حقيقت کاربر عکس يا به عبارت بهتر ويدئوي اطلاعات نمايش داده شده را مي بيند.
- تمام مزاياي Server Virtualization شامل VDI نيز ميشود. مثلاً با اين روش برنامه ها و سيستم عامل از نوع سخت افزار فيزيکي مجزا ميشوند و از سخت افزار موجود بهره برداري بيشتري ميشود.
- جداي از مسائل امنيتي مطرح که در اين روش امنيت بالاتر ميرود، نکته حائز اهميت ديگر هزينه تمام شده اين روش است. با بررسي هاي انجام شده که شرح آن خارج از حوصله اين گفتار است، TCO اين روش در حال حاضر بين 10 تا 15 درصد از روش PC بهتر است.
- با بکارگيري ابزارهاي جانبي VDI، امکان نصب همزمان سيستم عامل و برنامه ها و همچنين آپديت آنها بصورت يکجا انجام ميشود. در حقيقت در اين روش يک الگو يا Template اصلي ساخته ميشود و بقيه ماشينها يا سيستم عامل ها از روي اين الگو ساخته ميشوند. در مورد تغييرات جديد نيز اين امکان وجود دارد که تغييرات را بصورت يکجا اعمال کرد.
- اين امکان وجود دارد که کاربر براي کاربري هاي مختلف همانند نيوزروم و اينترنت به سيستم هاي مختلفي متصل شود.
مزاياي اين روش به مرور زمان بيشتر ميشود و دلايل توجيهي حرکت به اين سمت منطقي تر ميشود.
معايب VDI
علاوه بر مزايا، اين روش داراي معايبي نيز مي باشد که البته به مرور زمان و با حل مسائل مختلف تعدادي از آنها از بين ميرود. تعدادي از آنها را ميتوان به اين ترتيب برشمرد:
- در بهترين حالت پروتکل ارتباطي و انتخاب Endpoint مناسب، کاربر تجربه کار مستقيم بر روي يک PC را ندارد. همانطور که عنوان شد اين مشکل به مرور زمان حل شدني است و User experience بهبود مي يابد.
- VDI هزينه اوليه بالايي دارد البته همانطور که گفته شد TCO نسبت به PC در حالت کلي کمتر است ولي هزينه اوليه بالا حرکت به اين سمت را کندتر ميکند. همچنين VDI ملزوماتي همانند CPU، رم، شبکه و ذخيره ساز دارد که بايد مطابق محاسبات در نظر گرفته شوند.
- با متمرکز شدن Desktop ها در سرور روم، چنانچه سروري از کار بيافتد امکان مختل شدن کار تعداد زيادي کاربر زياد ميشود. البته با مزاياي مجازي سازي ميتوان اين مشکل را حل کرد که به نوبه خود هزينه ها را بالاتر ميبرد.
شکل زير که يک "انفوگرافيک" است که اطلاعات آماري جالبي درباره چرايي و چگونگي انتخاب راه حلهاي مختلف VDI و مجازي سازي Desktop در آن ذکر شده است:
براي واضح تر ديدن تصوير روي آن کليک کنيد
ملزومات VDI
براي حرکت به سمت VDI بايستي ملاحظات يا به عبارتي اجزاي مناسبي را انتخاب کرد تا علاوه بر حل مشکلات، کاربر نيز رضايت خاطر داشته باشد. اهم اين مسائل به شرح زير مي باشد:
- انتخاب مناسب پروتکل ارتباطي: نوع پروتکل و اينکه چه قابليتهايي داشته باشد در تجربه کاري کاربر تاثير دارد. البته شرايط کاري نيز مهم است و گاهي لازم است براي موارد مختلف از راه حلهاي مختلفي نيز استفاده شود. مثلاً مابين اينکه کاربر از طريق شبکه LAN مي خواهد به Desktop متصل شود و يا شبکه اينترنت با تاخير زياد تفاوت وجود دارد.
- انتخاب مناسب Endpoint: در اين مورد بايستي امکانات و کيفيت کاري در نظر گرفته شود. اين سيستم بايستي کمترين شباهت را با يک PC معمول داشته باشد. البته ممکن است در شروع کار از PC هاي موجود و تا پايان عمرشان استفاده کرد و اين مورد درباره خريد هاي جديد مطرح است. اگرچه انتخاب Thin client نيز يک راه حل ممکن است ولي در اين حالت نيز شباهت زيادي با يک PC معمول ديده ميشود.
- انتخاب راه حل مجازي سازي: همانطور که گفته شده اساس کار VDI مجازي سازي است. در اين مورد بايستي يکي از تکنولوژي هاي موجود را استفاده کرد تا داراي بيشترين مزايا باشد. البته انتخاب اين موضوع گاهي اوقات با نوع پروتکل و endpoint نيز در ارتباط است و بايستي اين سه موضوع با يکديگر بررسي شوند.
- انتخاب Connection Broker: طبيعي است که کاربران نميتوانند براي دسترسي به Desktop خود بصورت مستقيم عمل کنند و هر کدام مشخصات يا IP سيستم مورد نظر را بدانند. گاهي اوقات نيز لازم است Desktop ها بصورت شناور به کاربران اختصاص داده شوند بدين منظور از ابزار ديگري استفاده ميشود به نام Connection Broker که وظيفه تخصيص و اتصال کاربران به Desktop هاي مشخص شده براي آنها را بر عهده دارد.
- شيوه ايجاد سيستم عامل ها: طبيعي است که نميتوان تعداد زيادي سيستم عامل را بصورت دستي و تک تک ايجاد کرد. بدين منظور ابزارهاي خاصي وجود دارد که با استفاده از يک الگوي از پيش تنظيم شده، به تعداد لازم سيستم عامل Desktop ايجاد مي کند و تغييرات لازم همانند اسم کامپيوتر و اتصال به Domain را بصورت اتوماتيک انجام ميدهد.
- در نظر گرفتن ذخيره ساز مناسب: يکي از مزاياي VDI اين است که به هرکدام از Desktop ها متناسب با تغييرات مورد نياز فضاي ذخيره ساز اختصاص داده ميشود. در صورتيکه Desktop ها از يک الگو ساخته شده باشند، حجم مورد نياز خيلي کمتر از تعداد سيستمها در فضاي ديسک يک سيستم تکي است. در حقيقت براي نگهداري ديتاي مشابه، فضاي اضافي مصرف نميشود. نکته مهم در مورد ذخيره ساز، تعداد دسترسي يا به عبارتي IOPS است. اين عدد براي تعداد مشخصي Desktop محاسبه شده و بر اساس آن تعداد هارد مورد نياز مشخص ميشود. معمولاً براي هر سيستم عامل عددي مابين 10 تا 15 IOPS در نظر گرفته ميشود. البته جهت بالابردن کارايي سيستم و جلوگيري از افزايش تعداد هاردها، معماريهاي جديدي نيز توسط شرکت هاي مطرح در زمينه ذخيره ساز همانند EMC انجام شده است که در مورد پروژه هاي جديد ميتوان از آنها استفاده کرد.
- حجم پردازشي: بر اساس سرعت مورد نياز براي هر سيستم Desktop و تعداد CPU ها و Core هايي که ميتوان بر روي يک سرور قرار داد، تعداد سرورهاي مورد نياز مشخص ميشود.
- در نظر گرفتن رم مورد نياز: اين مقدار نيز بر اساس تعداد ماشينهاي مورد نياز مشخص ميشود و در بهترين حالت مساويست با تعداد سيستم ها در مقدار رم اختصاص داده شده به هر کدام. البته با بکارگيري تکنولوژي هاي جديد همانند به اشتراک گذاري صفحات مشابه رم، در عمل اين مقدار کمي کمتر است.
- ساختار شبکه: محاسبه ترافيک ديتا در مورد VDI کمي متفاوت تر از حالت PC است زيرا علاوه بر جابجايي ديتاي واقعي درون سرورهاي مجازي و سروهاي اصلي همانند ويدئوسرورها و ديتابيسها، بايستي ترافيک حاصل از پروتکل ارتباطي را نيز در نظر گرفت. اين مقدار بستگي به کار کاربران دارد ولي در حالتيکه تحرک Desktop زياد است همانند زمانيکه ويدئو اجرا ميشود اين عدد ممکن است مابين 10 تا 20 مگابيت بر ثانيه باشد.
با تشکر از دوست و همکار عزيزم جناب آقاي مهندس قلعه نويي

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