Klemmer Windows Server inn i en lavstrøms VPS med Windows Server Core

Klemmer Windows Server inn i en lavstrøms VPS med Windows Server Core
På grunn av fråtsigheten til Windows-systemer, domineres VPS-miljøet av lette Linux-distribusjoner: Mint, Colibri OS, Debian eller Ubuntu, blottet for et tungt skrivebordsmiljø som er unødvendig for våre formål. Som de sier, bare konsoll, bare hardcore! Og faktisk er dette ikke en overdrivelse i det hele tatt: den samme Debian starter på 256 MB minne og en kjerne med en 1 Ghz klokke, det vil si på nesten hvilken som helst "stubbe". For komfortabelt arbeid trenger du minst 512 MB og en litt raskere prosessor. Men hva om vi fortalte deg at du kan gjøre omtrent det samme på en VPS som kjører Windows? Hvorfor trenger du ikke å rulle ut en tung Windows Server, som krever tre til fire hektar RAM og minst et par kjerner klokket til 1,4 GHz? Bare bruk Windows Server Core - bli kvitt GUI og noen tjenester. Vi vil snakke om hvordan du gjør dette i artikkelen.

Hvem er denne Windows Server Core?

Det er ingen klar informasjon om hva Windows (server) Core er engang på den offisielle Mikes-nettsiden, eller rettere sagt, alt er så forvirrende der at du ikke umiddelbart vil forstå, men de første omtalene dateres tilbake til epoken med Windows Server 2008. I hovedsak er Windows Core en fungerende Windows-kjerneserver (plutselig!), "tynnere" med størrelsen på sin egen GUI og omtrent halvparten av sidetjenestene.

Hovedfunksjonen til Windows Core er dens lite krevende maskinvare og full konsollkontroll via PowerShell.

Hvis du går til Microsofts nettsted og sjekker de tekniske kravene, trenger du minst 2016 gig RAM og minst en kjerne med en klokkehastighet på 2019 GHz for å starte Windows Server 2/1,4. Men vi forstår alle at med en slik konfigurasjon kan vi bare forvente at systemet starter, men absolutt ikke den komfortable driften av operativsystemet vårt. Det er av denne grunn at Windows Server vanligvis blir tildelt mer minne og minst 2 kjerner/4 tråder fra prosessoren, hvis de ikke gir den en dyr fysisk maskin på en Xeon, i stedet for en billig virtuell maskin.

Samtidig krever kjernen av selve serversystemet bare 512 MB minne, og de prosessorressursene som ble forbrukt av GUI-en bare for å bli tegnet på skjermen og holde de mange tjenestene i gang, kan brukes til noe mer nyttig.

Her er en sammenligning av Windows Core-tjenester som støttes ut av esken og en full Windows Server fra det offisielle Microsoft-nettstedet:

søknad
server kjerne
server medskrivebordsopplevelse

Ledeteksten
tilgjengelig
tilgjengelig

Windows PowerShell/Microsoft .NET
tilgjengelig
tilgjengelig

Perfmon.exe
ikke tilgjengelig
tilgjengelig

Windbg (GUI)
støttes
tilgjengelig

Resmon.exe
ikke tilgjengelig
tilgjengelig

Regedit
tilgjengelig
tilgjengelig

Fsutil.exe
tilgjengelig
tilgjengelig

Disksnapshot.exe
ikke tilgjengelig
tilgjengelig

Diskpart.exe
tilgjengelig
tilgjengelig

Diskmgmt. msc
ikke tilgjengelig
tilgjengelig

devmgmt.msc
ikke tilgjengelig
tilgjengelig

Server Manager
ikke tilgjengelig
tilgjengelig

mmc.exe
ikke tilgjengelig
tilgjengelig

eventvwr
ikke tilgjengelig
tilgjengelig

Wevtutil (hendelsespørringer)
tilgjengelig
tilgjengelig

services.msc
ikke tilgjengelig
tilgjengelig

kontroll Panel
ikke tilgjengelig
tilgjengelig

Windows Update (GUI)
ikke tilgjengelig
tilgjengelig

Windows Explorer
ikke tilgjengelig
tilgjengelig

oppgavelinjen
ikke tilgjengelig
tilgjengelig

Oppgavelinjevarsler
ikke tilgjengelig
tilgjengelig

Oppgave
tilgjengelig
tilgjengelig

Internet Explorer eller Edge
ikke tilgjengelig
tilgjengelig

Innebygd hjelpesystem
ikke tilgjengelig
tilgjengelig

Windows 10 Shell
ikke tilgjengelig
tilgjengelig

Windows Media Player
ikke tilgjengelig
tilgjengelig

PowerShell
tilgjengelig
tilgjengelig

PowerShell ISE
ikke tilgjengelig
tilgjengelig

PowerShell IME
tilgjengelig
tilgjengelig

Mstsc.exe
ikke tilgjengelig
tilgjengelig

Eksternt skrivebordstjenester
tilgjengelig
tilgjengelig

Hyper-V Manager
ikke tilgjengelig
tilgjengelig

Som du kan se, har mye blitt kuttet fra Windows Core. Tjenestene og prosessene knyttet til GUI-en til systemet, så vel som alt "søppel" som definitivt ikke er nødvendig på vår virtuelle konsollmaskin, for eksempel Windows Media Player, gikk under kniven.

Nesten som Linux, men ikke det

Jeg ønsker virkelig å sammenligne Windows Server Core med Linux-distribusjoner, men dette er faktisk ikke helt riktig. Ja, disse systemene ligner hverandre når det gjelder redusert ressursforbruk på grunn av forlatelse av GUI og mange sidetjenester, men når det gjelder drift og noen tilnærminger til montering, er dette fortsatt Windows, og ikke et Unix-system.

Det enkleste eksemplet er at ved å manuelt bygge Linux-kjernen og deretter installere pakker og tjenester, kan til og med en lett Linux-distribusjon gjøres om til noe tunghendt og ligner på en sveitsisk hærkniv (her vil jeg virkelig lage en trekkspillspøk om Python og sett inn et bilde fra serien "If Programming Languages ​​Were Weapons", men det gjør vi ikke). I Windows Core er det mye mindre slik frihet, fordi vi tross alt har å gjøre med et Microsoft-produkt.

Windows Server Core leveres ferdig, standardkonfigurasjonen kan estimeres fra tabellen ovenfor. Hvis du trenger noe fra listen som ikke støttes, må du legge til de manglende elementene online via konsollen. Riktignok bør du ikke glemme Feature on demand og muligheten til å laste ned komponenter som CAB-filer, som deretter kan legges til sammenstillingen før installasjon. Men dette skriptet fungerer ikke hvis du allerede under prosessen oppdager at du mangler noen av kuttetjenestene.

Men det som skiller Core-versjonen fra fullversjonen er muligheten til å oppdatere systemet og legge til tjenester uten å stoppe arbeidet. Windows Core støtter varmrulling av pakker, uten omstart. Som et resultat, basert på praktiske observasjoner: en maskin som kjører Windows Core må startes på nytt ~6 ganger sjeldnere enn en som kjører Windows Server, det vil si en gang hver sjette måned, og ikke en gang i måneden.

En hyggelig bonus for administratorer er at hvis systemet brukes etter hensikten - gjennom konsollen, uten RDP - og ikke gjøres om til en andre Windows Server, så blir det ekstremt sikkert sammenlignet med fullversjonen. Tross alt skyldes de fleste Windows Server-sårbarhetene RDP og handlingene til brukeren som gjennom denne samme RDP gjør noe som ikke bør gjøres. Det er noe sånt som historien med Henry Ford og hans holdning til fargen på en bil: «Enhver kunde kan få en bil malt hvilken som helst farge han vil, så lenge den er svart" Det er det samme med systemet: brukeren kan kommunisere med systemet på alle måter, det viktigste er at han gjør det gjennom konsoll.

Installere og administrere Windows Server 2019 Core

Vi nevnte tidligere at Windows Core i hovedsak er Windows Server uten GUI-innpakningen. Det vil si at du kan bruke nesten hvilken som helst versjon av Windows Server som en kjerneversjon, det vil si forlate GUI. For produkter i Windows Server 2019-familien er dette 3 av 4 serverbygg: kjernemodus er tilgjengelig for Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter og Hyper-V Server 2019, det vil si at bare Windows Server 2019 Essentials er ekskludert fra denne listen.

I dette tilfellet trenger du egentlig ikke se etter Windows Server Core-installasjonspakken. I standard Microsoft-installasjonsprogrammet tilbys kjerneversjonen bokstavelig talt som standard, mens GUI-versjonen må velges manuelt:

Klemmer Windows Server inn i en lavstrøms VPS med Windows Server Core
Faktisk er det flere alternativer for å administrere systemet enn den nevnte PowerShell, som tilbys av produsenten som standard. Du kan administrere en virtuell maskin på Windows Server Core på minst fem forskjellige måter:

  • Ekstern PowerShell;
  • Remote Server Administration Tools (RSAT);
  • Windows administrasjonssenter;
  • Sconfig;
  • ServerManager.

De tre første stillingene er av størst interesse: standard PowerShell, RSAT og Windows Admin Center. Det er imidlertid viktig å forstå at mens vi får fordelene med ett av verktøyene, får vi også begrensningene det påfører.

Vi vil ikke beskrive egenskapene til konsollen; PowerShell er PowerShell, med sine åpenbare fordeler og ulemper. Med RSAT og WAC er alt litt mer komplisert. 

WAC gir deg tilgang til viktige systemkontroller som å redigere registeret og administrere disker og enheter. RSAT i det første tilfellet fungerer bare i visningsmodus og vil ikke tillate deg å gjøre noen endringer, og for å administrere disker og fysiske enheter Remote Server Administration Tools krever en GUI, noe som ikke er tilfelle i vårt tilfelle. Generelt kan ikke RSAT arbeide med filer og følgelig oppdateringer, installasjon/fjerning av programmer ved redigering av registret.

▍Systemadministrasjon

 

WAC
RSAT

Komponentstyring
Ja
Ja

Registerredigering
Ja
Ikke

Nettverksadministrasjon
Ja
Ja

Event Viewer
Ja
Ja

Delte mapper
Ja
Ja

Diskbehandling
Ja
Kun for servere med GUI

Oppgaveplanlegger
Ja
Ja

Enhetsadministrasjon
Ja
Kun for servere med GUI

Filbehandling
Ja
Ikke

brukeradministrasjon
Ja
Ja

Konsernledelse
Ja
Ja

Sertifikatbehandling
Ja
Ja

Oppdateringer
Ja
Ikke

Fjerner programmer
Ja
Ikke

Systemovervåking
Ja
Ja

På den annen side gir RSAT oss full kontroll over rollene på maskinen, mens Windows Admin Center kan bokstavelig talt ingenting gjøre i denne forbindelse. Her er en sammenligning av mulighetene til RSAT og WAC i dette aspektet, for klarhet:

▍Rollestyring

 

WAC
RSAT

Avansert trådbeskyttelse
FORHÅNDSVISNING
Ikke

Windows Defender
FORHÅNDSVISNING
Ja

containere
FORHÅNDSVISNING
Ja

AD Administrasjonssenter
FORHÅNDSVISNING
Ja

AD-domene og truster
Ikke
Ja

AD nettsteder og tjenester
Ikke
Ja

DHCP
FORHÅNDSVISNING
Ja

DNS
FORHÅNDSVISNING
Ja

DFS-sjef
Ikke
Ja

GPO-sjef
Ikke
Ja

IIS-sjef
Ikke
Ja

Det vil si at det allerede er klart at hvis vi forlater GUI og PowerShell til fordel for andre kontroller, vil vi ikke kunne slippe unna med å bruke et slags mono-verktøy: for full administrasjon på alle fronter vil vi trenge minst en kombinasjon av RSAT og WAC.

Du må imidlertid huske at du må betale 150-180 megabyte RAM for å bruke WAC. Når tilkoblet, oppretter Windows Admin Center 3-4 økter på serversiden, som ikke blir drept selv når verktøyet kobles fra den virtuelle maskinen. WAC fungerer heller ikke med eldre versjoner av PowerShell, så du trenger minst PowerShell 5.0. Alt dette strider mot vårt paradigme om innstramminger, men du må betale for komfort. I vårt tilfelle - RAM.

Et annet alternativ for å administrere Server Core er å installere GUI ved hjelp av tredjepartsverktøy, for ikke å dra rundt tonnevis av søppel som følger med grensesnittet i en fullverdig sammenstilling.

I dette tilfellet har vi to alternativer: rulle ut den originale Explorer på systemet eller bruk Explorer++. Som et alternativ til sistnevnte er enhver filbehandler egnet: Total Commander, FAR Manager, Double Commander, og så videre. Sistnevnte er å foretrekke hvis lagring av RAM er kritisk for deg. Du kan legge til Explorer++ eller en hvilken som helst annen filbehandling ved å opprette en nettverksmappe og starte den gjennom konsollen eller planleggeren.

Å installere en fullverdig Explorer vil gi oss flere muligheter når det gjelder å jobbe med programvare utstyrt med et brukergrensesnitt. For dette vi skal ta kontakt til Server Core App Compatibility Feature on Demand (FOD) som vil returnere MMC, Eventvwr, PerfMon, Resmon, Explorer.exe og til og med Powershell ISE til systemet. Vi må imidlertid betale for dette, slik tilfellet er med WAC: vi vil irreversibelt miste rundt 150-200 megabyte RAM, som nådeløst vil bli slukt av explorer.exe og andre tjenester. Selv om det ikke er noen aktiv bruker på maskinen.

Klemmer Windows Server inn i en lavstrøms VPS med Windows Server Core
Klemmer Windows Server inn i en lavstrøms VPS med Windows Server Core
Dette er hvordan minneforbruket til systemet ser ut på maskiner med og uten den opprinnelige Explorer-pakken.

Et logisk spørsmål dukker opp her: hvorfor all denne dansen med PowerShell, FOD, filbehandlere, hvis noen skritt til venstre eller høyre fører til en økning i RAM-forbruket? Hvorfor smøre deg med en haug med verktøy og stokke fra side til side for å sikre komfortabelt arbeid på Windows Server Core, når du bare kan laste ned Windows Server 2016/2019 og leve som en hvit mann?

Det er flere grunner til å bruke Server Core. For det første: nåværende minneforbruk er nesten halvparten. Hvis du husker, var denne tilstanden grunnlaget for artikkelen vår helt i begynnelsen. Til sammenligning, her er minneforbruket til Windows Server 2019, sammenlign med skjermbildene rett ovenfor:

Klemmer Windows Server inn i en lavstrøms VPS med Windows Server Core
Og så, 1146 MB minneforbruk i stedet for 655 MB på Core. 

Forutsatt at du ikke trenger WAC og vil bruke Explorer++ i stedet for den originale Explorer, så du du vil fortsatt vinne nesten en halv hektar på hver virtuell maskin som kjører Windows Server. Hvis det bare er én virtuell maskin, så er økningen ubetydelig, men hvis det er fem av dem? Det er her det er viktig å ha et GUI, spesielt hvis du ikke trenger det. 

For det andre vil enhver dans rundt Windows Server Core ikke føre til at du kjemper mot hovedproblemet med å betjene Windows Server - RDP og dens sikkerhet (mer presist, dens fullstendige fravær). Windows Core, selv belagt med FOD, RSAT og WAC, er fortsatt en server uten RDP, det vil si at den ikke er mottakelig for 95 % av eksisterende angrep.

Gjenstående

Generelt er Windows Core bare litt fetere enn noen vanlig Linux-distribusjon, men den er mye mer funksjonell. Hvis du trenger å frigjøre ressurser og er klar til å jobbe med konsollen, WAC og RSAT, og bruke filbehandlere i stedet for en fullverdig GUI, så er Core verdt å ta hensyn til. Med den vil du dessuten kunne unngå å betale ekstra for et fullverdig Windows, og bruke de sparte pengene på å oppgradere VPS, og legger der for eksempel RAM. For enkelhets skyld har vi lagt til Windows Server Core i vår markedsplass.

Klemmer Windows Server inn i en lavstrøms VPS med Windows Server Core

Kilde: www.habr.com

Legg til en kommentar