Windows Server op een energiezuinige VPS persen met Windows Server Core

Windows Server op een energiezuinige VPS persen met Windows Server Core
Vanwege de gulzigheid van Windows-systemen wordt de VPS-omgeving gedomineerd door lichtgewicht Linux-distributies: Mint, Colibri OS, Debian of Ubuntu, verstoken van een zware desktopomgeving die voor onze doeleinden niet nodig is. Zoals ze zeggen, alleen console, alleen hardcore! En in feite is dit helemaal niet overdreven: dezelfde Debian start op 256 MB geheugen en één kern met een klok van 1 Ghz, dat wil zeggen op vrijwel elke "stronk". Voor comfortabel werken heb je minimaal 512 MB en een iets snellere processor nodig. Maar wat als we je vertelden dat je ongeveer hetzelfde kunt doen op een VPS met Windows? Waarom hoef je geen zware Windows Server uit te rollen, waarvoor drie tot vier hectare RAM nodig is en op zijn minst een paar cores geklokt op 1,4 GHz? Gebruik gewoon Windows Server Core - verwijder de GUI en sommige services. Hoe u dit kunt doen, zullen we in het artikel bespreken.

Wie is deze Windows Server Core?

Er is geen duidelijke informatie over wat Windows (server) Core is, zelfs niet op de officiële Mikes-website, of beter gezegd, alles is daar zo verwarrend dat je het niet meteen zult begrijpen, maar de eerste vermeldingen dateren uit het tijdperk van Windows Server 2008. In wezen is Windows Core een werkende Windows-kernelserver (plotseling!), “dunner” door de grootte van zijn eigen GUI en ongeveer de helft van de nevenservices.

Het belangrijkste kenmerk van Windows Core is de niet veeleisende hardware en volledige consolecontrole via PowerShell.

Als je naar de Microsoft-website gaat en de technische vereisten controleert, heb je om Windows Server 2016/2019 te starten minimaal 2 gigabytes RAM en minimaal één core met een kloksnelheid van 1,4 GHz nodig. Maar we begrijpen allemaal dat we met een dergelijke configuratie alleen kunnen verwachten dat het systeem opstart, maar zeker niet de comfortabele werking van ons besturingssysteem. Het is om deze reden dat Windows Server meestal meer geheugen en minimaal 2 cores/4 threads van de processor krijgt toegewezen, als ze deze op sommige Xeon niet voorzien van een dure fysieke machine, in plaats van een goedkope virtuele machine.

Tegelijkertijd heeft de kern van het serversysteem zelf slechts 512 MB geheugen nodig, en de processorbronnen die door de GUI werden verbruikt om eenvoudigweg op het scherm te worden getekend en de talrijke services draaiende te houden, kunnen voor iets nuttigers worden gebruikt.

Hier is een vergelijking van Windows Core-services die standaard worden ondersteund en een volledige Windows Server van de officiële Microsoft-website:

toepassing
server kern
server metdesktop-ervaring

Opdrachtprompt
Beschikbaar
Beschikbaar

Windows PowerShell/Microsoft.NET
Beschikbaar
Beschikbaar

Perfmon.exe
niet beschikbaar
Beschikbaar

Windbg (GUI)
ondersteund
Beschikbaar

Resmon.exe
niet beschikbaar
Beschikbaar

Regedit
Beschikbaar
Beschikbaar

Fsutil.exe
Beschikbaar
Beschikbaar

Disksnapshot.exe
niet beschikbaar
Beschikbaar

Diskpart.exe
Beschikbaar
Beschikbaar

diskmgmt.msc
niet beschikbaar
Beschikbaar

devmgmt.msc
niet beschikbaar
Beschikbaar

server Manager
niet beschikbaar
Beschikbaar

mmc.exe
niet beschikbaar
Beschikbaar

Evenementvwr
niet beschikbaar
Beschikbaar

Wevtutil (gebeurtenisquery's)
Beschikbaar
Beschikbaar

Services.msc
niet beschikbaar
Beschikbaar

control panel
niet beschikbaar
Beschikbaar

Windows Update (GUI)
niet beschikbaar
Beschikbaar

Windows Verkenner
niet beschikbaar
Beschikbaar

taakbalk
niet beschikbaar
Beschikbaar

Taakbalkmeldingen
niet beschikbaar
Beschikbaar

taakmgr
Beschikbaar
Beschikbaar

Internet Explorer of Rand
niet beschikbaar
Beschikbaar

Ingebouwd helpsysteem
niet beschikbaar
Beschikbaar

Windows 10 Shell
niet beschikbaar
Beschikbaar

Windows Media Player
niet beschikbaar
Beschikbaar

PowerShell
Beschikbaar
Beschikbaar

PowerShell-ISE
niet beschikbaar
Beschikbaar

Powershell-IME
Beschikbaar
Beschikbaar

Mstsc.exe
niet beschikbaar
Beschikbaar

Remote Desktop Services
Beschikbaar
Beschikbaar

Hyper-V Manager
niet beschikbaar
Beschikbaar

Zoals u kunt zien, is er veel uit Windows Core gesneden. De services en processen die verband houden met de GUI van het systeem, evenals alle "rommel" die absoluut niet nodig is op onze virtuele consolemachine, bijvoorbeeld Windows Media Player, gingen onder het mes.

Bijna zoals Linux, maar niet zo

Ik wil Windows Server Core heel graag vergelijken met Linux-distributies, maar feitelijk klopt dit niet helemaal. Ja, deze systemen lijken op elkaar in termen van verminderd hulpbronnengebruik als gevolg van het verlaten van de GUI en veel nevenservices, maar in termen van werking en sommige benaderingen van assemblage is dit nog steeds Windows, en geen Unix-systeem.

Het eenvoudigste voorbeeld is dat door handmatig de Linux-kernel te bouwen en vervolgens pakketten en services te installeren, zelfs een lichtgewicht Linux-distributie kan worden veranderd in iets hardhandigs en vergelijkbaar met een Zwitsers zakmes (hier wil ik heel graag een accordeongrap maken over Python en voeg een afbeelding in uit de serie "If Programming Languages ​​​​Were Weapons", maar dat doen we niet). In Windows Core is die vrijheid veel minder, omdat we immers met een Microsoft-product te maken hebben.

Windows Server Core wordt kant-en-klaar geleverd, waarvan de standaardconfiguratie kan worden geschat op basis van de bovenstaande tabel. Als je iets uit de niet-ondersteunde lijst nodig hebt, moet je de ontbrekende elementen online toevoegen via de console. Het is waar dat je Feature on Demand en de mogelijkheid om componenten als CAB-bestanden te downloaden niet mag vergeten, die vervolgens vóór de installatie aan de assembly kunnen worden toegevoegd. Maar dit script werkt niet als u tijdens het proces al ontdekt dat u een van de knipservices mist.

Maar wat de Core-versie onderscheidt van de volledige versie is de mogelijkheid om het systeem bij te werken en services toe te voegen zonder het werk te onderbreken. Windows Core ondersteunt hotrolling van pakketten, zonder opnieuw opstarten. Als gevolg hiervan, op basis van praktische observaties: een machine met Windows Core hoeft ~6 keer minder vaak opnieuw te worden opgestart dan een machine met Windows Server, dat wil zeggen eens in de zes maanden, en niet eens per maand.

Een prettige bonus voor beheerders is dat als het systeem wordt gebruikt zoals bedoeld - via de console, zonder RDP - en niet wordt omgezet in een tweede Windows Server, het extreem veilig wordt vergeleken met de volledige versie. Het merendeel van de kwetsbaarheden in Windows Server is immers te wijten aan RDP en de acties van de gebruiker die, via deze RDP, iets doet dat niet mag worden gedaan. Het lijkt op het verhaal van Henry Ford en zijn houding ten opzichte van de kleur van een auto: ‘Elke klant kan een auto in elke gewenste kleur laten spuiten, zolang deze maar zwart" Hetzelfde geldt voor het systeem: de gebruiker kan op welke manier dan ook met het systeem communiceren, het belangrijkste is dat hij dit doet via console.

Installeer en beheer Windows Server 2019 Core

We hebben eerder vermeld dat Windows Core in wezen Windows Server is zonder de GUI-wrapper. Dat wil zeggen dat u vrijwel elke versie van Windows Server als kernversie kunt gebruiken, dat wil zeggen dat u de GUI kunt verlaten. Voor producten uit de Windows Server 2019-familie is dit 3 van de 4 serverbuilds: core-modus is beschikbaar voor Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter en Hyper-V Server 2019, dat wil zeggen dat alleen Windows Server 2019 Essentials is uitgesloten uit deze lijst.

In dit geval hoeft u niet echt naar het Windows Server Core-installatiepakket te zoeken. In het standaard Microsoft-installatieprogramma wordt de kernversie letterlijk standaard aangeboden, terwijl de GUI-versie handmatig moet worden geselecteerd:

Windows Server op een energiezuinige VPS persen met Windows Server Core
Sterker nog, er zijn meer mogelijkheden om het systeem te beheren dan de genoemde PowerShell, die standaard door de fabrikant wordt aangeboden. U kunt een virtuele machine op Windows Server Core op minimaal vijf verschillende manieren beheren:

  • Externe PowerShell;
  • Hulpprogramma's voor beheer van externe servers (RSAT);
  • Windows-beheercentrum;
  • Sconfig;
  • Serverbeheerder.

De eerste drie posities zijn van het grootste belang: standaard PowerShell, RSAT en Windows Admin Center. Het is echter belangrijk om te begrijpen dat we weliswaar de voordelen van een van de instrumenten ervaren, maar ook de beperkingen die het met zich meebrengt.

We zullen de mogelijkheden van de console niet beschrijven; PowerShell is PowerShell, met zijn duidelijke voor- en nadelen. Met RSAT en WAC is alles iets ingewikkelder. 

WAC geeft u toegang tot belangrijke systeemcontroles, zoals het bewerken van het register en het beheren van schijven en apparaten. RSAT werkt in het eerste geval alleen in de weergavemodus en staat u niet toe wijzigingen aan te brengen, en om schijven en fysieke apparaten te beheren vereist Remote Server Administration Tools een GUI, wat in ons geval niet het geval is. Over het algemeen kan RSAT niet werken met bestanden en dienovereenkomstig met updates en installatie/verwijdering van programma's bij het bewerken van het register.

▍Systeembeheer

 

WAC
RSAT

Componentbeheer
Ja
Ja

Register-editor
Ja
Geen

Netwerkbeheer
Ja
Ja

Bekijk evenementen
Ja
Ja

Gedeelde mappen
Ja
Ja

Schijfbeheer
Ja
Alleen voor servers met GUI

Taakplanner
Ja
Ja

Apparaatbeheer
Ja
Alleen voor servers met GUI

Bestandsbeheer
Ja
Geen

gebruikersbeheer
Ja
Ja

Groep management
Ja
Ja

Certificaat beheer
Ja
Ja

Updates
Ja
Geen

Programma's verwijderen
Ja
Geen

Systeemmonitor
Ja
Ja

Aan de andere kant geeft RSAT ons volledige controle over de rollen op de machine, terwijl Windows Admin Center in dit opzicht letterlijk niets kan doen. Ter verduidelijking volgt hier een vergelijking van de mogelijkheden van RSAT en WAC op dit gebied:

▍Rollenbeheer

 

WAC
RSAT

Geavanceerde draadbescherming
VOORBEELD
Geen

Windows Defender
VOORBEELD
Ja

containers
VOORBEELD
Ja

AD-administratief centrum
VOORBEELD
Ja

AD-domein en trusts
Geen
Ja

AD-sites en -diensten
Geen
Ja

DHCP
VOORBEELD
Ja

DNS
VOORBEELD
Ja

DFS-beheerder
Geen
Ja

GPO-beheerder
Geen
Ja

IIS-beheerder
Geen
Ja

Dat wil zeggen, het is al duidelijk dat als we de GUI en PowerShell verlaten ten gunste van andere bedieningselementen, we niet weg zullen kunnen komen met het gebruik van een soort monotool: voor volledig beheer op alle fronten hebben we op zijn minst een combinatie van RSAT en WAC.

Houd er echter rekening mee dat u 150-180 megabyte RAM moet betalen om WAC te gebruiken. Wanneer verbonden, creëert Windows Admin Center 3-4 sessies aan de serverzijde, die niet worden beëindigd, zelfs niet wanneer de tool wordt losgekoppeld van de virtuele machine. WAC werkt ook niet met oudere versies van PowerShell, dus je hebt minimaal PowerShell 5.0 nodig. Dit alles druist in tegen ons paradigma van bezuinigingen, maar voor comfort moet je betalen. In ons geval - RAM.

Een andere optie voor het beheren van Server Core is het installeren van de GUI met behulp van tools van derden, om de tonnen afval die bij de interface horen niet in een volwaardige assemblage rond te slepen.

In dit geval hebben we twee opties: de originele Explorer op het systeem uitrollen of Explorer++ gebruiken. Als alternatief voor dit laatste is elke bestandsbeheerder geschikt: Total Commander, FAR Manager, Double Commander, enzovoort. Dit laatste verdient de voorkeur als het besparen van RAM van cruciaal belang voor u is. U kunt Explorer++ of een andere bestandsbeheerder toevoegen door een netwerkmap te maken en deze via de console of planner te starten.

Het installeren van een volwaardige Explorer geeft ons meer mogelijkheden als het gaat om het werken met software die is uitgerust met een gebruikersinterface. Hiervoor wij zal contact moeten opnemen naar Server Core App Compatibility Feature on Demand (FOD) die MMC, Eventvwr, PerfMon, Resmon, Explorer.exe en zelfs Powershell ISE naar het systeem retourneert. We zullen hiervoor echter moeten betalen, zoals het geval is met WAC: we zullen onomkeerbaar ongeveer 150-200 megabyte RAM verliezen, dat genadeloos zal worden opgeslokt door explorer.exe en andere diensten. Zelfs als er geen actieve gebruiker op de machine is.

Windows Server op een energiezuinige VPS persen met Windows Server Core
Windows Server op een energiezuinige VPS persen met Windows Server Core
Zo ziet het geheugenverbruik door het systeem eruit op machines met en zonder het native Explorer-pakket.

Hier rijst een logische vraag: waarom al dit dansen met PowerShell, FOD, bestandsbeheerders, als elke stap naar links of rechts leidt tot een toename van het RAM-verbruik? Waarom jezelf besmeuren met een heleboel tools en heen en weer schuiven om comfortabel werken op Windows Server Core te garanderen, als je gewoon Windows Server 2016/2019 kunt downloaden en kunt leven als een blanke man?

Er zijn verschillende redenen om Server Core te gebruiken. Ten eerste: het huidige geheugenverbruik is bijna de helft daarvan. Zoals u zich herinnert, was deze voorwaarde vanaf het begin de basis van ons artikel. Ter vergelijking: hier is het geheugenverbruik van Windows Server 2019, vergelijk met de schermafbeeldingen net hierboven:

Windows Server op een energiezuinige VPS persen met Windows Server Core
En dus 1146 MB geheugengebruik in plaats van 655 MB op Core. 

Ervan uitgaande dat u geen WAC nodig heeft en Explorer++ gebruikt in plaats van de originele Explorer, dan kunt u dan win je nog steeds bijna een halve hectare op elke virtuele machine waarop Windows Server draait. Als er maar één virtuele machine is, is de toename onbeduidend, maar als het er vijf zijn? Dit is waar het hebben van een GUI van belang is, vooral als je deze niet nodig hebt. 

Ten tweede zullen alle dansen rond Windows Server Core je er niet toe brengen het grootste probleem van het gebruik van Windows Server te bestrijden: RDP en de beveiliging ervan (meer precies, de volledige afwezigheid ervan). Windows Core, zelfs gecoat met FOD, RSAT en WAC, is nog steeds een server zonder RDP, dat wil zeggen dat het niet vatbaar is voor 95% van de bestaande aanvallen.

Overig

Over het algemeen is Windows Core slechts een klein beetje dikker dan welke standaard Linux-distributie dan ook, maar het is veel functioneler. Als je bronnen moet vrijmaken en klaar bent om met de console, WAC en RSAT te werken, en bestandsbeheerders te gebruiken in plaats van een volwaardige GUI, dan is Core de moeite waard om op te letten. Bovendien kunt u hiermee voorkomen dat u extra moet betalen voor een volwaardig Windows-systeem, en kunt u het bespaarde geld besteden aan het upgraden van uw computer. VPS, door daar bijvoorbeeld RAM toe te voegen. Voor het gemak hebben we Windows Server Core aan ons toegevoegd marktplaats.

Windows Server op een energiezuinige VPS persen met Windows Server Core

Bron: www.habr.com

Voeg een reactie