Vtesnenie Windows Server na slabú VPS pomocou Windows Server Core

Vtesnenie Windows Server na slabú VPS pomocou Windows Server Core
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:

Vtesnenie Windows Server na slabú VPS pomocou Windows Server Core
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 musíme obrátiť 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ľ.

Vtesnenie Windows Server na slabú VPS pomocou Windows Server Core
Vtesnenie Windows Server na slabú VPS pomocou Windows Server Core
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:

Vtesnenie Windows Server na slabú VPS pomocou Windows Server Core
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 VPS, napríklad pridaním RAM. Pre pohodlie sme pridali Windows Server Core do nášho trhu.

Vtesnenie Windows Server na slabú VPS pomocou Windows Server Core

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster