Klem Windows Server på en laveffekt VPS ved hjælp af Windows Server Core

Klem Windows Server på en laveffekt VPS ved hjælp af Windows Server Core
På grund af Windows-systemernes frådseri er VPS-miljøet domineret af lette Linux-distributioner: Mint, Colibri OS, Debian eller Ubuntu, blottet for et tungt skrivebordsmiljø, der er unødvendigt til vores formål. Som de siger, kun konsol, kun hardcore! Og faktisk er dette slet ikke en overdrivelse: den samme Debian starter på 256 MB hukommelse og en kerne med en clock-cyklus på 1 Ghz, det vil sige på næsten enhver "stump". For behageligt arbejde skal du bruge mindst 512 MB og en lidt hurtigere processor. Men hvad nu hvis vi fortalte dig, at du kan gøre nogenlunde det samme på en VPS, der kører Windows? Hvorfor skal du ikke udrulle en tung Windows Server, som kræver tre til fire hektar RAM og mindst et par kerner clocket til 1,4 GHz? Bare brug Windows Server Core - slip med GUI'en og nogle tjenester. Vi vil tale om, hvordan man gør dette i artiklen.

Hvem er denne Windows Server Core?

Der er ingen klar information om, hvad Windows (server) Core er på den officielle hjemmeside for Mikes, eller rettere sagt, alt er så forvirrende der, at du ikke umiddelbart vil forstå, men de første omtaler går tilbage til æraen med Windows Server 2008 I det væsentlige er Windows Core en fungerende Windows-kerneserver (pludselig!), "tyndere" på størrelse med sin egen GUI og omkring halvdelen af ​​sidetjenesterne.

Hovedfunktionen i Windows Core er dens krævende hardware og fulde konsolkontrol via PowerShell.

Hvis du går til Microsofts hjemmeside og tjekker de tekniske krav, skal du for at starte Windows Server 2016/2019 have mindst 2 gigs RAM og mindst en kerne med en clockhastighed på 1,4 GHz. Men vi forstår alle, at med en sådan konfiguration kan vi kun forvente, at systemet starter, men bestemt ikke den behagelige betjening af vores OS. Det er af denne grund, at Windows Server normalt får tildelt mere hukommelse og mindst 2 kerner/4 tråde fra processoren, hvis de ikke forsyner den med en dyr fysisk maskine på nogle Xeon, i stedet for en billig virtuel maskine.

Samtidig kræver kernen af ​​selve serversystemet kun 512 MB hukommelse, og de processorressourcer, der blev forbrugt af GUI'en, blot for at blive tegnet på skærmen og holde dets mange tjenester kørende, kan bruges til noget mere nyttigt.

Her er en sammenligning af Windows Core-tjenester, der understøttes ud af boksen, og en komplet Windows Server fra det officielle Microsoft-websted:

ansøgning
server kerne
server meddesktop oplevelse

Kommandoprompt
til rådighed
til rådighed

Windows PowerShell/Microsoft .NET
til rådighed
til rådighed

Perfmon.exe
tilgængelig
til rådighed

Windbg (GUI)
understøttes
til rådighed

Resmon.exe
tilgængelig
til rådighed

regedit
til rådighed
til rådighed

Fsutil.exe
til rådighed
til rådighed

Disksnapshot.exe
tilgængelig
til rådighed

Diskpart.exe
til rådighed
til rådighed

Diskmgmt. msc
tilgængelig
til rådighed

devmgmt.msc
tilgængelig
til rådighed

Server manager
tilgængelig
til rådighed

mmc.exe
tilgængelig
til rådighed

Eventvwr
tilgængelig
til rådighed

Wevtutil (begivenhedsforespørgsler)
til rådighed
til rådighed

Services.msc
tilgængelig
til rådighed

kontrol panel
tilgængelig
til rådighed

Windows Update (GUI)
tilgængelig
til rådighed

Windows Stifinder
tilgængelig
til rådighed

proceslinjen
tilgængelig
til rådighed

Underretninger på proceslinjen
tilgængelig
til rådighed

Opgavemgr
til rådighed
til rådighed

Internet Explorer eller Edge
tilgængelig
til rådighed

Indbygget hjælpesystem
tilgængelig
til rådighed

Windows 10 Shell
tilgængelig
til rådighed

Windows Media Player
tilgængelig
til rådighed

PowerShell
til rådighed
til rådighed

PowerShell ISE
tilgængelig
til rådighed

PowerShell IME
til rådighed
til rådighed

Mstsc.exe
tilgængelig
til rådighed

Remote Desktop Services
til rådighed
til rådighed

Hyper-V Manager
tilgængelig
til rådighed

Som du kan se, er der blevet skåret meget fra Windows Core. De tjenester og processer, der er forbundet med systemets GUI, såvel som enhver "skrald", der absolut ikke er nødvendig på vores virtuelle konsolmaskine, for eksempel Windows Media Player, gik under kniven.

Næsten som Linux, men ikke det

Jeg vil rigtig gerne sammenligne Windows Server Core med Linux-distributioner, men det er faktisk ikke helt korrekt. Ja, disse systemer ligner hinanden med hensyn til reduceret ressourceforbrug på grund af opgivelsen af ​​GUI og mange sidetjenester, men med hensyn til drift og nogle tilgange til montering er dette stadig Windows, og ikke et Unix-system.

Det enkleste eksempel er, at ved manuelt at bygge Linux-kernen og derefter installere pakker og tjenester, kan selv en letvægts Linux-distribution forvandles til noget hårdhændet og ligner en schweizisk hærkniv (her vil jeg virkelig lave en harmonika-joke om Python og indsæt et billede fra serien "If Programming Languages ​​Were Weapons", men det gør vi ikke). I Windows Core er der meget mindre sådan frihed, fordi vi trods alt har at gøre med et Microsoft-produkt.

Windows Server Core leveres færdiglavet, hvis standardkonfiguration kan estimeres ud fra tabellen ovenfor. Hvis du har brug for noget fra den ikke-understøttede liste, bliver du nødt til at tilføje de manglende elementer online via konsollen. Sandt nok bør du ikke glemme Feature on demand og muligheden for at downloade komponenter som CAB-filer, som derefter kan tilføjes til samlingen før installation. Men dette script virker ikke, hvis du allerede under processen opdager, at du mangler nogen af ​​cut-tjenesterne.

Men det, der adskiller Core-versionen fra den fulde version, er muligheden for at opdatere systemet og tilføje tjenester uden at stoppe arbejdet. Windows Core understøtter varmrullning af pakker uden genstart. Som et resultat, baseret på praktiske observationer: en maskine, der kører Windows Core, skal genstartes ~6 gange sjældnere end en, der kører Windows Server, det vil sige en gang hver sjette måned, og ikke en gang om måneden.

En behagelig bonus for administratorer er, at hvis systemet bruges efter hensigten - gennem konsollen, uden RDP - og ikke omdannes til en anden Windows Server, så bliver det ekstremt sikkert i forhold til den fulde version. Når alt kommer til alt, skyldes størstedelen af ​​Windows Server-sårbarhederne RDP og handlingerne fra den bruger, som gennem netop denne RDP gør noget, der ikke bør gøres. Det er noget som historien med Henry Ford og hans holdning til farven på en bil: "Enhver kunde kan få en bil malet hvilken som helst farve, han vil, så længe den er sort" Det er det samme med systemet: brugeren kan kommunikere med systemet på enhver måde, det vigtigste er, at han gør det gennem konsol.

Installer og administrer Windows Server 2019 Core

Vi nævnte tidligere, at Windows Core i det væsentlige er Windows Server uden GUI-indpakningen. Det vil sige, at du kan bruge næsten enhver version af Windows Server som en kerneversion, det vil sige opgive GUI. For produkter i Windows Server 2019-familien er dette 3 ud af 4 server builds: kernetilstand er tilgængelig for Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter og Hyper-V Server 2019, det vil sige, at kun Windows Server 2019 Essentials er udelukket fra denne liste.

I dette tilfælde behøver du ikke rigtig at lede efter Windows Server Core-installationspakken. I standard Microsoft-installationsprogrammet tilbydes kerneversionen bogstaveligt som standard, mens GUI-versionen skal vælges manuelt:

Klem Windows Server på en laveffekt VPS ved hjælp af Windows Server Core
Faktisk er der flere muligheder for at styre systemet end den nævnte PowerShell, som tilbydes af producenten som standard. Du kan administrere en virtuel maskine på Windows Server Core på mindst fem forskellige måder:

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

De første tre stillinger er af størst interesse: Standard PowerShell, RSAT og Windows Admin Center. Det er dog vigtigt at forstå, at mens vi modtager fordelene ved et af værktøjerne, modtager vi også de begrænsninger, det pålægger.

Vi vil ikke beskrive konsollens muligheder; PowerShell er PowerShell, med dets åbenlyse fordele og ulemper. Med RSAT og WAC er alt lidt mere kompliceret. 

WAC giver dig adgang til vigtige systemkontroller såsom redigering af registreringsdatabasen og styring af diske og enheder. RSAT i det første tilfælde fungerer kun i visningstilstand og vil ikke tillade dig at foretage ændringer, og at administrere diske og fysiske enheder Remote Server Administration Tools kræver en GUI, hvilket ikke er tilfældet i vores tilfælde. Generelt kan RSAT ikke arbejde med filer og følgelig opdateringer, installation/fjernelse af programmer ved redigering af registreringsdatabasen.

▍Systemstyring

 

W.A.C.
RSAT

Komponentstyring
Ja
Ja

Registreringsredaktør
Ja
Nej

Netværksstyring
Ja
Ja

Event Viewer
Ja
Ja

Delte mapper
Ja
Ja

Diskhåndtering
Ja
Kun for servere med GUI

Opgaveplanlægger
Ja
Ja

Enhedshåndtering
Ja
Kun for servere med GUI

Filhåndtering
Ja
Nej

brugerstyring
Ja
Ja

Koncernledelse
Ja
Ja

Certifikathåndtering
Ja
Ja

Opdateringer
Ja
Nej

Afinstallation af programmer
Ja
Nej

Systemovervågning
Ja
Ja

På den anden side giver RSAT os fuldstændig kontrol over rollerne på maskinen, hvorimod Windows Admin Center bogstaveligt talt intet kan gøre i denne henseende. Her er en sammenligning af mulighederne for RSAT og WAC i dette aspekt for klarhedens skyld:

▍Rollestyring

 

W.A.C.
RSAT

Avanceret trådbeskyttelse
FORBINDELSE
Nej

Windows Defender
FORBINDELSE
Ja

Containere
FORBINDELSE
Ja

AD Administrativt Center
FORBINDELSE
Ja

AD-domæne og trusts
Nej
Ja

AD websteder og tjenester
Nej
Ja

DHCP
FORBINDELSE
Ja

DNS
FORBINDELSE
Ja

DFS Manager
Nej
Ja

GPO Manager
Nej
Ja

IIS Manager
Nej
Ja

Det vil sige, at det allerede er klart, at hvis vi opgiver GUI og PowerShell til fordel for andre kontroller, vil vi ikke kunne slippe afsted med at bruge en form for mono-værktøj: for fuld administration på alle fronter, vil vi have brug for mindst en kombination af RSAT og WAC.

Du skal dog huske, at du skal betale 150-180 megabyte RAM for at bruge WAC. Når det er tilsluttet, opretter Windows Admin Center 3-4 sessioner på serversiden, som ikke dræbes, selv når værktøjet afbrydes fra den virtuelle maskine. WAC virker heller ikke med ældre versioner af PowerShell, så du skal have mindst PowerShell 5.0. Alt dette er imod vores paradigme om stramninger, men du skal betale for komfort. I vores tilfælde - RAM.

En anden mulighed for at administrere Server Core er at installere GUI ved hjælp af tredjepartsværktøjer, for ikke at trække rundt på tonsvis af skrald, der følger med grænsefladen, i en fuldgyldig samling.

I dette tilfælde har vi to muligheder: rulle den originale Explorer ud på systemet eller brug Explorer++. Som et alternativ til sidstnævnte er enhver filhåndtering egnet: Total Commander, FAR Manager, Double Commander, og så videre. Sidstnævnte er at foretrække, hvis det er vigtigt for dig at spare RAM. Du kan tilføje Explorer++ eller enhver anden filhåndtering ved at oprette en netværksmappe og starte den gennem konsollen eller planlæggeren.

Installation af en fuldgyldig Explorer vil give os flere muligheder i forhold til at arbejde med software udstyret med en UI. Til dette vi bliver nødt til at kontakte til Server Core App Compatibility Feature on Demand (FOD), som vil returnere MMC, Eventvwr, PerfMon, Resmon, Explorer.exe og endda Powershell ISE til systemet. Vi skal dog betale for dette, som det er tilfældet med WAC: Vi vil irreversibelt miste omkring 150-200 megabyte RAM, som nådesløst vil blive opslugt af explorer.exe og andre tjenester. Også selvom der ikke er nogen aktiv bruger på maskinen.

Klem Windows Server på en laveffekt VPS ved hjælp af Windows Server Core
Klem Windows Server på en laveffekt VPS ved hjælp af Windows Server Core
Sådan ser hukommelsesforbruget i systemet ud på maskiner med og uden den oprindelige Explorer-pakke.

Et logisk spørgsmål opstår her: hvorfor al denne dans med PowerShell, FOD, filhåndtering, hvis et trin til venstre eller højre fører til en stigning i RAM-forbruget? Hvorfor smøre dig selv med en masse værktøjer og blande dig fra side til side for at sikre komfortabelt arbejde på Windows Server Core, når du bare kan downloade Windows Server 2016/2019 og leve som en hvid mand?

Der er flere grunde til at bruge Server Core. For det første: det nuværende hukommelsesforbrug er næsten det halve. Hvis du husker det, var denne betingelse grundlaget for vores artikel i begyndelsen. Til sammenligning er her hukommelsesforbruget for Windows Server 2019, sammenlign med skærmbillederne lige ovenfor:

Klem Windows Server på en laveffekt VPS ved hjælp af Windows Server Core
Og altså 1146 MB hukommelsesforbrug i stedet for 655 MB på Core. 

Forudsat at du ikke har brug for WAC og vil bruge Explorer++ i stedet for den originale Explorer, så skal du du vil stadig vinde næsten en halv hektar på hver virtuel maskine, der kører Windows Server. Hvis der kun er én virtuel maskine, så er stigningen ubetydelig, men hvis der er fem af dem? Det er her det er vigtigt at have en GUI, især hvis du ikke har brug for den. 

For det andet vil enhver dans omkring Windows Server Core ikke føre dig til at bekæmpe hovedproblemet med at betjene Windows Server - RDP og dets sikkerhed (mere præcist, dets fuldstændige fravær). Windows Core, selv belagt i form af FOD, RSAT og WAC, er stadig en server uden RDP, det vil sige, at den ikke er modtagelig for 95% af eksisterende angreb.

Tilbage

Generelt er Windows Core kun lidt federe end nogen almindelig Linux-distribution, men den er meget mere funktionel. Hvis du har brug for at frigøre ressourcer og er klar til at arbejde med konsollen, WAC og RSAT og bruge filhåndtering i stedet for en fuldgyldig GUI, så er Core værd at være opmærksom på. Desuden vil du med det være i stand til at undgå at betale ekstra for et fuldgyldigt Windows, og bruge de sparede penge på at opgradere din VPS, tilføjer der f.eks. RAM. For nemheds skyld har vi tilføjet Windows Server Core til vores markedsplads.

Klem Windows Server på en laveffekt VPS ved hjælp af Windows Server Core

Kilde: www.habr.com

Tilføj en kommentar