تفاوت VDI و RDS در این است که در RDS چند کاربر همزمان روی یک ویندوز سرور مشترک کار میکنند و هر کدام یک Session جدا دارند، اما در VDI هر کاربر یک ماشین مجازی ویندوز کلاینت، مثل ویندوز ۱۱، در اختیار دارد. RDS روی هر سرور کاربر بیشتری جا میدهد و برای کارمندانی که با چند نرمافزار ثابت کار میکنند مناسب است. VDI جداسازی بیشتر، سازگاری بهتر با نرمافزارهای دسکتاپی و امکان دسترسی مدیر روی ماشین را میدهد و در عوض منابع و لایسنس بیشتری میخواهد.
اگر با مفهوم هایپروایزر و ماشین مجازی آشنا نیستید، اول مجازیسازی چیست و چگونه کار میکند را بخوانید. معماری Horizon و مراحل اجرای آن در صفحه راهاندازی VDI و مجازیسازی دسکتاپ با Omnissa Horizon آمده است و این راهنما فقط به انتخاب بین دو مدل میپردازد. اطلاعات بر اساس مستندات Microsoft و Omnissa تا شهریور ۱۴۰۵ نوشته شده است.
RDS و VDI هر کدام چطور کار میکنند؟
RDS: چند کاربر روی یک ویندوز سرور
Remote Desktop Services نقش داخلی ویندوز سرور است. سرور RD Session Host (RDSH) میزبان دسکتاپ کاربران و برنامههای RemoteApp است؛ برنامه RemoteApp روی سرور اجرا میشود ولی پنجرهاش روی سیستم کاربر مثل یک برنامه محلی باز میشود. طبق مستندات Microsoft، بقیه نقشها این کارها را انجام میدهند:
- RD Connection Broker کاربران را بین سرورها پخش میکند و هنگام قطع و وصل، کاربر را به همان Session قبلی برمیگرداند.
- RD Web Access پرتال وب و فهرست دسکتاپها و برنامههای مجاز هر کاربر را نمایش میدهد.
- RD Gateway ترافیک RDP را داخل HTTPS روی پورت 443 میبرد تا پورت RDP سرورها به اینترنت باز نشود.
- RD Licensing لایسنسهای RDS CAL را بهصورت کاربری یا دستگاهی صادر و ردیابی میکند.
VDI: یک ماشین ویندوز برای هر کاربر
در VDI روی یک کلاستر هایپروایزر، برای کاربران ماشین مجازی ویندوز کلاینت ساخته میشود و یک Broker کاربر را به ماشینش وصل میکند. در مدل Pooled، کاربر هر بار به یک ماشین آزاد از استخر وصل میشود و تغییرات ماشین پس از خروج پاک یا بازنشانی میشود. در مدل Personal هر کاربر ماشین ثابت خودش را دارد و تغییراتش باقی میماند.
یک نکته اسمی باعث سردرگمی میشود: RDS مایکروسافت خودش هم میتواند VDI بسازد. نقش RD Virtualization Host روی Hyper-V مجموعههای VDI از نوع Pooled یا Personal را میزبانی میکند. در مقابل، Omnissa Horizon (نام قبلی VMware Horizon) هم علاوه بر VDI، فارم RDSH برای دسکتاپ و برنامه منتشرشده دارد. پس انتخاب اصلی بین «Session روی ویندوز سرور مشترک» و «ماشین مجازی اختصاصی» است و نام محصول در درجه دوم قرار میگیرد.
تفاوت VDI و RDS در یک جدول
| موضوع | RDS مبتنی بر Session | VDI |
|---|---|---|
| سیستمعامل کاربر | ویندوز سرور مشترک | ویندوز کلاینت در ماشین مجازی |
| جداسازی | کاربران یک سیستمعامل را شریکاند؛ پردازش سنگین یک نفر روی بقیه اثر میگذارد | هر کاربر ماشین جدا دارد و خرابی یک ماشین به بقیه نمیرسد |
| تراکم کاربر روی سرور | بیشترین تراکم و کمترین هزینه برای هر کاربر | تراکم کمتر؛ Personal کمترین تراکم را دارد |
| دسترسی مدیر برای کاربر | معمولاً داده نمیشود | در صورت نیاز روی ماشین خود کاربر ممکن است |
| سازگاری نرمافزار | نرمافزار باید چندکاربره روی ویندوز سرور را پشتیبانی کند | مثل یک کامپیوتر معمولی رفتار میکند |
| نگهداری | وصله و نصب نرمافزار روی چند سرور | مدیریت ایمیج مرجع و بهروزرسانی استخر ماشینها |
| زیرساخت | چند سرور Session Host، Broker، Gateway و سرور لایسنس | کلاستر هایپروایزر، ذخیرهسازی اشتراکی، Broker و مدیریت ایمیج |
| لایسنس مایکروسافت | ویندوز سرور و RDS CAL | حق مجازیسازی ویندوز کلاینت (VDA یا Microsoft 365 E3/E5) و لایسنس Broker |
| گرافیک و GPU | GPU سرور بین کاربران تقسیم میشود | امکان اختصاص GPU مجازی یا فیزیکی به ماشین کاربر |
RDS برای چه سازمانی مناسب است؟
وقتی بیشتر کارمندان با چند نرمافزار مشخص مثل سامانه حسابداری، ERP، اتوماسیون اداری و مرورگر کار میکنند، RDS سادهترین و کمهزینهترین مسیر است. شعبهها و کاربران دورکار فقط RemoteApp همان نرمافزار را میبینند و دادهها در مرکز داده میمانند. نصب و وصله نرمافزار هم به جای دهها کامپیوتر، روی چند سرور انجام میشود.
پیش از انتخاب RDS این موارد را بررسی کنید:
- نرمافزار روی ویندوز سرور و در حالت چندکاربره پشتیبانی میشود یا نه. برنامههایی که تنظیمات را در مسیرهای مشترک ماشین مینویسند، یا لایسنسشان به سختافزار و آدرس MAC قفل است، اغلب مشکلساز میشوند.
- کاربرانی که پردازش سنگین دارند، مثل گزارشگیریهای طولانی یا طراحی، روی سرور مشترک بقیه را کند میکنند.
- ریاستارت یک Session Host همه کاربران آن سرور را قطع میکند، پس دستکم دو سرور و برنامه وصله نوبتی لازم است.
- درایور چاپگرها و نقشهبرداری چاپگر محلی کاربران را از قبل تست کنید.
استقرار استاندارد RDS به دامنه Active Directory نیاز دارد. نمونه زیر با ماژول RemoteDesktop در PowerShell یک استقرار Session-based و یک Collection میسازد؛ نام سرورها را با سرورهای خودتان عوض کنید و ابتدا در محیط آزمایشی اجرا کنید:
Import-Module RemoteDesktop
New-RDSessionDeployment -ConnectionBroker rdcb01.corp.local `
-WebAccessServer rdweb01.corp.local -SessionHost rdsh01.corp.local
New-RDSessionCollection -CollectionName "Accounting" `
-SessionHost rdsh01.corp.local -ConnectionBroker rdcb01.corp.local
Set-RDLicenseConfiguration -LicenseServer rdlic01.corp.local `
-Mode PerUser -ConnectionBroker rdcb01.corp.localبرای طراحی دامنه و Group Policyهای مربوط به Session Hostها، Active Directory در ویندوز سرور را ببینید.
VDI برای چه سازمانی مناسب است؟
VDI وقتی ارزش هزینه بیشترش را دارد که کاربران به محیطی شبیه کامپیوتر شخصی نیاز دارند. برنامهنویسهایی که ابزار نصب میکنند، طراحانی که GPU لازم دارند، نرمافزارهایی که فقط روی ویندوز کلاینت پشتیبانی میشوند و پیمانکارانی که باید محیطشان از بقیه شبکه جدا باشد، نمونههای رایجاند.
در Horizon، استخر Instant Clone ماشینها را از یک ایمیج مرجع میسازد؛ بهروزرسانی ایمیج یک بار انجام میشود و به همه ماشینهای استخر میرسد. Horizon 8 طبق صفحه محصول Omnissa روی vSphere، Nutanix AHV، OpenStack و چند ابر عمومی قابل استقرار است. اگر زیرساخت شما vSphere است، آمادهسازی هاستها و vCenter بخشی از پروژه است که در راهاندازی VMware و vCenter توضیح داده شده است.
هزینه پنهان VDI در ذخیرهسازی است. وقتی صبحها دهها کاربر همزمان وارد میشوند، ماشینها همزمان بوت میشوند و پروفایل بارگذاری میکنند و استوریج کند زیر این بار کل تجربه کاربری را خراب میکند.
مدل ترکیبی: RDS برای بیشتر کاربران، VDI برای گروههای خاص
بسیاری از سازمانها هر دو مدل را کنار هم دارند. برای مثال، واحدهای مالی و اداری از RemoteApp روی فارم RDSH استفاده میکنند و تیم توسعه یا طراحی ماشین VDI اختصاصی دارد. Microsoft و Omnissa هر دو این ترکیب را در یک Broker و یک پرتال پشتیبانی میکنند، پس کاربر فقط فهرست دسکتاپها و برنامههای مجاز خودش را میبیند.
چکلیست انتخاب بین VDI و RDS
- فهرست نرمافزارها را تهیه کنید و از سازنده هر کدام بپرسید آیا روی ویندوز سرور چندکاربره پشتیبانی میشود.
- کاربران را گروهبندی کنید: کاربر سبک با چند نرمافزار ثابت، کاربر دانشی، و کاربر سنگین یا نیازمند GPU.
- مشخص کنید چه کسانی به دسترسی مدیر یا نصب نرمافزار نیاز دارند.
- تعداد کاربران همزمان در ساعت اوج را از روی داده واقعی بشمارید، نه تعداد کل کارمندان.
- مسیر تهیه لایسنس هر مدل را پیش از طراحی روشن کنید.
- یک Pilot با کاربران واقعی و نرمافزارهای واقعی اجرا کنید و زمان ورود، کندی و خطاها را ثبت کنید.
اگر بیشتر پاسخها به «نرمافزار ثابت، بدون دسترسی مدیر» میرسد، از RDS شروع کنید. اگر گروه بزرگی به ویندوز کلاینت، GPU یا جداسازی نیاز دارد، VDI یا مدل ترکیبی را طراحی کنید.
لایسنس RDS و VDI را چطور برآورد کنیم؟
در RDS، هر سرور Session Host به لایسنس ویندوز سرور نیاز دارد و هر کاربر یا دستگاهی که وصل میشود به RDS CAL؛ این CALها روی سرور RD Licensing فعال میشوند. اگر بیشتر کارمندان از چند دستگاه وصل میشوند، CAL کاربری معمولاً سادهتر است و اگر چند شیفت از یک دستگاه مشترک استفاده میکنند، CAL دستگاهی.
در VDI با ویندوز ۱۱، طبق راهنمای لایسنس Microsoft برای دسکتاپ مجازی، کاربر باید حق مجازیسازی ویندوز داشته باشد؛ این حق از طریق Windows Enterprise E3/E5 در Microsoft 365 یا لایسنس Windows VDA تأمین میشود. لایسنس Broker، مثلاً Horizon، هم جداگانه حساب میشود. خرید رسمی این لایسنسها از ایران ساده نیست، پس مسیر تهیه را پیش از طراحی نهایی مشخص کنید؛ برای لایسنسهای مایکروسافت، صفحه لایسنس سازمانی ویندوز سرور و CAL را ببینید.
ظرفیت، ذخیرهسازی و شبکه
عددهای کلی مثل «چند کاربر روی هر سرور» در عمل کمک زیادی نمیکنند، چون مصرف CPU و حافظه به نرمافزار و رفتار کاربر بستگی دارد. مصرف چند کامپیوتر فعلی را از هر گروه کاربری با Performance Monitor در یک هفته کاری ثبت کنید و ظرفیت را بر اساس ساعت اوج بچینید.
پروفایل کاربران را روی سرور فایل و با روشی مثل FSLogix Profile Container نگه دارید تا Session Host یا ماشین Pooled بدون از دست رفتن تنظیمات کاربر قابل جایگزینی باشد. در شبکه، تأخیر بیشتر از پهنای باند روی تجربه کاربر اثر دارد. برای اتصال شعبهها، VPN سازمانی بین شعب و برای کاربران بیرون از سازمان، RD Gateway یا Unified Access Gateway در Horizon را روی پورت 443 به کار بگیرید و پورت 3389 را مستقیم روی اینترنت باز نکنید.
اشتباهات رایج در پروژههای VDI و RDS
- انتخاب VDI برای همه کاربران، در حالی که بیشترشان فقط یک یا دو نرمافزار ثابت دارند.
- نصب همه نقشهای RDS روی یک سرور تک؛ با خرابی آن سرور، هیچ کاربری نمیتواند کار کند.
- طراحی ذخیرهسازی VDI بدون در نظر گرفتن بار همزمان ورود کاربران در شروع روز کاری.
- باز گذاشتن Clipboard، درایو محلی و USB برای همه کاربران، بدون سیاست مشخص از طریق Group Policy.
- خرید سختافزار پیش از Pilot و بدون داده مصرف واقعی.
سوالات متداول
آیا RDS همان Remote Desktop معمولی ویندوز سرور است؟
خیر. ویندوز سرور بهصورت پیشفرض فقط دو اتصال همزمان برای مدیریت سرور اجازه میدهد. برای اینکه کارمندان روی سرور کار کنند، نقش RD Session Host و RDS CAL لازم است.
آیا VDI بدون VMware ممکن است؟
بله. RDS مایکروسافت با نقش RD Virtualization Host روی Hyper-V مجموعه VDI میسازد و Horizon 8 هم علاوه بر vSphere روی Nutanix AHV، OpenStack و چند ابر عمومی پشتیبانی میشود.
کدام مدل هزینه کمتری دارد؟
برای هر کاربر، RDS مبتنی بر Session معمولاً هزینه سختافزار و لایسنس کمتری دارد، چون کاربران بیشتری روی هر سرور جا میگیرند. VDI Personal بیشترین منابع را برای هر کاربر مصرف میکند و Pooled بین این دو قرار میگیرد.
نرمافزار حسابداری روی RDS اجرا میشود؟
بیشتر نرمافزارهای تحت شبکه روی RDS کار میکنند، اما پشتیبانی رسمی از ویندوز سرور چندکاربره را از سازنده بپرسید و آن را در Pilot با چند کاربر همزمان تست کنید. برخی نرمافزارها قفل سختافزاری یا لایسنس وابسته به دستگاه دارند.





