En raison de la gourmandise des systèmes Windows, les distributions Linux légères dominent dans l'environnement VPS : Mint, Colibri OS, Debian ou Ubuntu, dépourvues de l'environnement de bureau lourd qui n'est pas nécessaire pour nos tâches. Comme on dit, seulement la console, seulement le hardcore ! Et en réalité, ce n'est pas du tout une exagération : Debian démarre avec 256 Mo de mémoire et un seul cœur à 1 GHz, c'est-à-dire presque sur n'importe quelle « souche ». Pour un fonctionnement confortable, il faut au moins 512 Mo et un processeur un peu plus rapide. Mais que diriez-vous si nous vous disions qu'à peu près la même chose peut être réalisée sur un VPS sous Windows ? Qu'il n'est pas nécessaire d'installer un lourd Windows Server, qui demande minimum trois à quatre gigaoctets de mémoire vive et au moins deux cœurs à 1,4 GHz ? Il suffit d'utiliser Windows Server Core - débarrassez-vous de l'interface graphique et de certaines services. C'est justement ce dont nous allons parler dans cet article.
Qui est ce Windows Server Core ?
Il n'y a pas d'informations claires sur ce qu'est Windows (server) Core, même sur le site officiel de Microsoft ; c'est plutôt si confus qu'on ne comprend pas tout de suite, mais les premières mentions remontent à l'époque de Windows Server 2008. En gros, Windows Core est un noyau fonctionnel de Windows Server (étonnamment !), « allégé » de la taille de sa propre interface graphique et d'environ la moitié des services secondaires.
La caractéristique principale de Windows Core est sa faible exigence en matériel et son contrôle entièrement console via PowerShell.
Si vous consultez le site de Microsoft pour vérifier les exigences techniques, vous aurez besoin d'au moins 2 Go de RAM et d'un processeur à 1,4 GHz pour démarrer Windows Server 2016/2019. Mais nous comprenons tous qu'avec une telle configuration, nous ne pouvons nous attendre qu'à un démarrage du système, mais certainement pas à un fonctionnement confortable de notre OS. C'est précisément pour cette raison que Windows Server se voit généralement allouer plus de mémoire et un minimum de 2 cœurs/4 threads du processeur, voire une machine physique coûteuse sur un Xeon, plutôt qu'une simple machine virtuelle bon marché.
Cependant, le noyau du système serveur exige seulement 512 Mo de mémoire, tandis que les ressources du processeur utilisées par l'interface graphique simplement pour s'afficher à l'écran et maintenir en activité ses nombreux services peuvent être utilisées à des fins plus utiles.
Voici une comparaison des services pris en charge par défaut entre Windows Core et un Windows Server complet depuis le site officiel de Microsoft :
application
noyau serveur
serveur avecexpérience de bureau
Invite de commandes
disponible
disponible
Windows PowerShell / Microsoft .NET
disponible
disponible
Perfmon.exe
non disponible
disponible
Windbg (GUI)
prisée en charge
disponible
Resmon.exe
non disponible
disponible
Regedit
disponible
disponible
Fsutil.exe
disponible
disponible
Disksnapshot.exe
non disponible
disponible
Diskpart.exe
disponible
disponible
Diskmgmt.msc
non disponible
disponible
Devmgmt.msc
non disponible
disponible
Gestionnaire de serveur
non disponible
disponible
Mmc.exe
non disponible
disponible
Eventvwr
non disponible
disponible
Wevtutil (Interrogations d'événements)
disponible
disponible
Services.msc
non disponible
disponible
Panneau de configuration
non disponible
disponible
Windows Update (GUI)
non disponible
disponible
Explorateur Windows
non disponible
disponible
Taskbar
non disponible
disponible
Notifications de la barre des tâches
non disponible
disponible
Taskmgr
disponible
disponible
Internet Explorer ou Edge
non disponible
disponible
Système d'aide intégré
non disponible
disponible
Shell Windows 10
non disponible
disponible
Windows Media Player
non disponible
disponible
PowerShell
disponible
disponible
PowerShell ISE
non disponible
disponible
PowerShell IME
disponible
disponible
Mstsc.exe
non disponible
disponible
Services de bureau à distance
disponible
disponible
Gestionnaire Hyper-V
non disponible
disponible
Comme on peut le voir, beaucoup de choses ont été retirées de Windows Core. Les services et processus liés à l'interface graphique du système ainsi que tout « déchet » qui ne sera certainement pas nécessaire sur notre machine virtuelle console, comme Windows Media Player, ont été supprimés.
Presque comme Linux, mais ce n'est pas lui
On a très envie de comparer Windows Server Core avec des distributions Linux, mais en réalité, ce n'est pas tout à fait correct. Oui, ces systèmes se ressemblent en termes de consommation réduite des ressources en renonçant à l'interface graphique et à de nombreux services secondaires, mais en ce qui concerne l'exploitation et certaines approches de construction, c'est toujours Windows, et non un système unix.
Le plus simple exemple — grâce à la compilation manuelle du noyau Linux et à l'installation subséquente de paquets et de services, même une distribution Linux très légère peut devenir quelque chose de lourd et ressemblant à un couteau suisse (ici, on a très envie de faire une blague sur Python et d'insérer une image de la série « Si les langages de programmation étaient des armes », mais nous ne le ferons pas). Dans Windows Core, cette liberté est beaucoup plus limitée, car nous avons affaire à un produit Microsoft.
Windows Server Core est livré déjà préparé, la configuration par défaut peut être évaluée dans le tableau ci-dessus. Si vous avez besoin de quelque chose de la liste non pris en charge, vous devrez l'ajouter en ligne via la console. Cependant, n'oubliez pas la fonctionnalité Feature on demand et la possibilité de télécharger des composants sous forme de fichiers CAB, qui peuvent ensuite être ajoutés à l'image avant l'installation. Mais ce scénario ne fonctionne pas si vous constatez déjà en cours d'utilisation qu'il vous manque un service qui a été supprimé.
Mais ce qui distingue avantageusement la version Core de la version complète, c'est la possibilité de mettre à jour le système et d'ajouter des services sans arrêter le fonctionnement. Windows Core prend en charge le déploiement de paquets « à chaud », sans redémarrage. En résumé, d'après des observations pratiques : une machine sous Windows Core doit être redémarrée environ 6 fois moins souvent qu'une machine sous Windows Server, c'est-à-dire une fois tous les six mois, et non une fois par mois.
Un avantage agréable pour les administrateurs est que si le système est utilisé comme prévu — via la console, sans RDP — et qu'il ne devient pas un second Windows Server, il devient extrêmement sécurisé par rapport à la version complète. En effet, la plupart des vulnérabilités de Windows Server concernent précisément RDP et les actions de l'utilisateur qui, par le biais de RDP, font ce qu'il ne devrait pas faire. C'est un peu comme dans l'histoire d'Henry Ford et sa relation avec la couleur de la voiture : « Tout client peut avoir une voiture peinte de n'importe quelle couleur tant que c'est noir». Ainsi, avec le système : l'utilisateur peut interagir avec le système de n'importe quelle manière, tant qu'il le fait à travers la console.
Installation et gestion de Windows Server 2019 Core
Nous avons déjà mentionné que Windows Core est en réalité Windows Server sans interface graphique (GUI). Autrement dit, vous pouvez utiliser presque n'importe quelle version de Windows Server comme version core, c'est-à-dire renoncer à la GUI. Pour les produits de la famille Windows Server 2019, il y a 3 des 4 versions serveur : le mode core est disponible pour Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter et Hyper-V Server 2019, donc seule Windows Server 2019 Essentials est exclue de cette liste.
Il n'est donc pas nécessaire de chercher particulièrement le package d'installation de Windows Server Core. Dans l'installateur standard de Microsoft, la version core est littéralement proposée par défaut, tandis que la version avec GUI doit être choisie manuellement :

Il existe en réalité plus d'une méthode de gestion du système, contrairement à l'unique PowerShell mentionné, qui est proposé par le fabricant par défaut. Vous pouvez gérer une machine virtuelle sur Windows Server Core de minimum cinq manières différentes :
- PowerShell à distance ;
- Outils d'administration à distance (RSAT) ;
- Centre d'administration Windows ;
- Sconfig ;
- Gestionnaire de serveur.
Les trois premières options suscitent le plus d'intérêt : PowerShell standard, RSAT et Centre d'administration Windows. Cependant, il est important de comprendre qu'en tirant parti de l'un des outils, nous acquérons également les limitations que cela impose.
Nous ne détaillerons pas les possibilités de la console, PowerShell est PowerShell, avec ses évidents avantages et inconvénients. Cependant, la situation est un peu plus complexe avec RSAT et WAC.
WAC donne accès à des éléments de contrôle système importants, tels que l'édition du registre et la gestion des disques et des périphériques. RSAT fonctionne en mode d'affichage uniquement dans le premier cas et ne permettra pas d'apporter des modifications. En ce qui concerne la gestion des disques et des périphériques physiques, Remote Server Administration Tools a besoin d'une interface graphique, ce qui ne s'applique pas à notre cas. En général, RSAT ne peut pas gérer les fichiers et, par conséquent, les mises à jour ainsi que l'installation/suppression de programmes lors de l'édition du registre.
▍Gestion du système
WAC
RSAT
Gestion des composants
Oui
Oui
Éditeur de registre
Oui
Non
Gestion du réseau
Oui
Oui
Visualiseur d'événements
Oui
Oui
Dossiers partagés
Oui
Oui
Gestion des disques
Oui
Uniquement pour les serveurs avec une interface graphique
Planificateur de tâches
Oui
Oui
Gestion des périphériques
Oui
Uniquement pour les serveurs avec une interface graphique
Gestion des fichiers
Oui
Non
Gestion des utilisateurs
Oui
Oui
Gestion des groupes
Oui
Oui
Gestion des certificats
Oui
Oui
Mises à jour
Oui
Non
Désinstallation de programmes
Oui
Non
Moniteur système
Oui
Oui
D'un autre côté, RSAT nous donne un contrôle total des rôles sur la machine, tandis que Windows Admin Center ne peut rien faire à cet égard. Voici une comparaison des capacités de RSAT et WAC dans ce domaine, pour mieux comprendre :
▍Gestion des rôles
WAC
RSAT
Advanced Thread Protection
APERÇU
Non
Windows Defender
APERÇU
Oui
Conteneurs
APERÇU
Oui
Centre d'administration AD
APERÇU
Oui
Domaines et relations de confiance AD
Non
Oui
Sites et services AD
Non
Oui
DHCP
APERÇU
Oui
DNS
APERÇU
Oui
Gestionnaire DFS
Non
Oui
Gestionnaire GPO
Non
Oui
Gestionnaire IIS
Non
Oui
Il est donc déjà évident que renoncer à l'interface graphique et à PowerShell au profit d'autres outils de gestion ne permettra pas de se passer d'un outil unique : pour une gestion complète sur tous les fronts, nous aurons besoin d'un minimum de l'association RSAT et WAC.
Il est également important de se rappeler que l'utilisation de WAC nécessitera entre 150 et 180 Mo de mémoire vive. Windows Admin Center crée 3 à 4 sessions côté serveur lors de la connexion, qui ne sont pas terminées même lorsque l'outil est déconnecté de la machine virtuelle. De plus, WAC ne fonctionne pas avec les anciennes versions de PowerShell, donc vous aurez besoin d'au moins PowerShell 5.0. Tout cela va à l'encontre de notre paradigme d'économie stricte des ressources, mais le confort a un prix. Dans notre cas, ça sera de la mémoire vive.
Une autre option pour gérer Server Core est d'installer une interface graphique par des moyens externes, afin de ne pas traîner les tonnes de déchets qui accompagnent l'assemblage complet avec l'interface.
Dans ce cas, nous avons deux options : soit installer l'Explorer d'origine, soit utiliser Explorer++. Comme alternative à ce dernier, tout gestionnaire de fichiers convient : Total Commander, FAR Manager, Double Commander, etc. Ce dernier est préférable si la gestion de la mémoire vive est cruciale pour vous. Vous pouvez ajouter Explorer++ ou tout autre gestionnaire de fichiers via la création d'un dossier réseau et le lancer via la console ou le planificateur.
Installer un Explorer complet nous donnera plus d'options pour travailler avec les logiciels dotés d'une interface utilisateur. Pour cela, nous vers la fonctionnalité Server Core App Compatibility Feature on Demand (FOD) qui réintroduira dans le système MMC, Eventvwr, PerfMon, Resmon, Explorer.exe et même Powershell ISE. Cependant, cela aura un coût, comme c'est le cas avec WAC : nous perdrons irrévocablement environ 150-200 mégaoctets de mémoire vive, qui seront impitoyablement consommés par explorer.exe et d'autres services. Même si la machine n'a pas d'utilisateur actif.


Voici comment se présente la consommation de mémoire par le système sur des machines avec le package Explorer natif et sans celui-ci.
La question légitime se pose : pourquoi toutes ces manigances avec PowerShell, FOD, gestionnaires de fichiers, si chaque pas en avant ou en arrière entraîne une augmentation de la consommation de mémoire vive ? Pourquoi se charger de nombreux outils et naviguer d'un côté à l'autre pour garantir un travail confortable sur Windows Server Core, alors qu'il suffirait simplement d'installer Windows Server 2016/2019 et de vivre comme une personne normale ?
Il y a plusieurs raisons d'utiliser Server Core. Premièrement : la consommation de mémoire est presque deux fois moins importante. Si vous vous en souvenez, cette condition était au cœur de notre article depuis le tout début. Voici une comparaison, la consommation de mémoire de Windows Server 2019 à comparer avec les captures d'écran juste au-dessus :

Et voilà, 1146 Mo de mémoire consommée au lieu de 655 Mo sur Core.
Si l'on suppose que WAC ne sera pas nécessaire et que vous utiliserez Explorer++ au lieu de l'Explorer d'origine, vous gagnerez encore presque un demi-hectare sur chaque machine virtuelle sous Windows Server. Si une seule machine virtuelle est concernée, le gain est minime, mais si vous en avez cinq ? C'est là que la présence d'une interface graphique est significative, surtout si vous n'en avez pas besoin.
Deuxièmement, toute manipulation autour de Windows Server Core ne vous aidera pas à combattre le principal problème d'exploitation de Windows Server — RDP et sa sécurité (en réalité, son absence totale). Même avec des ajouts tels que FOD, RSAT et WAC, Windows Core reste un serveur sans RDP, donc non vulnérable à 95 % des attaques existantes.
En résumé
Globalement, Windows Core est légèrement plus 'lourd' que n'importe quelle distribution Linux standard, mais il est beaucoup plus fonctionnel. Si vous avez besoin de libérer des ressources et êtes prêt à travailler en console, avec WAC et RSAT, à utiliser des gestionnaires de fichiers plutôt qu'une interface graphique complète, alors Core mérite votre attention. D'autant plus qu'il vous permettra de ne pas payer pour une version complète de Windows, et que l'argent économisé peut être investi dans des , comme par exemple de la RAM. Pour plus de commodité, nous avons ajouté Windows Server Core dans notre .
Source : habr.com
