Komprimieren von Windows Server auf einem VPS mit geringem Stromverbrauch mithilfe von Windows Server Core

Komprimieren von Windows Server auf einem VPS mit geringem Stromverbrauch mithilfe von Windows Server Core
Aufgrund der Fülle an Windows-Systemen wird die VPS-Umgebung von leichten Linux-Distributionen dominiert: Mint, Colibri OS, Debian oder Ubuntu, ohne eine schwere Desktop-Umgebung, die für unsere Zwecke unnötig ist. Wie sie sagen, nur Konsole, nur Hardcore! Und tatsächlich ist das keineswegs übertrieben: Das gleiche Debian startet auf 256 MB Speicher und einem Kern mit 1 GHz Takt, also auf fast jedem „Stumpf“. Für komfortables Arbeiten benötigen Sie mindestens 512 MB und einen etwas schnelleren Prozessor. Aber was wäre, wenn wir Ihnen sagen würden, dass Sie auf einem VPS unter Windows ungefähr dasselbe tun können? Warum müssen Sie nicht einen schweren Windows-Server einführen, der drei bis vier Hektar RAM und mindestens ein paar mit 1,4 GHz getaktete Kerne benötigt? Verwenden Sie einfach Windows Server Core – entfernen Sie die GUI und einige Dienste. Wir werden im Artikel darüber sprechen, wie das geht.

Wer ist dieser Windows Server Core?

Selbst auf der offiziellen Website von Mikes gibt es keine klaren Informationen darüber, was Windows (Server) Core ist, oder besser gesagt, dort ist alles so verwirrend, dass man es nicht sofort versteht, aber die ersten Erwähnungen stammen aus der Ära von Windows Server 2008 Im Wesentlichen ist Windows Core ein funktionierender Windows-Kernel-Server (plötzlich!), „dünner“ um die Größe seiner eigenen GUI und etwa der Hälfte der Nebendienste.

Das Hauptmerkmal von Windows Core ist seine anspruchslose Hardware und die vollständige Konsolensteuerung über PowerShell.

Wenn Sie auf die Website von Microsoft gehen und die technischen Voraussetzungen überprüfen, benötigen Sie zum Starten von Windows Server 2016/2019 mindestens 2 GB RAM und mindestens einen Kern mit einer Taktrate von 1,4 GHz. Aber wir alle verstehen, dass wir bei einer solchen Konfiguration nur einen Systemstart erwarten können, aber schon gar nicht die komfortable Bedienung unseres Betriebssystems. Aus diesem Grund werden Windows Servern in der Regel mehr Speicher und mindestens 2 Kerne/4 Threads vom Prozessor zugewiesen, wenn sie ihm bei manchen Xeon-Modellen nicht eine teure physische Maschine statt einer billigen virtuellen Maschine zur Verfügung stellen.

Gleichzeitig benötigt der Kern des Serversystems selbst nur 512 MB Speicher, und die Prozessorressourcen, die von der GUI verbraucht wurden, um sie einfach auf dem Bildschirm anzuzeigen und die zahlreichen Dienste am Laufen zu halten, können für etwas Nützlicheres verwendet werden.

Hier ist ein Vergleich der standardmäßig unterstützten Windows Core-Dienste und eines vollständigen Windows Servers von der offiziellen Microsoft-Website:

Anwendung
Server Core
Server mitDesktop-Erfahrung

Eingabeaufforderung
verfügbar
verfügbar

Windows PowerShell/Microsoft .NET
verfügbar
verfügbar

Perfmon.exe
nicht vorhanden
verfügbar

Windbg (GUI)
unterstützt
verfügbar

Resmon.exe
nicht vorhanden
verfügbar

Regedit
verfügbar
verfügbar

Fsutil.exe
verfügbar
verfügbar

Disksnapshot.exe
nicht vorhanden
verfügbar

Diskpart.exe
verfügbar
verfügbar

Diskmgmt. msc
nicht vorhanden
verfügbar

devmgmt.msc
nicht vorhanden
verfügbar

Server-Manager
nicht vorhanden
verfügbar

mmc.exe
nicht vorhanden
verfügbar

Eventvwr
nicht vorhanden
verfügbar

Wevtutil (Ereignisabfragen)
verfügbar
verfügbar

Services.msc
nicht vorhanden
verfügbar

Systemsteuerung
nicht vorhanden
verfügbar

Windows Update (GUI)
nicht vorhanden
verfügbar

Windows Explorer
nicht vorhanden
verfügbar

Taskleiste
nicht vorhanden
verfügbar

Benachrichtigungen in der Taskleiste
nicht vorhanden
verfügbar

Taskmgr
verfügbar
verfügbar

Internet Explorer oder Edge
nicht vorhanden
verfügbar

Eingebautes Hilfesystem
nicht vorhanden
verfügbar

Windows 10-Shell
nicht vorhanden
verfügbar

Windows Media Player
nicht vorhanden
verfügbar

Powershell
verfügbar
verfügbar

PowerShell-ISE
nicht vorhanden
verfügbar

PowerShell-IME
verfügbar
verfügbar

Mstsc.exe
nicht vorhanden
verfügbar

Remote Desktop Services
verfügbar
verfügbar

Hyper-V Manager
nicht vorhanden
verfügbar

Wie Sie sehen, wurde viel von Windows Core gestrichen. Die mit der GUI des Systems verbundenen Dienste und Prozesse sowie jeglicher „Müll“, der auf unserer virtuellen Konsolenmaschine, zum Beispiel dem Windows Media Player, definitiv nicht benötigt wird, gingen unter die Lupe.

Fast wie Linux, aber nicht so

Ich möchte Windows Server Core unbedingt mit Linux-Distributionen vergleichen, aber tatsächlich ist das nicht ganz richtig. Ja, diese Systeme ähneln einander hinsichtlich des reduzierten Ressourcenverbrauchs aufgrund des Verzichts auf die GUI und viele Nebendienste, aber in Bezug auf die Bedienung und einige Montageansätze handelt es sich immer noch um Windows und nicht um ein Unix-System.

Das einfachste Beispiel ist, dass durch manuelles Erstellen des Linux-Kernels und anschließendes Installieren von Paketen und Diensten selbst eine leichte Linux-Distribution in etwas Schwerfälliges verwandelt werden kann, das einem Schweizer Taschenmesser ähnelt (hier möchte ich wirklich einen Akkordeon-Witz über Python machen). und fügen Sie ein Bild aus der Serie „Wenn Programmiersprachen Waffen wären“ ein, aber wir werden es nicht tun). Bei Windows Core gibt es diese Freiheit deutlich weniger, da es sich schließlich um ein Microsoft-Produkt handelt.

Windows Server Core wird vorgefertigt geliefert, dessen Standardkonfiguration anhand der obigen Tabelle abgeschätzt werden kann. Wenn Sie etwas aus der nicht unterstützten Liste benötigen, müssen Sie die fehlenden Elemente online über die Konsole hinzufügen. Allerdings sollten Sie Feature on Demand und die Möglichkeit, Komponenten als CAB-Dateien herunterzuladen, nicht vergessen, die dann vor der Installation zur Baugruppe hinzugefügt werden können. Dieses Skript funktioniert jedoch nicht, wenn Sie bereits während des Vorgangs feststellen, dass Ihnen einige der Schnittdienste fehlen.

Was die Core-Version jedoch von der Vollversion unterscheidet, ist die Möglichkeit, das System zu aktualisieren und Dienste hinzuzufügen, ohne die Arbeit zu unterbrechen. Windows Core unterstützt das Hot-Rolling von Paketen ohne Neustart. Als Ergebnis praktischer Beobachtungen: Ein Computer, auf dem Windows Core ausgeführt wird, muss etwa sechsmal seltener neu gestartet werden als einer, auf dem Windows Server ausgeführt wird, d. h. einmal alle sechs Monate und nicht einmal im Monat.

Ein angenehmer Bonus für Administratoren: Wenn das System bestimmungsgemäß genutzt wird – über die Konsole, ohne RDP – und nicht in einen zweiten Windows-Server umgewandelt wird, ist es im Vergleich zur Vollversion äußerst sicher. Schließlich sind die meisten Windows Server-Schwachstellen auf RDP und die Aktionen des Benutzers zurückzuführen, der über genau dieses RDP etwas tut, was nicht getan werden sollte. Es ist so etwas wie die Geschichte von Henry Ford und seiner Einstellung zur Farbe eines Autos: „Jeder Kunde kann ein Auto in jeder gewünschten Farbe lackieren lassen, solange es so ist.“ Schwarz" Mit dem System ist es genauso: Der Benutzer kann auf beliebige Weise mit dem System kommunizieren, Hauptsache, er tut es über ihn Konsole.

Installieren und verwalten Sie Windows Server 2019 Core

Wir haben bereits erwähnt, dass Windows Core im Wesentlichen ein Windows Server ohne den GUI-Wrapper ist. Das heißt, Sie können fast jede Version von Windows Server als Kernversion verwenden, also auf die GUI verzichten. Für Produkte der Windows Server 2019-Familie sind dies 3 von 4 Server-Builds: Der Core-Modus ist für Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter und Hyper-V Server 2019 verfügbar, d. h. nur Windows Server 2019 Essentials ist ausgeschlossen aus dieser Liste.

In diesem Fall müssen Sie nicht wirklich nach dem Windows Server Core-Installationspaket suchen. Im Standardinstallationsprogramm von Microsoft wird die Kernversion buchstäblich standardmäßig angeboten, während die GUI-Version manuell ausgewählt werden muss:

Komprimieren von Windows Server auf einem VPS mit geringem Stromverbrauch mithilfe von Windows Server Core
Tatsächlich gibt es mehr Möglichkeiten zur Verwaltung des Systems als die erwähnte PowerShell, die der Hersteller standardmäßig anbietet. Sie können eine virtuelle Maschine auf Windows Server Core auf mindestens fünf verschiedene Arten verwalten:

  • Remote-PowerShell;
  • Remote-Server-Verwaltungstools (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Server Administrator.

Von größtem Interesse sind die ersten drei Positionen: Standard PowerShell, RSAT und Windows Admin Center. Es ist jedoch wichtig zu verstehen, dass wir zwar von den Vorteilen eines der Tools profitieren, aber auch von den damit verbundenen Einschränkungen profitieren.

Wir werden die Fähigkeiten der Konsole nicht beschreiben; PowerShell ist PowerShell mit seinen offensichtlichen Vor- und Nachteilen. Bei RSAT und WAC ist alles etwas komplizierter. 

Mit WAC haben Sie Zugriff auf wichtige Systemsteuerungen wie die Bearbeitung der Registrierung und die Verwaltung von Festplatten und Geräten. RSAT funktioniert im ersten Fall nur im Ansichtsmodus und ermöglicht keine Änderungen. Für die Verwaltung von Festplatten und physischen Geräten ist für Remote Server Administration Tools eine grafische Benutzeroberfläche erforderlich, was in unserem Fall nicht der Fall ist. Im Allgemeinen kann RSAT nicht mit Dateien und dementsprechend Updates, Installation/Entfernung von Programmen bei der Bearbeitung der Registrierung arbeiten.

▍Systemverwaltung

 

WAC
RSAT

Komponentenmanagement
Ja
Ja

Registrierungseditor
Ja
Nein

Netzwerk Management
Ja
Ja

Ereignisse anzeigen
Ja
Ja

Geteilte Ordner
Ja
Ja

Datenträgerverwaltung
Ja
Nur für Server mit GUI

Aufgabenplaner
Ja
Ja

Geräteverwaltung
Ja
Nur für Server mit GUI

Dokumentenverwaltung
Ja
Nein

Benutzerverwaltung
Ja
Ja

Gruppenmanagement
Ja
Ja

Zertifikatsverwaltung
Ja
Ja

Updates
Ja
Nein

Programme deinstallieren
Ja
Nein

Systemmonitor
Ja
Ja

Andererseits gibt uns RSAT die vollständige Kontrolle über die Rollen auf dem Computer, während Windows Admin Center diesbezüglich buchstäblich nichts tun kann. Zur Verdeutlichung finden Sie hier einen Vergleich der Fähigkeiten von RSAT und WAC in dieser Hinsicht:

▍Rollenmanagement

 

WAC
RSAT

Erweiterter Thread-Schutz
VORSCHAU
Nein

Windows Defender
VORSCHAU
Ja

Container
VORSCHAU
Ja

AD-Verwaltungszentrum
VORSCHAU
Ja

AD-Domäne und Vertrauensstellungen
Nein
Ja

AD-Sites und -Dienste
Nein
Ja

DHCP
VORSCHAU
Ja

DNS
VORSCHAU
Ja

DFS-Manager
Nein
Ja

GPO-Manager
Nein
Ja

IIS-Manager
Nein
Ja

Das heißt, es ist bereits klar, dass wir, wenn wir die GUI und PowerShell zugunsten anderer Steuerelemente aufgeben, nicht auf die Verwendung einer Art Mono-Tool verzichten können: Für eine vollständige Verwaltung an allen Fronten benötigen wir mindestens eine Kombination aus RSAT und WAC.

Sie müssen jedoch bedenken, dass Sie für die Nutzung von WAC 150–180 Megabyte RAM bezahlen müssen. Wenn eine Verbindung besteht, erstellt Windows Admin Center drei bis vier Sitzungen auf der Serverseite, die auch dann nicht beendet werden, wenn das Tool von der virtuellen Maschine getrennt wird. WAC funktioniert auch nicht mit älteren Versionen von PowerShell, Sie benötigen also mindestens PowerShell 3. All dies widerspricht unserem Sparparadigma, aber für Komfort muss man bezahlen. In unserem Fall - RAM.

Eine weitere Möglichkeit zur Verwaltung von Server Core besteht darin, die GUI mit Tools von Drittanbietern zu installieren, um nicht die Unmengen an Müll, der mit der Schnittstelle einhergeht, in einer vollwertigen Baugruppe herumzuschleppen.

In diesem Fall haben wir zwei Möglichkeiten: den Original-Explorer auf dem System auszurollen oder Explorer++ zu verwenden. Alternativ zu Letzterem eignet sich jeder Dateimanager: Total Commander, FAR Manager, Double Commander und so weiter. Letzteres ist vorzuziehen, wenn es für Sie wichtig ist, RAM zu sparen. Sie können Explorer++ oder einen anderen Dateimanager hinzufügen, indem Sie einen Netzwerkordner erstellen und ihn über die Konsole oder den Scheduler starten.

Durch die Installation eines vollwertigen Explorers erhalten wir mehr Möglichkeiten für die Arbeit mit Software, die mit einer Benutzeroberfläche ausgestattet ist. Dafür wir werde Kontakt aufnehmen müssen zum Server Core App Compatibility Feature on Demand (FOD), das MMC, Eventvwr, PerfMon, Resmon, Explorer.exe und sogar Powershell ISE an das System zurückgibt. Dafür müssen wir jedoch wie bei WAC bezahlen: Wir verlieren unwiderruflich etwa 150-200 Megabyte RAM, der von explorer.exe und anderen Diensten gnadenlos verschlungen wird. Auch wenn kein aktiver Benutzer auf dem Computer vorhanden ist.

Komprimieren von Windows Server auf einem VPS mit geringem Stromverbrauch mithilfe von Windows Server Core
Komprimieren von Windows Server auf einem VPS mit geringem Stromverbrauch mithilfe von Windows Server Core
So sieht der Speicherverbrauch des Systems auf Maschinen mit und ohne nativem Explorer-Paket aus.

Hier stellt sich eine logische Frage: Warum all dieses Tanzen mit PowerShell, FOD, Dateimanagern, wenn jeder Schritt nach links oder rechts zu einem Anstieg des RAM-Verbrauchs führt? Warum sollten Sie sich mit einem Haufen Tools beschmieren und hin und her schlendern, um ein komfortables Arbeiten mit Windows Server Core zu gewährleisten, wenn Sie einfach Windows Server 2016/2019 herunterladen und wie ein weißer Mann leben können?

Es gibt mehrere Gründe, Server Core zu verwenden. Erstens: Der aktuelle Speicherverbrauch beträgt fast die Hälfte. Wenn Sie sich erinnern, war diese Bedingung ganz am Anfang die Grundlage unseres Artikels. Zum Vergleich hier der Speicherverbrauch von Windows Server 2019, vergleichen Sie ihn mit den Screenshots oben:

Komprimieren von Windows Server auf einem VPS mit geringem Stromverbrauch mithilfe von Windows Server Core
Und so 1146 MB Speicherverbrauch statt 655 MB beim Core. 

Vorausgesetzt, Sie benötigen kein WAC und verwenden Explorer++ anstelle des Original-Explorers, dann ist das der Fall Sie werden immer noch fast einen halben Hektar gewinnen auf jeder virtuellen Maschine, auf der Windows Server ausgeführt wird. Wenn es nur eine virtuelle Maschine gibt, ist die Steigerung unbedeutend, aber wenn es fünf davon sind? Hier kommt es auf eine grafische Benutzeroberfläche an, insbesondere wenn Sie diese nicht benötigen. 

Zweitens werden alle Tänze rund um Windows Server Core nicht dazu führen, dass Sie das Hauptproblem des Betriebs von Windows Server bekämpfen – RDP und seine Sicherheit (genauer gesagt, sein völliges Fehlen). Windows Core, selbst mit FOD, RSAT und WAC beschichtet, ist immer noch ein Server ohne RDP, das heißt, er ist nicht anfällig für 95 % der bestehenden Angriffe.

Übrig

Im Allgemeinen ist Windows Core nur geringfügig umfangreicher als jede Standard-Linux-Distribution, aber viel funktionaler. Wenn Sie Ressourcen freigeben müssen und bereit sind, mit der Konsole, WAC und RSAT zu arbeiten und Dateimanager anstelle einer vollwertigen GUI zu verwenden, dann lohnt es sich, auf Core zu achten. Darüber hinaus können Sie damit die zusätzlichen Kosten für ein vollwertiges Windows vermeiden und das gesparte Geld für die Aktualisierung Ihres Windows-Betriebssystems ausgeben VPS, dort beispielsweise RAM hinzufügen. Der Einfachheit halber haben wir Windows Server Core zu unserem hinzugefügt Marktplatz.

Komprimieren von Windows Server auf einem VPS mit geringem Stromverbrauch mithilfe von Windows Server Core

Source: habr.com

Kommentar hinzufügen