Stlačenie Windows Servera na nízkoenergetický VPS pomocou Windows Server Core

Stlačenie Windows Servera na nízkoenergetický VPS pomocou Windows Server Core
Kvôli obžerstvu systémov Windows dominujú v prostredí VPS odľahčené linuxové distribúcie: Mint, Colibri OS, Debian alebo Ubuntu, bez ťažkého desktopového prostredia, ktoré je pre naše účely zbytočné. Ako sa hovorí, iba konzola, iba hardcore! A v skutočnosti to vôbec nie je prehnané: ten istý Debian začína na 256 MB pamäte a jednom jadre s taktom 1 Ghz, teda takmer na akomkoľvek „pahýli“. Na pohodlnú prácu budete potrebovať aspoň 512 MB a o niečo rýchlejší procesor. Ale čo keby sme vám povedali, že približne to isté môžete urobiť na VPS so systémom Windows? Prečo nepotrebujete zaviesť ťažký Windows Server, ktorý vyžaduje tri až štyri hektáre pamäte RAM a aspoň pár jadier taktovaných na 1,4 GHz? Stačí použiť Windows Server Core – zbavte sa GUI a niektorých služieb. O tom, ako to urobiť, si povieme v článku.

Kto je toto jadro systému Windows Server?

Ani na oficiálnej stránke Mikes nie sú jasné informácie o tom, čo je Windows (server) Core, respektíve je tam všetko také neprehľadné, že to hneď nepochopíte, no prvé zmienky pochádzajú ešte z éry Windows Server 2008. Windows Core je v podstate fungujúci server s jadrom systému Windows (náhle!), „tenší“ veľkosťou vlastného grafického rozhrania a približne polovice vedľajších služieb.

Hlavnou vlastnosťou Windows Core je jeho nenáročnosť na hardvér a plné konzolové ovládanie cez PowerShell.

Ak prejdete na webovú stránku spoločnosti Microsoft a skontrolujete technické požiadavky, na spustenie systému Windows Server 2016/2019 budete potrebovať aspoň 2 GB pamäte RAM a aspoň jedno jadro s taktom 1,4 GHz. Všetci ale chápeme, že pri takejto konfigurácii môžeme očakávať len spustenie systému, no určite nie komfortnú obsluhu nášho OS. Z tohto dôvodu má Windows Server zvyčajne alokovanú viac pamäte a aspoň 2 jadrá/4 vlákna z procesora, ak mu neposkytujú drahý fyzický stroj na nejakom Xeone namiesto lacného virtuálneho stroja.

Samotné jadro serverového systému zároveň vyžaduje iba 512 MB pamäte a tie procesorové zdroje, ktoré GUI spotrebovalo na to, aby sa jednoducho vykreslili na obrazovku a udržali početné služby v chode, môžu byť použité na niečo užitočnejšie.

Tu je porovnanie služieb Windows Core podporovaných hneď po vybalení a celého systému Windows Server z oficiálnej webovej stránky spoločnosti Microsoft:

prihláška
jadro servera
server sskúsenosti s počítačom

Príkazový riadok
dostupný
dostupný

Windows PowerShell/Microsoft .NET
dostupný
dostupný

Perfmon.exe
nie je k dispozícii
dostupný

Windbg (GUI)
podporovaná
dostupný

Resmon.exe
nie je k dispozícii
dostupný

regedit
dostupný
dostupný

Fsutil.exe
dostupný
dostupný

Disksnapshot.exe
nie je k dispozícii
dostupný

Diskpart.exe
dostupný
dostupný

diskmgmt.msc
nie je k dispozícii
dostupný

devmgmt.msc
nie je k dispozícii
dostupný

Server Manager
nie je k dispozícii
dostupný

mmc.exe
nie je k dispozícii
dostupný

Eventvwr
nie je k dispozícii
dostupný

Wevtutil (dotazy na udalosti)
dostupný
dostupný

Services.msc
nie je k dispozícii
dostupný

riadiace panel
nie je k dispozícii
dostupný

Windows Update (GUI)
nie je k dispozícii
dostupný

Prieskumník Windows
nie je k dispozícii
dostupný

hlavný panel
nie je k dispozícii
dostupný

Upozornenia na paneli úloh
nie je k dispozícii
dostupný

taskmgr
dostupný
dostupný

Internet Explorer alebo Edge
nie je k dispozícii
dostupný

Zabudovaný systém pomoci
nie je k dispozícii
dostupný

Windows 10 Shell
nie je k dispozícii
dostupný

Windows Media Player
nie je k dispozícii
dostupný

PowerShell
dostupný
dostupný

PowerShell ISE
nie je k dispozícii
dostupný

PowerShell IME
dostupný
dostupný

Mstsc.exe
nie je k dispozícii
dostupný

Služby vzdialenej pracovnej plochy
dostupný
dostupný

Správca Hyper-V
nie je k dispozícii
dostupný

Ako vidíte, z Windows Core sa veľa ukrojilo. Služby a procesy spojené s GUI systému, ako aj akýkoľvek „smetí“, ktorý rozhodne nie je potrebný na našom konzolovom virtuálnom stroji, napríklad Windows Media Player, išli pod nôž.

Skoro ako Linux, ale nie on

Naozaj chcem porovnať Windows Server Core s distribúciami Linuxu, ale v skutočnosti to nie je úplne správne. Áno, tieto systémy sú si navzájom podobné, pokiaľ ide o zníženú spotrebu zdrojov v dôsledku opustenia GUI a mnohých vedľajších služieb, ale z hľadiska prevádzky a niektorých prístupov k montáži je to stále systém Windows a nie systém Unix.

Najjednoduchším príkladom je, že manuálnym zostavením linuxového jadra a následnou inštaláciou balíkov a služieb možno dokonca aj odľahčenú linuxovú distribúciu premeniť na niečo ťažké a podobné švajčiarskemu nožu (tu si naozaj chcem urobiť srandu z akordeónu o Pythone a vložte obrázok zo série „Keby programovacie jazyky boli zbrane“, ale nebudeme). Vo Windows Core je takejto slobody oveľa menej, pretože máme do činenia s produktom spoločnosti Microsoft.

Windows Server Core sa dodáva pripravený, ktorého predvolenú konfiguráciu možno odhadnúť z tabuľky vyššie. Ak potrebujete niečo z nepodporovaného zoznamu, budete musieť pridať chýbajúce prvky online cez konzolu. Je pravda, že by ste nemali zabúdať na funkciu na požiadanie a možnosť sťahovať komponenty ako súbory CAB, ktoré potom možno pridať do zostavy pred inštaláciou. Tento skript však nefunguje, ak už počas procesu zistíte, že vám chýba niektorá z strihových služieb.

Čo však odlišuje Core verziu od plnej verzie, je možnosť aktualizovať systém a pridávať služby bez zastavenia práce. Windows Core podporuje valcovanie balíkov za tepla bez reštartu. Výsledkom je, že na základe praktických pozorovaní: počítač so systémom Windows Core je potrebné reštartovať ~6-krát menej často ako počítač so systémom Windows Server, to znamená raz za šesť mesiacov a nie raz za mesiac.

Príjemným bonusom pre administrátorov je, že ak sa systém používa podľa plánu - cez konzolu, bez RDP - a nie je premenený na druhý Windows Server, stáva sa extrémne bezpečným v porovnaní s plnou verziou. Koniec koncov, väčšina zraniteľností systému Windows Server je spôsobená RDP a činnosťou používateľa, ktorý prostredníctvom tohto RDP robí niečo, čo by sa robiť nemalo. Je to niečo ako príbeh s Henrym Fordom a jeho postojom k farbe auta: „Každý zákazník si môže nechať nalakovať auto na akúkoľvek farbu, ktorú chce, pokiaľ je. čierna" So systémom je to rovnaké: používateľ môže so systémom komunikovať akýmkoľvek spôsobom, hlavné je, že to robí cez konzola.

Nainštalujte a spravujte Windows Server 2019 Core

Už sme spomenuli, že Windows Core je v podstate Windows Server bez obalu GUI. To znamená, že ako základnú verziu môžete použiť takmer akúkoľvek verziu systému Windows Server, to znamená opustiť GUI. Pre produkty radu Windows Server 2019 sú to 3 zo 4 verzií servera: režim jadra je k dispozícii pre Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter a Hyper-V Server 2019, to znamená, že je vylúčený iba systém Windows Server 2019 Essentials. z tohto zoznamu.

V tomto prípade naozaj nemusíte hľadať inštalačný balík Windows Server Core. V štandardnom inštalačnom programe spoločnosti Microsoft je základná verzia ponúkaná doslova predvolene, zatiaľ čo verziu GUI je potrebné vybrať manuálne:

Stlačenie Windows Servera na nízkoenergetický VPS pomocou Windows Server Core
V skutočnosti je tu viac možností na správu systému ako spomínaný PowerShell, ktorý výrobca štandardne ponúka. Virtuálny počítač na Windows Server Core môžete spravovať najmenej piatimi rôznymi spôsobmi:

  • Remote PowerShell;
  • Nástroje vzdialenej správy servera (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Správca servera.

O prvé tri pozície je najväčší záujem: štandardné PowerShell, RSAT a Windows Admin Center. Je však dôležité pochopiť, že aj keď využívame výhody jedného z nástrojov, dostávame aj obmedzenia, ktoré ukladá.

Nebudeme popisovať možnosti konzoly, PowerShell je PowerShell so zjavnými výhodami a nevýhodami. S RSAT a WAC je všetko trochu komplikovanejšie. 

WAC vám poskytuje prístup k dôležitým systémovým ovládacím prvkom, ako je úprava registra a správa diskov a zariadení. RSAT v prvom prípade funguje iba v režime zobrazenia a neumožní vám vykonávať žiadne zmeny a na správu diskov a fyzických zariadení Nástroje vzdialenej správy servera vyžadujú grafické používateľské rozhranie, čo v našom prípade neplatí. Vo všeobecnosti RSAT nemôže pracovať so súbormi, a teda s aktualizáciami, inštaláciou/odstraňovaním programov pri úprave registra.

▍Správa systému

 

WAC
RSAT

Správa komponentov
Да
Да

Editor registra
Да
Nie

Správa siete
Да
Да

Prehliadač udalostí
Да
Да

Zdieľané priečinky
Да
Да

Správa disku
Да
Len pre servery s GUI

Plánovač úloh
Да
Да

Správa zariadenia
Да
Len pre servery s GUI

Správa súborov
Да
Nie

správa užívateľov
Да
Да

Vedenie skupiny
Да
Да

Správa certifikátov
Да
Да

Aktualizácia
Да
Nie

Odinštalovanie programov
Да
Nie

Monitor systému
Да
Да

Na druhej strane, RSAT nám dáva úplnú kontrolu nad rolami na stroji, zatiaľ čo Windows Admin Center nemôže v tomto ohľade urobiť doslova nič. Tu je porovnanie schopností RSAT a WAC v tomto aspekte, kvôli prehľadnosti:

▍Správa rolí

 

WAC
RSAT

Pokročilá ochrana vlákien
NÁHĽAD
Nie

Windows Defender
NÁHĽAD
Да

kontajnery
NÁHĽAD
Да

Administratívne centrum AD
NÁHĽAD
Да

AD doména a trusty
Nie
Да

stránky a služby AD
Nie
Да

DHCP
NÁHĽAD
Да

DNS
NÁHĽAD
Да

Správca DFS
Nie
Да

GPO manažér
Nie
Да

Správca IIS
Nie
Да

To znamená, že už teraz je jasné, že ak opustíme GUI a PowerShell v prospech iných ovládacích prvkov, nevyhneme sa použitiu nejakého mono-nástroja: na plnú správu na všetkých frontoch budeme potrebovať minimálne kombinácia RSAT a WAC.

Musíte si však uvedomiť, že za používanie WAC budete musieť zaplatiť 150-180 megabajtov RAM. Po pripojení Windows Admin Center vytvorí 3-4 relácie na strane servera, ktoré sa nezastavia ani po odpojení nástroja od virtuálneho počítača. WAC tiež nefunguje so staršími verziami PowerShell, takže budete potrebovať aspoň PowerShell 5.0. To všetko je v rozpore s našou paradigmou prísnosti, ale za pohodlie musíte platiť. V našom prípade - RAM.

Ďalšou možnosťou na správu Server Core je inštalácia GUI pomocou nástrojov tretích strán, aby ste neťahali tony odpadu, ktoré prichádzajú s rozhraním v plnohodnotnej zostave.

V tomto prípade máme dve možnosti: zaviesť do systému pôvodný Prieskumník alebo použiť Explorer++. Ako alternatíva k druhému je vhodný akýkoľvek správca súborov: Total Commander, FAR Manager, Double Commander atď. Druhá možnosť je vhodnejšia, ak je pre vás kritická úspora pamäte RAM. Môžete pridať Explorer++ alebo iného správcu súborov vytvorením sieťového priečinka a jeho spustením cez konzolu alebo plánovač.

Inštalácia plnohodnotného Prieskumníka nám poskytne viac príležitostí z hľadiska práce so softvérom vybaveným UI. Pre toto my bude musieť kontaktovať na funkciu Server Core App Compatibility Feature on Demand (FOD), ktorá vráti MMC, Eventvwr, PerfMon, Resmon, Explorer.exe a dokonca Powershell ISE do systému. To si však budeme musieť zaplatiť, ako je to v prípade WAC: nenávratne prídeme o cca 150-200 megabajtov RAM, ktoré nemilosrdne zhltne explorer.exe a ďalšie služby. Aj keď na stroji nie je aktívny používateľ.

Stlačenie Windows Servera na nízkoenergetický VPS pomocou Windows Server Core
Stlačenie Windows Servera na nízkoenergetický VPS pomocou Windows Server Core
Takto vyzerá spotreba pamäte systémom na počítačoch s natívnym balíkom Explorer a bez neho.

Tu vyvstáva logická otázka: prečo to všetko tancovať s PowerShell, FOD, správcami súborov, ak akýkoľvek krok doľava alebo doprava vedie k zvýšeniu spotreby RAM? Prečo sa natierať množstvom nástrojov a prehadzovať zo strany na stranu, aby ste si zaistili pohodlnú prácu na Windows Server Core, keď si stačí stiahnuť Windows Server 2016/2019 a žiť ako biely muž?

Existuje niekoľko dôvodov, prečo používať Server Core. Po prvé: súčasná spotreba pamäte je takmer polovičná. Ak si pamätáte, táto podmienka bola základom nášho článku na samom začiatku. Na porovnanie, tu je spotreba pamäte systému Windows Server 2019, porovnajte so snímkami obrazovky vyššie:

Stlačenie Windows Servera na nízkoenergetický VPS pomocou Windows Server Core
A tak 1146 MB spotreby pamäte namiesto 655 MB na Core. 

Za predpokladu, že nepotrebujete WAC a namiesto pôvodného Prieskumníka budete používať Explorer++, potom vy aj tak vyhráš takmer pol hektára na každom virtuálnom počítači so systémom Windows Server. Ak existuje iba jeden virtuálny stroj, potom je nárast nevýznamný, ale ak ich je päť? Tu je dôležité mať GUI, najmä ak ho nepotrebujete. 

Po druhé, žiadne tance okolo Windows Server Core vás nepovedú k boju proti hlavnému problému prevádzky Windows Server - RDP a jeho bezpečnosti (presnejšie jeho úplnej absencii). Windows Core, dokonca aj potiahnutý FOD, RSAT a WAC, je stále serverom bez RDP, to znamená, že nie je náchylný na 95 % existujúcich útokov.

Zostávajúce

Vo všeobecnosti je Windows Core len o niečo tučnejší ako akákoľvek distribúcia Linuxu, ale je oveľa funkčnejší. Ak potrebujete uvoľniť zdroje a ste pripravení pracovať s konzolou, WAC a RSAT a namiesto plnohodnotného GUI používať správcov súborov, potom Core stojí za pozornosť. Navyše sa s ním budete môcť vyhnúť plateniu navyše za plnohodnotný Windows a ušetrené peniaze minúť na inováciu VPS, pričom tam pridá napríklad RAM. Pre pohodlie sme do nášho systému pridali Windows Server Core trhovisko.

Stlačenie Windows Servera na nízkoenergetický VPS pomocou Windows Server Core

Zdroj: hab.com

Pridať komentár