Stiskanje Windows Servera na VPS male snage pomoću Windows Server Core

Stiskanje Windows Servera na VPS male snage pomoću Windows Server Core
Zbog proždrljivosti Windows sustava, VPS okruženjem dominiraju lagane Linux distribucije: Mint, Colibri OS, Debian ili Ubuntu, lišene teškog desktop okruženja koje je nepotrebno za naše potrebe. Kako kažu, samo konzola, samo hardcore! I zapravo, ovo uopće nije pretjerivanje: isti Debian počinje na 256 MB memorije i jednoj jezgri s taktom od 1 Ghz, odnosno na gotovo svakom "panju". Za ugodan rad trebat će vam najmanje 512 MB i malo brži procesor. Ali što ako vam kažemo da možete učiniti otprilike istu stvar na VPS-u koji pokreće Windows? Zašto ne trebate izbaciti težak Windows Server, koji zahtijeva tri do četiri hektara RAM-a i barem nekoliko jezgri na taktu od 1,4 GHz? Samo koristite Windows Server Core - riješite se GUI-ja i nekih usluga. Razgovarat ćemo o tome kako to učiniti u članku.

Tko je taj Windows Server Core?

Nema jasnih informacija o tome što je Windows (server) Core čak ni na službenim stranicama Mikes-a, točnije, tamo je sve toliko zbunjujuće da nećete odmah shvatiti, ali prva spominjanja datiraju iz ere Windows Servera 2008 U biti, Windows Core je funkcionalni Windows kernel Server (odjednom!), "tanji" za veličinu vlastitog GUI-ja i oko polovice sporednih usluga.

Glavna značajka Windows Corea je nezahtjevan hardver i potpuna kontrola konzole putem PowerShell-a.

Ako odete na Microsoftovo web mjesto i provjerite tehničke zahtjeve, tada će vam za pokretanje Windows Servera 2016/2019 trebati najmanje 2 giga RAM-a i najmanje jedna jezgra s radnim taktom od 1,4 GHz. No, svi razumijemo da s takvom konfiguracijom možemo očekivati ​​samo pokretanje sustava, ali svakako ne i ugodan rad našeg OS-a. Upravo iz tog razloga se Windows Serveru obično dodjeljuje više memorije i barem 2 jezgre/4 threada od procesora, ako mu ne daju skupi fizički stroj na nekom Xeonu, umjesto jeftinog virtualnog stroja.

Pritom, sama jezgra poslužiteljskog sustava zahtijeva samo 512 MB memorije, a oni procesorski resursi koje je GUI trošio samo da bi se iscrtavali na ekranu i održavali svoje brojne servise u radu mogu se iskoristiti za nešto korisnije.

Ovdje je usporedba servisa Windows Core podržanih izvan kutije i punog Windows Servera sa službene Microsoftove web stranice:

primjena
jezgra poslužitelja
poslužitelj sadesktop iskustvo

Komandni redak
dostupan
dostupan

Windows PowerShell/Microsoft .NET
dostupan
dostupan

Perfmon.exe
nije dostupno
dostupan

Windbg (GUI)
podržan
dostupan

Resmon.exe
nije dostupno
dostupan

regedit
dostupan
dostupan

Fsutil.exe
dostupan
dostupan

Disksnapshot.exe
nije dostupno
dostupan

Diskpart.exe
dostupan
dostupan

Diskmgmt. msc
nije dostupno
dostupan

devmgmt.msc
nije dostupno
dostupan

Server Manager
nije dostupno
dostupan

mmc.exe
nije dostupno
dostupan

Eventvwr
nije dostupno
dostupan

Wevtutil (upiti o događajima)
dostupan
dostupan

Services.msc
nije dostupno
dostupan

Control Panel
nije dostupno
dostupan

Windows Update (GUI)
nije dostupno
dostupan

Windows Explorer
nije dostupno
dostupan

taskbar
nije dostupno
dostupan

Obavijesti programske trake
nije dostupno
dostupan

taskmgr
dostupan
dostupan

Internet Explorer ili Edge
nije dostupno
dostupan

Ugrađeni sustav pomoći
nije dostupno
dostupan

Windows 10 Shell
nije dostupno
dostupan

Windows Media Player
nije dostupno
dostupan

PowerShell
dostupan
dostupan

PowerShell ISE
nije dostupno
dostupan

PowerShell IME
dostupan
dostupan

Mstsc.exe
nije dostupno
dostupan

Usluge udaljene radne površine
dostupan
dostupan

Upravitelj Hyper-V-a
nije dostupno
dostupan

Kao što vidite, mnogo toga je izrezano iz Windows Corea. Pod nož su otišli servisi i procesi povezani s GUI-jem sustava, kao i svako “smeće” koje definitivno nije potrebno na našem konzolnom virtualnom stroju, primjerice Windows Media Player.

Skoro kao Linux, ali ne i on

Stvarno želim usporediti Windows Server Core s Linux distribucijama, ali zapravo to nije sasvim točno. Da, ti su sustavi slični jedni drugima u smislu smanjene potrošnje resursa zbog napuštanja GUI-ja i mnogih sporednih usluga, ali u smislu rada i nekih pristupa montaži, ovo je još uvijek Windows, a ne Unix sustav.

Najjednostavniji primjer je da se ručnom izgradnjom Linux kernela i zatim instaliranjem paketa i servisa, čak i lagana Linux distribucija može pretvoriti u nešto teško i slično švicarskom nožu (ovdje se stvarno želim našaliti na račun Pythona i ubacite sliku iz serije “Kad bi programski jezici bili oružje”, ali nećemo). U sustavu Windows Core takve je slobode puno manje, jer ipak imamo posla s Microsoftovim proizvodom.

Windows Server Core dolazi spreman, čija se zadana konfiguracija može procijeniti iz gornje tablice. Ako trebate nešto s nepodržanog popisa, morat ćete dodati elemente koji nedostaju online putem konzole. Istina, ne biste trebali zaboraviti značajku na zahtjev i mogućnost preuzimanja komponenti kao CAB datoteka, koje se zatim mogu dodati u sklop prije instalacije. Ali ova skripta ne radi ako već tijekom procesa otkrijete da vam nedostaje bilo koja od izrezanih usluga.

Ali ono što Core verziju razlikuje od pune verzije je mogućnost ažuriranja sustava i dodavanja usluga bez prekida rada. Windows Core podržava vruće valjanje paketa, bez ponovnog pokretanja. Kao rezultat toga, na temelju praktičnih zapažanja: stroj koji pokreće Windows Core potrebno je ponovno pokrenuti ~6 puta rjeđe nego onaj koji pokreće Windows Server, to jest, jednom svakih šest mjeseci, a ne jednom mjesečno.

Ugodan bonus za administratore je da ako se sustav koristi kako je predviđeno - putem konzole, bez RDP-a - i ne pretvara se u drugi Windows Server, tada postaje izuzetno siguran u usporedbi s punom verzijom. Uostalom, većina ranjivosti Windows Servera je zbog RDP-a i radnji korisnika koji kroz ovaj RDP radi nešto što se ne bi smjelo raditi. To je nešto poput priče s Henryjem Fordom i njegovim stavom prema boji automobila: "Svaki kupac može dati automobil obojati u bilo koju boju koju želi, sve dok je crno" Isto je i sa sustavom: korisnik može komunicirati sa sustavom na bilo koji način, glavno je da to čini putem konzola.

Instalirajte i upravljajte Windows Server 2019 Core

Ranije smo spomenuli da je Windows Core u biti Windows Server bez GUI omotača. Odnosno, možete koristiti gotovo bilo koju verziju Windows Servera kao osnovnu verziju, odnosno napustiti GUI. Za proizvode u obitelji Windows Server 2019, ovo su 3 od 4 međuverzije poslužitelja: osnovni način rada dostupan je za Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter i Hyper-V Server 2019, odnosno samo je Windows Server 2019 Essentials isključen s ovog popisa.

U ovom slučaju, zapravo ne morate tražiti instalacijski paket Windows Server Core. U standardnom Microsoftovom instalacijskom programu, verzija jezgre ponuđena je doslovno prema zadanim postavkama, dok se GUI verzija mora odabrati ručno:

Stiskanje Windows Servera na VPS male snage pomoću Windows Server Core
Dapače, postoji više opcija za upravljanje sustavom od spomenutog PowerShella kojeg proizvođač standardno nudi. Virtualnim strojem na Windows Server Coreu možete upravljati na najmanje pet različitih načina:

  • Udaljeni PowerShell;
  • Alati za udaljenu administraciju poslužitelja (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Upravitelj poslužitelja.

Prve tri pozicije su od najvećeg interesa: standardni PowerShell, RSAT i Windows Admin Center. Međutim, važno je razumjeti da dok primamo prednosti jednog od alata, također primamo ograničenja koja on nameće.

Nećemo opisivati ​​mogućnosti konzole; PowerShell je PowerShell, sa svojim očitim prednostima i manama. S RSAT i WAC sve je malo kompliciranije. 

WAC vam daje pristup važnim kontrolama sustava kao što je uređivanje registra i upravljanje diskovima i uređajima. RSAT u prvom slučaju radi samo u načinu prikaza i neće vam dopustiti nikakve promjene, a za upravljanje diskovima i fizičkim uređajima Remote Server Administration Tools zahtijeva GUI, što u našem slučaju nije slučaj. Općenito, RSAT ne može raditi s datotekama i, sukladno tome, ažuriranjima, instalacijom / uklanjanjem programa u uređivanju registra.

▍Upravljanje sustavom

 

WAC
RSAT

Upravljanje komponentama
Da
Da

Urednik registra
Da
Ne

Upravljanje mrežom
Da
Da

Preglednik događaja
Da
Da

Dijeljene mape
Da
Da

Upravljanje diskovima
Da
Samo za poslužitelje s GUI-jem

Planer zadataka
Da
Da

Upravljanje uređajem
Da
Samo za poslužitelje s GUI-jem

Upravljanje datotekama
Da
Ne

upravljanje korisnicima
Da
Da

Upravljanje grupom
Da
Da

Upravljanje certifikatima
Da
Da

Ažuriranja
Da
Ne

Deinstaliranje programa
Da
Ne

Monitor sustava
Da
Da

S druge strane, RSAT nam daje potpunu kontrolu nad ulogama na stroju, dok Windows Admin Center ne može učiniti doslovno ništa po tom pitanju. Evo usporedbe mogućnosti RSAT-a i WAC-a u ovom aspektu, radi jasnoće:

▍Upravljanje ulogama

 

WAC
RSAT

Napredna zaštita niti
PREGLED
Ne

Windows Defender
PREGLED
Da

spremnici
PREGLED
Da

Administrativni centar AD
PREGLED
Da

AD domena i zaklade
Ne
Da

AD stranice i usluge
Ne
Da

DHCP
PREGLED
Da

DNS
PREGLED
Da

DFS upravitelj
Ne
Da

GPO upravitelj
Ne
Da

IIS Manager
Ne
Da

Odnosno, već je jasno da ako napustimo GUI i PowerShell u korist drugih kontrola, nećemo se moći izvući s korištenjem neke vrste mono-alata: za potpunu administraciju na svim frontama trebat će nam barem kombinacija RSAT i WAC.

Međutim, morate zapamtiti da ćete za korištenje WAC-a morati platiti 150-180 megabajta RAM-a. Kada je povezan, Windows Admin Center stvara 3-4 sesije na strani poslužitelja, koje se ne prekidaju čak ni kada se alat odspoji s virtualnog stroja. WAC također ne radi sa starijim verzijama PowerShell-a, tako da će vam trebati najmanje PowerShell 5.0. Sve je to u suprotnosti s našom paradigmom štednje, ali udobnost morate platiti. U našem slučaju - RAM.

Druga opcija za upravljanje Server Coreom je instaliranje GUI-ja pomoću alata treće strane, kako se ne bi vuklo okolo tone smeća koje dolazi sa sučeljem u punopravnom sklopu.

U ovom slučaju imamo dvije mogućnosti: postaviti originalni Explorer na sustav ili koristiti Explorer++. Kao alternativa potonjem, prikladan je bilo koji upravitelj datoteka: Total Commander, FAR Manager, Double Commander i tako dalje. Potonje je poželjno ako vam je ušteda RAM-a kritična. Možete dodati Explorer++ ili bilo koji drugi upravitelj datoteka stvaranjem mrežne mape i pokretanjem je putem konzole ili planera.

Instalacija potpunog Explorera dat će nam više mogućnosti u smislu rada sa softverom opremljenim korisničkim sučeljem. Za ovo mi morat će kontaktirati na Server Core App Compatibility Feature on Demand (FOD) koji će vratiti MMC, Eventvwr, PerfMon, Resmon, Explorer.exe pa čak i Powershell ISE u sustav. No, za to ćemo morati platiti, kao što je slučaj s WAC-om: nepovratno ćemo izgubiti oko 150-200 megabajta RAM-a, koji će nemilosrdno progutati explorer.exe i drugi servisi. Čak i ako na stroju nema aktivnog korisnika.

Stiskanje Windows Servera na VPS male snage pomoću Windows Server Core
Stiskanje Windows Servera na VPS male snage pomoću Windows Server Core
Ovako izgleda potrošnja memorije od strane sustava na strojevima sa i bez izvornog paketa Explorer.

Ovdje se postavlja logično pitanje: čemu sav taj ples s PowerShell-om, FOD-om, upraviteljima datoteka, ako bilo koji korak lijevo ili desno dovodi do povećanja potrošnje RAM-a? Zašto se mazati hrpom alata i petljati s jedne na drugu stranu kako biste osigurali udoban rad na Windows Server Coreu, kada možete samo preuzeti Windows Server 2016/2019 i živjeti kao bijelac?

Postoji nekoliko razloga zašto koristiti Server Core. Prvo: trenutna potrošnja memorije je gotovo upola manja. Ako se sjećate, ovo je stanje bilo temelj našeg članka na samom početku. Za usporedbu, ovdje je potrošnja memorije Windows Servera 2019, usporedite sa snimkama zaslona iznad:

Stiskanje Windows Servera na VPS male snage pomoću Windows Server Core
I tako, 1146 MB potrošnje memorije umjesto 655 MB na Coreu. 

Pod pretpostavkom da vam ne treba WAC i da ćete koristiti Explorer++ umjesto izvornog Explorera, onda vi ipak ćeš osvojiti skoro pola hektara na svakom virtualnom stroju koji pokreće Windows Server. Ako postoji samo jedan virtualni stroj, onda je povećanje beznačajno, ali ako ih je pet? Ovdje je važno imati GUI, pogotovo ako vam nije potreban. 

Drugo, bilo kakvi plesovi oko Windows Server Core neće vas dovesti do borbe s glavnim problemom rada Windows Servera - RDP-om i njegovom sigurnošću (točnije, njegovom potpunom odsutnošću). Windows Core, čak i presvučen FOD-om, RSAT-om i WAC-om, i dalje je poslužitelj bez RDP-a, odnosno nije podložan 95% postojećih napada.

Preostalo

Općenito, Windows Core je samo malo deblji od bilo koje standardne Linux distribucije, ali je mnogo funkcionalniji. Ako trebate osloboditi resurse i spremni ste za rad s konzolom, WAC-om i RSAT-om i koristite upravitelje datoteka umjesto punopravnog GUI-ja, onda je Core vrijedan pažnje. Štoviše, s njim ćete moći izbjeći dodatno plaćanje za puni Windows, a ušteđeni novac potrošiti na nadogradnju vašeg VPS, dodajući tamo, na primjer, RAM. Radi praktičnosti, dodali smo Windows Server Core u naš tržnica.

Stiskanje Windows Servera na VPS male snage pomoću Windows Server Core

Izvor: www.habr.com

Dodajte komentar