Pressing Windows Server onto a low-power VPS with Windows Server Core

Pressing Windows Server onto a low-power VPS with Windows Server Core
Due to the resource-heavy nature of Windows systems, lightweight Linux distributions such as Mint, Colibri OS, Debian, or Ubuntu dominate the VPS environment, lacking unnecessary heavy desktop environments for our needs. As they say, only console, only hardcore! And in reality, this is no exaggeration: Debian can start on 256 MB of memory and a single core at 1 GHz, meaning it can run on almost any 'stump'. For comfortable operation, you'll need at least 512 MB and a slightly faster processor. But what if we told you that you can achieve something similar on a Windows VPS? That you don't need to install a hefty Windows Server that requires three to four gigabytes of RAM and at least a couple of cores clocked at 1.4 GHz? Just use Windows Server Core — get rid of the GUI and some services. We'll discuss how to do this in the article.

Who is this Windows Server Core?

There is no clear information on what Windows (server) Core is, even on Microsoft's official website; in fact, it's so convoluted that you can't figure it out right away, but the first mentions date back to the era of Windows Server 2008. Essentially, Windows Core is a functioning core of Windows Server (surprisingly!), 'slimmed down' by the size of its own GUI and roughly half of the auxiliary services.

The main feature of Windows Core is its low hardware demands and entirely console-based management via PowerShell.

If you visit the Microsoft website and check the technical requirements, you'll find that to start Windows Server 2016/2019, you need at least 2 GB of RAM and a minimum of one core clocked at 1.4 GHz. But we all understand that with such a configuration, we can only expect the system to start, but certainly not for comfortable operation of our OS. For this reason, Windows Server typically requires more memory and at least 2 cores/4 threads from the processor, if it isn't allocated a pricey physical machine on some Xeon instead of a cheap virtual machine.

At the same time, the core of the server system requires only 512 MB of memory, and those CPU resources that were consumed by the GUI just to render on the screen and maintain its numerous services can be allocated to something more useful.

Here is a comparison of the out-of-the-box supported services of Windows Core and a full Windows Server from Microsoft's official site:

rakenduse klassid ja ressursid
server core
server withlauaarvaar

KĂ€ivitusakna
saadaval
saadaval

Windows PowerShell / Microsoft .NET
saadaval
saadaval

Perfmon.exe
ei ole saadaval
saadaval

Windbg (GUI)
toetatakse
saadaval

Resmon.exe
ei ole saadaval
saadaval

Regedit
saadaval
saadaval

Fsutil.exe
saadaval
saadaval

Disksnapshot.exe
ei ole saadaval
saadaval

Diskpart.exe
saadaval
saadaval

Diskmgmt.msc
ei ole saadaval
saadaval

Devmgmt.msc
ei ole saadaval
saadaval

Serveri haldur
ei ole saadaval
saadaval

Mmc.exe
ei ole saadaval
saadaval

Eventvwr
ei ole saadaval
saadaval

Wevtutil (SĂŒndmuste pĂ€ringud)
saadaval
saadaval

Teenused.msc
ei ole saadaval
saadaval

Juhtpaneel
ei ole saadaval
saadaval

Windows Update (GUI)
ei ole saadaval
saadaval

Windowsi Eksploraator
ei ole saadaval
saadaval

Ülesannete riba
ei ole saadaval
saadaval

Ülesannete riba teated
ei ole saadaval
saadaval

Taskmgr
saadaval
saadaval

Internet Explorer vÔi Edge
ei ole saadaval
saadaval

Sisemine abisĂŒsteem
ei ole saadaval
saadaval

Windows 10 Shell
ei ole saadaval
saadaval

Windows Media Player
ei ole saadaval
saadaval

PowerShell
saadaval
saadaval

PowerShell ISE
ei ole saadaval
saadaval

PowerShell IME
saadaval
saadaval

Mstsc.exe
ei ole saadaval
saadaval

Remote Desktop Services
saadaval
saadaval

Hyper-V Manager
ei ole saadaval
saadaval

Nagu nĂ€ha, on Windows Core'ist vĂ€lja lĂ”igatud palju. Alati lĂ”ikas alla teenused ja protsessid, mis on seotud sĂŒsteemi GUI-ga, samuti igasugune „prĂŒgi“, mida tĂ”enĂ€oliselt meie konsoolil pĂ”hinev virtuaalmasin ei vaja, nĂ€iteks Windows Media Player.

Peaaegu nagu Linux, kuid siiski mitte

Windows Server Core'i sooviks vĂ”rrelda Linuxi jaotustega, kuid tegelikult ei ole see tĂ€iesti Ă”ige. Jah, need sĂŒsteemid on sarnaselt madala ressursikasutusega tĂ€nu GUI ja paljude kĂ”rvalteenuste puudumisele, kuid kasutamise ja koostamistehnika osas on see ikkagi Windows, mitte unix-sĂŒsteem.

Lihtsaim nĂ€ide — kĂ€sitsi Linuxi tuumade koostamise ja seejĂ€rel pakettide ja teenuste installimise kaudu vĂ”ib isegi kĂ”ige kergem Linuxi jaotus muutuda millegiks raskeks ja sarnaneda Ć veitsi armeenuga (siin tahaksime naljatada Python'i ĂŒle ja lisada pildi sarjast „Kui programmeerimiskeeled oleks relvad“, aga me ei tee seda). Windows Core'is on selliseid vabadusi palju vĂ€hem, kuna me tegeleme ikkagi Microsofti tootega.

Windows Server Core tarnitakse juba valmis kogumina, mille vaikimisi konfigureerimist vÔib hinnata eespool toodud tabeli alusel. Kui teil on vaja midagi loetletud toetamatute elementide seast, peate lisama puuduvad osad otse Linuxi konsoolist. Oluline on aga meeles pidada, et Feature on demand ja vÔimalus laadida komponente CAB-failide kujul, mille saab siis installimise eel lisada kogumisse. Kuid see stsenaarium ei toimi, kui leiate, et te ei saa mÔnda lÔigatud teenust.

Ent mis eristab Core-versiooni tĂ€isversioonist — see on sĂŒsteemi uuendamise ja teenuste lisamise vĂ”imalus ilma töö katkestamata. Windows Core toetab pakettide 'kuumakatte' jagamist, ilma et oleks vaja taastada. Tulemuseks on, et praktikas tuleb Windows Core'i haldava masina taaskĂ€ivitamist teha umbes 6 korda harvemini kui Windows Server'i haldamisel, st kord kuue kuu jooksul, mitte kord kuus.

Administratoritele on meeldiv boonus, et kui sĂŒsteemi kasutada nii, nagu see oli ette nĂ€htud - lĂ€bi konsoli, ilma RDP-ta - ja mitte muuta seda teiseks Windows Serveriks, siis see muutub vĂ”rreldes tĂ€ieliku versiooniga ÀÀrmiselt turvaliseks. LĂ”ppude lĂ”puks esinevad enamik Windows Serveri haavatavusi just RDP-s ja kasutaja tegevustes, kes RDP kaudu teeb seda, mida ei tohi. See on umbes nagu Henry Fordi lugu tema suhtumisest auto vĂ€rvi: "Igal kliendil on Ă”igus valida auto vĂ€rv, mida ta soovib, kuni see on must". Nii on ka sĂŒsteemiga: kasutaja saab sĂŒsteemiga suhelda iga soovitud viisi kaudu, peamine on, et ta teeb seda lĂ€bi konsoli.

Windows Server 2019 Core'i installimine ja haldamine

Oleme varem maininud, et Windows Core on tegelikult Windows Server ilma GUI kattekihtita. See tĂ€hendab, et saate kasutada peaaegu igat Windows Serveri versiooni core-variantina, see tĂ€hendab, et loobute GUI-st. Windows Server 2019 tooteperes on 3 4-st serveriversioonist: core-reĆŸiim on saadaval Windows Server 2019 Standard Editionis, Windows Server 2019 Datacenteris ja Hyper-V Server 2019-s, seega jÀÀb sellest loendist vĂ€lja ainult Windows Server 2019 Essentials.

Samas ei pea Windows Server Core'i installimispaketti eraldi otsima. Microsofti tavalises installijates pakutakse core-versiooni sisuliselt vaikimisi, samas kui GUI versioon tuleb valida kÀsitsi:

Pressing Windows Server onto a low-power VPS with Windows Server Core
SĂŒsteemi haldamise vĂ”imalusi on tegelikult rohkem kui ĂŒks mainitud PowerShell, mida tootja vaikimisi pakub. Windows Server Core'i virtuaalmasina haldamiseks on minimaalset viis erinevat viisi:

  • Kaug-PowerShell;
  • Kaugserveri haldamise tööriistad (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Serveri haldur.

Eriti huvitavad on esimesed kolm punkti: tavaline PowerShell, RSAT ja Windows Admin Center. Kuid on oluline mĂ”ista, et ĂŒhe tööriista eeliste saamisel kaasnevad ka selle seadistatud piirangud.

Me ei kavatse konsoli vÔimalusi eraldi lahti kirjutada, PowerShell on PowerShell, oma ilmselgete plusside ja miinustega. RSAT ja WAC puhul on kÔik pisut keerulisem. 

WAC annab juurdepÀÀsu olulistele sĂŒsteemihalduse elementidele, nagu registriredigeerimine ja ketaste ning seadmete haldamine. RSAT töötab esimeses juhul ainult vaatereĆŸiimis ja ei luba mingeid muudatusi, samuti on Remote Server Administration Tools ketaste ja fĂŒĂŒsiliste seadmete haldamiseks vajalik GUI, mis meie puhul ei kehti. Üldiselt ei saa RSAT kasutada faile ja seega ka uuendusi, programmide installimist/eemaldamist registriredigeerimise jaoks.

▍SĂŒsteemi haldamine

 

WAC
RSAT

Komponentide haldamine
Jah
Jah

Registriredigeerija
Jah
Ei

VÔrgu haldamine
Jah
Jah

SĂŒndmuste vaatamine
Jah
Jah

Ühised kaustad
Jah
Jah

Ketaste haldamine
Jah
Ainult GUI-ga serverite jaoks

Ülesannete ajastaja
Jah
Jah

Seadmete haldamine
Jah
Ainult GUI-ga serverite jaoks

Failide haldamine
Jah
Ei

Kasutajate haldamine
Jah
Jah

RĂŒhmade haldamine
Jah
Jah

Sertifikaatide haldamine
Jah
Jah

Uuendused
Jah
Ei

Programmide eemaldamine
Jah
Ei

SĂŒsteemi monitor
Jah
Jah

Teiselt poolt annab RSAT meile tĂ€ieliku kontrolli masinas olevate rollide ĂŒle, samas kui Windows Admin Center ei saa selles osas peaaegu midagi teha. Siin on RSAT ja WAC vĂ”imekuse vĂ”rdlus, et visuaalselt selgem oleks:

▍Rollide haldamine

 

WAC
RSAT

Advanced Thread Protection
EELVAADE
Ei

Windows Defender
EELVAADE
Jah

Konteinerid
EELVAADE
Jah

AD haldus keskus
EELVAADE
Jah

AD domeenid ja usaldus
Ei
Jah

AD saidid ja teenused
Ei
Jah

DHCP
EELVAADE
Jah

DNS
EELVAADE
Jah

DFS haldur
Ei
Jah

GPO haldur
Ei
Jah

IIS haldur
Ei
Jah

Seega on juba selge, et GUI ja PowerShelli loobudes ei piisa ainult mÔnest monoinstrumendist: tÀielikuks haldamiseks igas suunas on meil vaja vÀhemalt RSAT ja WAC komplekti.

Samas tuleb meeles pidada, et WAC kasutamise eest tuleb maksta 150–180 megabaiti RAM-i. Windows Admin Center ĂŒhendamisel loob 3–4 sessiooni serveripool, mis ei kao isegi siis, kui tööriist eemaldatakse virtuaalmasinast. Veelgi enam, WAC ei tööta vanade PowerShelli versioonidega, seega on minimaalne nĂ”ue PowerShell 5.0. KĂ”ik see on vastuolus meie ressursitootlikkuse rangema paradigmaga, kuid mugavuse eest tuleb maksta. Meie puhul — RAM-iga.

Veel ĂŒks vĂ”imalus Server Core'i haldamiseks on GUI installimine kolmandate osapoolte vahenditega, et mitte tuua kaasa neid tohutuid prĂŒgi, mis tĂ€ieliku kogumiga koos liidesega tuleb.

Selles olukorras on meil kaks varianti: installida originaalne Explorer vÔi kasutada Explorer++. Alternatiivina sobib viimane puhul iga failihaldur: Total Commander, FAR Manager, Double Commander jne. Viimane valik on eelistatavam, kui mÀlu kokkuhoid on teie jaoks kriitilise tÀhtsusega. Explorer++ vÔi mÔne teise failihalduri lisamiseks saab luua vÔrgu kausta ja kÀivitada selle kaudu konsoolis vÔi ajakava abil.

TĂ€ieliku Exploreri paigaldamine annab meile rohkem vĂ”imalusi tarkvaraga töötamiseks, millel on kasutajaliides. Selleks peame kĂ”nelema Server Core'i rakenduste ĂŒhilduvuse funktsiooniga nĂ”udmisel (FOD), mis naaseb sĂŒsteemi MMC, Eventvwr, PerfMon, Resmon, Explorer.exe ja isegi Powershell ISE. Kuid selle eest tuleb maksta; nagu WAC-i puhul: me kaotame pöördumatult umbes 150-200 megabaiti RAM-i, mille sööb Ă€ra explorer.exe ja muud teenused. Isegi kui masinal pole aktiivset kasutajat.

Pressing Windows Server onto a low-power VPS with Windows Server Core
Pressing Windows Server onto a low-power VPS with Windows Server Core
Siin on nĂ€ha, kuidas sĂŒsteem tarbib mĂ€lu masinates, kus on esmane Explorer ja kus seda ei ole.

Tekib loomulik kĂŒsimus: miks kĂ”ik need keerutused PowerShellis, FOD-is ja failihaldurites, kui iga liigutus paremale-vasakule suurendab mĂ€lu tarbimist? Miks end koormata hulga tööriistadega ja ringi joosta, et tagada endale mugav töö Windows Server Core'is, kui vĂ”iks lihtsalt installida Windows Server 2016/2019 ja elada nagu inimene?

Server Core'i kasutamiseks on mitu pÔhjust. Esiteks: seal on peaaegu poole vÀhem mÀlu tarbimist. Kui te mÀletate, oli see tingimus meie artikli aluseks alguses. Siin on nÀiteks Windows Server 2019 mÀlu tarbimine, vÔrrelge eelpool olevate ekraanipiltidega:

Pressing Windows Server onto a low-power VPS with Windows Server Core
Ja nii, 1146 MB mÀlu tarbimine vÔrreldes 655 MB Core'is. 

Kui eeldada, et WAC-i pole vaja ja kasutate Explorer++ asemel originaalset Exploreri, siis kasutate endiselt peaaegu pool hektarit iga virtuaalmasina kohta, mis töötab Windows Serveris. Kui virtuaalmasinaid on ainult ĂŒks, siis on kasu vĂ€ike, aga kui neid on viis? Siis on GUI olemasolu juba oluline, eriti kui see pole vajalik. 

Teine — igasugused ringtantsud Windows Server Core'i ĂŒmber ei lahenda peamist probleemi Windows Serveri kĂ€itamisel — RDP ja selle turvalisus (tĂ€psemalt öeldes, tĂ€ielik puudumine). Isegi FOD, RSAT ja WAC variandi puhul on Windows Core ikkagi server, mis ei toeta RDP-d, mis tĂ€hendab, et see ei ole 95% olemasolevatest rĂŒnnakutest vastuvĂ”tlik.

ÜlejÀÀnud

KokkuvĂ”ttes on Windows Core vaid veidi "rasvasem" kui ĂŒkski standardne Linuxi distributsioon, kuid see on oluliselt funktsionaalsem. Kui vajate ressursivabastust ja olete valmis töötama konsooli, WAC ja RSAT-iga, kasutama failihaldureid, mitte tĂ€isfunktsionaalset GUI-d — siis tasub Core'ile tĂ€helepanu pöörata. Eriti kuna selle abil saate maksta vĂ€hem tĂ€isversiooni Windowsi eest ja sÀÀstetud raha suunata enda VPS, nĂ€iteks RAM-i lisamiseks. Mugavuse huvides oleme lisanud Windows Server Core'i oma turg.

Pressing Windows Server onto a low-power VPS with Windows Server Core

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster