PÄ grund av Windows-systemens resurskrav dominerar lÀtta Linux-distroer i VPS-miljöer: Mint, Colibri OS, Debian eller Ubuntu, som saknar den tyngre skrivbordsmiljön som vi inte behöver. Som sagt, bara konsol, bara hardcore! Och det Àr verkligen ingen överdrift: samma Debian startar med 256 MB minne och en kÀrna med 1 GHz klockfrekvens, det vill sÀga nÀstan pÄ vilken "stubbe" som helst. För komfortabel drift behövs Ätminstone 512 MB och en nÄgot snabbare processor. Men vad sÀgs om att vi sÀger att ungefÀr samma sak kan göras pÄ VPS med Windows? Att du inte behöver installera den tyngre Windows Server, som krÀver tre till fyra gigabyte RAM och minst ett par kÀrnor med 1,4 GHz? AnvÀnd bara Windows Server Core - bli av med GUI och vissa tjÀnster. Det Àr just vad vi kommer att diskutera i artikeln.
Vem Àr denna Windows Server Core?
Det finns ingen tydlig information om vad Windows (server) Core Àr, inte ens pÄ Microsofts officiella webbplats, snarare Àr det sÄ förvirrande att man inte förstÄr strax, men de första omnÀmnandena gÄr tillbaka till epoken av Windows Server 2008. I grund och botten Àr Windows Core en fungerande kÀrna av Windows Server (överraskande nog!), "utslimmad" med storleken pÄ sitt eget GUI och ungefÀr hÀlften av de sekundÀra tjÀnsterna.
HuvudpoÀngen med Windows Core Àr kravlösheten pÄ hÄrdvara och helt konsolbaserad styrning via PowerShell.
Om vi vÀnder oss till Microsofts webbplats och kollar de tekniska kraven, sÄ krÀvs det minst 2 GB RAM och minst en kÀrna med 1,4 GHz för att starta Windows Server 2016/2019. Men vi förstÄr alla att vi pÄ en sÄdan konfiguration bara kan förvÀnta oss att systemet startar, men definitivt inte ett bekvÀmt arbete med vÄrt operativsystem. Just av detta skÀl tilldelas vanligtvis Windows Server mer minne och minst 2 kÀrnor/4 trÄdar frÄn processorn, om de inte ens tillhandahÄller en dyr fysisk maskin med nÄgon Xeo, istÀllet för en billig virtuell.
Samtidigt krÀver sjÀlva kÀrnan av serversystemet endast 512 MB minne, och de resurser av processorn som togs upp av GUI bara för att renderas pÄ skÀrmen och hÄlla sina mÄnga tjÀnster igÄng, kan anvÀndas till nÄgot mer nyttigt.
HÀr Àr en jÀmförelse av de stödda tjÀnsterna i Windows Core och en fullstÀndig Windows Server enligt Microsofts officiella webbplats:
application
server core
server medskrivbordsupplevelse
Kommandoprompt
tillgÀnglig
tillgÀnglig
Windows PowerShell/ Microsoft .NET
tillgÀnglig
tillgÀnglig
Perfmon.exe
inte tillgÀnglig
tillgÀnglig
Windbg (GUI)
stöds
tillgÀnglig
Resmon.exe
inte tillgÀnglig
tillgÀnglig
Regedit
tillgÀnglig
tillgÀnglig
Fsutil.exe
tillgÀnglig
tillgÀnglig
Disksnapshot.exe
inte tillgÀnglig
tillgÀnglig
Diskpart.exe
tillgÀnglig
tillgÀnglig
Diskmgmt.msc
inte tillgÀnglig
tillgÀnglig
Devmgmt.msc
inte tillgÀnglig
tillgÀnglig
Server Manager
inte tillgÀnglig
tillgÀnglig
Mmc.exe
inte tillgÀnglig
tillgÀnglig
Eventvwr
inte tillgÀnglig
tillgÀnglig
Wevtutil (hÀndelsfrÄgor)
tillgÀnglig
tillgÀnglig
TjÀnster.msc
inte tillgÀnglig
tillgÀnglig
Kontrollpanel
inte tillgÀnglig
tillgÀnglig
Windows Update (GUI)
inte tillgÀnglig
tillgÀnglig
Windows Utforskare
inte tillgÀnglig
tillgÀnglig
Taskbar
inte tillgÀnglig
tillgÀnglig
AktivitetsfÀltets meddelanden
inte tillgÀnglig
tillgÀnglig
Taskmgr
tillgÀnglig
tillgÀnglig
Internet Explorer eller Edge
inte tillgÀnglig
tillgÀnglig
Inbyggt hjÀlpsystem
inte tillgÀnglig
tillgÀnglig
Windows 10 Shell
inte tillgÀnglig
tillgÀnglig
Windows Media Player
inte tillgÀnglig
tillgÀnglig
PowerShell
tillgÀnglig
tillgÀnglig
PowerShell ISE
inte tillgÀnglig
tillgÀnglig
PowerShell IME
tillgÀnglig
tillgÀnglig
Mstsc.exe
inte tillgÀnglig
tillgÀnglig
FjÀrrskrivbordstjÀnster
tillgÀnglig
tillgÀnglig
Hyper-V Manager
inte tillgÀnglig
tillgÀnglig
Som synligt, har mycket av Windows Core tagits bort. TjÀnster och processer kopplade till systemets GUI, samt all typ av "skrÀp" som uppenbarligen inte kommer att behövas pÄ vÄr konsolvirtualmaskin, sÄsom Windows Media Player har skurits bort.
NĂ€stan som Linux, men inte riktigt.
Windows Server Core Àr mycket lÀtt att jÀmföra med Linux-distributioner, men det Àr faktiskt inte helt korrekt. Ja, dessa system liknar varandra nÀr det kommer till minskad resursförbrukning genom att avstÄ frÄn GUI och mÄnga sidotjÀnster, men nÀr det gÀller anvÀndning och vissa tillvÀgagÄngssÀtt för uppbyggnad, Àr det fortfarande Windows, och inte ett Unix-system.
Det enklaste exemplet â med hjĂ€lp av manuell kĂ€rnbygge av Linux och efterföljande installation av paket och tjĂ€nster, kan Ă€ven den lĂ€ttaste Linux-distributionen omvandlas till nĂ„got tungt och liknande en schweizisk armĂ©kniv (hĂ€r skulle jag gĂ€rna vilja skĂ€mta humoristiskt om Python och infoga en bild frĂ„n serien "If Programming Languages Were Weapons", men vi lĂ„ter bli). I Windows Core finns det mycket mindre av den friheten, eftersom vi faktiskt har att göra med en Microsoft-produkt.
Windows Server Core levereras redan som en fÀrdig distribution, dÀr standardkonfigurationen kan utvÀrderas utifrÄn tabellen ovan. Om du behöver nÄgot frÄn listan över icke-stödda alternativ, mÄste du lÀgga till de saknade elementen online via konsolen. Det Àr dock viktigt att komma ihÄg funktionen "Feature on demand" och möjligheten att ladda ner komponenter som CAB-filer som sedan kan lÀggas till i distributionen innan installationen. Men detta scenario fungerar inte om du upptÀcker under drift att du saknar nÄgon av de borttagna tjÀnsterna.
Men det som skiljer Core-versionen frĂ„n den fullstĂ€ndiga â Ă€r möjligheten att uppdatera systemet och lĂ€gga till tjĂ€nster utan att stoppa arbetet. Windows Core stödjer installation av paket "live", utan omstart. Som ett resultat, baserat pĂ„ praktiska observationer: en maskin som kör Windows Core behöver startas om ungefĂ€r 6 gĂ„nger mindre ofta, Ă€n en maskin som kör Windows Server, det vill sĂ€ga en gĂ„ng var sjĂ€tte mĂ„nad, istĂ€llet för en gĂ„ng i mĂ„naden.
En trevlig bonus för administratörer Ă€r att om systemet anvĂ€nds som det var tĂ€nkt â via konsolen, utan RDP â och inte görs om till en andra Windows Server, sĂ„ blir det extremt sĂ€kert i jĂ€mförelse med fullversionen. De flesta sĂ„rbarheterna i Windows Server Ă€r kopplade till RDP och anvĂ€ndarens handlingar som via detta RDP görs pĂ„ ett sĂ€tt som inte skulle vara korrekt. Det Ă€r ungefĂ€r som i berĂ€ttelsen om Henry Ford och hans syn pĂ„ bilfĂ€rger: "Any customer can have a car painted any color that he wants so long as it is black . SĂ„ Ă€r det ocksĂ„ med systemet: anvĂ€ndaren kan kommunicera med systemet pĂ„ vilket sĂ€tt som helst, sĂ„ lĂ€nge det görs via konsolen.
Installation och hantering av Windows Server 2019 Core
Tidigare nÀmnde vi att Windows Core i praktiken Àr Windows Server utan GUI-omslag. Det betyder att du kan anvÀnda nÀstan vilken version av Windows Server som helst som core-version, det vill sÀga avstÄ frÄn GUI. För produkterna i Windows Server 2019-familjen finns det 3 av 4 serverbyggnader: core-lÀget Àr tillgÀngligt för Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter och Hyper-V Server 2019, vilket gör att endast Windows Server 2019 Essentials faller bort frÄn denna lista.
Dessutom behöver installationspaketet för Windows Server Core inte letas efter. I den vanliga installatören frÄn Microsoft erbjuds core-versionen faktiskt som standard, medan versionen med GUI mÄste vÀljas manuellt:

Det finns faktiskt fler sÀtt att hantera systemet Àn det enda nÀmnda PowerShell som ges av tillverkaren som standard. Du kan hantera en virtuell maskin pÄ Windows Server Core pÄ minst fem olika sÀtt:
- FjÀrr-PowerShell;
- Remote Server Administration Tools (RSAT);
- Windows Admin Center;
- Sconfig;
- Server Manager.
De första tre alternativen vÀcker mest intresse: standard-PowerShell, RSAT och Windows Admin Center. Det Àr dock viktigt att förstÄ att nÀr man fÄr fördelarna av ett av verktygen, fÄr man ocksÄ de begrÀnsningar som följer med dess anvÀndning.
Vi kommer inte att beskriva konsolens möjligheter, PowerShell Ă€r PowerShell, med sina uppenbara fördelar och nackdelar. Med RSAT och WAC Ă€r det lite mer komplicerat.Â
WAC ger Ätkomst till viktiga systemadministrationsverktyg, som redigering av registret och hantering av diskar och enheter. RSAT fungerar endast i visningslÀge nÀr det kommer till redigering av registret och tillÄter inga Àndringar. För hantering av diskar och fysiska enheter krÀvs ett GUI med Remote Server Administration Tools, vilket inte Àr vÄrt fall. Generellt sett kan RSAT inte arbeta med filer, och dÀrmed inte med uppdateringar, installation eller borttagning av program i registret.
âSystemhantering
Â
WAC
RSAT
Komponenthantering
Ja
Ja
Registreringseditor
Ja
Ingen
NĂ€tverksadministration
Ja
Ja
HĂ€ndelseloggar
Ja
Ja
Delade mappar
Ja
Ja
Diskhantering
Ja
Bara för servrar med GUI
SchemalÀggare
Ja
Ja
Hantera enheter
Ja
Bara för servrar med GUI
Filhantering
Ja
Ingen
AnvÀndarhantering
Ja
Ja
Grupphantering
Ja
Ja
Certifikathantering
Ja
Ja
Uppdateringar
Ja
Ingen
Programinstallation
Ja
Ingen
Systemövervakning
Ja
Ja
à andra sidan ger RSAT oss full kontroll över rollerna pÄ maskinen, medan Windows Admin Center inte kan göra nÄgot i det avseendet. HÀr Àr en jÀmförelse av RSAT och WAC:s möjligheter inom detta omrÄde, för tydlighetens skull:
âRollhantering
Â
WAC
RSAT
Advanced Thread Protection
FĂRHANDSVISNING
Ingen
Windows Defender
FĂRHANDSVISNING
Ja
Containrar
FĂRHANDSVISNING
Ja
AD Administrative Center
FĂRHANDSVISNING
Ja
AD DomÀner och förtroenden
Ingen
Ja
AD webbplatser och tjÀnster
Ingen
Ja
DHCP
FĂRHANDSVISNING
Ja
DNS
FĂRHANDSVISNING
Ja
DFS-hanterare
Ingen
Ja
GPO-hanterare
Ingen
Ja
IIS-hanterare
Ingen
Ja
Det Àr redan tydligt att om man avstÄr frÄn GUI och PowerShell till förmÄn för andra administrationsverktyg, sÄ gÄr det inte att klara sig med bara ett verktyg: för att administrera fullt ut pÄ alla fronter behöver vi minst en kombination av RSAT och WAC.
Det bör ocksĂ„ noteras att anvĂ€ndning av WAC kommer att kosta 150-180 megabyte RAM. Windows Admin Center skapar 3-4 sessioner pĂ„ serversidan vid anslutning, som inte stĂ€ngs av ens nĂ€r verktyget kopplas bort frĂ„n den virtuella maskinen. Dessutom fungerar WAC inte med Ă€ldre versioner av PowerShell, sĂ„ du behöver minst PowerShell 5.0. Allt detta strider mot vĂ„r strĂ€van efter resurseffektivitet, men komfort har sitt pris. I vĂ„rt fall â RAM.
Ett annat alternativ för att administrera Server Core Àr att installera ett GUI med hjÀlp av tredjepartsverktyg, istÀllet för att bÀra med alla de skrÀprÀtter som följer med en fullstÀndig installation med grÀnssnitt.
I det hÀr fallet har vi tvÄ alternativ: att köra det ursprungliga Explorer-systemet eller anvÀnda Explorer++. Som ett alternativ till det senare passar vilken filhanterare som helst: Total Commander, FAR Manager, Double Commander och sÄ vidare. Det senare Àr att föredra om du Àr kritisk till att spara RAM-minne. Du kan lÀgga till Explorer++ eller nÄgon annan filhanterare genom att skapa en nÀtverksmapp och starta den via kommandoprompten eller schemalÀggaren.
Installation av en fullstĂ€ndig Explorer ger oss fler möjligheter nĂ€r det gĂ€ller att arbeta med programvara med ett anvĂ€ndargrĂ€nssnitt. För detta mĂ„ste vi till Server Core App Compatibility Feature on Demand (FOD) som Ă„terför MMC, Eventvwr, PerfMon, Resmon, Explorer.exe och till och med Powershell ISE till systemet. Men detta kommer att kosta oss, precis som med WAC: vi kommer för evigt att förlora cirka 150â200 megabyte RAM-minne, som utan Ă„nger kommer att slukas av explorer.exe och andra tjĂ€nster. Ăven om det inte finns nĂ„gon aktiv anvĂ€ndare pĂ„ maskinen.


SÄ hÀr ser minnesanvÀndningen ut för systemet pÄ maskiner med det ursprungliga Explorer-paketet och utan det.
HÀr uppstÄr den berÀttigade frÄgan: varför alla dessa krumbukter med PowerShell, FOD, filhanterare, nÀr varje steg Ät vÀnster eller höger ökar RAM-anvÀndningen? Varför belasta sig med en massa verktyg och hoppa hit och dit för att sÀkerstÀlla att man kan arbeta bekvÀmt pÄ Windows Server Core, nÀr man enkelt kan installera Windows Server 2016/2019 och leva som en vanlig mÀnniska?
Det finns flera skÀl till att anvÀnda Server Core. Det första: nÀstan halverad minnesanvÀndning. Om ni minns, var denna förutsÀttning grundlÀggande för vÄr artikel redan frÄn början. HÀr Àr en jÀmförelse av minnesanvÀndningen för Windows Server 2019, jÀmför med skÀrmdumparna lite högre upp:

Och tja, 1146 MB minnesanvĂ€ndning istĂ€llet för 655 MB pĂ„ Core.Â
Om vi antar att WAC inte kommer att behövas och att du kommer att anvĂ€nda Explorer++ istĂ€llet för den ursprungliga Explorer, sĂ„ kommer du fortfarande att vinna nĂ€stan ett halvt hektar pĂ„ varje virtuell maskin som kör Windows Server. Om det bara finns en virtuell maskin Ă€r vinsten obetydlig, men om det finns fem? DĂ„ har GUI betydelse, sĂ€rskilt om du inte behöver det.Â
Det andra Ă€r att alla danser runt Windows Server Core inte kommer att leda dig till att kĂ€mpa med det frĂ€msta problemet med drift av Windows Server â RDP och dess sĂ€kerhet (mer specifikt, dess fullstĂ€ndiga avsaknad). Windows Core, Ă€ven med FOD, RSAT och WAC, Ă€r fortfarande en server utan RDP, vilket betyder att den inte Ă€r utsatt för 95% av de befintliga attackerna.
I resterna
Generellt sett Ă€r Windows Core endast nĂ„got "fettare" Ă€n vilken standard Linux-distro som helst, men den Ă€r mycket mer funktionell. Om du behöver frigöra resurser och Ă€r villig att arbeta med kommandoraden, WAC och RSAT, samt anvĂ€nda filhanterare istĂ€llet för en fullstĂ€ndig GUI â dĂ„ bör du övervĂ€ga Core. SĂ€rskilt eftersom du kan undvika att betala för ett fullstĂ€ndigt Windows och istĂ€llet anvĂ€nda de sparade pengarna till att uppgradera din , till exempel genom att lĂ€gga till RAM. För enkelhetens skull har vi lagt till Windows Server Core i vĂ„r .
KĂ€lla: habr.com
