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ě:
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
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:
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
Zdroj: www.habr.com