Z dôvodu náročnosti Windows systémov dominujú v prostredí VPS ľahké Linux distribúcie: Mint, Colibri OS, Debian alebo Ubuntu, ktoré sú zbavené nepotrebného, v rámci našich úloh, ťažkého prostredia pracovnej plochy. Ako sa hovorí, len konzola, len hardcore! A naozaj, to nie je prehnané: ten istý Debian sa rozbehne na 256 MB pamäte a jednom jadre s taktovaním 1 GHz, teda takmer na akomkoľvek "pařezu". Pre pohodlnú prácu potrebujeme aspoň 512 MB a trošku výkonnejší procesor. Ale čo ak vám povieme, že podobné niečo je možné vykonať aj na VPS pod Windows? Že nie je potrebné inštalovať ťažký Windows Server, ktorý potrebuje od troch do štyroch gigabajtov operačnej pamäte a aspoň pár jadier s taktovaním 1,4 GHz? Jednoducho využite Windows Server Core — zbavte sa GUI a niektorých služieb. O tom, ako to spraviť, sa budeme baviť v článku.
Kto je ten váš Windows Server Core?
Jasné informácie o tom, čo je Windows (server) Core, ani na oficiálnych stránkach Microsoftu nie sú; presnejšie, je to tam tak zamotané, že hneď nepochopíte, no prvé zmienky siahajú ešte do éry Windows Server 2008. V podstate, Windows Core je funkčné jadro Windows Server (prekvapivo!), "zhubnuté" o veľkosť vlastného GUI a asi polovicu vedľajších služieb.
Hlavná výhoda Windows Core je nenáročnosť na hardvér a úplné riadenie cez PowerShell.
Ak sa pozriete na web Microsoftu a skontrolujete technické požiadavky, pre spustenie Windows Server 2016/2019 potrebujete aspoň 2 GB operačnej pamäte a minimálne jedno jadro s taktovaním 1,4 GHz. Ale všetci chápeme, že na takejto konfigurácii môžeme očakávať len zapnutie systému, ale určite nie pohodlnú prácu našej OS. Práve z tohto dôvodu sa na prácu Windows Server zvyčajne vyčleňuje viac pamäte a minimálne 2 jadrá/4 vlákna z procesora, ak jej teda vôbec neposkytujú drahý fyzický počítač na niektorom Xeone, namiesto lacnej virtuálnej mašiny.
Pri tom samotné jadro serverového systému vyžaduje iba 512 MB pamäte, a prostriedky procesora, ktoré zaberalo GUI len pre to, aby sa mohlo vykresľovať na obrazovke a udržiavať spustené svoje početné služby, môžete využiť na niečo užitočnejšie.
Tu je porovnanie podporovaných služieb Windows Core a plnohodnotného Windows Servera z oficiálnych stránok Microsoftu:
application
server core
server sdesktop experience
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é
Správca servera
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é
Služby.msc
nie je k dispozícii
dostupné
Ovládací panel
nie je k dispozícii
dostupné
Windows Update (GUI)
nie je k dispozícii
dostupné
Prieskumník súborov
nie je k dispozícii
dostupné
Taskbar
nie je k dispozícii
dostupné
Oznámenia na paneli úloh
nie je k dispozícii
dostupné
Taskmgr
dostupné
dostupné
Internet Explorer alebo Edge
nie je k dispozícii
dostupné
Vstavaný systém pomoci
nie je k dispozícii
dostupné
Shell Windows 10
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 vidno, z Windows Core bolo vystrihnutých veľmi veľa. Pod nožom skončili služby a procesy súvisiace s GUI systému, ako aj všetok "odpad", ktorý nepochybne nebude potrebný na našej konzolovej virtuálke, napríklad Windows Media Player.
Takmer ako Linux, ale nie je to on
Windows Server Core by sa veľmi rád porovnával s Linuxovými distribúciami, ale v skutočnosti to nie je celkom správne. Áno, tieto systémy sú si podobné v zmysle zníženého spotreby zdrojov vďaka absencii GUI a mnohých vedľajších služieb, ale z pohľadu prevádzky a niektorých prístupov k zostaveniu, je to stále Windows, a nie unixový systém.
Najjednoduchší príklad — pomocou ručnej zostavy jadra Linux a následnej inštalácie balíkov a služieb, aj najľahšia Linuxová distribúcia sa môže zmeniť na niečo ťažkopádne a podobné švajčiarskemu nožu (tu by sa veľmi žiadalo vtipkovať o Pythone a vložiť obrázok z série "Ak by programovacie jazyky boli zbraňami", ale neurobíme to). V Windows Core je taká sloboda oveľa menej, veď sa, predsa len, zaoberáme produktom Microsoft.
Windows Server Core sa dodáva už ako pripravená zostava, predvolenú konfiguráciu ktorej môžete oceniť podľa tabuľky vyššie. Ak potrebujete niečo zo zásobníka nepodporovaných, budete musieť online cez konzolu pridávať chýbajúce prvky. Je pravda, že netreba zabúdať na Feature on demand a možnosť stiahnuť komponenty ako CAB súbory, ktoré potom môžete pridať do zostavy pred inštaláciou. Ale tento scenár nefunguje, ak ste už v priebehu práce zistili, že vám chýba nejaká z vystrihnutých služieb.
Ale čo priaznivo odlišuje Core verziu od plnej — je to možnosť aktualizácie systému a pridania služieb bez zastavenia prevádzky. Windows Core podporuje rozťahovanie balíkov "na horúco", bez reštartu. Ako výsledok, zo praktických pozorovaní: stroj pod správou Windows Core treba reštartovať približne 6-krát menej často, než pod správou Windows Server, teda raz za pol roka, a nie raz za mesiac.
Príjemným bonusom pre administrátorov bude, že ak sa systém používa tak, ako bol zamýšľaný — cez konzolu, bez RDP — a nerobí sa z neho druhý Windows Server, stáva sa extrémne zabezpečeným v porovnaní s plnou verziou. Všetky väčšiny zraniteľností Windows Server sa totiž týkajú práve RDP a akcií používateľa, ktorý cez tento RDP robí to, čo by nemal. Je to podobné ako v príbehu o Henrym Fordovi a jeho názore na farbu automobilu: "Any customer can have a car painted any color that he wants so long as it is čierna'. Takto je to aj so systémom: používateľ môže komunikovať so systémom akýmkoľvek spôsobom, dôležité je, aby to robil cez konzolu.
Inštalácia a správa Windows Server 2019 Core
Predtým sme spomínali, že Windows Core je v podstate Windows Server bez GUI. To znamená, že môžete použiť takmer akúkoľvek verziu Windows Server ako core-verziu, teda vzdať sa GUI. Pre produkty rodiny Windows Server 2019 sú to 3 z 4 serverových buildov: core-mód je dostupný pre Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter a Hyper-V Server 2019, takže z tohto zoznamu vypadáva len Windows Server 2019 Essentials.
Pri tom nie je potrebné špeciálne hľadať inštalačný balík Windows Server Core. V štandardnom inštalátore od Microsoftu je core-verzia ponúkaná prakticky ako predvolená, zatiaľ čo verzia s GUI sa musí vyberať manuálne:

Možností správy systému je v skutočnosti viac ako len jeden spomenutý PowerShell, ktorý je predovšetkým odporúčaný výrobcom. Spravovať virtuálny stroj na Windows Server Core je možné minimálne piatimi rôznymi spôsobmi:
- Remote PowerShell;
- Remote Server Administration Tools (RSAT);
- Windows Admin Center;
- Sconfig;
- Server Manager.
Najväčší záujem vzbudzujú prvé tri pozície: štandardný PowerShell, RSAT a Windows Admin Center. Je však dôležité pochopiť, že získaním výhod jedného z nástrojov, dostávame aj obmedzenia, ktoré s ním prichádzajú.
Možnosti konzoly podrobne rozoberať nebudeme, PowerShell je PowerShell, so svojimi zjavnými výhodami a nevýhodami. No s RSAT a WAC je to trochu zložitejšie.
WAC poskytuje prístup k takým dôležitým prvkom správy systému, ako je úprava registre a správa diskov a zariadení. RSAT v prvom prípade funguje iba v režime prezerania a nedovolí uskutočniť žiadne zmeny, a na správu diskov a fyzických zariadení sú potrebné nástroje na správu vzdialeného servera s GUI, čo naším prípadom nie je. V podstate, RSAT nemôže pracovať s súbormi a, teda, s aktualizáciami, inštaláciou/odstraňovaním programov v úprave registra.
▍Správa systému
WAC
RSAT
Správa komponentov
Áno
Áno
Editor registra
Áno
Nie
Správa siete
Áno
Áno
Prehľad udalostí
Áno
Áno
Zdieľané priečinky
Áno
Áno
Správa diskov
Áno
Iba pre servery s GUI
Plánovač úloh
Áno
Áno
Správa zariadení
Áno
Iba pre servery s GUI
Správa súborov
Áno
Nie
Správa používateľov
Áno
Áno
Správa skupín
Áno
Áno
Správa certifikátov
Áno
Áno
Aktualizácie
Áno
Nie
Odstránenie programov
Áno
Nie
Systémový monitor
Áno
Áno
Na druhej strane, RSAT nám poskytuje plnú kontrolu nad rolami na zariadení, zatiaľ čo Windows Admin Center nemôže v tomto smere doslova nič. Toto je porovnanie schopností RSAT a WAC v tomto aspekte, pre názornosť:
▍Správa rolí
WAC
RSAT
Advanced Thread Protection
NÁHĽAD
Nie
Windows Defender
NÁHĽAD
Áno
Kontajnery
NÁHĽAD
Áno
AD Administrative Center
NÁHĽAD
Áno
AD Domain and Trusts
Nie
Áno
AD sites and services
Nie
Áno
DHCP
NÁHĽAD
Áno
DNS
NÁHĽAD
Áno
DFS Manager
Nie
Áno
GPO Manager
Nie
Áno
IIS Manager
Nie
Áno
Teda, už je zrejmé, že pri zrušení GUI a PowerShell v prospech iných prvkov kontroly, nebude možné obmedziť sa na použitie nejakého mononástroja: na plnohodnotnú administráciu vo všetkých oblastiach nám bude potrebná aspoň kombinácia RSAT a WAC.
Treba tiež pamätať, že používanie WAC si vyžaduje 150-180 megabajtov operačnej pamäte. Windows Admin Center pri pripojení vytvorí 3-4 relácie na strane servera, ktoré nie sú ukončené ani pri odpojení nástroja od virtuálneho stroja. Ešte WAC nefunguje so staršími verziami PowerShell, takže budete potrebovať aspoň PowerShell 5.0. To všetko je v rozpore s našou paradigmoj tvrdej úspory zdrojov, no za komfort sa platí. V našom prípade – operačnou pamäťou.
Ďalšou možnosťou správy Server Core je inštalácia GUI prostredníctvom externých prostriedkov, aby sme nemuseli prenášať tie tony odpadu, ktoré prichádzajú v plnej verzii spolu s rozhraním.
V tomto prípade máme dve možnosti: nainštalovať pôvodný Explorer alebo využiť Explorer++. Ako alternatíva k poslednému poslúži akýkoľvek správca súborov: Total Commander, FAR Manager, Double Commander a tak ďalej. Posledný je preferovateľný, ak je pre vás kľúčová úspora operačnej pamäte. Pridať Explorer++ alebo akýkoľvek iný správca súborov môžete vytvorením sieťovej zložky a spustením cez konzolu alebo plánovač.
Inštalácia plnohodnotného Explorera nám otvorí viac možností v práci s programovým vybavením vybaveným UI. Na to sa na Server Core App Compatibility Feature on Demand (FOD), ktorý vráti do systému MMC, Eventvwr, PerfMon, Resmon, Explorer.exe a dokonca Powershell ISE. Avšak za to budeme musieť zaplatiť, ako v prípade WAC: beznádejne stratíme približne 150-200 megabajtov operačnej pamäte, ktoré bez milosti zhltne explorer.exe a iné služby. Aj keď na stroji nie je aktívny používateľ.


Takto vyzerá spotreba pamäte systémom na strojoch s natívnym balíkom Explorer a bez neho.
Tu sa objavuje logická otázka: na čo všetky tieto krkolomné kroky s PowerShellom, FOD, správcami súborov, akýkoľvek krok doľava-doprava vedie k zvýšeniu spotreby operačnej pamäte? Prečo sa obťažovať s hromadou nástrojov a blúdiť sem a tam, aby ste si zabezpečili pohodlnú prácu na Windows Server Core, keď môžete jednoducho na inštalovať Windows Server 2016/2019 a žiť ako normálny človek?
Dôvodov na používanie Server Core je niekoľko. Prvý: spotreba pamäte je takmer dvojnásobne menšia. Ak si to pamätáte, toto kritérium ležalo na začiatku našej článku. Tu je pre porovnanie spotreba pamäte Windows Server 2019, porovnajte so screenshotmi o kúsok vyššie:

A tak, 1146 MB spotrebovanej pamäte namiesto 655 MB na Core.
Ak predpokladáme, že WAC nebude potrebný a vy budete používať Explorer++ namiesto pôvodného Explorera, tak stále získate takmer pol hektára na každej virtuálnej mašine pod správou Windows Server. Ak je virtuálka jedna, prírastok je zanedbateľný, ale ak ich je päť? Tu už má prítomnosť GUI význam, najmä ak ho nepotrebujete.
Druhé — akékoľvek tance okolo Windows Server Core vás nedovedú k boju s hlavnou problémom prevádzky Windows Server — RDP a jeho bezpečnosťou (presnejšie, jej úplným nedostatkom). Windows Core aj s obmenou vo forme FOD, RSAT a WAC je stále server bez RDP, teda nie je vystavený 95% existujúcim útokom.
V zostatku
Celkovo je Windows Core len o niečo "tučnejší" ako ktorýkoľvek štandardný Linuxový distribučný systém, ale oveľa funkčnejší. Ak potrebujete uvoľnenie zdrojov a ste pripravení pracovať s príkazovým riadkom, WAC a RSAT, používať súborové manažéry namiesto plnohodnotného GUI — potom by ste sa mali zamerať na Core. O to viac, že s ňou nebudete musieť platiť za plnohodnotný Windows, a ušetrené peniaze môžete investovať do rozšírenia svojho , napríklad pridaním RAM. Pre pohodlie sme pridali Windows Server Core do nášho .
Zdroj: habr.com
