اتصال چندکاربر به صورت همزمان در سرورمجازی

ویندوز سرور به‌صورت پیش‌فرض فقط دو نشست همزمان مدیریتی ریموت دسکتاپ را می‌پذیرد؛ این حالت برای مدیریت سرور در نظر گرفته شده، نه برای کار کردن چند کاربر. اگر می‌خواهید بیش از دو نفر همزمان روی سرور مجازی ویندوزی دسکتاپ داشته باشند، راه درست و قانونی نصب نقش Remote Desktop Session Host و تهیه لایسنس‌های RDS CAL است؛ نه دستکاری فایل‌های سیستمی.

پیش‌فرض واقعی ویندوز سرور چیست؟

تصور رایج این است که ریموت دسکتاپ فقط یک اتصال را قبول می‌کند. در عمل ویندوز سرور در حالت «Remote Desktop for Administration» دو نشست همزمان به‌علاوه نشست کنسول را در اختیار می‌گذارد. به همین دلیل وقتی نفر سوم وصل می‌شود، پیام قطع شدن یکی از کاربران یا خطای تعداد اتصال ظاهر می‌شود. توجه کنید که نسخه‌های دسکتاپی ویندوز (مثل ویندوز ۱۰ و ۱۱) اساساً از چند نشست همزمان پشتیبانی نمی‌کنند و برای این کار مناسب نیستند؛ سیستم‌عامل سرور لازم است. اگر نیاز شما فقط میزبانی یک وب‌سایت روی بستر ویندوز است، به‌جای سرور، هاست ویندوز ایران با کنترل‌پنل Plesk انتخاب ساده‌تری است.

سیاست Group Policy: چه کاری می‌کند و چه کاری نمی‌کند

سیاستی که در بسیاری از آموزش‌ها معرفی می‌شود، همچنان معتبر است اما هدفش را باید درست فهمید. مسیر آن در ویرایشگر gpedit.msc این‌گونه است:

Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections

گزینه Restrict Remote Desktop Services users to a single Remote Desktop Services session را روی Disabled بگذارید. اثر واقعی این تغییر فقط یک چیز است: اجازه می‌دهد یک حساب کاربری واحد بیش از یک نشست همزمان داشته باشد. این سیاست سقف دو نشست مدیریتی را بالا نمی‌برد و جای لایسنس را نمی‌گیرد.

گزینه Limit number of connections نیز در همین مسیر قرار دارد و با فعال کردن آن می‌توانید یک سقف عددی برای تعداد اتصال‌ها تعیین کنید. این تنظیم یک محدودکننده است، نه یک مجوزدهنده؛ یعنی می‌تواند تعداد را کمتر کند اما به‌تنهایی سرور را از دو نشست فراتر نمی‌برد.

راه درست: نقش RDSH به‌همراه لایسنس

برای اینکه چند کاربر واقعاً همزمان روی سرور کار کنند، باید نقش‌های Remote Desktop Services نصب شوند. در Server Manager از مسیر Add Roles and Features گزینه Remote Desktop Services installation را انتخاب کنید، یا با پاورشل نقش را نصب کنید:

Install-WindowsFeature RDS-RD-Server -IncludeManagementTools

پس از نصب، سرور یک دوره مهلت (Grace Period) دارد و سپس بدون سرور لایسنس، اتصال‌ها رد می‌شوند. بنابراین باید نقش RD Licensing را هم نصب و فعال کنید و لایسنس‌های RDS CAL را وارد نمایید. این لایسنس‌ها در دو مدل «به‌ازای کاربر» و «به‌ازای دستگاه» عرضه می‌شوند و انتخاب بین آن‌ها به الگوی استفاده تیم شما بستگی دارد. هزینه و شرایط تهیه CAL متغیر است و باید از کانال رسمی یا از طریق مشاوره پیش از خرید بررسی شود.

درباره پچ‌های «اتصال نامحدود» صادق باشیم

ابزارهایی که فایل termsrv.dll را دستکاری می‌کنند یا لایه‌ای شبیه RDP Wrapper نصب می‌کنند، در وب فارسی زیاد تبلیغ می‌شوند. سه ایراد جدی دارند: نقض شرایط لایسنس مایکروسافت هستند، با هر به‌روزرسانی امنیتی که آن فایل را جایگزین کند از کار می‌افتند و سرویس ریموت را قطع می‌کنند، و چون فایل سیستمی را تغییر می‌دهند سطح حمله سرور را بالا می‌برند. اگر سرور شما کاری تجاری انجام می‌دهد، این ریسک ارزشش را ندارد.

دیدن نشست‌ها و بستن نشست‌های رهاشده

بخش بزرگی از خطاهای «ظرفیت پر است» به کاربرانی برمی‌گردد که پنجره ریموت را بسته‌اند اما خروج نزده‌اند؛ نشست آن‌ها در حالت Disconnected باقی می‌ماند و ظرفیت را اشغال می‌کند. برای دیدن فهرست نشست‌ها در خط فرمان بنویسید:

quser

خروجی شامل نام کاربر، شناسه نشست (ID)، وضعیت و مدت بی‌کار بودن است. برای خروج اجباری یک نشست از شناسه آن استفاده کنید:

logoff 2

در محیط گرافیکی هم زبانه Users در Task Manager همین اطلاعات را نشان می‌دهد. برای اینکه این کار تکراری نشود، در Group Policy مسیر Remote Desktop Session Host > Session Time Limits را باز کنید و برای نشست‌های قطع‌شده و بی‌کار یک محدودیت زمانی تعیین کنید تا سیستم خودش آن‌ها را ببندد.

برنامه‌ریزی منابع برای چند دسکتاپ همزمان

هر نشست ریموت یک دسکتاپ کامل با پروفایل، مرورگر و برنامه‌های خودش است؛ بنابراین مصرف رم، پردازنده و دیسک تقریباً خطی با تعداد کاربران بالا می‌رود. میزان دقیق آن به نرم‌افزارهای مورد استفاده بستگی دارد و عدد ثابتی ندارد، اما دو نکته همیشه صادق است: کمبود رم باعث swap شدن و کندی محسوس همه کاربران می‌شود، و دیسک کند گلوگاه اصلی هنگام ورود همزمان چند نفر است. پیش از افزودن کاربر جدید، منابع سرور مجازی ایران خود را بررسی و در صورت نیاز ارتقا دهید؛ ساده‌ترین سنجه‌ها میزان رم آزاد در زبانه Performance و طول صف دیسک در ساعت اوج ورود کاربران است.

سه نکته پایانی

اول اینکه همه کاربرانِ یک سرور از یک آی‌پی عمومی به اینترنت می‌روند. اگر سرویسی که با آن کار می‌کنید نشست را به آی‌پی گره می‌زند یا استفاده مشترک را مجاز نمی‌داند، برای هر کاربر سرور جداگانه تهیه کنید. دوم اینکه نسخه ویندوز سرور خود را به‌روز نگه دارید؛ ویندوز سرور ۲۰۱۲ و ۲۰۱۲ R2 از اکتبر ۲۰۲۳ دیگر به‌روزرسانی امنیتی رایگان دریافت نمی‌کنند و اجرای یک سرویس ریموت دسکتاپ چندکاربره روی آن‌ها ریسک امنیتی جدی است. نسخه‌های پشتیبانی‌شده امروز را نصب کنید و وصله‌های ماهانه را عقب نیندازید.

سوم اینکه اگر تعداد کاربران و سنگینی نرم‌افزار از ظرفیت یک سرور مجازی فراتر رفت، به‌جای فشار آوردن به منابع مشترک، مهاجرت به سرور اختصاصی ایران گزینه پایدارتری است؛ در آنجا رم و پردازنده و دیسک تنها در اختیار همان چند دسکتاپ همزمان شماست.

ارسال نظر