Strângerea Windows Server pe un VPS de putere redusă folosind Windows Server Core

Strângerea Windows Server pe un VPS de putere redusă folosind Windows Server Core
Datorită lăcomiei sistemelor Windows, mediul VPS este dominat de distribuții Linux ușoare: Mint, Colibri OS, Debian sau Ubuntu, lipsite de un mediu desktop greu care nu este necesar pentru scopurile noastre. După cum se spune, doar consolă, doar hardcore! Și de fapt, aceasta nu este deloc o exagerare: același Debian pornește pe 256 MB de memorie și un nucleu cu un ceas de 1 Ghz, adică pe aproape orice „ciot”. Pentru o muncă confortabilă veți avea nevoie de cel puțin 512 MB și un procesor puțin mai rapid. Dar dacă ți-am spune că poți face aproximativ același lucru pe un VPS care rulează Windows? De ce nu trebuie să lansați un Windows Server greu, care necesită trei până la patru hectare de RAM și cel puțin câteva nuclee tactate la 1,4 GHz? Utilizați doar Windows Server Core - scăpați de GUI și de unele servicii. Vom vorbi despre cum să facem acest lucru în articol.

Cine este acest Windows Server Core?

Nu există informații clare despre ce este Windows (server) Core chiar și pe site-ul oficial al lui Mikes, sau mai degrabă, totul este atât de confuz acolo încât nu veți înțelege imediat, dar primele mențiuni datează din epoca Windows Server 2008. În esență, Windows Core este un server Windows kernel funcțional (brut!), „mai subțire” prin dimensiunea propriei GUI și aproximativ jumătate din serviciile secundare.

Caracteristica principală a Windows Core este hardware-ul nepretențios și controlul complet al consolei prin PowerShell.

Dacă intri pe site-ul Microsoft și verifici cerințele tehnice, atunci pentru a porni Windows Server 2016/2019 vei avea nevoie de cel puțin 2 giga de memorie RAM și cel puțin un nucleu cu o viteză de ceas de 1,4 GHz. Dar înțelegem cu toții că, cu o astfel de configurație, ne putem aștepta doar ca sistemul să pornească, dar cu siguranță nu și funcționarea confortabilă a sistemului nostru de operare. Din acest motiv, Windows Server i se alocă de obicei mai multă memorie și cel puțin 2 nuclee/4 fire de execuție de la procesor, dacă nu îi oferă o mașină fizică scumpă pe niște Xeon, în loc de o mașină virtuală ieftină.

În același timp, nucleul sistemului de server în sine necesită doar 512 MB de memorie, iar acele resurse de procesor care au fost consumate de GUI pur și simplu pentru a fi desenate pe ecran și a menține numeroasele sale servicii în funcțiune pot fi folosite pentru ceva mai util.

Iată o comparație a serviciilor Windows Core acceptate din cutie și un server complet Windows de pe site-ul oficial Microsoft:

cerere
server core
server cuexperiență desktop

Comandă de comandă
disponibil
disponibil

Windows PowerShell/Microsoft .NET
disponibil
disponibil

Perfmon.exe
nu sunt disponibile
disponibil

Windbg (GUI)
sprijinite
disponibil

Resmon.exe
nu sunt disponibile
disponibil

Regedit
disponibil
disponibil

Fsutil.exe
disponibil
disponibil

Disksnapshot.exe
nu sunt disponibile
disponibil

Diskpart.exe
disponibil
disponibil

Diskmgmt. msc
nu sunt disponibile
disponibil

devmgmt.msc
nu sunt disponibile
disponibil

Server Manager
nu sunt disponibile
disponibil

mmc.exe
nu sunt disponibile
disponibil

Eventvwr
nu sunt disponibile
disponibil

Wevtutil (interogări despre evenimente)
disponibil
disponibil

services.msc
nu sunt disponibile
disponibil

Panou de control
nu sunt disponibile
disponibil

Actualizare Windows (GUI)
nu sunt disponibile
disponibil

Windows Explorer
nu sunt disponibile
disponibil

Taskbar
nu sunt disponibile
disponibil

Notificări din bara de activități
nu sunt disponibile
disponibil

taskmgr
disponibil
disponibil

Internet Explorer sau Edge
nu sunt disponibile
disponibil

Sistem de ajutor încorporat
nu sunt disponibile
disponibil

Windows 10 Shell
nu sunt disponibile
disponibil

Windows Media Player
nu sunt disponibile
disponibil

PowerShell
disponibil
disponibil

PowerShell ISE
nu sunt disponibile
disponibil

IME PowerShell
disponibil
disponibil

Mstsc.exe
nu sunt disponibile
disponibil

Servicii desktop la distanță
disponibil
disponibil

Manager Hyper-V
nu sunt disponibile
disponibil

După cum puteți vedea, au fost tăiate multe din Windows Core. Serviciile și procesele asociate cu interfața grafică a sistemului, precum și orice „gunoi” care cu siguranță nu este necesar pe mașina noastră virtuală consolă, de exemplu, Windows Media Player, au trecut sub cuțit.

Aproape ca Linux, dar nu

Chiar vreau să compar Windows Server Core cu distribuțiile Linux, dar de fapt acest lucru nu este în întregime corect. Da, aceste sisteme sunt similare între ele în ceea ce privește consumul redus de resurse din cauza abandonului GUI și a multor servicii secundare, dar în ceea ce privește funcționarea și unele abordări ale asamblarii, acesta este încă Windows, și nu un sistem Unix.

Cel mai simplu exemplu este că, construind manual nucleul Linux și apoi instalând pachete și servicii, chiar și o distribuție Linux ușoară poate fi transformată în ceva greoi și asemănător cu un cuțit elvețian (aici chiar vreau să fac o glumă acordeon despre Python și introduceți o imagine din seria „Dacă limbajele de programare ar fi arme”, dar nu o vom face). În Windows Core există mult mai puțină libertate, pentru că, până la urmă, avem de-a face cu un produs Microsoft.

Windows Server Core vine gata făcut, a cărui configurație implicită poate fi estimată din tabelul de mai sus. Dacă aveți nevoie de ceva din lista neacceptată, va trebui să adăugați elementele lipsă online prin consolă. Adevărat, nu ar trebui să uitați de Funcția la cerere și de capacitatea de a descărca componente ca fișiere CAB, care pot fi apoi adăugate la ansamblu înainte de instalare. Dar acest script nu funcționează dacă descoperiți deja în timpul procesului că vă lipsește oricare dintre serviciile tăiate.

Dar ceea ce distinge versiunea Core de versiunea completă este capacitatea de a actualiza sistemul și de a adăuga servicii fără a opri munca. Windows Core acceptă rularea la cald a pachetelor, fără repornire. Ca rezultat, pe baza observațiilor practice: o mașină care rulează Windows Core trebuie repornită de ~6 ori mai rar decât una care rulează Windows Server, adică o dată la șase luni și nu o dată pe lună.

Un bonus plăcut pentru administratori este că, dacă sistemul este folosit conform intenției - prin consolă, fără RDP - și nu este transformat într-un al doilea Windows Server, atunci acesta devine extrem de sigur față de versiunea completă. La urma urmei, majoritatea vulnerabilităților Windows Server se datorează RDP și acțiunilor utilizatorului care, prin acest RDP, face ceva ce nu ar trebui făcut. Este ceva asemănător cu povestea cu Henry Ford și atitudinea lui față de culoarea unei mașini: „Orice client poate avea o mașină vopsită în orice culoare dorește, atâta timp cât este negru" La fel este și cu sistemul: utilizatorul poate comunica cu sistemul în orice mod, principalul lucru este că o face prin consolă.

Instalați și gestionați Windows Server 2019 Core

Am menționat mai devreme că Windows Core este în esență Windows Server fără învelișul GUI. Adică, puteți utiliza aproape orice versiune de Windows Server ca versiune de bază, adică abandonați GUI. Pentru produsele din familia Windows Server 2019, aceasta este 3 din 4 versiuni de server: modul de bază este disponibil pentru Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter și Hyper-V Server 2019, adică numai Windows Server 2019 Essentials este exclus din această listă.

În acest caz, nu trebuie să căutați pachetul de instalare Windows Server Core. În programul de instalare standard Microsoft, versiunea de bază este oferită literalmente implicit, în timp ce versiunea GUI trebuie selectată manual:

Strângerea Windows Server pe un VPS de putere redusă folosind Windows Server Core
De fapt, există mai multe opțiuni de gestionare a sistemului decât cea menționată PowerShell, care este oferită implicit de producător. Puteți gestiona o mașină virtuală pe Windows Server Core în cel puțin cinci moduri diferite:

  • PowerShell la distanță;
  • Instrumente de administrare a serverului la distanță (RSAT);
  • Centrul de administrare Windows;
  • Sconfig;
  • Manager server.

Primele trei poziții sunt de cel mai mare interes: PowerShell standard, RSAT și Windows Admin Center. Cu toate acestea, este important să înțelegem că, în timp ce primim beneficiile unuia dintre instrumente, primim și limitările pe care le impune.

Nu vom descrie capacitățile consolei; PowerShell este PowerShell, cu avantajele și dezavantajele sale evidente. Cu RSAT și WAC totul este puțin mai complicat. 

WAC vă oferă acces la controale importante ale sistemului, cum ar fi editarea registrului și gestionarea discurilor și dispozitivelor. RSAT în primul caz funcționează doar în modul de vizualizare și nu vă va permite să faceți nicio modificare, iar pentru a gestiona discuri și dispozitive fizice Instrumentele de administrare a serverului la distanță necesită o GUI, ceea ce nu este cazul în cazul nostru. În general, RSAT nu poate lucra cu fișiere și, în consecință, cu actualizări, instalare/eliminare de programe în editarea registrului.

▍Managementul sistemului

 

WAC
RSAT

Managementul componentelor
Da
Da

Editor de registru
Da
Nu

Managementul rețelei
Da
Da

Vizualizator de eveniment
Da
Da

Dosare partajate
Da
Da

Gestionarea discului
Da
Doar pentru servere cu GUI

Planificator de sarcini
Da
Da

Gestionarea dispozitivelor
Da
Doar pentru servere cu GUI

Gestionarea fișierelor
Da
Nu

managementul utilizatorilor
Da
Da

Managementul grupului
Da
Da

Managementul certificatelor
Da
Da

Actualizări
Da
Nu

Dezinstalarea programelor
Da
Nu

Monitor de sistem
Da
Da

Pe de altă parte, RSAT ne oferă control complet asupra rolurilor de pe mașină, în timp ce Centrul de administrare Windows nu poate face nimic în acest sens. Iată o comparație a capabilităților RSAT și WAC în acest aspect, pentru claritate:

▍Managementul rolurilor

 

WAC
RSAT

Protecție avansată a firelor
PREVIZUALIZARE
Nu

Windows Defender
PREVIZUALIZARE
Da

containere
PREVIZUALIZARE
Da

Centrul Administrativ AD
PREVIZUALIZARE
Da

Domeniu AD și trusturi
Nu
Da

Site-uri și servicii AD
Nu
Da

DHCP
PREVIZUALIZARE
Da

DNS
PREVIZUALIZARE
Da

Manager DFS
Nu
Da

Manager GPO
Nu
Da

Manager IIS
Nu
Da

Adică, este deja clar că, dacă abandonăm GUI și PowerShell în favoarea altor controale, nu vom putea scăpa de folosirea unui fel de mono-instrument: pentru o administrare completă pe toate fronturile, vom avea nevoie de cel puțin o combinație de RSAT și WAC.

Cu toate acestea, trebuie să rețineți că va trebui să plătiți 150-180 megaocteți de RAM pentru a utiliza WAC. Când este conectat, Centrul de administrare Windows creează 3-4 sesiuni pe partea serverului, care nu sunt oprite chiar și atunci când instrumentul este deconectat de la mașina virtuală. De asemenea, WAC nu funcționează cu versiuni mai vechi de PowerShell, așa că veți avea nevoie de cel puțin PowerShell 5.0. Toate acestea contravin paradigmei noastre de austeritate, dar trebuie să plătești pentru confort. În cazul nostru - RAM.

O altă opțiune pentru gestionarea Server Core este să instalați GUI folosind instrumente terțe, pentru a nu trage în jurul tonelor de gunoi care vin cu interfața într-un ansamblu cu drepturi depline.

În acest caz, avem două opțiuni: lansați Explorer-ul original în sistem sau folosiți Explorer++. Ca alternativă la acesta din urmă, orice manager de fișiere este potrivit: Total Commander, FAR Manager, Double Commander și așa mai departe. Acesta din urmă este de preferat dacă salvarea RAM este critică pentru dvs. Puteți adăuga Explorer++ sau orice alt manager de fișiere creând un folder de rețea și lansându-l prin consolă sau programator.

Instalarea unui Explorer cu drepturi depline ne va oferi mai multe oportunități în ceea ce privește lucrul cu software echipat cu o interfață de utilizare. Pentru aceasta noi va trebui sa contacteze la Server Core App Compatibility Feature on Demand (FOD), care va returna MMC, Eventvwr, PerfMon, Resmon, Explorer.exe și chiar Powershell ISE în sistem. Totuși, va trebui să plătim pentru asta, așa cum este cazul WAC: vom pierde ireversibil aproximativ 150-200 de megaocteți de RAM, care vor fi înghițiți fără milă de explorer.exe și alte servicii. Chiar dacă nu există niciun utilizator activ pe mașină.

Strângerea Windows Server pe un VPS de putere redusă folosind Windows Server Core
Strângerea Windows Server pe un VPS de putere redusă folosind Windows Server Core
Așa arată consumul de memorie de către sistem pe mașinile cu și fără pachetul nativ Explorer.

O întrebare logică apare aici: de ce tot acest dans cu PowerShell, FOD, manageri de fișiere, dacă orice pas la stânga sau la dreapta duce la o creștere a consumului de RAM? De ce să vă ungeți cu o grămadă de instrumente și să amestecați dintr-o parte în alta pentru a vă asigura o muncă confortabilă pe Windows Server Core, când puteți doar să descărcați Windows Server 2016/2019 și să trăiți ca un om alb?

Există mai multe motive pentru a utiliza Server Core. În primul rând: consumul actual de memorie este de aproape jumătate. Dacă vă amintiți, această condiție a stat la baza articolului nostru de la început. Pentru comparație, iată consumul de memorie al Windows Server 2019, comparați cu capturile de ecran de mai sus:

Strângerea Windows Server pe un VPS de putere redusă folosind Windows Server Core
Și așa, 1146 MB de memorie consumată în loc de 655 MB pe Core. 

Presupunând că nu aveți nevoie de WAC și că veți folosi Explorer++ în loc de Explorer-ul original, atunci dvs vei câștiga totuși aproape jumătate de hectar pe fiecare mașină virtuală care rulează Windows Server. Dacă există o singură mașină virtuală, atunci creșterea este nesemnificativă, dar dacă sunt cinci? Aici contează să aveți o interfață grafică, mai ales dacă nu aveți nevoie de ea. 

În al doilea rând, orice dans în jurul Windows Server Core nu vă va conduce să luptați cu principala problemă a funcționării Windows Server - RDP și securitatea acestuia (mai precis, absența sa completă). Windows Core, chiar și acoperit cu FOD, RSAT și WAC, este încă un server fără RDP, adică nu este susceptibil la 95% din atacurile existente.

Rămas

În general, Windows Core este doar puțin mai gras decât orice distribuție Linux stoc, dar este mult mai funcțional. Dacă trebuie să eliberați resurse și sunteți gata să lucrați cu consola, WAC și RSAT și să utilizați manageri de fișiere în loc de o interfață grafică completă, atunci Core merită să acordați atenție. Mai mult, cu el veți putea evita să plătiți suplimentar pentru un Windows cu drepturi depline și să cheltuiți banii economisiți pentru actualizarea dvs. VPS, adăugând acolo, de exemplu, RAM. Pentru comoditate, am adăugat Windows Server Core la sistemul nostru piata de desfacere.

Strângerea Windows Server pe un VPS de putere redusă folosind Windows Server Core

Sursa: www.habr.com

Adauga un comentariu