Stisnemo Windows Server na manj zmogljivo VPS z Windows Server Core

Stisnemo Windows Server na manj zmogljivo VPS z Windows Server Core
Zaradi požrešnosti Windows sistemov v okolju VPS prevladujejo lahki Linux distribuciji: Mint, Colibri OS, Debian ali Ubuntu, ki so brez nepotrebnega, v okviru naših nalog, težkega namiznega okolja. Kot pravijo, samo konzola, samo hardcore! In v resnici to sploh ni pretiravanje: Debian se zažene na 256 MB pomnilnika in eni jedri z taktom 1 GHz, torej skoraj na vsakem „stolpu“. Za udobno delo boste potrebovali od 512 MB in procesor malce bolj odziven. Ampak kaj, če vam povemo, da točno to lahko storite tudi na VPS s sistemom Windows? Da ni treba nalagati težkega Windows Serverja, ki zahteva od tri do štiri gigabajte operativne pomnilnika in vsaj dve jedri s taktom 1,4 GHz? Preprosto uporabite Windows Server Core — znebite se GUI in dela storitev. O tem, kako to narediti, bomo spregovorili v članku.

Kdo je ta vaš Windows Server Core?

Jasnih informacij o tem, kaj je Windows (server) Core, ni niti na uradni spletni strani Microsofta, natančneje, tam je vse tako zmedeno, da ne moreš takoj razumeti, toda prva omemba sega še v obdobje Windows Server 2008. V bistvu je Windows Core funkcionalno jedro Windows Serverja (presenetljivo!), „shujšano“ za velikost lastnega GUI in približno polovico stranskih storitev.

Glavna prednost Windows Core je nezahtevnost po strojni opremi in popolno upravljanje preko PowerShella.

Če se obrnete na spletno stran Microsoft in preverite tehnične zahteve, boste za zagon Windows Server 2016/2019 potrebovali od 2 GB operativne pomnilnika in najmanj eno jedro s taktom 1,4 GHz. Vsi razumemo, da lahko na takšni konfiguraciji pričakujemo le zagon sistema, a zagotovo ne udobnega delovanja našega operativnega sistema. Prav zaradi tega običajno dodelimo več pomnilnika in najmanj 2 jedra/4 niti procesorja Windows Serverju, če ne zagotavljamo drage fizične naprave na kakšnem Xeonu, namesto poceni virtualke.

Ob tem samo jedro strežnikovega sistema zahteva le 512 MB pomnilnika, tisti procesorski viri, ki so jih požrli GUI samo za to, da se prikažejo na zaslonu in podpirajo svoje številne storitve, jih lahko namenimo za kaj bolj koristnega.

Tukaj je primerjava podprtih storitev Windows Core in polnega Windows Serverja z uradne spletne strani Microsoft:

application
server core
server withdesktop experience

Command prompt
available
available

Windows PowerShell/ Microsoft .NET
available
available

Perfmon.exe
ni na voljo
available

Windbg (GUI)
podprto
available

Resmon.exe
ni na voljo
available

Regedit
available
available

Fsutil.exe
available
available

Disksnapshot.exe
ni na voljo
available

Diskpart.exe
available
available

Diskmgmt.msc
ni na voljo
available

Devmgmt.msc
ni na voljo
available

Upravitelj strežnikov
ni na voljo
available

Mmc.exe
ni na voljo
available

Eventvwr
ni na voljo
available

Wevtutil (poizvedbe o dogodkih)
available
available

Services.msc
ni na voljo
available

Nadzorna plošča
ni na voljo
available

Posodobitev sistema Windows (GUI)
ni na voljo
available

Raziskovalec Windows
ni na voljo
available

Taskbar
ni na voljo
available

Obvestila v opravilni vrstici
ni na voljo
available

Taskmgr
available
available

Internet Explorer ali Edge
ni na voljo
available

Vgrajen sistem pomoči
ni na voljo
available

Sloj Windows 10
ni na voljo
available

Windows Media Player
ni na voljo
available

PowerShell
available
available

PowerShell ISE
ni na voljo
available

PowerShell IME
available
available

Mstsc.exe
ni na voljo
available

Storitve oddaljenega namizja
available
available

Upravitelj Hyper-V
ni na voljo
available

Kot je razvidno, je iz Windows Core izrezan resnično velik del. Pod rez so šle storitve in procesi, povezani z GUI sistema, pa tudi vsak 'odpadek', ki zagotovo ne bo potreben na naši konzolni virtualki, na primer Windows Media Player.

Skoraj kot Linux, a ni

Windows Server Core se zelo rad primerja z Linux distribucijami, vendar to v resnici ni povsem pravilno. Da, ti sistemi so si podobni z vidika zmanjšane porabe virov zaradi opustitve GUI in mnogih dodatnih storitev, vendar gre še vedno za Windows s stališča uporabe in nekaterih pristopov k gradnji, ne pa za unix sistem.

Najlažji primer — z ročno gradnjo jedra Linux in poznejšo namestitvijo paketov in storitev, celo najlažji Linux distribucijski lahko spremenite v nekaj težkega in podobnega švicarskemu nožu (tu bi se lahko pošalili o Pythonu in vstavili sliko iz serije 'If Programming Languages Were Weapons', a ne bomo). V Windows Core je takšna svoboda veliko manj, saj se, končno, ukvarjamo s produktom Microsofta.

Windows Server Core se dobavlja kot že pripravljena gradnja, ki jo lahko ocenite po zgornji tabeli. Če potrebujete kaj iz seznama nepodprtih, boste morali prek konzole dodati manjkajoče elemente. Vendar pa ne pozabite na funkcijo Feature on Demand in možnost prenosa komponent v obliki CAB datotek, ki jih je mogoče nato dodati v gradnjo pred namestitvijo. Ta scenarij pa ne deluje, če ste med delom ugotovili, da vam manjka katera od izrezanih storitev.

Toda tisto, kar izstopa Core različico v primerjavi s polno različico — je možnost posodabljanja sistema in dodajanja storitev brez ustavitve delovanja. Windows Core podpira 'vročo' namestitev paketov, brez ponovnega zagona. Kot rezultat, na podlagi praktičnih opazovanj: stroj, ki ga upravlja Windows Core, je treba ponovno zagnati približno 6-krat manj pogosto kot stroj z Windows Server, torej enkrat na pol leta, ne pa enkrat na mesec.

Bonus za administratore je to što ako se sistem koristi onako kako je zamišljeno - preko konzole, bez RDP-a - i ne pretvara se u drugi Windows Server, postaje vrlo siguran u poređenju sa punom verzijom. Naime, većina ranjivosti Windows Servera se odnosi na RDP i radnje korisnika koji preko tog RDP-a radi ono što ne bi trebao. To je otprilike kao u priči o Henriju Fordu i njegovom stavu prema boji automobila: "Any customer can have a car painted any color that he wants so long as it is black'. Tako i sa sistemom: korisnik može na bilo koji način komunicirati sa sistemom, važno je samo da to čini preko konzolo.

Instalacija i upravljanje Windows Server 2019 Core

Prethodno smo spomenuli da je Windows Core zapravo Windows Server bez GUI okruženja. To znači da možete iskoristiti gotovo svaku verziju Windows Servera kao core verziju, odnosno odustati od GUI-a. Za proizvode iz porodice Windows Server 2019 dostupne su 3 od 4 server builda: core režim je dostupan za Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter i Hyper-V Server 2019, dok iz ovog spiska ispada samo Windows Server 2019 Essentials.

Pri tome, instalacioni paket Windows Server Core ne treba posebno tražiti. U standardnom instalatoru od Microsoft-a, core verzija se nudi gotovo po defaultu, dok verziju sa GUI-em treba odabrati ručno:

Stisnemo Windows Server na manj zmogljivo VPS z Windows Server Core
Opcija za upravljanje sistemom, zapravo, ima više od jednog pomenutog PowerShell-a, koji je ponuđen od strane proizvođača kao podrazumevano. Upravljač rudnim mašinama na Windows Server Core može se koristiti najmanje na pet različitih načina:

  • Remote PowerShell;
  • Remote Server Administration Tools (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Server Manager.

Najveće zanimanje izazivaju prva tri alata: standardni PowerShell, RSAT i Windows Admin Center. Međutim, važno je razumeti da dobijanjem prednosti jednog od alata, dobijamo i njegove nametnute ograničenja.

Nećemo detaljno razlažiti mogućnosti konzole, PowerShell je PowerShell, sa svojim očiglednim plusovima i minusima. Međutim, sa RSAT i WAC je sve malo složenije. 

WAC daje dostop do tako pomembnih sistemskih elementov, kot so urejanje registra ter upravljanje z diski in napravami. RSAT v prvem primeru deluje samo v načinu ogleda in ne omogoča nobenih sprememb, medtem ko za upravljanje z diski in fizičnimi napravami potrebno orodje Remote Server Administration Tools potrebuje GUI, kar ni naš primer. Na splošno RSAT ne more delovati z datotekami in s tem, posodabljanjem, namestitvijo/odstranjevanjem programov v registru.

▍Upravljanje sistema

 

WAC
RSAT

Upravljanje komponent
Da
Da

Urejevalnik registra
Da
Ne

Upravljanje omrežja
Da
Da

Pregled dogodkov
Da
Da

Skupne mape
Da
Da

Upravljanje z diski
Da
Samo za strežnike z GUI

Načrtovalnik opravil
Da
Da

Upravljanje naprav
Da
Samo za strežnike z GUI

Upravljanje datotek
Da
Ne

Upravljanje uporabnikov
Da
Da

Upravljanje skupin
Da
Da

Upravljanje certifikatov
Da
Da

Posodobitve
Da
Ne

Odstranjevanje programov
Da
Ne

Sistemski monitor
Da
Da

Po drugi strani pa nam RSAT daje popoln nadzor nad vlogami na napravi, medtem ko Windows Admin Center v tem pogledu ne more ponuditi prav nič. Tukaj je primerjava zmožnosti RSAT in WAC v tem vidiku, za boljšo predstavo:

▍Upravljanje vlog

 

WAC
RSAT

Advanced Thread Protection
PREDPREGLED
Ne

Windows Defender
PREDPREGLED
Da

Kontejnerji
PREDPREGLED
Da

AD Administrative Center
PREDPREGLED
Da

AD Domain and Trusts
Ne
Da

AD site in storitve
Ne
Da

DHCP
PREDPREGLED
Da

DNS
PREDPREGLED
Da

DFS Manager
Ne
Da

GPO Manager
Ne
Da

IIS Manager
Ne
Da

To pomeni, da je že očitno, da se pri odpovedi GUI in PowerShellu v prid drugim nadzornim elementom ne moremo zanašati le na en instrument: za popolno upravljanje na vseh področjih potrebujemo vsaj kombinacijo RSAT in WAC.

Pri tem je treba upoštevati, da bo uporaba WAC terjala 150-180 megabajtov pomnilnika. Windows Admin Center ob povezavi ustvari 3-4 seje na strani strežnika, ki jih ni mogoče ustaviti niti ob prekinitvi orodja iz virtualne naprave. Poleg tega WAC ne deluje s starejšimi različicami PowerShella, zato boste potrebovali vsaj PowerShell 5.0. Vse to nasprotuje naši paradigmi stroge varčnosti virov, vendar je za udobje treba plačati. V našem primeru – z operativnim pomnilnikom.

Še ena možnost upravljanja Server Core je namestitev GUI z zunanjimi orodji, da se izognemo prenašanju ton smeti, ki prihajajo v polni različici skupaj z vmesnikom.

V tem primeru imamo dve možnosti: namestitev originalnega Explorer ali uporaba Explorer++. Kot alternativa slednjemu je primeren vsak upravljalnik datotek: Total Commander, FAR Manager, Double Commander in tako naprej. Zadnji je boljša izbira, če vam je kritična varčevanje z operativno pomnilnikom. Dodate lahko Explorer++ ali kateri koli drug upravljalnik datotek tako, da ustvarite omrežno mapo in zaženete prek konzole ali načrtovalnika.

Namestitev polnega Explorerja nam bo dala več možnosti при delu с программным обеспечением, оснащенным UI. Для этого нам bomo morali obrniti na Server Core App Compatibility Feature on Demand (FOD), ki bo v sistem vrnil MMC, Eventvwr, PerfMon, Resmon, Explorer.exe in celo Powershell ISE. Vendar pa bo to stalo, kot v primeru WAC: nepopravljivo bomo izgubili približno 150-200 megabajtov operativne pomnilnika, ki jih bo brez milosti požrl explorer.exe in druge storitve. Tudi če na napravi ni aktivnega uporabnika.

Stisnemo Windows Server na manj zmogljivo VPS z Windows Server Core
Stisnemo Windows Server na manj zmogljivo VPS z Windows Server Core
Tako izgleda poraba pomnilnika v sistemu na napravah z izvorno različico Explorerja in brez nje.

Tukaj se postavlja razumljivo vprašanje: zakaj vse te akrobacije s PowerShellom, FOD, upravljalniki datotek, če vsak korak levo-desno povečuje porabo operativne pomnilnika? Zakaj se obmetavati z vsemi temi orodji in se metati na vse strani, da bi si zagotovili udobno delo na Windows Server Core, ko lahko preprosto namestite Windows Server 2016/2019 in živite, kot da ste normalni ljudje?

Razlogov za uporabo Server Core je več. Prvi: v njem je skoraj dvakrat manjša poraba pomnilnika. Če se spomnite, je to pogoj ležal v osnovi našega članka že na samem začetku. Tukaj za primerjavo, poraba pomnilnika Windows Server 2019, primerjajte s posnetki zaslona nekoliko zgoraj:

Stisnemo Windows Server na manj zmogljivo VPS z Windows Server Core
In tako, 1146 MB porabljene pomnilnika namesto 655 MB na Core. 

Če predpostavimo, da WAC ne boste potrebovali in boste uporabljali Explorer++ namesto originalnega Explorerja, potem še vedno pridobite skoraj pol hektarja na vsakem virtualnem stroju pod upravljanjem Windows Server. Če je virtualka ena, je dobiček nepomemben, vendar če jih je pet? Tukaj pa že ima prisotnost GUI pomen, še posebej, če je ne potrebujete. 

Drugič, kakršnikoli ples okoli Windows Server Core ne bo rešil glavne težave pri uporabi Windows Serverja – RDP in njegove varnosti (natančneje, popolne odsotnosti le-te). Windows Core, tudi v obliki FOD, RSAT in WAC, je še vedno strežnik brez RDP, kar pomeni, da ni izpostavljen 95% obstoječih napadov.

V ostanku

Na splošno je Windows Core le nekoliko 'debeljši' kot katerikoli standardni Linux distribucijski sistem, vendar je mnogo funkcionalnejši. Če potrebujete sprostitev virov in ste pripravljeni delati s konzolo, WAC in RSAT ter uporabljati upravljalnike datotek namesto polne GUI – je Core vredno pozornosti. Še bolj, ker lahko z njim prihranite pri popolnem sistemu Windows in prihranjeni denar porabite za nadgradnjo svojega VPS, dodajanje na primer RAM-a. Za udobje smo Windows Server Core dodali v našo tržnico.

Stisnemo Windows Server na manj zmogljivo VPS z Windows Server Core

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster