فشرده سازی ویندوز سرور روی یک VPS کم مصرف با استفاده از Windows Server Core

فشرده سازی ویندوز سرور روی یک VPS کم مصرف با استفاده از Windows Server Core
به دلیل پر خوری سیستم های ویندوز، محیط VPS تحت تسلط توزیع های سبک وزن لینوکس است: Mint، Colibri OS، Debian یا Ubuntu، بدون محیط دسکتاپ سنگین که برای اهداف ما غیر ضروری است. همانطور که می گویند، فقط کنسول، فقط هاردکور! و در واقع، این به هیچ وجه اغراق آمیز نیست: همان دبیان با 256 مگابایت حافظه و یک هسته با ساعت 1 گیگاهرتز شروع می شود، یعنی تقریباً بر روی هر "استامپ". برای کار راحت به حداقل 512 مگابایت و یک پردازنده کمی سریعتر نیاز دارید. اما اگر به شما بگوییم که می‌توانید تقریباً همین کار را روی یک VPS با ویندوز انجام دهید، چه؟ چرا نیازی به راه اندازی یک ویندوز سرور سنگین ندارید که به سه تا چهار هکتار رم و حداقل چند هسته با کلاک 1,4 گیگاهرتز نیاز دارد؟ فقط از Windows Server Core استفاده کنید - از شر رابط کاربری گرافیکی و برخی خدمات خلاص شوید. ما در مورد نحوه انجام این کار در مقاله صحبت خواهیم کرد.

این هسته سرور ویندوز کیست؟

حتی در وب سایت رسمی Mikes هیچ اطلاعات روشنی در مورد اینکه Windows (سرور) Core چیست، وجود ندارد، یا بهتر است بگوییم، همه چیز در آنجا آنقدر گیج کننده است که بلافاصله متوجه نخواهید شد، اما اولین اشاره ها به دوران Windows Server 2008 برمی گردد. اساساً، Windows Core یک سرور هسته ویندوز در حال کار است (ناگهان!)، به اندازه رابط کاربری گرافیکی خودش و تقریباً نیمی از سرویس‌های جانبی، «نازک‌تر» است.

ویژگی اصلی Windows Core سخت افزار بی نیاز آن و کنترل کامل کنسول از طریق PowerShell است.

اگر به وب سایت مایکروسافت بروید و الزامات فنی را بررسی کنید، برای راه اندازی ویندوز سرور 2016/2019 به حداقل 2 گیگ رم و حداقل یک هسته با سرعت کلاک 1,4 گیگاهرتز نیاز دارید. اما همه ما می‌دانیم که با چنین پیکربندی فقط می‌توان انتظار داشت که سیستم شروع به کار کند، اما مطمئناً عملکرد راحت سیستم عامل ما نیست. به همین دلیل است که ویندوز سرور معمولاً به جای یک ماشین مجازی ارزان قیمت، در صورتی که یک ماشین فیزیکی گران قیمت را در برخی از Xeon به آن ارائه ندهد، حافظه بیشتری و حداقل 2 هسته / 4 رشته از پردازنده به آن اختصاص می‌دهد.

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

در اینجا مقایسه ای از خدمات Windows Core پشتیبانی شده خارج از جعبه و یک سرور کامل ویندوز از وب سایت رسمی مایکروسافت آورده شده است:

استفاده
هسته سرور
سرور باتجربه دسکتاپ

خط فرمان
در دسترس
در دسترس

Windows PowerShell/Microsoft.NET
در دسترس
در دسترس

Perfmon.exe
در دسترس نیست
در دسترس

Windbg (GUI)
پشتیبانی
در دسترس

Resmon.exe
در دسترس نیست
در دسترس

REGEDIT
در دسترس
در دسترس

Fsutil.exe
در دسترس
در دسترس

Disksnapshot.exe
در دسترس نیست
در دسترس

Diskpart.exe
در دسترس
در دسترس

Diskmgmt. msc
در دسترس نیست
در دسترس

devmgmt.msc
در دسترس نیست
در دسترس

مدیریت سرور
در دسترس نیست
در دسترس

mmc.exe
در دسترس نیست
در دسترس

Eventvwr
در دسترس نیست
در دسترس

Wevtutil (پرس و جوهای رویداد)
در دسترس
در دسترس

Services.msc
در دسترس نیست
در دسترس

صفحه کنترل
در دسترس نیست
در دسترس

به روز رسانی ویندوز (GUI)
در دسترس نیست
در دسترس

ویندوز اکسپلورر
در دسترس نیست
در دسترس

نوار وظیفه
در دسترس نیست
در دسترس

اعلان های نوار وظیفه
در دسترس نیست
در دسترس

taskmgr
در دسترس
در دسترس

اینترنت اکسپلورر یا اج
در دسترس نیست
در دسترس

سیستم کمک داخلی
در دسترس نیست
در دسترس

Windows 10 Shell
در دسترس نیست
در دسترس

ویندوز مدیا پلیر
در دسترس نیست
در دسترس

PowerShell را
در دسترس
در دسترس

PowerShell ISE
در دسترس نیست
در دسترس

PowerShell IME
در دسترس
در دسترس

Mstsc.exe
در دسترس نیست
در دسترس

خدمات دسکتاپ از راه دور
در دسترس
در دسترس

مدیر Hyper-V
در دسترس نیست
در دسترس

همانطور که می بینید، چیزهای زیادی از Windows Core حذف شده است. خدمات و فرآیندهای مرتبط با رابط کاربری گرافیکی سیستم، و همچنین هرگونه "زباله" که قطعاً در ماشین مجازی کنسول ما مورد نیاز نیست، به عنوان مثال، Windows Media Player، زیر چاقو رفت.

تقریباً شبیه لینوکس است، اما نه

من واقعاً می خواهم Windows Server Core را با توزیع های لینوکس مقایسه کنم، اما در واقع این کاملاً صحیح نیست. بله، این سیستم ها از نظر کاهش مصرف منابع به دلیل کنار گذاشتن رابط کاربری گرافیکی و بسیاری از سرویس های جانبی مشابه یکدیگر هستند، اما از نظر عملکرد و برخی رویکردهای مونتاژ، این هنوز ویندوز است و سیستم یونیکس نیست.

ساده ترین مثال این است که با ساخت دستی هسته لینوکس و سپس نصب بسته ها و خدمات، حتی یک توزیع سبک وزن لینوکس را می توان به چیزی سنگین و شبیه به یک چاقوی ارتش سوئیس تبدیل کرد (در اینجا من واقعاً می خواهم یک شوخی آکاردئونی در مورد پایتون انجام دهم. و یک عکس از مجموعه "اگر زبان های برنامه نویسی سلاح بودند" را وارد کنید، اما ما این کار را نمی کنیم). در Windows Core چنین آزادی بسیار کمتری وجود دارد، زیرا ما در نهایت با یک محصول مایکروسافت سروکار داریم.

Windows Server Core به صورت آماده ارائه می شود که تنظیمات پیش فرض آن را می توان از جدول بالا تخمین زد. اگر به چیزی از لیست پشتیبانی نشده نیاز دارید، باید عناصر گمشده را به صورت آنلاین از طریق کنسول اضافه کنید. درست است، نباید ویژگی های درخواستی و توانایی دانلود کامپوننت ها به عنوان فایل های CAB را فراموش کنید، که می توان آن ها را قبل از نصب به مونتاژ اضافه کرد. اما این اسکریپت کار نمی کند اگر قبلاً در طول فرآیند متوجه شوید که هیچ یک از سرویس های برش را از دست داده اید.

اما آنچه که نسخه Core را از نسخه کامل متمایز می کند، امکان به روز رسانی سیستم و افزودن سرویس ها بدون توقف کار است. Windows Core از نورد داغ بسته ها، بدون راه اندازی مجدد پشتیبانی می کند. در نتیجه، بر اساس مشاهدات عملی: ماشینی که Windows Core را اجرا می کند، باید 6 برابر کمتر از یک ویندوز سرور، یعنی هر شش ماه یک بار، و نه یک بار در ماه، راه اندازی مجدد مجدد شود.

یک امتیاز خوشایند برای مدیران این است که اگر سیستم همانطور که در نظر گرفته شده است - از طریق کنسول، بدون RDP - استفاده شود و به یک سرور ویندوز دوم تبدیل نشود، در مقایسه با نسخه کامل بسیار امن می شود. به هر حال، اکثر آسیب پذیری های ویندوز سرور به دلیل RDP و اقدامات کاربری است که از طریق همین RDP، کاری را انجام می دهد که نباید انجام شود. چیزی شبیه به داستان هنری فورد و نگرش او نسبت به رنگ ماشین است: «هر مشتری می‌تواند ماشینی را به هر رنگی که می‌خواهد رنگ آمیزی کند تا زمانی که رنگ آن رنگی باشد. سیاه" در مورد سیستم هم همینطور است: کاربر می تواند به هر طریقی با سیستم ارتباط برقرار کند، نکته اصلی این است که او این کار را از طریق انجام می دهد. کنسول.

Windows Server 2019 Core را نصب و مدیریت کنید

قبلاً اشاره کردیم که Windows Core اساساً ویندوز سرور بدون پوشش رابط کاربری گرافیکی است. یعنی تقریباً می توانید از هر نسخه ای از ویندوز سرور به عنوان نسخه اصلی استفاده کنید، یعنی رابط کاربری گرافیکی را رها کنید. برای محصولات خانواده Windows Server 2019، این 3 از 4 ساخت سرور است: حالت هسته برای Windows Server 2019 Standard Edition، Windows Server 2019 Datacenter و Hyper-V Server 2019 در دسترس است، یعنی فقط Windows Server 2019 Essentials مستثنی است. از این لیست

در این مورد، شما واقعاً نیازی به جستجوی بسته نصبی Windows Server Core ندارید. در نصب کننده استاندارد مایکروسافت، نسخه اصلی به معنای واقعی کلمه به صورت پیش فرض ارائه می شود، در حالی که نسخه GUI باید به صورت دستی انتخاب شود:

فشرده سازی ویندوز سرور روی یک VPS کم مصرف با استفاده از Windows Server Core
در واقع، گزینه های بیشتری برای مدیریت سیستم نسبت به PowerShell ذکر شده وجود دارد که توسط سازنده به طور پیش فرض ارائه می شود. شما می توانید یک ماشین مجازی را بر روی Windows Server Core حداقل به پنج روش مختلف مدیریت کنید:

  • PowerShell از راه دور؛
  • ابزارهای مدیریت سرور از راه دور (RSAT)؛
  • مرکز مدیریت ویندوز؛
  • Sconfig;
  • مدیر سرور.

سه موقعیت اول بیشترین علاقه را دارند: PowerShell استاندارد، RSAT و Windows Admin Center. با این حال، درک این نکته مهم است که در حالی که مزایای یکی از ابزارها را دریافت می‌کنیم، محدودیت‌هایی را نیز که اعمال می‌کند دریافت می‌کنیم.

ما قابلیت‌های کنسول را شرح نمی‌دهیم؛ PowerShell، PowerShell است، با مزایا و معایب آشکار. با RSAT و WAC همه چیز کمی پیچیده تر است. 

WAC به شما امکان دسترسی به کنترل های مهم سیستم مانند ویرایش رجیستری و مدیریت دیسک ها و دستگاه ها را می دهد. RSAT در حالت اول فقط در حالت view کار می کند و به شما اجازه هیچ تغییری را نمی دهد و برای مدیریت دیسک ها و دستگاه های فیزیکی Remote Server Administration Tools نیاز به GUI دارد که در مورد ما اینطور نیست. به طور کلی، RSAT نمی تواند با فایل ها و بر این اساس، به روز رسانی، نصب / حذف برنامه ها در ویرایش رجیستری کار کند.

▍مدیریت سیستم

 

WAC
RSAT

مدیریت مؤلفه
بله
بله

ویرایشگر رجیستری
بله
بدون

مدیریت شبکه
بله
بله

مشاهده رویدادها
بله
بله

پوشه های مشترک
بله
بله

مدیریت دیسک
بله
فقط برای سرورهایی با رابط کاربری گرافیکی

وظیفه زمانبندی
بله
بله

مدیریت دستگاه
بله
فقط برای سرورهایی با رابط کاربری گرافیکی

مدیریت فایل
بله
بدون

مدیریت کاربر
بله
بله

مدیریت گروه
بله
بله

مدیریت گواهی
بله
بله

به روز رسانی
بله
بدون

حذف برنامه ها
بله
بدون

مانیتور سیستم
بله
بله

از سوی دیگر، RSAT به ما کنترل کامل روی نقش‌های روی دستگاه را می‌دهد، در حالی که Windows Admin Center به معنای واقعی کلمه هیچ کاری در این زمینه انجام نمی‌دهد. در اینجا برای وضوح، مقایسه ای از قابلیت های RSAT و WAC در این زمینه آورده شده است:

▍مدیریت نقش

 

WAC
RSAT

محافظت از موضوع پیشرفته
پیش نمایش
بدون

مدافع ویندوز
پیش نمایش
بله

ظروف
پیش نمایش
بله

مرکز اداری AD
پیش نمایش
بله

دامنه و تراست AD
بدون
بله

سایت ها و خدمات AD
بدون
بله

DHCP
پیش نمایش
بله

DNS
پیش نمایش
بله

مدیر DFS
بدون
بله

مدیر GPO
بدون
بله

مدیر IIS
بدون
بله

یعنی از قبل واضح است که اگر رابط کاربری گرافیکی و PowerShell را به نفع سایر کنترل‌ها رها کنیم، نمی‌توانیم از نوعی ابزار تکی استفاده کنیم: برای مدیریت کامل در همه جبهه‌ها، حداقل نیاز داریم. ترکیبی از RSAT و WAC.

با این حال، باید به خاطر داشته باشید که برای استفاده از WAC باید 150-180 مگابایت رم بپردازید. هنگام اتصال، Windows Admin Center 3-4 جلسه در سمت سرور ایجاد می کند، که حتی زمانی که ابزار از ماشین مجازی جدا می شود، از بین نمی روند. WAC همچنین با نسخه های قدیمی PowerShell کار نمی کند، بنابراین حداقل به PowerShell 5.0 نیاز خواهید داشت. همه اینها برخلاف پارادایم ریاضت اقتصادی ما است، اما شما باید برای راحتی هزینه کنید. در مورد ما - RAM.

گزینه دیگر برای مدیریت Server Core نصب رابط کاربری گرافیکی با استفاده از ابزارهای شخص ثالث است، به طوری که در یک مونتاژ کامل، زباله‌هایی را که به همراه رابط ارائه می‌شوند، نکشید.

در این مورد، ما دو گزینه داریم: اکسپلورر اصلی را روی سیستم قرار دهید یا از ++ Explorer استفاده کنید. به عنوان جایگزین دومی، هر مدیر فایل مناسب است: Total Commander، FAR Manager، Double Commander و غیره. اگر ذخیره رم برای شما حیاتی است، مورد دوم ترجیح داده می شود. می توانید Explorer++ یا هر مدیر فایل دیگری را با ایجاد یک پوشه شبکه و راه اندازی آن از طریق کنسول یا زمانبندی اضافه کنید.

نصب یک اکسپلورر تمام عیار فرصت های بیشتری را در زمینه کار با نرم افزارهای مجهز به رابط کاربری به ما می دهد. برای این ما باید تماس بگیرد به ویژگی سازگاری برنامه هسته سرور در صورت تقاضا (FOD) که MMC، Eventvwr، PerfMon، Resmon، Explorer.exe و حتی Powershell ISE را به سیستم برمی گرداند. با این حال، ما باید برای این هزینه بپردازیم، همانطور که در مورد WAC نیز وجود دارد: ما به طور غیرقابل برگشتی حدود 150-200 مگابایت RAM را از دست خواهیم داد، که بیرحمانه توسط explorer.exe و سایر سرویس ها از بین می رود. حتی اگر کاربر فعالی در دستگاه وجود نداشته باشد.

فشرده سازی ویندوز سرور روی یک VPS کم مصرف با استفاده از Windows Server Core
فشرده سازی ویندوز سرور روی یک VPS کم مصرف با استفاده از Windows Server Core
این همان چیزی است که مصرف حافظه توسط سیستم در ماشین‌های دارای بسته بومی Explorer و بدون آن به نظر می‌رسد.

یک سوال منطقی در اینجا مطرح می شود: چرا این همه رقص با PowerShell، FOD، فایل منیجرها، اگر هر مرحله به چپ یا راست منجر به افزایش مصرف RAM شود؟ چرا خودتان را با یک سری ابزار آغشته کنید و از این طرف به آن طرف بچرخانید تا از کار راحت روی Windows Server Core اطمینان حاصل کنید، در حالی که می توانید Windows Server 2016/2019 را دانلود کنید و مانند یک مرد سفیدپوست زندگی کنید؟

دلایل مختلفی برای استفاده از Server Core وجود دارد. اول: مصرف فعلی حافظه تقریبا نصف آن است. اگر به خاطر داشته باشید در همان ابتدا این شرط اساس مقاله ما بود. برای مقایسه، در اینجا میزان مصرف حافظه ویندوز سرور 2019 را با اسکرین شات های بالا مقایسه کنید:

فشرده سازی ویندوز سرور روی یک VPS کم مصرف با استفاده از Windows Server Core
و بنابراین، 1146 مگابایت حافظه مصرفی به جای 655 مگابایت در Core. 

با فرض اینکه به WAC نیاز ندارید و به جای اکسپلورر اصلی از Explorer++ استفاده می کنید، پس شما شما هنوز هم تقریبا نیم هکتار برنده خواهید شد در هر ماشین مجازی که ویندوز سرور را اجرا می کند. اگر فقط یک ماشین مجازی وجود داشته باشد، افزایش ناچیز است، اما اگر پنج عدد از آنها وجود داشته باشد؟ اینجاست که داشتن رابط کاربری گرافیکی اهمیت دارد، به خصوص اگر به آن نیازی نداشته باشید. 

ثانیاً، هر رقصی در اطراف Windows Server Core شما را به مبارزه با مشکل اصلی Windows Server - RDP و امنیت آن (به طور دقیق تر، عدم وجود کامل آن) سوق نمی دهد. Windows Core، حتی با پوشش FOD، RSAT و WAC، هنوز یک سرور بدون RDP است، یعنی در برابر 95٪ حملات موجود حساس نیست.

باقی مانده است

به طور کلی، Windows Core فقط کمی چاق‌تر از هر توزیع لینوکس است، اما بسیار کاربردی‌تر است. اگر نیاز به آزاد کردن منابع دارید و آماده کار با کنسول، WAC و RSAT هستید و به جای یک رابط کاربری گرافیکی کامل از فایل منیجر استفاده می کنید، Core ارزش توجه دارد. علاوه بر این، با استفاده از آن می توانید از پرداخت هزینه اضافی برای یک ویندوز کامل خودداری کنید و پول ذخیره شده را صرف ارتقاء خود کنید. VPS، برای مثال RAM را به آنجا اضافه کنید. برای راحتی، ما Windows Server Core را به خود اضافه کرده ایم بازار.

فشرده سازی ویندوز سرور روی یک VPS کم مصرف با استفاده از Windows Server Core

منبع: www.habr.com

اضافه کردن نظر