Exprimindo Windows Server nun VPS de baixa potencia usando Windows Server Core

Exprimindo Windows Server nun VPS de baixa potencia usando Windows Server Core
Debido á gula dos sistemas Windows, o ambiente VPS está dominado por distribucións lixeiras de Linux: Mint, Colibri OS, Debian ou Ubuntu, carentes dun ambiente de escritorio pesado que é innecesario para os nosos propósitos. Como se di, só consola, só hardcore! E, de feito, isto non é unha esaxeración para nada: o mesmo Debian comeza con 256 MB de memoria e un núcleo cun ciclo de reloxo de 1 Ghz, é dicir, en case calquera "tocón". Para un traballo cómodo necesitarás polo menos 512 MB e un procesador un pouco máis rápido. Pero e se che dixemos que podes facer máis ou menos o mesmo nun VPS con Windows? Por que non necesitas lanzar un Windows Server pesado, que require de tres a catro hectáreas de RAM e polo menos un par de núcleos a 1,4 GHz? Só ten que usar Windows Server Core: desfacerse da GUI e dalgúns servizos. Falaremos sobre como facelo no artigo.

Quen é este Windows Server Core?

Non hai información clara sobre o que é Windows (servidor) Core nin sequera no sitio web oficial de Mikes, ou mellor dito, todo é tan confuso alí que non o entenderás inmediatamente, pero as primeiras mencións remóntanse á era de Windows Server 2008. Esencialmente, Windows Core é un servidor do núcleo de Windows que funciona (de súpeto!), "máis delgado" polo tamaño da súa propia GUI e preto da metade dos servizos secundarios.

A principal característica de Windows Core é o seu hardware pouco esixente e o control total da consola a través de PowerShell.

Se vas ao sitio web de Microsoft e comprobas os requisitos técnicos, para iniciar Windows Server 2016/2019 necesitarás polo menos 2 gigas de RAM e polo menos un núcleo cunha velocidade de reloxo de 1,4 GHz. Pero todos entendemos que con tal configuración só podemos esperar que o sistema se inicie, pero certamente non o cómodo funcionamento do noso SO. É por iso que a Windows Server adoita asignarse máis memoria e polo menos 2 núcleos/4 fíos do procesador, se non lle proporcionan unha máquina física cara nalgún Xeon, en lugar dunha máquina virtual barata.

Ao mesmo tempo, o núcleo do propio sistema de servidor require só 512 MB de memoria, e aqueles recursos do procesador que foron consumidos pola GUI simplemente para ser debuxados na pantalla e manter os seus numerosos servizos funcionando poden ser usados ​​para algo máis útil.

Aquí tes unha comparación dos servizos básicos de Windows compatibles e un servidor completo de Windows desde o sitio web oficial de Microsoft:

aplicación
núcleo do servidor
servidor conexperiencia de escritorio

Símbolo do sistema
dispoñible
dispoñible

Windows PowerShell/Microsoft .NET
dispoñible
dispoñible

Perfmon.exe
non está dispoñible
dispoñible

Windbg (GUI)
soportado
dispoñible

Resmon.exe
non está dispoñible
dispoñible

Regedit
dispoñible
dispoñible

Fsutil.exe
dispoñible
dispoñible

Disksnapshot.exe
non está dispoñible
dispoñible

Diskpart.exe
dispoñible
dispoñible

gmgmt. msc
non está dispoñible
dispoñible

devmgmt.msc
non está dispoñible
dispoñible

server Manager
non está dispoñible
dispoñible

mmc.exe
non está dispoñible
dispoñible

Eventvwr
non está dispoñible
dispoñible

Wevtutil (consultas de eventos)
dispoñible
dispoñible

Servizos.msc
non está dispoñible
dispoñible

Panel de control
non está dispoñible
dispoñible

Actualización de Windows (GUI)
non está dispoñible
dispoñible

Explorador de Windows
non está dispoñible
dispoñible

taskbar
non está dispoñible
dispoñible

Notificacións da barra de tarefas
non está dispoñible
dispoñible

Tarefa
dispoñible
dispoñible

Internet Explorer ou Edge
non está dispoñible
dispoñible

Sistema de axuda incorporado
non está dispoñible
dispoñible

Windows 10 Shell
non está dispoñible
dispoñible

Windows Media Player
non está dispoñible
dispoñible

PowerShell
dispoñible
dispoñible

PowerShell ISE
non está dispoñible
dispoñible

IME de PowerShell
dispoñible
dispoñible

Mstsc.exe
non está dispoñible
dispoñible

Servizos de escritorio remoto
dispoñible
dispoñible

Xestor de Hyper-V
non está dispoñible
dispoñible

Como podes ver, moito foi cortado de Windows Core. Os servizos e procesos asociados á GUI do sistema, así como calquera "lixo" que definitivamente non é necesario na nosa máquina virtual de consola, por exemplo, Windows Media Player, quedaron baixo o coitelo.

Case como Linux, pero non

Realmente quero comparar Windows Server Core coas distribucións de Linux, pero de feito isto non é do todo correcto. Si, estes sistemas son similares entre si en canto ao consumo de recursos reducido debido ao abandono da GUI e de moitos servizos secundarios, pero en termos de funcionamento e algúns enfoques de montaxe, isto aínda é Windows e non un sistema Unix.

O exemplo máis sinxelo é que, construíndo manualmente o núcleo de Linux e despois instalando paquetes e servizos, incluso unha distribución lixeira de Linux pode converterse en algo pesado e semellante a unha navalla suíza (aquí quero facer unha broma de acordeón sobre Python). e insira unha imaxe da serie "Se as linguaxes de programación fosen armas", pero non o faremos). En Windows Core hai moita menos liberdade, porque, ao cabo, estamos lidando cun produto de Microsoft.

Windows Server Core vén listo, cuxa configuración predeterminada pódese estimar a partir da táboa anterior. Se necesitas algo da lista non compatible, terás que engadir os elementos que faltan en liña a través da consola. É certo, non debes esquecer a función baixo demanda e a posibilidade de descargar compoñentes como ficheiros CAB, que se poden engadir ao conxunto antes da instalación. Pero este script non funciona se xa descobres durante o proceso que che falta algún dos servizos de corte.

Pero o que distingue a versión Core da versión completa é a posibilidade de actualizar o sistema e engadir servizos sen deixar de traballar. Windows Core admite o rollo en quente de paquetes, sen reiniciar. Como resultado, baseándose en observacións prácticas: unha máquina que executa Windows Core debe reiniciarse ~6 veces menos que unha que executa Windows Server, é dicir, unha vez cada seis meses e non unha vez ao mes.

Unha vantaxe agradable para os administradores é que se o sistema se usa como se pretende -a través da consola, sen RDP- e non se converte nun segundo servidor de Windows, tórnase extremadamente seguro en comparación coa versión completa. Despois de todo, a maioría das vulnerabilidades de Windows Server débense a RDP e ás accións do usuario que, a través deste mesmo RDP, fai algo que non se debería facer. É algo así como a historia de Henry Ford e a súa actitude ante a cor dun coche: "Calquera cliente pode facer pintar un coche da cor que queira sempre que sexa. negro" O mesmo pasa co sistema: o usuario pode comunicarse co sistema de calquera forma, o principal é que o fai a través de consola.

Instala e xestiona Windows Server 2019 Core

Mencionamos anteriormente que Windows Core é esencialmente Windows Server sen o envoltorio da GUI. É dicir, pode usar case calquera versión de Windows Server como versión principal, é dicir, abandonar a GUI. Para os produtos da familia Windows Server 2019, isto é 3 de cada 4 compilacións de servidor: o modo principal está dispoñible para Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter e Hyper-V Server 2019, é dicir, só se exclúe Windows Server 2019 Essentials desta lista.

Neste caso, realmente non precisa buscar o paquete de instalación de Windows Server Core. No instalador estándar de Microsoft, a versión principal ofrécese literalmente por defecto, mentres que a versión da GUI debe seleccionarse manualmente:

Exprimindo Windows Server nun VPS de baixa potencia usando Windows Server Core
De feito, hai máis opcións para xestionar o sistema que a mencionada PowerShell, que ofrece o fabricante por defecto. Podes xestionar unha máquina virtual en Windows Server Core de polo menos cinco formas diferentes:

  • PowerShell remoto;
  • Ferramentas de administración remota do servidor (RSAT);
  • Centro de administración de Windows;
  • Sconfig;
  • Xestor de servidores.

As tres primeiras posicións son de maior interese: PowerShell estándar, RSAT e Windows Admin Center. Non obstante, é importante entender que mentres recibimos os beneficios dunha das ferramentas, tamén recibimos as limitacións que esta impón.

Non imos describir as capacidades da consola; PowerShell é PowerShell, cos seus pros e contras obvios. Con RSAT e WAC todo é un pouco máis complicado. 

WAC ofrécelle acceso a controis importantes do sistema, como editar o rexistro e xestionar discos e dispositivos. RSAT no primeiro caso só funciona en modo de visualización e non che permitirá facer ningún cambio, e para xestionar discos e dispositivos físicos As ferramentas de administración remota do servidor requiren dunha GUI, que non é o caso no noso caso. En xeral, RSAT non pode traballar con ficheiros e, en consecuencia, actualizacións, instalación/eliminación de programas na edición do rexistro.

▍Xestión do sistema

 

WAC
RSAT

Xestión de compoñentes
Si
Si

Editor do rexistro
Si
Non

Xestión da rede
Si
Si

Visor de eventos
Si
Si

Cartafoles compartidos
Si
Si

Xestión do disco
Si
Só para servidores con GUI

Programador de tarefas
Si
Si

Xestión de dispositivos
Si
Só para servidores con GUI

Xestión de arquivos
Si
Non

xestión de usuarios
Si
Si

Xestión de grupos
Si
Si

Xestión de certificados
Si
Si

Actualizacións
Si
Non

Desinstalando programas
Si
Non

Monitor de sistema
Si
Si

Por outra banda, RSAT ofrécenos un control total sobre os roles na máquina, mentres que o Centro de administración de Windows non pode facer literalmente nada a este respecto. Aquí tes unha comparación das capacidades de RSAT e WAC neste aspecto, para claridade:

▍Xestión de roles

 

WAC
RSAT

Protección avanzada de fíos
VISTA PREVIA
Non

Windows Defender
VISTA PREVIA
Si

Contenedores
VISTA PREVIA
Si

Centro Administrativo AD
VISTA PREVIA
Si

Dominio e confianzas de AD
Non
Si

Sitios e servizos de AD
Non
Si

DHCP
VISTA PREVIA
Si

DNS
VISTA PREVIA
Si

Xestor DFS
Non
Si

Xestor de GPO
Non
Si

Xestor IIS
Non
Si

É dicir, xa está claro que se abandonamos a GUI e o PowerShell en favor doutros controis, non nos poderemos saír coa súa utilización dalgún tipo de monoferramenta: para unha administración total en todas as frontes, necesitaremos polo menos unha combinación de RSAT e WAC.

Non obstante, debes lembrar que terás que pagar 150-180 megabytes de RAM para usar WAC. Cando está conectado, o Centro de administración de Windows crea 3-4 sesións no lado do servidor, que non se eliminan mesmo cando a ferramenta está desconectada da máquina virtual. WAC tampouco funciona con versións antigas de PowerShell, polo que necesitarás polo menos PowerShell 5.0. Todo isto vai en contra do noso paradigma de austeridade, pero hai que pagar pola comodidade. No noso caso - RAM.

Outra opción para xestionar Server Core é instalar a GUI usando ferramentas de terceiros, para non arrastrar as toneladas de lixo que veñen coa interface nun conxunto completo.

Neste caso, temos dúas opcións: lanzar o Explorador orixinal no sistema ou usar o Explorador++. Como alternativa a este último, calquera xestor de ficheiros é adecuado: Total Commander, FAR Manager, Double Commander, etc. Este último é preferible se aforrar memoria RAM é fundamental para ti. Podes engadir Explorer++ ou calquera outro xestor de ficheiros creando un cartafol de rede e lanzándoo a través da consola ou do programador.

Instalar un explorador completo daranos máis oportunidades en canto a traballar con software equipado cunha IU. Para iso nós terá que contactar a Función de compatibilidade de aplicacións básicas do servidor baixo demanda (FOD) que devolverá MMC, Eventvwr, PerfMon, Resmon, Explorer.exe e incluso Powershell ISE ao sistema. Non obstante, teremos que pagar por iso, como é o caso de WAC: perderemos de forma irreversible uns 150-200 megabytes de RAM, que serán engullidos sen piedade por explorer.exe e outros servizos. Aínda que non haxa ningún usuario activo na máquina.

Exprimindo Windows Server nun VPS de baixa potencia usando Windows Server Core
Exprimindo Windows Server nun VPS de baixa potencia usando Windows Server Core
Así se ve o consumo de memoria do sistema en máquinas con e sen o paquete Explorer nativo.

Aquí xorde unha pregunta lóxica: por que todo isto bailando con PowerShell, FOD, xestores de ficheiros, se algún paso á esquerda ou á dereita leva a un aumento do consumo de memoria RAM? Por que untarse cunha chea de ferramentas e barallar dun lado a outro para garantir un traballo cómodo en Windows Server Core, cando só pode descargar Windows Server 2016/2019 e vivir como un home branco?

Hai varias razóns para usar Server Core. Primeiro: o consumo de memoria actual é case a metade. Se lembras, esta condición foi a base do noso artigo ao principio. Para comparar, aquí está o consumo de memoria de Windows Server 2019, comparar coas capturas de pantalla situadas enriba:

Exprimindo Windows Server nun VPS de baixa potencia usando Windows Server Core
E así, 1146 MB de consumo de memoria en lugar de 655 MB en Core. 

Asumindo que non necesitas WAC e utilizará Explorer++ en lugar do Explorador orixinal, entón ti aínda gañarás case media hectárea en cada máquina virtual que execute Windows Server. Se só hai unha máquina virtual, entón o aumento é insignificante, pero se son cinco? Aquí é onde é importante ter unha GUI, especialmente se non a necesitas. 

En segundo lugar, calquera baile ao redor de Windows Server Core non o levará a loitar contra o principal problema do funcionamento de Windows Server - RDP e a súa seguridade (máis precisamente, a súa completa ausencia). Windows Core, incluso revestido en forma de FOD, RSAT e WAC, segue sendo un servidor sen RDP, é dicir, non é susceptible ao 95% dos ataques existentes.

Restante

En xeral, Windows Core só é lixeiramente máis gordo que calquera distribución de Linux, pero é moito máis funcional. Se precisas liberar recursos e estás preparado para traballar coa consola, WAC e RSAT, e usar xestores de ficheiros en lugar dunha GUI completa, paga a pena prestar atención a Core. Ademais, con el poderás evitar pagar extra por un Windows completo e gastar o diñeiro aforrado en actualizar o teu Estudantes, engadindo alí, por exemplo, RAM. Para comodidade, engadimos Windows Server Core ao noso mercado.

Exprimindo Windows Server nun VPS de baixa potencia usando Windows Server Core

Fonte: www.habr.com

Engadir un comentario