Стискање на Windows Server на VPS со мала моќност со помош на Windows Server Core

Стискање на Windows Server на VPS со мала моќност со помош на Windows Server Core
Поради ненаситноста на Windows системите, во околината VPS доминираат лесни дистрибуции на Linux: Mint, Colibri OS, Debian или Ubuntu, без тешка работна околина која е непотребна за нашите цели. Како што велат, само конзола, само хардкор! И всушност, ова воопшто не е претерување: истиот Debian започнува на 256 MB меморија и едно јадро со циклус на часовник од 1 Ghz, односно на речиси секој „трупец“. За удобна работа ќе ви требаат најмалку 512 MB и малку побрз процесор. Но, што ако ви кажеме дека можете да го направите приближно истото на VPS со Windows? Зошто не треба да отворите тежок Windows Server, кој бара три до четири хектари RAM меморија и барем неколку јадра со такт од 1,4 GHz? Само користете Windows Server Core - ослободете се од GUI и некои услуги. Како да го направите ова, ќе разговараме во статијата.

Кој е овој Windows Server Core?

Нема јасни информации за тоа што е Windows (сервер) Core дури и на официјалната веб-страница на Mikes, поточно, таму сè е толку збунувачки што нема веднаш да разберете, но првите споменувања датираат од ерата на Windows Server 2008 Во суштина, Windows Core е работен сервер за јадро на Windows (одеднаш!), „потенок“ по големината на сопствениот GUI и околу половина од страничните услуги.

Главната карактеристика на Windows Core е неговиот непотребен хардвер и целосната контрола на конзолата преку PowerShell.

Ако отидете на веб-страницата на Microsoft и ги проверите техничките барања, тогаш за да го стартувате Windows Server 2016/2019 ќе ви требаат најмалку 2 гига RAM и најмалку едно јадро со такт од 1,4 GHz. Но, сите ние разбираме дека со таква конфигурација можеме да очекуваме само стартување на системот, но секако не и удобно работење на нашиот ОС. Поради оваа причина, на Windows Server обично му се доделува повеќе меморија и најмалку 2 јадра/4 нишки од процесорот, ако не му обезбедат скапа физичка машина на некој Xeon, наместо евтина виртуелна машина.

Во исто време, јадрото на самиот серверски систем бара само 512 MB меморија, а оние ресурси на процесорот што беа потрошени од GUI едноставно за да бидат нацртани на екранот и да ги одржуваат неговите бројни услуги да работат, може да се користат за нешто покорисно.

Еве споредба на услугите на Windows Core поддржани надвор од кутијата и целосниот Windows Server од официјалната веб-страница на Microsoft:

апликација
јадро на серверот
сервер соискуство на десктоп

Командна линија
достапни
достапни

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
не се достапни
достапни

контролен панел
не се достапни
достапни

Windows Update (GUI)
не се достапни
достапни

Windows Explorer
не се достапни
достапни

Таскбарот
не се достапни
достапни

Известувања за лентата со задачи
не се достапни
достапни

taskmgr
достапни
достапни

Internet Explorer или Edge
не се достапни
достапни

Вграден систем за помош
не се достапни
достапни

Windows 10 Shell
не се достапни
достапни

Windows Media Player
не се достапни
достапни

PowerShell
достапни
достапни

PowerShell ISE
не се достапни
достапни

PowerShell IME
достапни
достапни

Mstsc.exe
не се достапни
достапни

Услуги за далечинска работна површина
достапни
достапни

Hyper-V менаџер
не се достапни
достапни

Како што можете да видите, многу е скратено од Windows Core. Услугите и процесите поврзани со GUI на системот, како и секое „ѓубре“ што дефинитивно не е потребно на нашата виртуелна машина на конзолата, на пример, Windows Media Player, поминаа под нож.

Скоро како Linux, но не и тоа

Навистина сакам да го споредам Windows Server Core со дистрибуциите на Linux, но всушност ова не е сосема точно. Да, овие системи се слични едни на други во смисла на намалена потрошувачка на ресурси поради напуштање на GUI и многу странични услуги, но во однос на работата и некои пристапи кон склопување, ова е сепак Windows, а не Unix систем.

Наједноставниот пример е дека со рачно градење на кернелот на Линукс и потоа инсталирање пакети и услуги, дури и лесната дистрибуција на Линукс може да се претвори во нешто тешко и слично на швајцарски армиски нож (тука навистина сакам да се пошегувам со хармоника за Пајтон и вметнете слика од серијата „Ако програмските јазици беа оружје“, но ние нема). Во Windows Core има многу помалку таква слобода, бидејќи ние, на крајот на краиштата, се занимаваме со производ на Microsoft.

Windows Server Core доаѓа готов, чија стандардна конфигурација може да се процени од табелата погоре. Ако ви треба нешто од неподдржаната листа, ќе мора да ги додадете елементите што недостасуваат онлајн преку конзолата. Точно, не треба да заборавите на функцијата на барање и можноста за преземање компоненти како CAB-датотеки, кои потоа може да се додадат во склопот пред инсталацијата. Но, оваа скрипта не работи ако веќе откриете во текот на процесот дека ви недостасува некоја од исечените услуги.

Но, она што ја разликува Core верзијата од целосната верзија е можноста за ажурирање на системот и додавање услуги без прекин на работата. Windows Core поддржува топло тркалање на пакети, без рестартирање. Како резултат на тоа, врз основа на практични набљудувања: машината што работи на Windows Core треба да се рестартира ~ 6 пати поретко од оној што работи на Windows Server, односно еднаш на секои шест месеци, а не еднаш месечно.

Пријатен бонус за администраторите е тоа што ако системот се користи како што е наменет - преку конзолата, без RDP - и не се претвори во втор Windows Server, тогаш станува исклучително безбеден во споредба со целосната верзија. На крајот на краиштата, поголемиот дел од пропустите на Windows Server се должат на RDP и дејствата на корисникот кој, токму преку овој RDP, прави нешто што не треба да се направи. Тоа е нешто како приказната со Хенри Форд и неговиот став кон бојата на автомобилот: „Секој клиент може да го обои автомобилот во која било боја, се додека е црна" Истото е и со системот: корисникот може да комуницира со системот на кој било начин, главната работа е тоа што тој го прави преку конзола.

Инсталирајте и управувајте со Windows Server 2019 Core

Претходно споменавме дека Windows Core во суштина е Windows Server без обвивка GUI. Тоа е, можете да ја користите речиси секоја верзија на Windows Server како основна верзија, односно да го напуштите GUI. За производите во семејството на 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. Во стандардниот инсталатер на Microsoft, основната верзија се нуди буквално стандардно, додека верзијата GUI мора да се избере рачно:

Стискање на Windows Server на VPS со мала моќност со помош на Windows Server Core
Всушност, има повеќе опции за управување со системот од споменатата PowerShell, која стандардно ја нуди производителот. Можете да управувате со виртуелна машина на Windows Server Core на најмалку пет различни начини:

  • Далечински PowerShell;
  • Алатки за администрација на далечински сервер (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Менаџер на сервер.

Првите три позиции се од најголем интерес: стандарден PowerShell, RSAT и Windows Admin Center. Сепак, важно е да се разбере дека додека ги добиваме придобивките од една од алатките, ги добиваме и ограничувањата што таа ги наметнува.

Нема да ги опишуваме можностите на конзолата; PowerShell е PowerShell, со очигледни добрите и лошите страни. Со RSAT и WAC сè е малку покомплицирано. 

WAC ви дава пристап до важни системски контроли како што се уредување на регистарот и управување со дискови и уреди. RSAT во првиот случај работи само во режим на гледање и нема да ви дозволи да правите никакви промени, а за управување со дискови и физички уреди Алатките за администрација на далечински сервер бара GUI, што не е случај во нашиот случај. Во принцип, RSAT не може да работи со датотеки и, соодветно, ажурирања, инсталација / отстранување на програми при уредување на регистарот.

▍Системски менаџмент

 

процесите во рамките на
RSAT

Управување со компоненти
Да
Да

Уредник на регистри
Да
Не

Управување со мрежата
Да
Да

Прегледувач на настани
Да
Да

Споделени папки
Да
Да

Управување со диск
Да
Само за сервери со GUI

Распоредувач на задачи
Да
Да

Управување со уредот
Да
Само за сервери со GUI

Управување со датотеки
Да
Не

управување со корисници
Да
Да

Управување со групата
Да
Да

Управување со сертификати
Да
Да

Надградби
Да
Не

Деинсталирање на програми
Да
Не

Системски монитор
Да
Да

Од друга страна, RSAT ни дава целосна контрола врз улогите на машината, додека Windows Admin Center не може да направи буквално ништо во овој поглед. Еве споредба на можностите на RSAT и WAC во овој аспект, за јасност:

▍Управување со улоги

 

процесите во рамките на
RSAT

Напредна заштита на нишки
ПРЕГЛЕД
Не

Windows Defender
ПРЕГЛЕД
Да

Контејнери
ПРЕГЛЕД
Да

Административен центар на АД
ПРЕГЛЕД
Да

АД домен и трустови
Не
Да

Сајтови и услуги за АД
Не
Да

DHCP
ПРЕГЛЕД
Да

DNS
ПРЕГЛЕД
Да

Менаџер на DFS
Не
Да

GPO менаџер
Не
Да

Менаџер на IIS
Не
Да

Односно, веќе е јасно дека ако ги напуштиме GUI и PowerShell во корист на други контроли, нема да можеме да се извлечеме со користење на некаква моно-алатка: за целосна администрација на сите фронтови, ќе ни треба барем комбинација на RSAT и WAC.

Сепак, треба да запомните дека ќе треба да платите 150-180 мегабајти RAM за да користите WAC. Кога е поврзан, Windows Admin Center создава 3-4 сесии на страната на серверот, кои не се убиваат дури и кога алатката е исклучена од виртуелната машина. WAC исто така не работи со постари верзии на PowerShell, така што ќе ви треба барем PowerShell 5.0. Сето ова е спротивно на нашата парадигма на штедење, но мора да платите за удобност. Во нашиот случај - RAM меморија.

Друга опција за управување со Server Core е инсталирање на GUI со помош на алатки од трети страни, за да не се влече околу тоните ѓубре што доаѓаат со интерфејсот во полноправно склопување.

Во овој случај, имаме две опции: префрлете го оригиналниот Explorer на системот или користете Explorer++. Како алтернатива на второто, секој менаџер на датотеки е погоден: Total Commander, FAR Manager, Double Commander итн. Второто е подобро ако заштедата на RAM меморијата е критична за вас. Можете да додадете Explorer++ или кој било друг менаџер на датотеки со создавање мрежна папка и стартување преку конзолата или распоредувачот.

Инсталирањето на полноправно Explorer ќе ни даде повеќе можности во однос на работа со софтвер опремен со UI. За ова ние ќе мора да контактира до Функцијата за компатибилност на основната апликација на серверот на барање (FOD) која ќе ги врати MMC, Eventvwr, PerfMon, Resmon, Explorer.exe, па дури и Powershell ISE во системот. Сепак, ќе мораме да платиме за ова, како што е случајот со WAC: неповратно ќе изгубиме околу 150-200 мегабајти RAM меморија, која безмилосно ќе биде голтана од explorer.exe и другите услуги. Дури и ако нема активен корисник на машината.

Стискање на Windows Server на VPS со мала моќност со помош на Windows Server Core
Стискање на Windows Server на VPS со мала моќност со помош на Windows Server Core
Вака изгледа потрошувачката на меморија од системот на машини со и без мајчин пакет Explorer.

Овде се поставува логично прашање: зошто сето ова танцување со PowerShell, FOD, менаџерите на датотеки, ако некој чекор лево или десно води до зголемување на потрошувачката на RAM меморија? Зошто да се намачкате со еден куп алатки и да се мешате од страна на страна за да обезбедите удобна работа на Windows Server Core, кога можете само да го преземете Windows Server 2016/2019 и да живеете како белец?

Постојат неколку причини за користење на Server Core. Прво: тековната потрошувачка на меморија е речиси половина од тоа. Ако се сеќавате, оваа состојба беше основата на нашата статија на самиот почеток. За споредба, тука е потрошувачката на меморија на Windows Server 2019, споредете со сликите од екранот веднаш погоре:

Стискање на Windows Server на VPS со мала моќност со помош на Windows Server Core
И така, 1146 MB потрошувачка на меморија наместо 655 MB на Core. 

Претпоставувајќи дека не ви треба WAC и ќе го користите Explorer++ наместо оригиналниот Explorer, тогаш вие сепак ќе освоиш речиси половина хектар на секоја виртуелна машина што работи со Windows Server. Ако има само една виртуелна машина, тогаш зголемувањето е незначително, но ако има пет од нив? Тука е важно да имате GUI, особено ако не ви треба. 

Второ, какви било танци околу Windows Server Core нема да ве наведат да се борите со главниот проблем на работењето на Windows Server - RDP и неговата безбедност (поточно, неговото целосно отсуство). Windows Core, дури и обложен со FOD, RSAT и WAC, сè уште е сервер без RDP, односно не е подложен на 95% од постоечките напади.

Преостанати

Општо земено, Windows Core е само малку подебел од која било дистрибуција на акции на Linux, но е многу пофункционален. Ако треба да ослободите ресурси и сте подготвени да работите со конзолата, WAC и RSAT и да користите менаџери на датотеки наместо полноправно GUI, тогаш вреди да се обрне внимание на Core. Покрај тоа, со него ќе можете да избегнете дополнително плаќање за полноправно Windows и да ги потрошите заштедените пари за надградба на вашиот VPS, додавајќи таму, на пример, RAM меморија. За погодност, додадовме Windows Server Core во нашиот пазар.

Стискање на Windows Server на VPS со мала моќност со помош на Windows Server Core

Извор: www.habr.com

Додадете коментар