Windows Serveri pigistamine vähese energiatarbega VPS-ile, kasutades Windows Server Core'i

Windows Serveri pigistamine vähese energiatarbega VPS-ile, kasutades Windows Server Core'i
Windowsi süsteemide ülekülluse tõttu domineerivad VPS-i keskkonnas kerged Linuxi distributsioonid: Mint, Colibri OS, Debian või Ubuntu, millel puudub meie jaoks mittevajalik raske töölauakeskkond. Nagu öeldakse, ainult konsool, ainult hardcore! Ja tegelikult pole see sugugi liialdus: sama Debian käivitub 256 MB mälust ja ühest 1 GHz kellaga tuumast, see tähendab peaaegu igal “kännul”. Mugavaks tööks on vaja vähemalt 512 MB ja veidi kiiremat protsessorit. Aga mis siis, kui me ütleksime teile, et saate teha umbes sama asja ka Windowsi töötava VPS-iga? Miks ei pea te kasutusele võtma rasket Windows Serverit, mis nõuab kolm kuni neli hektarit muutmälu ja vähemalt paar südamikku, mille taktsagedus on 1,4 GHz? Kasutage lihtsalt Windows Server Core'i – vabanege GUI-st ja mõnest teenusest. Kuidas seda teha, räägime artiklis.

Kes see Windows Server Core on?

Selle kohta, mis Windows (server) Core on, pole selget infot isegi Mikesi ametlikul kodulehel, õigemini on seal kõik nii segane, et kohe aru ei saa, aga esimesed mainimised pärinevad Windows Server 2008 ajastust. Põhimõtteliselt on Windows Core töötav Windowsi kerneli server (äkitselt!), mis on oma GUI ja umbes poolte kõrvalteenuste suuruse võrra õhem.

Windows Core'i peamine omadus on selle vähenõudlik riistvara ja täielik konsooli juhtimine PowerShelli kaudu.

Kui lähete Microsofti veebisaidile ja kontrollite tehnilisi nõudeid, siis Windows Server 2016/2019 käivitamiseks vajate vähemalt 2 giga RAM-i ja vähemalt ühte südamikku, mille taktsagedus on 1,4 GHz. Kuid me kõik mõistame, et sellise konfiguratsiooni korral võime oodata ainult süsteemi käivitumist, kuid kindlasti mitte meie OS-i mugavat toimimist. Just sel põhjusel eraldatakse Windows Serverile tavaliselt rohkem mälu ja vähemalt 2 tuuma/4 lõime protsessorilt, kui nad ei paku talle mõnel Xeonil kallist füüsilist masinat, odava virtuaalmasina asemel.

Samas vajab serverisüsteemi tuum ise vaid 512 MB mälu ning need protsessoriressursid, mida GUI kulus lihtsalt ekraanile joonistamiseks ja selle arvukate teenuste käigushoidmiseks, saab kasutada millekski kasulikumaks.

Siin on Windows Core'i teenuste ja Microsofti ametliku veebisaidi täieliku Windows Serveri võrdlus:

taotlus
serveri tuum
server koostöölaua kogemus

Käsurida
saadaval
saadaval

Windows PowerShell/Microsoft .NET
saadaval
saadaval

Perfmon.exe
mitte saadaval
saadaval

Windbg (GUI)
toetab
saadaval

Resmon.exe
mitte saadaval
saadaval

Regedit
saadaval
saadaval

Fsutil.exe
saadaval
saadaval

Disksnapshot.exe
mitte saadaval
saadaval

Diskpart.exe
saadaval
saadaval

Diskmgmt. msc
mitte saadaval
saadaval

devmgmt.msc
mitte saadaval
saadaval

Server Manager
mitte saadaval
saadaval

mmc.exe
mitte saadaval
saadaval

Eventvwr
mitte saadaval
saadaval

Wevtutil (sündmuse päringud)
saadaval
saadaval

Services.msc
mitte saadaval
saadaval

juhtpaneel
mitte saadaval
saadaval

Windows Update (GUI)
mitte saadaval
saadaval

Windows Explorer
mitte saadaval
saadaval

tegumiribal
mitte saadaval
saadaval

Tegumiriba märguanded
mitte saadaval
saadaval

Taskmgr
saadaval
saadaval

Internet Explorer või Edge
mitte saadaval
saadaval

Sisseehitatud abisüsteem
mitte saadaval
saadaval

Windows 10 Shell
mitte saadaval
saadaval

Windows Media Player
mitte saadaval
saadaval

PowerShell
saadaval
saadaval

PowerShelli ISE
mitte saadaval
saadaval

PowerShelli IME
saadaval
saadaval

Mstsc.exe
mitte saadaval
saadaval

Kaugtöölauateenused
saadaval
saadaval

Hyper-V haldur
mitte saadaval
saadaval

Nagu näete, on Windows Core'ist palju ära lõigatud. Noa alla läksid nii süsteemi GUI-ga seotud teenused ja protsessid kui ka igasugune “prügi”, mida meie konsooli virtuaalmasinas, näiteks Windows Media Playeris, kindlasti vaja pole.

Peaaegu nagu Linux, aga mitte

Ma tõesti tahan võrrelda Windows Server Core'i Linuxi distributsioonidega, kuid tegelikult pole see täiesti õige. Jah, need süsteemid on GUI-st ja paljudest kõrvalteenustest loobumise tõttu vähenenud ressursikulu poolest üksteisega sarnased, kuid toimimise ja mõningate kokkupanekuviiside osas on see ikkagi Windows, mitte Unixi süsteem.

Lihtsaim näide on see, et käsitsi Linuxi kerneli üles ehitades ja seejärel pakette ja teenuseid installides saab isegi kerge Linuxi distributsiooni muuta millekski raskeks ja Šveitsi armee noaga sarnaseks (siinkohal tahan tõesti Pythoni kohta akordioni nalja teha ja sisestage pilt sarjast "Kui programmeerimiskeeled oleksid relvad", kuid me ei tee seda). Windows Core'is on sellist vabadust palju vähem, sest lõppude lõpuks on meil tegemist Microsofti tootega.

Windows Server Core tuleb valmis kujul, mille vaikekonfiguratsiooni saab hinnata ülaltoodud tabelist. Kui vajate midagi toetamata loendist, peate puuduvad elemendid veebis konsooli kaudu lisama. Tõsi, te ei tohiks unustada funktsiooni Nõudmisel ja komponentide allalaadimise võimalust CAB-failidena, mida saab seejärel enne installimist komplektile lisada. Kuid see skript ei tööta, kui avastate juba protsessi käigus, et teil on mõni lõigatud teenus puudu.

Core-versiooni eristab täisversioonist aga võimalus uuendada süsteemi ja lisada teenuseid ilma tööd katkestamata. Windows Core toetab pakettide kuumrullimist ilma taaskäivituseta. Sellest tulenevalt praktiliste tähelepanekute põhjal: Windows Core'i kasutav masin vajab rebootimist ~6 korda harvemini kui Windows Serveriga töötavat, see tähendab kord poole aasta jooksul, mitte kord kuus.

Meeldiv boonus administraatoritele on see, et kui süsteemi kasutatakse nii nagu ette nähtud - läbi konsooli, ilma RDP-ta - ja mitte teha seda teiseks Windows Serveriks, siis muutub see täisversiooniga võrreldes äärmiselt turvaliseks. Lõppude lõpuks on suurem osa Windows Serveri haavatavustest tingitud RDP-st ja kasutaja tegevusest, kes just selle RDP kaudu teeb midagi, mida ei tohiks teha. See on umbes nagu lugu Henry Fordiga ja tema suhtumisest auto värvi: "Iga klient võib lasta auto värvida mis tahes värvi, mida ta soovib, kui see on must" Süsteemiga on samamoodi: kasutaja saab süsteemiga suhelda igal viisil, peaasi, et ta teeb seda läbi konsool.

Installige ja hallake Windows Server 2019 Core

Mainisime varem, et Windows Core on sisuliselt Windows Server ilma GUI-mähiseta. See tähendab, et saate põhiversioonina kasutada peaaegu iga Windows Serveri versiooni, st loobuda GUI-st. Windows Server 2019 perekonna toodete puhul on see kolm neljast serverijärgust: põhirežiim on saadaval Windows Server 3 Standard Editioni, Windows Server 4 Datacenteri ja Hyper-V Server 2019 jaoks, see tähendab, et ainult Windows Server 2019 Essentials on välistatud sellest nimekirjast.

Sel juhul ei pea te tegelikult Windows Server Core'i installipaketti otsima. Tavalises Microsofti installiprogrammis pakutakse põhiversiooni vaikimisi sõna otseses mõttes, samas kui GUI versioon tuleb valida käsitsi:

Windows Serveri pigistamine vähese energiatarbega VPS-ile, kasutades Windows Server Core'i
Tegelikult on süsteemi haldamiseks rohkem võimalusi kui mainitud PowerShell, mida tootja vaikimisi pakub. Saate hallata virtuaalmasinat Windows Server Core'is vähemalt viiel erineval viisil.

  • Kaug-PowerShell;
  • Serveri kaughaldustööriistad (RSAT);
  • Windowsi halduskeskus;
  • Sconfig;
  • Serverihaldur.

Esimesed kolm positsiooni pakuvad suurimat huvi: standardne PowerShell, RSAT ja Windowsi halduskeskus. Siiski on oluline mõista, et kuigi me saame ühe tööriista eelistest, saame ka selle seatud piirangud.

Me ei kirjelda konsooli võimalusi; PowerShell on PowerShell oma ilmsete plusside ja miinustega. RSATi ja WAC-iga on kõik veidi keerulisem. 

WAC annab teile juurdepääsu olulistele süsteemi juhtelementidele, nagu registri redigeerimine ning ketaste ja seadmete haldamine. Esimesel juhul töötab RSAT ainult vaaterežiimis ja ei võimalda muudatusi teha ning ketaste ja füüsiliste seadmete haldamiseks on serveri kaughaldustööriistad vaja GUI-d, mis meie puhul nii ei ole. Üldiselt ei saa RSAT töötada failidega ja vastavalt ka värskenduste, programmide installimise/eemaldamisega registri redigeerimisel.

▍Süsteemihaldus

 

WAC
RSAT

Komponentide haldus
Jah
Jah

Registriredaktor
Jah
ei

Võrguhaldus
Jah
Jah

Kuva sündmused
Jah
Jah

Jagatud kaustad
Jah
Jah

Kettahaldus
Jah
Ainult GUI-ga serveritele

Ülesannete ajakava
Jah
Jah

Seadmehaldus
Jah
Ainult GUI-ga serveritele

Failihaldus
Jah
ei

kasutajate haldamine
Jah
Jah

Grupi juhtimine
Jah
Jah

Sertifikaatide haldamine
Jah
Jah

Uuendused
Jah
ei

Programmide desinstallimine
Jah
ei

Süsteemi monitor
Jah
Jah

Teisest küljest annab RSAT meile täieliku kontrolli masina rollide üle, samas kui Windowsi halduskeskus ei saa selles osas sõna otseses mõttes midagi teha. Siin on selguse huvides RSAT-i ja WAC-i võimaluste võrdlus selles aspektis:

▍Rollijuhtimine

 

WAC
RSAT

Täiustatud keermekaitse
EELVAATE
ei

Windows Defender
EELVAATE
Jah

Konteinerid
EELVAATE
Jah

AD halduskeskus
EELVAATE
Jah

AD domeen ja usaldusfondid
ei
Jah

AD saidid ja teenused
ei
Jah

DHCP
EELVAATE
Jah

DNS
EELVAATE
Jah

DFS-i haldur
ei
Jah

GPO haldur
ei
Jah

IIS haldur
ei
Jah

See tähendab, et juba praegu on selge, et kui loobume GUI-st ja PowerShellist muude juhtelementide kasuks, ei pääse me mingisuguse monotööriista kasutamisest: täielikuks haldamiseks kõigil rindel on meil vaja vähemalt RSAT ja WAC kombinatsioon.

Tuleb meeles pidada, et WAC-i kasutamiseks peate maksma 150–180 megabaiti RAM-i. Ühendamisel loob Windows Admin Center serveri poolel 3-4 seanssi, mida ei tapa isegi siis, kui tööriist on virtuaalmasinast lahti ühendatud. WAC ei tööta ka PowerShelli vanemate versioonidega, seega vajate vähemalt PowerShell 5.0. Kõik see läheb vastuollu meie kokkuhoiu paradigmaga, kuid mugavuse eest tuleb maksta. Meie puhul - RAM.

Teine võimalus Server Core'i haldamiseks on GUI installimine kolmandate osapoolte tööriistade abil, et mitte lohistada täiskomplektses liidesega kaasas olevat tonni prügi.

Sel juhul on meil kaks võimalust: käivitada algne Explorer süsteemi või kasutada Explorer++. Alternatiiviks viimasele sobib igasugune failihaldur: Total Commander, FAR Manager, Double Commander jne. Viimane on eelistatav, kui RAM-i säästmine on teie jaoks kriitiline. Saate lisada Explorer++ või mõne muu failihalduri, luues võrgukausta ja käivitades selle konsooli või ajakava kaudu.

Täisväärtusliku Exploreri installimine annab meile rohkem võimalusi kasutajaliidesega varustatud tarkvaraga töötamiseks. Selleks meie tuleb ühendust võtta Server Core App Compatibility Feature on Demand (FOD), mis tagastab süsteemi MMC, Eventvwr, PerfMon, Resmon, Explorer.exe ja isegi Powershell ISE. Selle eest peame aga maksma, nagu WAC-i puhul: kaotame pöördumatult umbes 150–200 megabaiti RAM-i, mille explorer.exe ja muud teenused halastamatult ahmivad. Isegi kui masinas pole aktiivset kasutajat.

Windows Serveri pigistamine vähese energiatarbega VPS-ile, kasutades Windows Server Core'i
Windows Serveri pigistamine vähese energiatarbega VPS-ile, kasutades Windows Server Core'i
Selline näeb välja süsteemi mälutarbimine nii natiivse Exploreri paketiga kui ka ilma selleta.

Siin tekib loogiline küsimus: milleks kogu see tantsimine PowerShelli, FOD-i, failihalduritega, kui mõni samm vasakule või paremale toob kaasa RAM-i tarbimise suurenemise? Miks määrida ennast hunniku tööriistu ja segada küljelt küljele, et tagada mugav töö Windows Server Core'is, kui saate lihtsalt alla laadida Windows Server 2016/2019 ja elada nagu valge mees?

Server Core'i kasutamiseks on mitu põhjust. Esiteks: praegune mälutarbimine on peaaegu poole väiksem. Kui mäletate, oli see tingimus meie artikli aluseks juba alguses. Võrdluseks siin on Windows Server 2019 mälutarbimine, võrrelge ülaltoodud ekraanipiltidega:

Windows Serveri pigistamine vähese energiatarbega VPS-ile, kasutades Windows Server Core'i
Ja nii, Core'i 1146 MB asemel 655 MB mälu. 

Eeldades, et te ei vaja WAC-i ja kasutate algse Exploreri asemel Explorer++, siis teie võidad ikka ligi pool hektarit igas Windows Serveriga töötavas virtuaalmasinas. Kui virtuaalmasinaid on ainult üks, siis kasv on tühine, aga kui neid on viis? Siin on oluline GUI olemasolu, eriti kui te seda ei vaja. 

Teiseks, kõik tantsud Windows Server Core ümber ei vii teid võitlema Windows Serveri töötamise peamise probleemiga - RDP ja selle turvalisusega (täpsemalt selle täieliku puudumisega). Windows Core, isegi kaetud FOD-i, RSAT-i ja WAC-iga, on endiselt server ilma RDP-ta, see tähendab, et see ei ole vastuvõtlik 95% -le olemasolevatest rünnakutest.

Ülejäänud

Üldiselt on Windows Core vaid veidi paksem kui mis tahes Linuxi aktsiadistributsioon, kuid see on palju funktsionaalsem. Kui teil on vaja ressursse vabastada ja olete valmis töötama konsooli, WAC-i ja RSAT-iga ning kasutama täisväärtusliku GUI asemel failihaldureid, siis tasub Core'ile tähelepanu pöörata. Lisaks saate selle abil vältida täieõigusliku Windowsi eest lisatasusid ja kulutada säästetud raha oma versiooniuuendusele. VPS, lisades sinna näiteks RAM-i. Mugavuse huvides oleme lisanud oma Windows Server Core'i turul.

Windows Serveri pigistamine vähese energiatarbega VPS-ile, kasutades Windows Server Core'i

Allikas: www.habr.com

Lisa kommentaar