Kvůli náročnosti systémů Windows dominují v prostředí VPS lehké linuxové distribuce: Mint, Colibri OS, Debian nebo Ubuntu, zbavené zbytečného, pro naše úkoly těžkopádného prostředí pracovního panelu. Jak se říká, pouze konzole, pouze hardcore! A ve skutečnosti, to rozhodně není nadsázka: ten samý Debian běží na 256 MB paměti a jednom jádru s taktem 1 GHz, tedy téměř na jakémkoli 'pařezu'. Pro pohodlnou práci je potřeba alespoň 512 MB a procesor trochu svižnější. Ale co kdybychom vám řekli, že něco podobného lze provést i na VPS pod Windows? Že není třeba nasazovat těžkopádný Windows Server, který vyžaduje tři až čtyři gigabajty operační paměti a minimálně dva procesorové jádra s taktem 1,4 GHz? Stačí využít Windows Server Core – zbavit se GUI a části služeb. O tom, jak to udělat, budeme hovořit v článku.
Kdo je ten váš Windows Server Core?
Jasné informace o tom, co je Windows (server) Core, nejsou ani na oficiálních stránkách Microsoftu, přesněji, všechno je tam tak zamotané, že to hned nepochopíte, ale první zmínky se datují už do éry Windows Server 2008. V podstatě, Windows Core je funkční jádro Windows Server (překvapivě!), 'zhubnuté' o velikost vlastního GUI a přibližně polovinu vedlejších služeb.
Hlavní vychytávka Windows Core je nenáročnost na hardware a kompletní ovládání přes konzoli pomocí PowerShell.
Pokud se podíváte na web Microsoftu a zkontrolujete technické požadavky, pro spuštění Windows Server 2016/2019 budete potřebovat alespoň 2 gigabyty operační paměti a minimálně jedno jádro s taktem 1,4 GHz. Ale všichni víme, že na takové konfiguraci můžeme očekávat pouze spuštění systému, ale rozhodně ne pohodlnou práci naší OS. Právě z tohoto důvodu se pro práci s Windows Server obvykle vyčleňuje více paměti a minimálně 2 jádra/4 vlákna od procesoru, pokud se jí vůbec neposkytne drahá fyzická mašina na nějakém Xeon, místo levné virtualizace.
Samotné jádro serverového systému přitom potřebuje pouze 512 MB paměti, a ty procesorové zdroje, které byly využívány GUI jen pro to, aby se mohly zobrazovat na obrazovce a udržovat v chodu své četné služby, můžete nasměrovat na něco užitečnějšího.
Zde je srovnání služeb podporovaných z krabice Windows Core a plnohodnotného Windows Serveru z oficiálních stránek Microsoftu:
application
server core
server sdesktop experience
Příkazový řádek
dostupný
dostupný
Windows PowerShell/ Microsoft .NET
dostupný
dostupný
Perfmon.exe
nedostupný
dostupný
Windbg (GUI)
podporováno
dostupný
Resmon.exe
nedostupný
dostupný
Regedit
dostupný
dostupný
Fsutil.exe
dostupný
dostupný
Disksnapshot.exe
nedostupný
dostupný
Diskpart.exe
dostupný
dostupný
Diskmgmt.msc
nedostupný
dostupný
Devmgmt.msc
nedostupný
dostupný
Správce serveru
nedostupný
dostupný
Mmc.exe
nedostupný
dostupný
Eventvwr
nedostupný
dostupný
Wevtutil (dotazy na události)
dostupný
dostupný
Služby.msc
nedostupný
dostupný
Ovládací panel
nedostupný
dostupný
Windows Update (GUI)
nedostupný
dostupný
Průzkumník Windows
nedostupný
dostupný
Taskbar
nedostupný
dostupný
Oznámení na panelu úloh
nedostupný
dostupný
Taskmgr
dostupný
dostupný
Internet Explorer nebo Edge
nedostupný
dostupný
Vestavěný pomocný systém
nedostupný
dostupný
Shell Windows 10
nedostupný
dostupný
Windows Media Player
nedostupný
dostupný
PowerShell
dostupný
dostupný
PowerShell ISE
nedostupný
dostupný
PowerShell IME
dostupný
dostupný
Mstsc.exe
nedostupný
dostupný
Služby vzdálené plochy
dostupný
dostupný
Správce Hyper-V
nedostupný
dostupný
Jak je vidět, z Windows Core bylo vyříznuto velmi mnoho. Byly odstraněny služby a procesy spojené s GUI systému, stejně jako veškerý "odpad", který rozhodně nebude potřeba na našem konzolovém virtuálním stroji, například Windows Media Player.
Téměř jako Linux, ale není to on
Windows Server Core se velmi rádo porovnává s Linuxovými distribucemi, ale ve skutečnosti to není úplně správné. Ano, tyto systémy se navzájem podobají z pohledu snížené spotřeby zdrojů díky odmítnutí GUI a mnoha vedlejších služeb, ale z hlediska provozu a některých přístupů k sestavení, to je stále Windows, a ne unixový systém.
Nejdůležitějším příkladem je, že prostřednictvím ručního sestavení jádra Linux a následné instalace balíčků a služeb, i ten nejlehčí Linuxový distribuce se může změnit v něco těžkopádného a podobného švýcarskému noži (tady by bylo velmi humorné vtipkovat o Pythonu a vložit obrázek ze série „If Programming Languages Were Weapons“, ale nebudeme). Ve Windows Core je této svobody mnohem méně, protože se přece jen jedná o produkt Microsoftu.
Windows Server Core se dodává již jako připravená sestava, jejíž výchozí konfiguraci lze hodnotit na základě výše uvedené tabulky. Pokud budete potřebovat něco ze seznamu nepodporovaných, budete muset online prostřednictvím konzole přidat chybějící prvky. Je však důležité nezapomínat na funkci Feature on demand a možnost stáhnout komponenty jako CAB soubory, které pak lze přidat do sestavy před instalací. Ale tento scénář nefunguje, pokud jste zjistili, že vám nějaká vyřazená služba chybí, již během provozu.
Ale co výrazně odlišuje verzi Core od plné verze — je to možnost aktualizace systému a přidání služeb bez zastavení činnosti. Windows Core podporuje rozbalení balíčků „za tepla“, bez restartu. Výsledkem na základě praktických pozorování je, že stroj běžící na Windows Core je třeba restartovat přibližně 6krát méně než stroj běžící na Windows Server, tedy jednou za půl roku, nikoli jednou za měsíc.
Příjemným bonusem pro administrátory bude to, že pokud se systém používá, jak bylo zamýšleno — přes konzoli, bez RDP — a nedělá se z něj druhý Windows Server, stává se extrémně zabezpečeným ve srovnání s plnou verzí. Většina zranitelností Windows Serveru se totiž nachází právě v RDP a v činnostech uživatele, který prostřednictvím tohoto RDP dělá to, co by neměl. Je to podobné jako v příběhu s Henrym Fordem a jeho vztahem k barvě automobilu: „Jakýkoli zákazník může mít auto v jakékoli barvě, kterou chce, pokud je černá“. Stejně tak se to má i se systémem: uživatel může jakýmkoli způsobem komunikovat se systémem, hlavně ať to dělá přes konzoli.
Instalace a správa Windows Server 2019 Core
Dříve jsme zmínili, že Windows Core je vlastně Windows Server bez obálky GUI. To znamená, že můžete využít téměř jakoukoli verzi Windows Server jako core-verzi, tedy se vzdát GUI. Pro produkty ze skupiny Windows Server 2019 jsou to 3 ze 4 serverových buildů: core režim je dostupný pro Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter a Hyper-V Server 2019, takže z tohoto seznamu vypadává pouze Windows Server 2019 Essentials.
Přitom instalační balíček Windows Server Core zvlášť hledat není třeba. V běžném instalátoru od Microsoftu je core verze nabízena de facto automaticky, zatímco verzi s GUI je nutné vybírat ručně:

Možností, jak řídit systém, je ve skutečnosti více než jedna zmíněná PowerShell, kterou výrobce nabízí jako výchozí. Spravovat virtuální stroj na Windows Server Core lze minimálně pěti různými způsoby:
- Remote PowerShell;
- Remote Server Administration Tools (RSAT);
- Windows Admin Center;
- Sconfig;
- Server Manager.
Největší zájem vzbuzují první tři možnosti: standardní PowerShell, RSAT a Windows Admin Center. Je však důležité chápat, že získáním výhod jednoho z nástrojů si zároveň klademe omezení, která s ním přicházejí.
Možnosti konzole rozepisovat nebudeme, PowerShell je PowerShell, se svými zjevnými plusy a minusy. S RSAT a WAC je to však o něco složitější.
WAC poskytuje přístup k důležitým systémovým ovládacím prvkům, jako je úprava registru a správa disků a zařízení. RSAT v prvním případě funguje pouze v režimu prohlížení a neumožňuje provádět žádné změny, a pro správu disků a fyzických zařízení nástroje pro vzdálenou správu serveru potřebují GUI, což není náš případ. Obecně platí, že RSAT nemůže pracovat s soubory, a tudíž ani s aktualizacemi, instalací/odebráním programů v úpravě registru.
▍Správa systému
WAC
RSAT
Správa komponentů
Ano
Ano
Editor registru
Ano
Ne
Správa sítě
Ano
Ano
Prohlížeč událostí
Ano
Ano
Sdílené složky
Ano
Ano
Správa disků
Ano
Pouze pro servery s GUI
Plánovač úloh
Ano
Ano
Správa zařízení
Ano
Pouze pro servery s GUI
Správa souborů
Ano
Ne
Správa uživatelů
Ano
Ano
Správa skupin
Ano
Ano
Správa certifikátů
Ano
Ano
Aktualizace
Ano
Ne
Odstranění programů
Ano
Ne
Systémový monitor
Ano
Ano
Na druhou stranu, RSAT nám dává plnou kontrolu nad rolemi na stroji, zatímco Windows Admin Center v tomto ohledu doslova nic nemůže. Tady je srovnání schopností RSAT a WAC v tomto aspektu pro názornost:
▍Správa rolí
WAC
RSAT
Advanced Thread Protection
NÁHLED
Ne
Windows Defender
NÁHLED
Ano
Kontejnery
NÁHLED
Ano
AD Administrativní centrum
NÁHLED
Ano
AD Domény a důvěry
Ne
Ano
AD lokalit a služeb
Ne
Ano
DHCP
NÁHLED
Ano
. Vytvořte A-záznam blog a určete pro něj nějakou fiktivní IP (to je oficiální
NÁHLED
Ano
DFS Správce
Ne
Ano
GPO Správce
Ne
Ano
IIS Správce
Ne
Ano
To už naznačuje, že pokud se vzdáme GUI a PowerShellu ve prospěch jiných ovládacích prvků, od používání nějakého mono-nástroje se nevyhneme: pro komplexní administraci na všech frontách budeme potřebovat alespoň kombinaci RSAT a WAC.
Je třeba mít na paměti, že používání WAC si vyžádá 150-180 megabajtů operační paměti. Windows Admin Center při připojení vytváří 3-4 relace na straně serveru, které nelze zrušit ani při odpojení nástroje od virtuálního stroje. WAC také nefunguje se staršími verzemi PowerShellu, takže budete potřebovat alespoň PowerShell 5.0. To vše jde proti naší paradigmě tvrdé úspory zdrojů, ale za pohodlí se musí platit. V našem případě — operační pamětí.
Další možností správy Server Core je instalace GUI pomocí externích nástrojů, aby se nemusely tahat ty tuny balastu, které přicházejí v plné verzi spolu s rozhraním.
V tomto případě máme dvě možnosti: nainstalovat originální Explorer nebo využít Explorer++. Jako alternativu k posledně jmenovanému může zvolit jakýkoli správce souborů: Total Commander, FAR Manager, Double Commander a tak dále. Poslední jmenovaný je preferovanější, pokud pro vás hraje roli úspora operační paměti. Přidání Explorer++ nebo jiného správce souborů lze provést vytvořením síťové složky a spuštěním přes konzoli nebo plánovač úloh.
Instalace plnohodnotného Exploreru nám poskytne více možností při práci se softwarem vybaveným uživatelským rozhraním. K tomu na funkci Server Core App Compatibility Feature on Demand (FOD), která vrátí do systému MMC, Eventvwr, PerfMon, Resmon, Explorer.exe a dokonce i Powershell ISE. Avšak za to budeme muset zaplatit, stejně jako u WAC: trvale ztratíme přibližně 150-200 megabajtů operační paměti, které neúprosně spotřebuje explorer.exe a další služby. I když na stroji není aktivní uživatel.


Takhle vypadá spotřeba paměti systémem na strojích s vlastní verzí Exploreru a bez ní.
Tady vyvstává logická otázka: proč všechny tyto obraty s PowerShellem, FOD, správci souborů, když každý krok vlevo-vpravo zvyšuje spotřebu operační paměti? Proč se zatěžovat hromadou nástrojů a tápit ze strany na stranu, abychom si zajistili pohodlnou práci na Windows Server Core, když si můžeme jednoduše nainstalovat Windows Server 2016/2019 a žít jako normální lidé?
Existuje několik důvodů pro použití Server Core. První: jeho spotřeba paměti je téměř dvakrát menší. Pokud si pamatujete, toto kriterium bylo základem našeho článku už na začátku. Tady je pro srovnání spotřeba paměti Windows Server 2019, porovnejte se snímky obrazovky výše:

A tak, 1146 MB spotřebované paměti místo 655 MB na Core.
Pokud předpokládáme, že WAC nebudete potřebovat a místo originálního Exploreru budete používat Explorer++, pak stále ušetříte téměř půl hektaru na každé virtuální mašině běžící pod Windows Server. Pokud je virtuální mašina jedna, je přírůstek zanedbatelný, ale pokud jich je pět? Tam už má GUI význam, zvlášť pokud ho nepotřebujete.
Druhé — jakékoli tančení kolem Windows Server Core vás nezbaví hlavního problému při provozování Windows Server — RDP a jeho bezpečnosti (přesněji, úplné její absenci). Windows Core, i když je zabalený v podobě FOD, RSAT a WAC, stále zůstává serverem bez RDP, což znamená, že není vystaven 95 % stávajících útoků.
V zbytku
Celkově je Windows Core jen o něco "tlustší" než jakýkoli standardní Linuxový distribuce, ale je mnohem funkčnější. Pokud potřebujete uvolnit zdroje a jste ochotni pracovat s konzolí, WAC a RSAT, používat souborové manažery místo plnohodnotného GUI — pak byste se měli zaměřit na Core. O to víc, že díky tomu nemusíte platit za plnohodnotný Windows, a ušetřené peníze můžete investovat do upgradu svého , například přidáním RAM. Pro pohodlí jsme přidali Windows Server Core do našeho .
Zdroj: habr.com
