Stiskanje Windows Server v VPS z nizko porabo energije z Windows Server Core

Stiskanje Windows Server v VPS z nizko porabo energije z Windows Server Core
Zaradi požrešnosti sistemov Windows v okolju VPS prevladujejo lahke distribucije Linuxa: Mint, Colibri OS, Debian ali Ubuntu, brez težkega namiznega okolja, ki je za naše namene nepotrebno. Kot pravijo, samo konzola, samo hardcore! In pravzaprav to sploh ni pretiravanje: isti Debian se začne na 256 MB pomnilnika in enem jedru s taktom 1 Ghz, torej na skoraj vsakem "panju". Za udobno delo boste potrebovali vsaj 512 MB in nekoliko hitrejši procesor. Kaj pa, če vam povemo, da lahko naredite približno isto stvar na VPS z operacijskim sistemom Windows? Zakaj vam ne bi bilo treba uvesti težkega Windows Serverja, ki zahteva tri do štiri hektare RAM-a in vsaj nekaj jeder s taktom 1,4 GHz? Samo uporabite Windows Server Core - znebite se GUI in nekaterih storitev. O tem, kako to storiti, bomo govorili v članku.

Kdo je ta Windows Server Core?

Niti na uradni spletni strani Mikes ni jasnih informacij o tem, kaj je Windows (strežniško) Core, ali bolje rečeno, tam je vse tako zmedeno, da ne boste takoj razumeli, vendar prve omembe segajo v dobo Windows Server 2008 V bistvu je Windows Core delujoč jedrni strežnik Windows (nenadoma!), "tanjši" za velikost lastnega GUI in približno polovico stranskih storitev.

Glavna značilnost Windows Core je njegova nezahtevna strojna oprema in popoln nadzor konzole prek PowerShell.

Če obiščete Microsoftovo spletno mesto in preverite tehnične zahteve, boste za zagon Windows Server 2016/2019 potrebovali vsaj 2 GB RAM-a in vsaj eno jedro s taktom 1,4 GHz. Vsi pa razumemo, da lahko s takšno konfiguracijo pričakujemo le zagon sistema, nikakor pa ne udobno delovanje našega OS. Prav zaradi tega Windows Serverju običajno namenijo več pomnilnika in vsaj 2 jedri/4 niti od procesorja, če mu ne priskrbijo dragega fizičnega stroja na kakšnem Xeonu, namesto poceni virtualnega stroja.

Hkrati samo jedro strežniškega sistema zahteva le 512 MB pomnilnika, tista procesorska sredstva, ki jih je GUI porabil zgolj za risanje na zaslonu in delovanje številnih storitev, pa lahko uporabimo za kaj bolj uporabnega.

Tu je primerjava storitev Windows Core, ki so podprte takoj po namestitvi, in celotnega strežnika Windows Server z uradnega Microsoftovega spletnega mesta:

uporaba
jedro strežnika
strežnik znamizno izkušnjo

Ukazni poziv
Na voljo
Na voljo

Windows PowerShell/Microsoft .NET
Na voljo
Na voljo

Perfmon.exe
ni na voljo
Na voljo

Windbg (GUI)
podprta
Na voljo

Resmon.exe
ni na voljo
Na voljo

Regedit
Na voljo
Na voljo

Fsutil.exe
Na voljo
Na voljo

Disksnapshot.exe
ni na voljo
Na voljo

Diskpart.exe
Na voljo
Na voljo

Diskmgmt. msc
ni na voljo
Na voljo

devmgmt.msc
ni na voljo
Na voljo

Server Manager
ni na voljo
Na voljo

mmc.exe
ni na voljo
Na voljo

Eventvwr
ni na voljo
Na voljo

Wevtutil (poizvedbe o dogodkih)
Na voljo
Na voljo

Services.msc
ni na voljo
Na voljo

nadzorno ploščo
ni na voljo
Na voljo

Windows Update (GUI)
ni na voljo
Na voljo

Windows Explorer
ni na voljo
Na voljo

Opravilna vrstica
ni na voljo
Na voljo

Obvestila v opravilni vrstici
ni na voljo
Na voljo

taskmgr
Na voljo
Na voljo

Internet Explorer ali Edge
ni na voljo
Na voljo

Vgrajen sistem pomoči
ni na voljo
Na voljo

Lupina Windows 10
ni na voljo
Na voljo

Windows Media Player
ni na voljo
Na voljo

PowerShell
Na voljo
Na voljo

PowerShell ISE
ni na voljo
Na voljo

PowerShell IME
Na voljo
Na voljo

Mstsc.exe
ni na voljo
Na voljo

Storitve za oddaljeno namizje
Na voljo
Na voljo

Upravitelj Hyper-V
ni na voljo
Na voljo

Kot lahko vidite, je bilo iz Windows Core veliko odrezanih. Pod nož so šle storitve in procesi, povezani z GUI sistema, pa tudi vse "smeti", ki jih na našem konzolnem virtualnem stroju zagotovo ne potrebujemo, na primer Windows Media Player.

Skoraj kot Linux, vendar ne

Resnično želim primerjati Windows Server Core z distribucijami Linuxa, vendar v resnici to ni povsem pravilno. Da, ti sistemi so si med seboj podobni v smislu zmanjšane porabe virov zaradi opustitve GUI in številnih stranskih storitev, vendar je to glede delovanja in nekaterih pristopov sestavljanja še vedno Windows, in ne Unix sistem.

Najenostavnejši primer je, da je mogoče z ročno gradnjo jedra Linuxa in nato namestitvijo paketov in storitev celo lahko distribucijo Linuxa spremeniti v nekaj težkega in podobnega švicarskemu nožu (tu se res želim pošaliti o Pythonu in vstavite sliko iz serije "Če bi bili programski jeziki orožje", vendar ne bomo). V sistemu Windows Core je te svobode veliko manj, saj imamo navsezadnje opravka z Microsoftovim izdelkom.

Windows Server Core je že pripravljen, katerega privzeto konfiguracijo je mogoče oceniti iz zgornje tabele. Če potrebujete nekaj s seznama nepodprtih, boste morali dodati manjkajoče elemente na spletu prek konzole. Res je, ne smete pozabiti na funkcijo na zahtevo in možnost prenosa komponent kot datotek CAB, ki jih je mogoče nato dodati sestavu pred namestitvijo. Vendar ta skript ne deluje, če že med postopkom ugotovite, da vam manjka katera od izrezanih storitev.

Toda tisto, kar različico Core razlikuje od polne različice, je možnost posodabljanja sistema in dodajanja storitev brez prekinitve dela. Windows Core podpira vroče zvijanje paketov brez ponovnega zagona. Kot rezultat, na podlagi praktičnih opazovanj: stroj, ki izvaja Windows Core, je treba znova zagnati približno 6-krat redkeje kot računalnik, ki izvaja Windows Server, to je enkrat na šest mesecev in ne enkrat na mesec.

Prijeten bonus za skrbnike je, da če se sistem uporablja, kot je bilo predvideno - prek konzole, brez RDP - in se ne spremeni v drugi Windows Server, potem postane izjemno varen v primerjavi s polno različico. Navsezadnje je večina ranljivosti Windows Server posledica RDP in dejanj uporabnika, ki prek tega prav RDP počne nekaj, kar se ne bi smelo. To je nekaj podobnega zgodbi s Henryjem Fordom in njegovim odnosom do barve avtomobila: »Vsak kupec lahko da avto prebarvati v katero koli barvo, ki jo želi, le da je Črna" Enako je s sistemom: uporabnik lahko komunicira s sistemom na kakršen koli način, glavno je, da to počne prek konzola.

Namestite in upravljajte Windows Server 2019 Core

Prej smo omenili, da je Windows Core v bistvu Windows Server brez ovoja GUI. To pomeni, da lahko uporabite skoraj katero koli različico Windows Server kot osnovno različico, kar pomeni, da opustite GUI. Za izdelke v družini Windows Server 2019 je to 3 od 4 zgradb strežnika: jedrni način je na voljo za Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter in Hyper-V Server 2019, kar pomeni, da je izključen samo Windows Server 2019 Essentials s tega seznama.

V tem primeru vam res ni treba iskati namestitvenega paketa Windows Server Core. V standardnem Microsoftovem namestitvenem programu je osnovna različica na voljo dobesedno privzeto, medtem ko je treba različico GUI izbrati ročno:

Stiskanje Windows Server v VPS z nizko porabo energije z Windows Server Core
Možnosti za upravljanje sistema je namreč več kot omenjeni PowerShell, ki ga proizvajalec ponuja privzeto. Virtualni stroj v sistemu Windows Server Core lahko upravljate na vsaj pet različnih načinov:

  • Remote PowerShell;
  • Orodja za oddaljeno upravljanje strežnika (RSAT);
  • Skrbniško središče Windows;
  • Sconfig;
  • Upravitelj strežnika.

Prva tri mesta so najbolj zanimiva: standardni PowerShell, RSAT in Windows Admin Center. Vendar je pomembno razumeti, da medtem ko prejmemo prednosti enega od orodij, prejmemo tudi omejitve, ki jih nalaga.

Ne bomo opisovali zmogljivosti konzole, PowerShell je PowerShell, s svojimi očitnimi prednostmi in slabostmi. Z RSAT in WAC je vse malo bolj zapleteno. 

WAC vam omogoča dostop do pomembnih sistemskih kontrol, kot je urejanje registra ter upravljanje diskov in naprav. RSAT v prvem primeru deluje samo v načinu pogleda in vam ne bo omogočal spreminjanja, za upravljanje diskov in fizičnih naprav pa Remote Server Administration Tools zahteva GUI, kar pa v našem primeru ni. Na splošno RSAT ne more delovati z datotekami in s tem posodobitvami, namestitvijo / odstranitvijo programov pri urejanju registra.

▍Upravljanje sistema

 

WAC
RSAT

Upravljanje komponent
Da
Da

Urejevalnik registra
Da
Št

Upravljanje omrežja
Da
Da

Pregledovalnik dogodkov
Da
Da

Skupne mape
Da
Da

Upravljanje diskov
Da
Samo za strežnike z GUI

Razporejevalnik opravil
Da
Da

Upravljanje naprav
Da
Samo za strežnike z GUI

Upravljanje datotek
Da
Št

upravljanje uporabnikov
Da
Da

Vodenje skupine
Da
Da

Upravljanje s potrdili
Da
Da

Posodobitve
Da
Št

Odstranjevanje programov
Da
Št

Sistemski monitor
Da
Da

Po drugi strani pa nam RSAT omogoča popoln nadzor nad vlogami na računalniku, medtem ko Windows Admin Center v zvezi s tem ne more narediti dobesedno ničesar. Tukaj je primerjava zmogljivosti RSAT in WAC v tem pogledu, za jasnost:

▍Upravljanje vlog

 

WAC
RSAT

Napredna zaščita niti
PREDOGLED
Št

Windows Defender
PREDOGLED
Da

Zabojniki
PREDOGLED
Da

Administrativni center AD
PREDOGLED
Da

Domena in skladi AD
Št
Da

Spletna mesta in storitve AD
Št
Da

DHCP
PREDOGLED
Da

DNS
PREDOGLED
Da

Upravitelj DFS
Št
Da

Upravitelj GPO
Št
Da

IIS Manager
Št
Da

To pomeni, da je že jasno, da če opustimo GUI in PowerShell v korist drugih kontrol, se ne bomo mogli izogniti uporabi neke vrste mono-orodja: za popolno administracijo na vseh frontah bomo potrebovali vsaj kombinacija RSAT in WAC.

Vendar se morate spomniti, da boste za uporabo WAC morali plačati 150–180 megabajtov RAM-a. Ko je vzpostavljena povezava, Windows Admin Center ustvari 3-4 seje na strani strežnika, ki se ne prekinejo niti, ko orodje prekine povezavo z virtualnim strojem. WAC tudi ne deluje s starejšimi različicami PowerShell, zato boste potrebovali vsaj PowerShell 5.0. Vse to je v nasprotju z našo paradigmo varčevanja, a za udobje morate plačati. V našem primeru - RAM.

Druga možnost za upravljanje Server Core je namestitev grafičnega uporabniškega vmesnika z orodji tretjih oseb, da ne vlečete naokoli tone smeti, ki prihajajo z vmesnikom v polnem sestavu.

V tem primeru imamo dve možnosti: uvesti originalni Raziskovalec v sistem ali uporabiti Explorer++. Kot alternativa slednjemu je primeren kateri koli upravitelj datotek: Total Commander, FAR Manager, Double Commander itd. Slednje je bolje, če je varčevanje z RAM-om ključnega pomena za vas. Dodate lahko Explorer++ ali katerega koli drugega upravitelja datotek, tako da ustvarite omrežno mapo in jo zaženete prek konzole ali razporejevalnika.

Namestitev polnega Raziskovalca nam bo dala več možnosti pri delu s programsko opremo, opremljeno z uporabniškim vmesnikom. Za to mi bo treba kontaktirati na funkcijo združljivosti jedrnih aplikacij strežnika na zahtevo (FOD), ki bo v sistem vrnila MMC, Eventvwr, PerfMon, Resmon, Explorer.exe in celo Powershell ISE. Vendar bomo za to morali plačati, tako kot v primeru WAC: nepovratno bomo izgubili približno 150-200 megabajtov RAM-a, ki ga bodo neusmiljeno požrli explorer.exe in druge storitve. Tudi če na stroju ni aktivnega uporabnika.

Stiskanje Windows Server v VPS z nizko porabo energije z Windows Server Core
Stiskanje Windows Server v VPS z nizko porabo energije z Windows Server Core
Tako je videti poraba pomnilnika s strani sistema na strojih z in brez izvornega paketa Explorer.

Tu se pojavi logično vprašanje: zakaj ves ta ples s PowerShell, FOD, upravitelji datotek, če vsak korak levo ali desno vodi do povečanja porabe RAM-a? Zakaj bi se mazali s kopico orodij in premetavali z ene strani na drugo, da bi si zagotovili udobno delo na Windows Server Core, ko pa si lahko preprosto naložite Windows Server 2016/2019 in živite kot belec?

Obstaja več razlogov za uporabo Server Core. Prvič: trenutna poraba pomnilnika je skoraj polovična. Če se spomnite, je bil ta pogoj osnova našega članka na samem začetku. Za primerjavo, tukaj je poraba pomnilnika Windows Server 2019, primerjajte z zgornjimi posnetki zaslona:

Stiskanje Windows Server v VPS z nizko porabo energije z Windows Server Core
In tako, 1146 MB porabe pomnilnika namesto 655 MB na Core. 

Če predpostavimo, da ne potrebujete WAC in boste namesto originalnega Raziskovalca uporabljali Explorer++, potem vi še vedno boš osvojil skoraj pol hektarja na vsakem virtualnem stroju, v katerem se izvaja Windows Server. Če je samo en virtualni stroj, potem je povečanje nepomembno, če pa jih je pet? Tukaj je pomemben GUI, še posebej, če ga ne potrebujete. 

Drugič, kakršni koli plesi okoli Windows Server Core vas ne bodo pripeljali do boja proti glavni težavi delovanja Windows Server - RDP in njegove varnosti (natančneje, njegove popolne odsotnosti). Windows Core, tudi prevlečen s FOD, RSAT in WAC, je še vedno strežnik brez RDP, torej ni dovzeten za 95% obstoječih napadov.

Preostalo

Na splošno je Windows Core le malo debelejši od katere koli osnovne distribucije Linuxa, vendar je veliko bolj funkcionalen. Če morate sprostiti vire in ste pripravljeni na delo s konzolo, WAC in RSAT ter uporabljate upravitelje datotek namesto polnega grafičnega uporabniškega vmesnika, potem je Core vreden pozornosti. Poleg tega se boste z njim lahko izognili dodatnemu plačevanju za polnopravni Windows in privarčevani denar porabili za nadgradnjo svojega VPS, dodajanje na primer RAM-a. Zaradi udobja smo našemu dodali Windows Server Core tržnica.

Stiskanje Windows Server v VPS z nizko porabo energije z Windows Server Core

Vir: www.habr.com

Dodaj komentar