Aufgrund der Ressourcenintensität von Windows-Systemen dominieren in VPS-Umgebungen leichte Linux-Distributionen wie Mint, Colibri OS, Debian oder Ubuntu, die keinen überflüssigen, in unserem Fall schwerfälligen Desktop mitbringen. Wie man so schön sagt: Nur die Konsole, nur Hardcore! Und tatsächlich ist das überhaupt keine Übertreibung: Dasselbe Debian startet mit 256 MB RAM und einem Kern mit 1 GHz Taktfrequenz, also praktisch auf jedem "Stubben". Für ein komfortables Arbeiten werden mindestens 512 MB und ein etwas schnellerer Prozessor benötigt. Aber was, wenn wir Ihnen sagen, dass so etwas auch auf einem VPS unter Windows möglich ist? Dass man sich nicht mit einem schwerfälligen Windows Server herumschlagen muss, der drei bis vier Gigabyte RAM und mindestens ein oder zwei Kerne mit 1,4 GHz Taktfrequenz benötigt? Nutzen Sie einfach Windows Server Core – befreien Sie sich von der GUI und einem Teil der Dienste. Wie man das macht, besprechen wir in diesem Artikel.
Wer ist dieser Windows Server Core überhaupt?
Eindeutige Informationen über Windows (Server) Core findet man nicht einmal auf der offiziellen Microsoft-Website, genauer gesagt, dort ist alles so verworren, dass man es nicht sofort versteht, aber die ersten Erwähnungen stammen noch aus der Ära von Windows Server 2008. Im Grunde genommen ist Windows Core ein funktionierender Kern von Windows Server (überraschenderweise!), der um die Größe der eigenen GUI und etwa die Hälfte der Hintergrunddienste "schlanker" geworden ist.
Das Hauptmerkmal von Windows Core ist die geringe Hardware-Anforderung und die vollständige Verwaltung über die Konsole via PowerShell.
Wenn man auf die Microsoft-Website geht und die technischen Anforderungen überprüft, dann benötigt man für den Start von Windows Server 2016/2019 mindestens 2 GB RAM und mindestens einen Kern mit 1,4 GHz Taktfrequenz. Aber wir alle verstehen, dass man mit solch einer Konfiguration nur den Systemstart erwarten kann, aber sicher nicht eine komfortable Nutzung unseres OS. Aus diesem Grund wird Windows Server normalerweise mehr RAM und mindestens 2 Kerne/4 Threads vom Prozessor zugewiesen, wenn man ihm nicht gleich eine teure physische Maschine auf einem Xeon, anstelle einer billigen virtuellen Maschine, bereitstellt.
Das Kernel-System selbst benötigt nur 512 MB RAM, und die Prozessorressourcen, die durch die GUI beansprucht wurden, nur um auf dem Bildschirm darzustellen und um seine zahlreichen Dienste aktiv zu halten, können für nützlichere Zwecke verwendet werden.
Hier ist der Vergleich der von Windows Core und einem vollständigen Windows Server unterstützten Dienste, wie auf der offiziellen Microsoft-Website angegeben:
application
server core
server mitdesktop experience
Eingabeaufforderung
verfügbar
verfügbar
Windows PowerShell / Microsoft .NET
verfügbar
verfügbar
Perfmon.exe
nicht verfügbar
verfügbar
Windbg (GUI)
unterstützt
verfügbar
Resmon.exe
nicht verfügbar
verfügbar
Regedit
verfügbar
verfügbar
Fsutil.exe
verfügbar
verfügbar
Disksnapshot.exe
nicht verfügbar
verfügbar
Diskpart.exe
verfügbar
verfügbar
Diskmgmt.msc
nicht verfügbar
verfügbar
Devmgmt.msc
nicht verfügbar
verfügbar
Server-Manager
nicht verfügbar
verfügbar
Mmc.exe
nicht verfügbar
verfügbar
Eventvwr
nicht verfügbar
verfügbar
Wevtutil (Ereignisanfragen)
verfügbar
verfügbar
Services.msc
nicht verfügbar
verfügbar
Systemsteuerung
nicht verfügbar
verfügbar
Windows Update (GUI)
nicht verfügbar
verfügbar
Windows Explorer
nicht verfügbar
verfügbar
Taskleiste
nicht verfügbar
verfügbar
Benachrichtigungen in der Taskleiste
nicht verfügbar
verfügbar
Taskmgr
verfügbar
verfügbar
Internet Explorer oder Edge
nicht verfügbar
verfügbar
Integriertes Hilfe-System
nicht verfügbar
verfügbar
Windows 10 Shell
nicht verfügbar
verfügbar
Windows Media Player
nicht verfügbar
verfügbar
PowerShell
verfügbar
verfügbar
PowerShell ISE
nicht verfügbar
verfügbar
PowerShell IME
verfügbar
verfügbar
Mstsc.exe
nicht verfügbar
verfügbar
Remote-Desktop-Dienste
verfügbar
verfügbar
Hyper-V-Manager
nicht verfügbar
verfügbar
Wie man sieht, wurde aus Windows Core sehr vieles entfernt. Unter das Messer kamen Dienste und Prozesse, die mit der GUI des Systems verbunden sind, sowie aller möglicher "Müll", der eindeutig auf unserer konsolenbasierten virtuellen Maschine nicht benötigt wird, zum Beispiel Windows Media Player.
Fast wie Linux, aber nicht ganz
Windows Server Core möchte man gerne mit Linux-Distributionen vergleichen, aber das ist in Wirklichkeit nicht ganz korrekt. Ja, diese Systeme sind insofern ähnlich, als sie durch den Verzicht auf GUI und viele Hilfsdienste einen geringeren Ressourcenverbrauch haben, aber in Bezug auf Betrieb und einige Ansätze zur Zusammenstellung ist es immer noch Windows und kein Unix-System.
Das einfachste Beispiel — durch manuelle Kernel-Bearbeitung und die anschließende Installation von Paketen und Diensten kann selbst die leichteste Linux-Distribution in etwas Schwerfälliges verwandelt werden, das an ein Schweizer Taschenmesser erinnert (hier möchte ich sehr gerne einen Scherz über Python machen und ein Bild aus der Serie „If Programming Languages Were Weapons” einfügen, aber das lassen wir lieber). In Windows Core gibt es diese Freiheit deutlich weniger, da wir es schließlich mit einem Produkt von Microsoft zu tun haben.
Windows Server Core wird bereits als fertige Version ausgeliefert, deren Standardausstattung man anhand der Tabelle oben bewerten kann. Wenn Sie etwas aus der Liste der nicht unterstützten Elemente benötigen, müssen Sie es online über die Konsole hinzufügen. Allerdings sollten Sie nicht die Möglichkeit von Feature on Demand und die Möglichkeit, Komponenten als CAB-Dateien herunterzuladen, vergessen, die dann vor der Installation in die Version integriert werden können. Dieses Szenario funktioniert jedoch nicht, wenn Sie während der Nutzung feststellen, dass Ihnen ein Dienst fehlt, der entfernt wurde.
Was die Core-Version jedoch vorteilhaft von der Vollversion unterscheidet, ist die Möglichkeit, das System zu aktualisieren und Dienste hinzuzufügen, ohne den Betrieb zu unterbrechen. Windows Core unterstützt das „Hot-Deploy” von Paketen ohne Neustart. Aus praktischen Beobachtungen ergibt sich: Eine Maschine, die von Windows Core betrieben wird, muss etwa 6 Mal seltener neu gestartet werden als eine unter Windows Server, d.h. alle sechs Monate anstelle von einmal im Monat.
Ein angenehmer Bonus für Administratoren ist, dass das System, wenn es wie beabsichtigt über die Konsole ohne RDP genutzt wird und nicht zu einem zweiten Windows Server gemacht wird, im Vergleich zur Vollversion extrem sicher wird. Denn die meisten Schwachstellen von Windows Server sind gerade RDP und die Handlungen des Benutzers, der über dieses RDP Dinge tut, die er besser lassen sollte. Es ist ähnlich wie in der Geschichte mit Henry Ford und seiner Einstellung zur Autofarbe: „Jeder Kunde kann ein Auto in jeder Farbe bekommen, die er möchte, solange es ist schwarz». So ist es auch mit dem System: Der Benutzer kann auf jede erdenkliche Weise mit dem System interagieren, solange er dies über Konsole.
Installation und Verwaltung von Windows Server 2019 Core
Wir haben bereits erwähnt, dass Windows Core im Grunde genommen Windows Server ohne GUI ist. Das bedeutet, dass Sie fast jede Version von Windows Server als Core-Version nutzen können, also ohne GUI. Für Produkte der Windows Server 2019-Familie sind das 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, das heißt, aus dieser Liste fällt nur Windows Server 2019 Essentials heraus.
Dabei muss das Installationspaket Windows Server Core nicht besonders gesucht werden. Im Standard-Installer von Microsoft wird die Core-Version praktisch standardmäßig angeboten, während die Version mit GUI manuell ausgewählt werden muss:

Die Optionen zur Verwaltung des Systems übersteigen tatsächlich mehr als nur die erwähnte PowerShell, die vom Hersteller standardmäßig angeboten wird. Eine virtuelle Maschine auf Windows Server Core kann auf mindestens fünf verschiedene Arten verwaltet werden:
- Remote PowerShell;
- Remote Server Administration Tools (RSAT);
- Windows Admin Center;
- Sconfig;
- Server-Manager.
Die ersten drei Optionen sind am interessantesten: Standard PowerShell, RSAT und Windows Admin Center. Es ist jedoch wichtig zu verstehen, dass wir, wenn wir von den Vorteilen eines der Tools profitieren, auch die damit verbundenen Einschränkungen in Kauf nehmen.
Wir werden die Möglichkeiten der Konsole nicht ausführen, PowerShell ist PowerShell, mit seinen offensichtlichen Vor- und Nachteilen. Mit RSAT und WAC ist es jedoch etwas komplizierter.
WAC bietet Zugang zu wichtigen Systemsteuerungselementen wie der Bearbeitung der Registrierung sowie der Verwaltung von Laufwerken und Geräten. RSAT funktioniert in diesem Fall nur im Ansichtsmodus und lässt keine Änderungen zu, während für die Verwaltung von Laufwerken und physischen Geräten die Remote Server Administration Tools eine GUI benötigen, was hier nicht zutrifft. Im Allgemeinen kann RSAT nicht mit Dateien arbeiten und somit auch nicht mit Updates, Installation/Deinstallation von Programmen sowie der Bearbeitung der Registrierung.
▍Systemverwaltung
WAC
RSAT
Komponentenverwaltung
Ja
Ja
Registrierungseditor
Ja
Nein
Netzwerkverwaltung
Ja
Ja
Ereignisanzeige
Ja
Ja
Freigegebene Ordner
Ja
Ja
Festplattenverwaltung
Ja
Nur für Server mit GUI
Aufgabenplanung
Ja
Ja
Geräteverwaltung
Ja
Nur für Server mit GUI
Dateiverwaltung
Ja
Nein
Benutzerverwaltung
Ja
Ja
Gruppenverwaltung
Ja
Ja
Zertifikatsverwaltung
Ja
Ja
Updates
Ja
Nein
Programme entfernen
Ja
Nein
Systemmonitor
Ja
Ja
Auf der anderen Seite bietet RSAT vollständige Kontrolle über die Rollen auf dem Gerät, während das Windows Admin Center in dieser Hinsicht buchstäblich nichts kann. Hier ist ein Vergleich der Möglichkeiten von RSAT und WAC in diesem Bereich zur Veranschaulichung:
▍Rollenverwaltung
WAC
RSAT
Advanced Thread Protection
VORSCHAU
Nein
Windows Defender
VORSCHAU
Ja
Container
VORSCHAU
Ja
AD Verwaltungszentrum
VORSCHAU
Ja
AD Domänen 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
Es ist also bereits sichtbar, dass man ohne GUI und PowerShell nicht einfach auf andere Verwaltungselemente umsteigen kann; um umfassende Verwaltungsaufgaben zu bewältigen, benötigen wir mindestens eine Kombination aus RSAT und WAC.
Man muss jedoch bedenken, dass die Verwendung von WAC etwa 150-180 Megabyte Arbeitsspeicher kosten wird. Das Windows Admin Center erstellt beim Verbinden 3-4 Sitzungen auf der Serverseite, die selbst bei der Trennung des Werkzeugs von der virtuellen Maschine nicht beendet werden. Außerdem funktioniert WAC nicht mit älteren Versionen von PowerShell, sodass mindestens PowerShell 5.0 benötigt wird. All dies steht im Widerspruch zu unserem Paradigma der strengen Ressourcenschonung, aber für Komfort muss man zahlen. In unserem Fall mit Arbeitsspeicher.
Eine weitere Option zur Verwaltung von Server Core besteht darin, GUI von Drittanbietern zu installieren, um nicht die ganzen Tonnen von Daten mitzuschleppen, die mit einer vollständigen Version zusammen mit der Schnittstelle geliefert werden.
In diesem Fall haben wir zwei Optionen: entweder das Original-Explorer-System installieren oder Explorer++ verwenden. Eine alternative Lösung wäre jeder Dateimanager: Total Commander, FAR Manager, Double Commander und so weiter. Letzteres ist vorzuziehen, wenn Ihnen der Speicherverbrauch wichtig ist. Explorer++ oder einen anderen Dateimanager können Sie hinzufügen, indem Sie einen Netzwerkordner erstellen und ihn über die Konsole oder den Scheduler starten.
Die Installation eines vollständigen Explorers bietet uns größere Möglichkeiten im Hinblick auf die Arbeit mit Software, die eine Benutzeroberfläche hat. Dafür müssen wir das Server Core App Compatibility Feature on Demand (FOD) wenden, das MMC, Eventvwr, PerfMon, Resmon, Explorer.exe und sogar Powershell ISE in das System zurückbringt. Dafür müssen wir jedoch einen Preis zahlen, ähnlich wie bei WAC: Wir verlieren unwiderruflich etwa 150-200 Megabyte RAM, die gnadenlos von explorer.exe und anderen Diensten verbraucht werden. Selbst wenn auf dem Rechner kein aktiver Benutzer vorhanden ist.


So sieht der Speicherverbrauch des Systems auf Maschinen mit dem originalen Explorer-Paket und ohne aus.
Hier stellt sich die berechtigte Frage: Warum all diese Umstößigkeiten mit PowerShell, FOD und Dateimanagern, wenn jeder Schritt nach links oder rechts den Speicherverbrauch erhöht? Warum sich mit einer Vielzahl von Werkzeugen belasten und hin und her springen, um einen angenehmen Betrieb auf Windows Server Core zu gewährleisten, wenn man einfach Windows Server 2016/2019 installieren und wie ein Mensch leben kann?
Es gibt mehrere Gründe, Server Core zu verwenden. Erstens: der nahezu doppelt reduzierte Speicherverbrauch. Wenn Sie sich erinnern, war diese Bedingung die Grundlage unseres Artikels von Anfang an. Hier ein Vergleich: Der Speicherverbrauch von Windows Server 2019 im Vergleich zu den Screenshots weiter oben:

Und siehe da, 1146 MB verbrauchter Speicher anstelle von 655 MB auf Core.
Wenn wir davon ausgehen, dass Sie WAC nicht benötigen und Explorer++ anstelle des originalen Explorers verwenden, dann gewinnen Sie immer noch fast ein halbes Hektar auf jeder virtuellen Maschine unter Windows Server. Wenn nur eine virtuelle Maschine vorhanden ist, ist der Gewinn gering, aber wenn es fünf sind? Hier hat das Vorhandensein einer GUI bereits Bedeutung, besonders wenn Sie sie nicht benötigen.
Zweitens, alle Tanze rund um Windows Server Core werden Sie nicht im Kampf gegen das Hauptproblem der Windows Server-Implementierung - RDP und seiner Sicherheit (genauer gesagt, dem völligen Fehlen davon) - unterstützen. Windows Core ist selbst in der Verpackung als FOD, RSAT und WAC immer noch ein Server ohne RDP, das heißt, er ist 95 % der existierenden Angriffe nicht ausgesetzt.
Im Rest
Insgesamt ist Windows Core nur leicht "fetter" als eine beliebige Standard-Linux-Distribution, bietet dafür jedoch wesentlich mehr Funktionen. Wenn Sie Ressourcen freisetzen müssen und bereit sind, mit der Konsole, WAC und RSAT zu arbeiten, Datei-Manager anstelle einer vollwertigen GUI zu verwenden - dann sollten Sie Core in Betracht ziehen. Zumal Sie so nicht für eine vollständige Windows-Version bezahlen müssen und das gesparte Geld für das Upgrading Ihres , zum Beispiel durch Hinzufügen von RAM. Zur Vereinfachung haben wir Windows Server Core in unseren .
Quelle: habr.com
