Vtěsnání Windows Serveru do VPS s nízkou spotřebou pomocí Windows Server Core

Vtěsnání Windows Serveru do VPS s nízkou spotřebou pomocí Windows Server Core
Vzhledem k obžerství systémů Windows dominují prostředí VPS odlehčené linuxové distribuce: Mint, Colibri OS, Debian nebo Ubuntu, postrádající těžké desktopové prostředí, které je pro naše účely zbytečné. Jak se říká, pouze konzole, pouze hardcore! A vlastně to není vůbec přehnané: stejný Debian začíná 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 budete potřebovat alespoň 512 MB a o něco rychlejší procesor. Ale co kdybychom vám řekli, že zhruba totéž můžete dělat na VPS se systémem Windows? Proč nepotřebujete zavést těžký Windows Server, který vyžaduje tři až čtyři hektary RAM a alespoň pár jader taktovaných na 1,4 GHz? Stačí použít Windows Server Core – zbavte se GUI a některých služeb. O tom, jak to udělat, si povíme v článku.

Kdo je toto jádro systému Windows Server?

Ani na oficiálních stránkách Mikeše nejsou jasné informace o tom, co je Windows (server) Core, respektive je tam všechno tak nepřehledné, že to hned nepochopíte, ale první zmínky pocházejí z éry Windows Server 2008 Windows Core je v podstatě fungující server s jádrem Windows (najednou!), „tenčí“ velikostí vlastního grafického rozhraní a asi polovinou vedlejších služeb.

Hlavní vlastností Windows Core je nenáročnost na hardware a plné konzolové ovládání přes PowerShell.

Pokud přejdete na web společnosti Microsoft a zkontrolujete technické požadavky, budete ke spuštění Windows Server 2016/2019 potřebovat alespoň 2 GB RAM a alespoň jedno jádro s taktem 1,4 GHz. Všichni ale chápeme, že s takovou konfigurací můžeme očekávat pouze spuštění systému, ale rozhodně ne pohodlné ovládání našeho OS. Z tohoto důvodu je Windows Serveru obvykle přiděleno více paměti a alespoň 2 jádra/4 vlákna z procesoru, pokud mu neposkytnou drahý fyzický stroj na nějakém Xeonu, místo levného virtuálního stroje.

Přitom samotné jádro serverového systému vyžaduje pouze 512 MB paměti a ty procesorové zdroje, které GUI spotřebovávalo jednoduše k tomu, aby byly vykresleny na obrazovku a udržely v chodu jeho četné služby, lze využít k něčemu užitečnějšímu.

Zde je srovnání služeb Windows Core podporovaných ihned po vybalení a kompletního Windows Serveru z oficiálního webu společnosti Microsoft:

aplikace
jádro serveru
server szkušenosti s počítačem

Příkazový řádek
dostupný
dostupný

Windows PowerShell/Microsoft .NET
dostupný
dostupný

Perfmon.exe
není k dispozici
dostupný

Windbg (GUI)
podporována
dostupný

Resmon.exe
není k dispozici
dostupný

Regedit
dostupný
dostupný

Fsutil.exe
dostupný
dostupný

Disksnapshot.exe
není k dispozici
dostupný

Diskpart.exe
dostupný
dostupný

Diskmgmt. msc
není k dispozici
dostupný

Devmgmt.msc
není k dispozici
dostupný

Server manager
není k dispozici
dostupný

mmc.exe
není k dispozici
dostupný

Eventvwr
není k dispozici
dostupný

Wevtutil (dotazy na události)
dostupný
dostupný

Services.msc
není k dispozici
dostupný

řídicí panel
není k dispozici
dostupný

Windows Update (GUI)
není k dispozici
dostupný

Průzkumník Windows
není k dispozici
dostupný

Taskbar
není k dispozici
dostupný

Oznámení na hlavním panelu
není k dispozici
dostupný

Taskmgr
dostupný
dostupný

Internet Explorer nebo Edge
není k dispozici
dostupný

Vestavěný systém nápovědy
není k dispozici
dostupný

Prostředí Windows 10
není k dispozici
dostupný

Windows Media Player
není k dispozici
dostupný

PowerShell
dostupný
dostupný

PowerShell ISE
není k dispozici
dostupný

PowerShell IME
dostupný
dostupný

Mstsc.exe
není k dispozici
dostupný

Služby vzdálené plochy
dostupný
dostupný

Správce technologie Hyper-V
není k dispozici
dostupný

Jak je vidět, z Windows Core se toho hodně ukrojilo. Služby a procesy spojené s GUI systému, stejně jako jakýkoli „odpad“, který rozhodně není potřeba na našem konzolovém virtuálním stroji, například Windows Media Player, šel pod nůž.

Skoro jako Linux, ale ne on

Opravdu chci porovnat Windows Server Core s distribucemi Linuxu, ale ve skutečnosti to není úplně správné. Ano, tyto systémy jsou si navzájem podobné, pokud jde o sníženou spotřebu zdrojů kvůli opuštění GUI a mnoha vedlejších služeb, ale z hlediska provozu a některých přístupů k sestavení se stále jedná o Windows, nikoli o unixový systém.

Nejjednodušším příkladem je, že ručním sestavením linuxového jádra a následnou instalací balíčků a služeb lze i z odlehčené linuxové distribuce udělat něco těžkopádného a podobného švýcarskému armádnímu noži (tady si opravdu chci udělat srandu s harmonikou o Pythonu a vložte obrázek ze série „Pokud by programovací jazyky byly zbraně“, ale nebudeme). Ve Windows Core je takové svobody mnohem méně, protože máme koneckonců co do činění s produktem Microsoftu.

Windows Server Core je připraven, jehož výchozí konfiguraci lze odhadnout z výše uvedené tabulky. Pokud potřebujete něco z nepodporovaného seznamu, budete muset chybějící prvky přidat online prostřednictvím konzole. Je pravda, že byste neměli zapomínat na funkci na vyžádání a možnost stahovat komponenty jako soubory CAB, které pak lze přidat do sestavy před instalací. Tento skript však nefunguje, pokud již během procesu zjistíte, že vám chybí některá ze služeb cut.

Co ale odlišuje Core verzi od plné verze, je možnost aktualizovat systém a přidávat služby bez zastavení práce. Windows Core podporuje válcování balíčků za tepla bez restartu. V důsledku toho, na základě praktických pozorování: počítač se systémem Windows Core je třeba restartovat ~6krát méně často než počítač se systémem Windows Server, tedy jednou za šest měsíců, a ne jednou za měsíc.

Příjemným bonusem pro administrátory je, že pokud je systém používán tak, jak bylo zamýšleno – prostřednictvím konzole, bez RDP – a není přeměněn na druhý Windows Server, stává se ve srovnání s plnou verzí extrémně bezpečným. Většina zranitelností Windows Serveru je koneckonců způsobena RDP a činnostmi uživatele, který prostřednictvím tohoto RDP dělá něco, co by se dělat nemělo. Je to něco jako příběh s Henrym Fordem a jeho postojem k barvě auta: „Každý zákazník si může nechat nalakovat auto na jakoukoli barvu, kterou chce, pokud je černý" Je to stejné jako se systémem: uživatel může se systémem komunikovat jakýmkoli způsobem, hlavní je, že to dělá přes konzola.

Nainstalujte a spravujte Windows Server 2019 Core

Již dříve jsme zmínili, že Windows Core je v podstatě Windows Server bez obalu GUI. To znamená, že můžete použít téměř libovolnou verzi Windows Server jako základní verzi, to znamená opustit GUI. U produktů řady Windows Server 2019 se jedná o 3 ze 4 sestavení serveru: základní režim je k dispozici pro Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter a Hyper-V Server 2019, to znamená, že jsou vyloučeny pouze Windows Server 2019 Essentials. z tohoto seznamu.

V tomto případě opravdu nemusíte hledat instalační balíček Windows Server Core. Ve standardním instalačním programu Microsoftu je základní verze nabízena doslova ve výchozím nastavení, zatímco verzi GUI je nutné vybrat ručně:

Vtěsnání Windows Serveru do VPS s nízkou spotřebou pomocí Windows Server Core
Ve skutečnosti je zde více možností pro správu systému, než je zmíněný PowerShell, který výrobce standardně nabízí. Virtuální počítač na Windows Server Core můžete spravovat alespoň pěti různými způsoby:

  • Remote PowerShell;
  • Nástroje pro vzdálenou správu serveru (RSAT);
  • Centrum pro správu systému Windows;
  • Sconfig;
  • Správce serveru.

Největší zájem je o první tři pozice: standardní PowerShell, RSAT a Windows Admin Center. Je však důležité pochopit, že i když získáváme výhody jednoho z nástrojů, dostáváme také omezení, která ukládá.

Schopnosti konzole popisovat nebudeme, PowerShell je PowerShell se zřejmými klady a zápory. S RSAT a WAC je vše trochu složitější. 

WAC vám poskytuje přístup k důležitým ovládacím prvkům systému, jako je úprava registru a správa disků a zařízení. RSAT v prvním případě funguje pouze v režimu zobrazení a nedovolí vám provádět žádné změny a ke správě disků a fyzických zařízení Nástroje pro správu vzdáleného serveru vyžadují GUI, což v našem případě není. Obecně RSAT neumí pracovat se soubory a tedy ani aktualizacemi, instalací/odebíráním programů v editaci registru.

▍Správa systému

 

WAC
RSAT

Správa komponent
Ano
Ano

Editor registru
Ano
Ne

Správa sítě
Ano
Ano

Zobrazit události
Ano
Ano

Sdílené složky
Ano
Ano

Správa disku
Ano
Pouze pro servery s GUI

Plánovač úkolů
Ano
Ano

Správa zařízení
Ano
Pouze pro servery s GUI

Správa souborů
Ano
Ne

správa uživatelů
Ano
Ano

Vedení skupiny
Ano
Ano

Správa certifikátů
Ano
Ano

Aktualizace
Ano
Ne

Odinstalování programů
Ano
Ne

Monitor systému
Ano
Ano

Na druhou stranu nám RSAT dává úplnou kontrolu nad rolemi na počítači, zatímco Windows Admin Center v tomto ohledu nemůže udělat doslova nic. Zde je srovnání schopností RSAT a WAC v tomto aspektu, pro jasnost:

▍Správa rolí

 

WAC
RSAT

Pokročilá ochrana vláken
NÁHLED
Ne

Windows Defender
NÁHLED
Ano

kontejnery
NÁHLED
Ano

Administrativní centrum AD
NÁHLED
Ano

AD doména a trusty
Ne
Ano

AD stránky a služby
Ne
Ano

DHCP
NÁHLED
Ano

DNS
NÁHLED
Ano

Správce DFS
Ne
Ano

Správce GPO
Ne
Ano

Správce IIS
Ne
Ano

To znamená, že již nyní je jasné, že pokud opustíme GUI a PowerShell ve prospěch jiných ovládacích prvků, nevyhneme se používání nějakého druhu mono-nástroje: pro plnou administraci na všech frontách budeme potřebovat min. kombinace RSAT a WAC.

Musíte si však pamatovat, že za použití WAC budete muset zaplatit 150–180 MB RAM. Po připojení vytvoří Windows Admin Center 3–4 relace na straně serveru, které nejsou ukončeny, ani když je nástroj odpojen od virtuálního počítače. WAC také nefunguje se staršími verzemi PowerShellu, takže budete potřebovat alespoň PowerShell 5.0. To vše jde proti našemu paradigmatu askeze, ale za pohodlí se musí platit. V našem případě - RAM.

Další možností pro správu Server Core je instalace GUI pomocí nástrojů třetích stran, abyste nepřetahovali tuny odpadků, které přicházejí s rozhraním v plnohodnotné sestavě.

V tomto případě máme dvě možnosti: zavést do systému původního Průzkumníka nebo použít Explorer++. Jako alternativa k druhému je vhodný jakýkoli správce souborů: Total Commander, FAR Manager, Double Commander a tak dále. To druhé je vhodnější, pokud je pro vás úspora paměti RAM kritická. Můžete přidat Explorer++ nebo jakýkoli jiný správce souborů vytvořením síťové složky a jejím spuštěním prostřednictvím konzoly nebo plánovače.

Instalace plnohodnotného Průzkumníka nám poskytne více příležitostí z hlediska práce se softwarem vybaveným UI. Za to my bude muset kontaktovat na funkci Server Core App Compatibility Feature on Demand (FOD), která do systému vrátí MMC, Eventvwr, PerfMon, Resmon, Explorer.exe a dokonce Powershell ISE. Za to si však budeme muset zaplatit, jako je tomu u WAC: nenávratně přijdeme o cca 150-200 megabajtů RAM, které nemilosrdně spolkne explorer.exe a další služby. I když na stroji není žádný aktivní uživatel.

Vtěsnání Windows Serveru do VPS s nízkou spotřebou pomocí Windows Server Core
Vtěsnání Windows Serveru do VPS s nízkou spotřebou pomocí Windows Server Core
Takto vypadá spotřeba paměti systémem na počítačích s nativním balíčkem Explorer a bez něj.

Nabízí se zde logická otázka: proč všechno to tančení s PowerShellem, FOD, správci souborů, pokud jakýkoli krok doleva nebo doprava vede ke zvýšení spotřeby RAM? Proč se mazat spoustou nástrojů a přehazovat ze strany na stranu, abyste si zajistili pohodlnou práci na Windows Server Core, když si stačí stáhnout Windows Server 2016/2019 a žít jako běloch?

Existuje několik důvodů, proč používat Server Core. Za prvé: současná spotřeba paměti je téměř poloviční. Pokud si vzpomínáte, tato podmínka byla základem našeho článku na samém začátku. Pro srovnání je zde spotřeba paměti systému Windows Server 2019, porovnejte se snímky obrazovky výše:

Vtěsnání Windows Serveru do VPS s nízkou spotřebou pomocí Windows Server Core
A tak spotřeba paměti 1146 MB místo 655 MB na Core. 

Za předpokladu, že nepotřebujete WAC a budete místo původního Exploreru používat Explorer++, pak vy ještě vyhrajete skoro půl hektaru na každém virtuálním počítači se systémem Windows Server. Pokud je pouze jeden virtuální stroj, pak je nárůst nevýznamný, ale pokud je jich pět? Zde je důležité mít GUI, zvláště pokud ho nepotřebujete. 

Za druhé, žádné tanečky kolem Windows Server Core vás nepovedou k boji s hlavním problémem provozu Windows Serveru - RDP a jeho zabezpečení (přesněji jeho úplná absence). Windows Core, dokonce i potažené ve formě FOD, RSAT a WAC, je stále serverem bez RDP, to znamená, že není náchylný k 95 % existujících útoků.

Zbývající

Obecně je Windows Core jen o málo tlustší než jakákoli standardní distribuce Linuxu, ale je mnohem funkčnější. Pokud potřebujete uvolnit prostředky a jste připraveni pracovat s konzolí, WAC a RSAT a místo plnohodnotného GUI používat správce souborů, pak Core stojí za pozornost. Navíc se s ním budete moci vyhnout placení navíc za plnohodnotný Windows a ušetřené peníze utratit za upgrade svého VPS, přidá tam například RAM. Pro pohodlí jsme do našeho systému přidali Windows Server Core tržiště.

Vtěsnání Windows Serveru do VPS s nízkou spotřebou pomocí Windows Server Core

Zdroj: www.habr.com

Přidat komentář