A Windows Server összenyomása egy alacsony fogyasztású VPS-re a Windows Server Core használatával

A Windows Server összenyomása egy alacsony fogyasztású VPS-re a Windows Server Core használatával
A Windows rendszerek falánksága miatt a VPS-környezetet a könnyű Linux disztribúciók uralják: Mint, Colibri OS, Debian vagy Ubuntu, amelyek nélkülözik a céljaink szempontjából szükségtelen nehéz asztali környezetet. Ahogy mondani szokták, csak konzol, csak hardcore! És valójában ez egyáltalán nem túlzás: ugyanaz a Debian 256 MB memóriáról és egy magról indul 1 Ghz-es órajellel, vagyis szinte bármilyen „csonkon”. A kényelmes munkavégzéshez legalább 512 MB-ra és valamivel gyorsabb processzorra lesz szüksége. De mi lenne, ha azt mondanánk, hogy nagyjából ugyanezt megteheti egy Windowst futtató VPS-en? Miért nem kell kivezetnie egy nehéz Windows Servert, amely három-négy hektár RAM-ot és legalább néhány 1,4 GHz-es órajelű magot igényel? Csak használja a Windows Server Core-ot – szabaduljon meg a grafikus felhasználói felülettől és néhány szolgáltatástól. Ennek módjáról a cikkben fogunk beszélni.

Ki ez a Windows Server Core?

Még a hivatalos Mikes honlapján sincsenek egyértelmű információk arról, hogy mi az a Windows (server) Core, vagy inkább ott minden annyira zavaros, hogy nem fogod azonnal megérteni, de az első említések a Windows Server 2008 korszakából származnak. Lényegében a Windows Core egy működő Windows kernel szerver (hirtelen!), amely „vékonyabb” a saját grafikus felhasználói felülete méretével és a mellékszolgáltatások körülbelül felével.

A Windows Core fő jellemzője az igénytelen hardver és a PowerShell-en keresztüli teljes konzolvezérlés.

Ha felkeresi a Microsoft webhelyét, és megnézi a műszaki követelményeket, akkor a Windows Server 2016/2019 elindításához legalább 2 GB RAM-ra és legalább egy 1,4 GHz-es órajelű magra lesz szüksége. De mindannyian megértjük, hogy egy ilyen konfigurációtól csak a rendszer indulását várhatjuk el, de az operációs rendszerünk kényelmes működését biztosan nem. Ez az oka annak, hogy a Windows Server rendszerint több memóriát és legalább 2 magot/4 szálat kap a processzortól, ha nem biztosítanak neki drága fizikai gépet valamilyen Xeonon, olcsó virtuális gép helyett.

Ugyanakkor maga a szerverrendszer magja mindössze 512 MB memóriát igényel, és azokat a processzorerőforrásokat, amelyeket a grafikus felhasználói felület felemésztett, egyszerűen a képernyőre rajzolta, és számos szolgáltatását folyamatosan futtatta, hasznosabbra lehet használni.

Íme egy összehasonlítás a gyárilag támogatott Windows Core szolgáltatások és egy teljes Windows Server között a Microsoft hivatalos webhelyéről:

alkalmazás
szerver mag
szerverrelasztali élmény

Parancssor
elérhető
elérhető

Windows PowerShell/Microsoft .NET
elérhető
elérhető

Perfmon.exe
nem elérhető
elérhető

Windbg (GUI)
támogatott
elérhető

Resmon.exe
nem elérhető
elérhető

regedit
elérhető
elérhető

Fsutil.exe
elérhető
elérhető

Disksnapshot.exe
nem elérhető
elérhető

Diskpart.exe
elérhető
elérhető

diskmgmt.msc
nem elérhető
elérhető

devmgmt.msc
nem elérhető
elérhető

Server Manager
nem elérhető
elérhető

mmc.exe
nem elérhető
elérhető

Eventvwr
nem elérhető
elérhető

Wevtutil (eseménylekérdezések)
elérhető
elérhető

Services.msc
nem elérhető
elérhető

Control Panel
nem elérhető
elérhető

Windows Update (GUI)
nem elérhető
elérhető

A windows Explorer
nem elérhető
elérhető

tálcán
nem elérhető
elérhető

Tálca értesítései
nem elérhető
elérhető

Taskmgr
elérhető
elérhető

Internet Explorer vagy Edge
nem elérhető
elérhető

Beépített súgórendszer
nem elérhető
elérhető

Windows 10 Shell
nem elérhető
elérhető

A Windows Media Player
nem elérhető
elérhető

PowerShell
elérhető
elérhető

PowerShell ISE
nem elérhető
elérhető

PowerShell IME
elérhető
elérhető

Mstsc.exe
nem elérhető
elérhető

Távoli asztali szolgáltatások
elérhető
elérhető

Hyper-V menedzser
nem elérhető
elérhető

Amint láthatja, sok minden kimaradt a Windows Core-ból. Kés alá kerültek a rendszer grafikus felhasználói felületéhez kapcsolódó szolgáltatások és folyamatok, valamint minden olyan „szemét”, amelyre a konzolos virtuális gépünkön, például a Windows Media Playeren biztosan nincs szükség.

Majdnem olyan, mint a Linux, de nem az

Nagyon szeretném összehasonlítani a Windows Server Core-ot a Linux disztribúciókkal, de valójában ez nem teljesen helyes. Igen, ezek a rendszerek hasonlítanak egymáshoz a csökkentett erőforrás-felhasználás tekintetében a grafikus felhasználói felület és számos mellékszolgáltatás elhagyása miatt, de a működést és az összeszerelés egyes megközelítéseit tekintve ez még mindig Windows, és nem Unix rendszer.

A legegyszerűbb példa az, hogy a Linux kernel manuális felépítésével, majd a csomagok és szolgáltatások telepítésével még egy könnyű Linux disztribúció is egy svájci bicskához hasonló nehézkezűvé alakítható (itt nagyon szeretnék egy harmonikás viccet csinálni a Pythonról és szúrjon be egy képet a „Ha a programozási nyelvek fegyverek lennének” sorozatból, de nem fogjuk). A Windows Core-ban sokkal kevesebb ez a szabadság, mert végül is egy Microsoft termékkel van dolgunk.

A Windows Server Core készen érkezik, amelynek alapértelmezett konfigurációja a fenti táblázatból becsülhető meg. Ha szüksége van valamire a nem támogatott listáról, akkor a hiányzó elemeket online kell hozzáadnia a konzolon keresztül. Igaz, nem szabad megfeledkezni a Feature on demand szolgáltatásról és arról, hogy CAB-fájlként tölthetők le az összetevők, amelyeket aztán a telepítés előtt hozzáadhatunk az összeállításhoz. Ez a szkript azonban nem működik, ha már a folyamat során felfedezi, hogy hiányzik valamelyik kivágott szolgáltatás.

A Core verziót azonban az különbözteti meg a teljes verziótól, hogy a munka leállítása nélkül frissítheti a rendszert és hozzáadhat szolgáltatásokat. A Windows Core támogatja a csomagok forró görgetését, újraindítás nélkül. Ennek eredményeként gyakorlati megfigyelések alapján: egy Windows Core-t futtató gépet ~6-szor ritkábban kell újraindítani, mint egy Windows Servert, vagyis félévente egyszer, és nem havonta egyszer.

Kellemes bónusz az adminisztrátorok számára, hogy ha a rendszert rendeltetésszerűen - konzolon keresztül, RDP nélkül - használják, és nem alakítják át második Windows Server-re, akkor a teljes verzióhoz képest rendkívül biztonságossá válik. Végtére is, a Windows Server sebezhetőségeinek többsége az RDP-nek és a felhasználó tevékenységének köszönhető, aki éppen ezen az RDP-n keresztül olyasmit tesz, amit nem szabadna megtenni. Ez olyasmi, mint Henry Forddal és az autók színéhez való hozzáállásával kapcsolatos történet: „Bármely vásárló bármilyen színre festetheti az autót, amíg az fekete" Ugyanez a helyzet a rendszerrel: a felhasználó bármilyen módon kommunikálhat a rendszerrel, a lényeg, hogy ezt keresztül tegye konzol.

A Windows Server 2019 Core telepítése és kezelése

Korábban már említettük, hogy a Windows Core lényegében Windows Server a grafikus felhasználói felület burkoló nélkül. Vagyis a Windows Server szinte bármelyik verzióját használhatja alapverzióként, vagyis elhagyhatja a grafikus felhasználói felületet. A Windows Server 2019 termékcsaládhoz tartozó termékek esetében ez a 3-ből 4 kiszolgáló felépítése: az alapmód elérhető a Windows Server 2019 Standard Edition, a Windows Server 2019 Datacenter és a Hyper-V Server 2019 rendszerekhez, vagyis csak a Windows Server 2019 Essentials nem tartozik bele. ebből a listából.

Ebben az esetben nem igazán kell keresnie a Windows Server Core telepítőcsomagot. A szabványos Microsoft telepítőben az alapverziót alapértelmezés szerint szó szerint kínálják, míg a GUI verziót manuálisan kell kiválasztani:

A Windows Server összenyomása egy alacsony fogyasztású VPS-re a Windows Server Core használatával
Valójában több lehetőség is van a rendszer kezelésére, mint az említett PowerShell, amelyet alapértelmezés szerint kínál a gyártó. A Windows Server Core rendszeren lévő virtuális gépeket legalább öt különböző módon kezelheti:

  • Távoli PowerShell;
  • Távoli kiszolgálófelügyeleti eszközök (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Kiszolgálókezelő.

Az első három pozíció a legnagyobb érdeklődésre számot tartó: szabványos PowerShell, RSAT és Windows Admin Center. Fontos azonban megérteni, hogy miközben élvezzük az egyik eszköz előnyeit, egyúttal megkapjuk az általa támasztott korlátokat is.

Nem írjuk le a konzol képességeit, a PowerShell a PowerShell, nyilvánvaló előnyeivel és hátrányaival. Az RSAT és a WAC esetében minden kicsit bonyolultabb. 

A WAC hozzáférést biztosít a fontos rendszervezérlőkhöz, például a rendszerleíró adatbázis szerkesztéséhez, valamint a lemezek és eszközök kezeléséhez. Az RSAT az első esetben csak nézet módban működik, és nem enged semmilyen változtatást, illetve a lemezek és fizikai eszközök kezeléséhez A Remote Server Administration Tools grafikus felhasználói felületet igényel, ami esetünkben nem így van. Általánosságban elmondható, hogy az RSAT nem tud dolgozni fájlokkal, és ennek megfelelően frissítésekkel, programok telepítésével/eltávolításával a beállításjegyzék szerkesztésében.

▍Rendszerkezelés

 

WAC
RSAT

Alkatrészkezelés
Igen
Igen

Nyilvántartó szerkesztő
Igen
Nincs

Hálózat menedzsment
Igen
Igen

Eseménynéző
Igen
Igen

Megosztott mappák
Igen
Igen

Lemezkezelés
Igen
Csak grafikus felhasználói felülettel rendelkező szerverekhez

Feladat ütemező
Igen
Igen

Eszköz kezelés
Igen
Csak grafikus felhasználói felülettel rendelkező szerverekhez

Fájlkezelés
Igen
Nincs

felhasználókezelés
Igen
Igen

Csoportmenedzsment
Igen
Igen

Tanúsítványkezelés
Igen
Igen

frissítése
Igen
Nincs

Programok eltávolítása
Igen
Nincs

Rendszerfigyelő
Igen
Igen

Másrészt az RSAT teljes ellenőrzést biztosít a gépen lévő szerepek felett, míg a Windows Felügyeleti Központ szó szerint semmit sem tud tenni ebben a tekintetben. Íme az RSAT és a WAC képességeinek összehasonlítása ebből a szempontból az egyértelműség kedvéért:

▍Szerepvezetés

 

WAC
RSAT

Speciális szálvédelem
ELŐNÉZET
Nincs

windows Defender
ELŐNÉZET
Igen

konténerek
ELŐNÉZET
Igen

AD felügyeleti központ
ELŐNÉZET
Igen

AD-domain és trösztök
Nincs
Igen

AD webhelyek és szolgáltatások
Nincs
Igen

DHCP
ELŐNÉZET
Igen

DNS
ELŐNÉZET
Igen

DFS-kezelő
Nincs
Igen

GPO-kezelő
Nincs
Igen

IIS menedzser
Nincs
Igen

Azaz már most világos, hogy ha elhagyjuk a GUI-t és a PowerShellt más vezérlők helyett, akkor nem fogjuk tudni megúszni valamiféle mono-eszköz használatát: a teljes körű adminisztrációhoz minden fronton legalább legalább RSAT és WAC kombinációja.

Ne feledje, hogy a WAC használatáért 150-180 megabájt RAM-ot kell fizetnie. Csatlakozáskor a Windows Felügyeleti Központ 3-4 munkamenetet hoz létre a szerver oldalon, amelyek akkor sem szűnnek meg, ha az eszköz le van választva a virtuális gépről. A WAC a PowerShell régebbi verzióival sem működik, ezért legalább PowerShell 5.0-ra lesz szüksége. Mindez szembemegy a megszorítások paradigmájával, de a kényelemért fizetni kell. A mi esetünkben - RAM.

A Server Core kezelésének másik lehetősége a grafikus felhasználói felület harmadik féltől származó eszközökkel történő telepítése, hogy ne húzza magával a rengeteg szemetet, amely a felülettel együtt jár egy teljes értékű összeállításban.

Ebben az esetben két lehetőségünk van: az eredeti Explorer telepítése a rendszerre, vagy az Explorer++ használata. Ez utóbbi alternatívájaként bármilyen fájlkezelő megfelelő: Total Commander, FAR Manager, Double Commander stb. Ez utóbbi előnyösebb, ha a RAM megtakarítása kritikus az Ön számára. Hozzáadhat Explorer++-t vagy bármilyen más fájlkezelőt, ha létrehoz egy hálózati mappát, és elindítja azt a konzolon vagy az ütemezőn keresztül.

A teljes értékű Explorer telepítése több lehetőséget kínál számunkra a felhasználói felülettel ellátott szoftverekkel való munkavégzés terén. Erre mi fel kell vennie a kapcsolatot a Server Core App Compatibility Feature on Demand (FOD), amely visszaadja az MMC-t, az Eventvwr-t, a PerfMon-t, a Resmon-t, az Explorer.exe-t és még a Powershell ISE-t is a rendszerbe. Ezt azonban a WAC-hoz hasonlóan fizetnünk kell: visszafordíthatatlanul elveszítjük mintegy 150-200 megabájt RAM-ot, amit az explorer.exe és más szolgáltatások kíméletlenül felzabálnak majd. Még akkor is, ha nincs aktív felhasználó a gépen.

A Windows Server összenyomása egy alacsony fogyasztású VPS-re a Windows Server Core használatával
A Windows Server összenyomása egy alacsony fogyasztású VPS-re a Windows Server Core használatával
Így néz ki a rendszer memóriafogyasztása a natív Explorer csomaggal és anélkül is.

Felmerül itt egy logikus kérdés: miért táncol ez a sok PowerShell, FOD, fájlkezelő, ha bármelyik balra vagy jobbra lépés a RAM-felhasználás növekedéséhez vezet? Miért kend be magad egy csomó eszközzel, és keverd össze egyik oldalról a másikra, hogy kényelmesen dolgozhass a Windows Server Core-on, ha egyszerűen letöltheted a Windows Server 2016/2019-et, és fehér emberként élhetsz?

A Server Core használatának több oka is van. Először is: a jelenlegi memóriafelhasználás csaknem fele ennek. Ha emlékszel, ez a feltétel volt cikkünk alapja a legelején. Összehasonlításképpen itt van a Windows Server 2019 memóriafogyasztása, összehasonlítva a fenti képernyőképekkel:

A Windows Server összenyomása egy alacsony fogyasztású VPS-re a Windows Server Core használatával
És így, 1146 MB memóriafogyasztás a Core 655 MB helyett. 

Feltéve, hogy nincs szüksége WAC-ra, és az Explorer++-t fogja használni az eredeti Explorer helyett, akkor Ön akkor is csaknem fél hektárt nyersz minden Windows Servert futtató virtuális gépen. Ha csak egy virtuális gép van, akkor a növekedés elenyésző, de ha öt van? Itt számít a grafikus felhasználói felület, különösen, ha nincs rá szüksége. 

Másodszor, a Windows Server Core körüli táncok nem vezetnek arra, hogy megküzdjenek a Windows Server működésének fő problémájával - az RDP-vel és annak biztonságával (pontosabban annak teljes hiányával). A Windows Core, még FOD, RSAT és WAC bevonattal is, továbbra is RDP nélküli szerver, vagyis nem érzékeny a meglévő támadások 95%-ára.

Többi

Általánosságban elmondható, hogy a Windows Core csak valamivel kövérebb, mint bármelyik Linux disztribúció, de sokkal funkcionálisabb. Ha erőforrásokat kell felszabadítani, és készen áll a konzollal, WAC-val és RSAT-tal való együttműködésre, valamint a teljes értékű grafikus felhasználói felület helyett fájlkezelők használatára, akkor érdemes a Core-ra figyelni. Sőt, ezzel elkerülheti, hogy külön fizessen egy teljes értékű Windowsért, és a megtakarított pénzt a frissítésre költse. VPS, hozzáadva például a RAM-ot. A kényelem kedvéért hozzáadtuk a Windows Server Core-t piactér.

A Windows Server összenyomása egy alacsony fogyasztású VPS-re a Windows Server Core használatával

Forrás: will.com

Hozzászólás