Aufgrund des hohen Ressourcenbedarfs von Windows-Systemen dominieren leichte Linux-Distributionen wie Mint, Colibri OS, Debian oder Ubuntu in der VPS-Umgebung. Diese sind ohne unnötige, in unserem Kontext schweren Desktop-Umgebungen konzipiert. Nur die Konsole zählt, nur Hardcore! Und das ist tatsächlich keine Übertreibung: Selbst Debian läuft mit 256 MB RAM und einem Kern mit 1 GHz, also fast auf jedem minimalen System. Für einen komfortablen Betrieb sollten es mindestens 512 MB und ein etwas schnellerer Prozessor sein. Aber was, wenn wir Ihnen sagen, dass Sie etwas Ähnliches auch auf einer VPS mit Windows erreichen können? Sie müssen keinen schweren Windows Server installieren, der drei bis vier Gigabyte RAM und mindestens zwei Kerne mit 1,4 GHz benötigt? Nutzen Sie einfach Windows Server Core – verzichten Sie auf die GUI und einige Dienste. Wie das geht, besprechen wir in diesem Artikel.
Was ist eigentlich dieses Windows Server Core?
Eindeutige Informationen darüber, was Windows (Server) Core ist, finden sich nicht einmal auf der offiziellen Microsoft-Website. Tatsächlich ist alles so verwirrend, dass man es nicht sofort versteht. Die ersten Erwähnungen stammen aus der Zeit von Windows Server 2008. Im Grunde genommen ist Windows Core das funktionsfähige Kernstück von Windows Server, das 'schlanker' geworden ist durch den Wegfall der eigenen GUI und etwa der Hälfte der Nebenservices.
Das Hauptmerkmal von Windows Core ist der geringe Ressourcenbedarf und die vollständige Verwaltung über die Konsole mittels PowerShell.
Wenn Sie die Microsoft-Website besuchen und die technischen Anforderungen überprüfen, benötigen Sie 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 wissen, dass wir bei einer solchen Konfiguration nur mit dem Start des Systems rechnen können, jedoch nicht mit einer komfortablen Nutzung unseres Betriebssystems. Aus diesem Grund wird Windows Server normalerweise mehr Arbeitsspeicher und mindestens 2 Kerne/4 Threads des Prozessors zugewiesen, es sei denn, man stellt ihm eine teure physische Maschine mit einem Xeon-Prozessor zur Verfügung, statt einer preiswerten virtuellen Maschine.
Der Kern des Serverbetriebssystems benötigt lediglich 512 MB RAM, während die CPU-Ressourcen, die vom GUI für die Anzeige auf dem Bildschirm und zur Unterstützung seiner zahlreichen Dienste beansprucht werden, für sinnvollere Aufgaben verwendet werden können.
Hier ist ein Vergleich der standardmäßig unterstützten Dienste von Windows Core und dem vollständigen Windows Server 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 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
Ereignisanzeige
nicht verfügbar
verfügbar
Wevtutil (Ereignisanfragen)
verfügbar
verfügbar
Dienste.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 Hilfesystem
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 Services
verfügbar
verfügbar
Hyper-V-Manager
nicht verfügbar
verfügbar
Wie zu sehen ist, wurden aus Windows Core viele Dienste entfernt. Die Dienste und Prozesse, die mit der GUI des Systems verbunden sind, sowie jeglicher "Ballast", der in unserer Konsolen-Virtualisierung eindeutig nicht benötigt wird, wie beispielsweise der Windows Media Player, wurden gestrichen.
Fast wie Linux, aber nicht ganz.
Windows Server Core lässt sich zwar oft mit Linux-Distributionen vergleichen, doch das ist nicht ganz korrekt. Ja, beide Systeme teilen sich den Vorteil eines geringeren Ressourcenverbrauchs, da sie auf GUI und viele Nebenservices verzichten, aber in Bezug auf Betrieb und bestimmte Ansätze zur Systemkonfiguration bleibt es dennoch Windows und nicht ein unix-basiertes System.
Ein einfaches Beispiel: Durch manuelle Kernzusammenstellung und anschließender Installation von Paketen und Diensten kann selbst die leichteste Linux-Distribution in etwas Schwergewichtiges verwandelt werden, das wie ein Schweizer Taschenmesser aussieht (an dieser Stelle könnte man lustig anmerken, dass das auch für Python gilt, aber das lassen wir mal). Bei Windows Core gibt es viel weniger Freiheit, da wir es schließlich mit einem Produkt von Microsoft zu tun haben.
Windows Server Core wird als vorkonfigurierte Version geliefert, deren Standardkonfiguration in der obigen Tabelle eingesehen werden kann. Falls Sie etwas auf der Liste der nicht unterstützten Komponenten benötigen, müssen Sie dies über die Online-Konsole hinzufügen. Allerdings sollten Sie nicht vergessen, dass es die Funktion „Feature on demand“ gibt und dass Sie Komponenten als CAB-Dateien herunterladen können, die dann vor der Installation in die Version integriert werden können. Beachten Sie jedoch, dass dieses Szenario nicht funktioniert, wenn Sie während des Betriebs feststellen, dass Ihnen ein bestimmter Dienst fehlt.
Was die Core-Version gegenüber der Vollversion besonders auszeichnet, ist die Möglichkeit, das System zu aktualisieren und Dienste hinzuzufügen, ohne den Betrieb zu unterbrechen. Windows Core unterstützt das "Hot-Deployment" von Paketen, ohne dass ein Neustart erforderlich ist. Aus praktischen Beobachtungen ergibt sich, dass eine Maschine, die mit Windows Core betrieben wird, etwa sechsmal seltener neu gestartet werden muss als eine unter Windows Server, also alle sechs Monate anstelle von einmal im Monat.
Ein angenehmer Vorteil für Administratoren ist, dass das System, wenn es wie vorgesehen verwendet wird – über die Konsole, ohne RDP – und nicht in einen zweiten Windows Server verwandelt wird, im Vergleich zur vollständigen Version extrem sicher wird. Denn die meisten Sicherheitsanfälligkeiten des Windows Servers beziehen sich genau auf RDP und die Handlungen des Benutzers, der über eben dieses RDP Dinge macht, die er besser lassen sollte. Das ist ungefähr wie in der Geschichte mit Henry Ford und seiner Einstellung zur Farbe von Autos: „Jeder Kunde kann ein Auto in jeder gewünschten Farbe haben, 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
Wie bereits erwähnt, ist Windows Core im Grunde genommen Windows Server ohne GUI-Wrap. Das heißt, Sie können fast jede Version von Windows Server als Core-Version verwenden, also auf die GUI verzichten. 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, während nur Windows Server 2019 Essentials aus dieser Liste herausfällt.
Das Installationspaket für Windows Server Core ist eigentlich nicht schwer zu finden. In der Standardinstallation von Microsoft wird die Core-Version nahezu automatisch angeboten, während die Version mit GUI manuell ausgewählt werden muss:

Es gibt tatsächlich mehrere Möglichkeiten, das System zu verwalten, mehr als nur das erwähnte PowerShell, das standardmäßig vom Hersteller angeboten wird. Sie können die virtuelle Maschine unter Windows Server Core auf mindestens fünf verschiedene Arten verwalten:
- Remote PowerShell;
- Remote Server Administration Tools (RSAT);
- Windows Admin Center;
- Sconfig;
- Server-Manager.
Besonders interessant sind die ersten drei Optionen: das standardmäßige PowerShell, RSAT und das Windows Admin Center. Es ist jedoch wichtig zu verstehen, dass die Nutzung eines dieser Tools auch seine eigenen Einschränkungen mit sich bringt.
Wir werden die Möglichkeiten der Konsole nicht ausführlich darstellen, PowerShell bleibt PowerShell, mit seinen offensichtlichen Vor- und Nachteilen. Bei RSAT und WAC ist es jedoch etwas komplizierter.
WAC bietet Zugriff auf wichtige Systemverwaltungsfunktionen wie das Bearbeiten der Registrierung und die Verwaltung von Laufwerken und Geräten. RSAT funktioniert im ersten Fall nur im Ansichtsmodus und erlaubt keine Änderungen. Für die Verwaltung von Laufwerken und physischen Geräten benötigt der Remote Server Administration Tools ein GUI, was hier jedoch nicht der Fall ist. Generell kann RSAT nicht mit Dateien und damit auch nicht mit Updates sowie der Installation/Deinstallation von Programmen in der Registrierung arbeiten.
▍Systemverwaltung
WAC
RSAT
Komponentenverwaltung
Ja
Ja
Registrierungseditor
Ja
Nein
Netzwerkverwaltung
Ja
Ja
Ereignisanzeige
Ja
Ja
Freigegebene Ordner
Ja
Ja
Laufwerksverwaltung
Ja
Nur für Server mit GUI
Aufgabenplaner
Ja
Ja
Geräteverwaltung
Ja
Nur für Server mit GUI
Dateimanagement
Ja
Nein
Benutzerverwaltung
Ja
Ja
Gruppenverwaltung
Ja
Ja
Zertifikatsverwaltung
Ja
Ja
Updates
Ja
Nein
Programme deinstallieren
Ja
Nein
Systemmonitor
Ja
Ja
Auf der anderen Seite gibt RSAT uns vollständige Kontrolle über die Rollen auf der Maschine, während das Windows Admin Center in dieser Hinsicht buchstäblich nichts kann. Hier ist ein Vergleich der Funktionen von RSAT und WAC dafür, zur Veranschaulichung:
▍Rollenverwaltung
WAC
RSAT
Advanced Thread Protection
VORSCHAU
Nein
Windows Defender
VORSCHAU
Ja
Container
VORSCHAU
Ja
AD Verwaltungscenter
VORSCHAU
Ja
AD Domänen und Vertrauensstellungen
Nein
Ja
AD Standorte 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 offensichtlich, dass man beim Verzicht auf GUI und PowerShell zugunsten anderer Steuerungselemente nicht einfach mit einem einzigen Tool auskommt: Für eine umfassende Verwaltung auf allen Ebenen benötigen wir mindestens eine Kombination aus RSAT und WAC.
Dabei ist zu beachten, dass die Nutzung von WAC 150-180 Megabyte Arbeitsspeicher kosten wird. Das Windows Admin Center erstellt beim Anschluss 3-4 Sitzungen auf der Serverseite, die selbst beim Trennen des Tools von der virtuellen Maschine nicht beendet werden. Außerdem funktioniert WAC nicht mit alten PowerShell-Versionen, sodass mindestens PowerShell 5.0 erforderlich ist. All dies steht im Widerspruch zu unserem Paradigma strenger Ressourcenschonung, aber für Komfort muss man zahlen. In unserem Fall — mit Arbeitsspeicher.
Eine weitere Möglichkeit zur Verwaltung von Server Core besteht darin, GUI über Drittanbieteranwendungen zu installieren, um nicht die Tonnen von Müll zu ziehen, die mit der vollständigen Version zusammen mit der Benutzeroberfläche geliefert werden.
In diesem Fall haben wir zwei Optionen: den originalen Explorer auf dem System auszurollen oder Explorer++ zu verwenden. Eine Alternative zu Letzterem wäre jeder Dateimanager: Total Commander, FAR Manager, Double Commander und so weiter. Letzteres ist vorzuziehen, wenn für Sie der Speicherplatz wichtig ist.
Die Installation eines vollwertigen Explorers bietet uns mehr Möglichkeiten, insbesondere bei der Arbeit mit Software, die mit einer Benutzeroberfläche ausgestattet ist. Dazu müssen wir die Server Core App Compatibility Feature on Demand (FOD) beziehen, die MMC, Eventvwr, PerfMon, Resmon, Explorer.exe und sogar Powershell ISE zurück ins System bringt. Dafür müssen wir jedoch einen Preis zahlen, ähnlich wie beim WAC: Wir verlieren unwiderruflich etwa 150-200 Megabyte RAM, die gnadenlos von explorer.exe und anderen Diensten konsumiert werden. Selbst wenn auf dem Computer kein aktiver Benutzer vorhanden ist.


So sieht der Speicherverbrauch des Systems auf Maschinen mit und ohne das originale Explorer-Paket aus.
Hier stellt sich die berechtigte Frage: Warum all diese Spielereien mit PowerShell, FOD, Dateimanagern, wenn jeder Schritt zur Seite den Speicherverbrauch erhöht? Warum sich mit einer Menge von Tools belasten und hin und her springen, um eine angenehme Arbeit mit Windows Server Core zu gewährleisten, wenn man einfach Windows Server 2016/2019 installieren und wie ein normaler Mensch leben kann?
Es gibt mehrere Gründe für die Nutzung von Server Core. Der erste: Die Speichernutzung ist fast halb so hoch. Wenn Sie sich erinnern, war dieses Kriterium zu Beginn unserer Artikel von wesentlicher Bedeutung. Hier ein Vergleich der Speichernutzung von Windows Server 2019, siehe die Screenshots etwas weiter oben:

Und da sind es 1146 MB Speicherverbrauch im Vergleich zu 655 MB bei Core.
Wenn wir annehmen, dass Sie WAC nicht benötigen und statt des ursprünglichen Explorers Explorer++ verwenden, dann werden Sie immer noch fast ein halbes Gigabyte sparen auf jeder virtuellen Maschine mit Windows Server. Wenn es nur eine virtuelle Maschine ist, ist der Gewinn gering, aber wenn es fünf sind? Dann spielt die GUI eine Rolle, besonders wenn Sie sie nicht benötigen.
Zweitens bringen alle Spielereien mit Windows Server Core Sie nicht weiter im Kampf gegen das Hauptproblem der Windows Server-Betriebsführung – RDP und dessen Sicherheit (genauer gesagt, das völlige Fehlen davon). Windows Core ist auch mit der Ergänzung von FOD, RSAT und WAC nach wie vor ein Server ohne RDP, das heißt, er ist nicht anfällig für 95 % der bestehenden Angriffe.
In der Folge
Insgesamt ist Windows Core nur geringfügig „dicker“ als eine herkömmliche Linux-Distribution, aber dafür umso funktionaler. Wenn Sie Ressourcen freigeben möchten und bereit sind, mit der Konsole, WAC und RSAT zu arbeiten, und Datei-Manager anstelle einer vollwertigen GUI zu nutzen – dann sollten Sie Core in Betracht ziehen. Zumal Sie mit ihm nicht für eine vollständige Windows-Version zahlen müssen und das gesparte Geld in die Aufrüstung Ihres Systems investieren können , indem Sie beispielsweise RAM hinzufügen. Zur Vereinfachung haben wir Windows Server Core in unseren .
Quelle: habr.com
