Envie o Windows Server para um VPS de baixa potência usando o Windows Server Core


Devido à glutonaria dos sistemas Windows, distribuições leves do Linux dominam o ambiente VPS: Mint, Colibri OS, Debian ou Ubuntu, que são privados do ambiente de desktop pesado e desnecessário como parte de nossas tarefas. Como se costuma dizer, apenas o console, apenas hardcore! E, de fato, isso não é um exagero: o mesmo Debian começa com 256 MB de memória e um núcleo com um ciclo de clock de 1 Ghz, ou seja, em quase todos os "stump". Para um trabalho confortável, você precisará de 512 MB e um processador um pouco mais rápido. Mas e se lhe dissermos que aproximadamente o mesmo pode ser feito no Windows VPS? O que não é necessário para o Windows Server pesado, que requer de três a quatro hectares de RAM e no mínimo alguns núcleos com uma velocidade de clock de 1,4 GHz? Basta usar o Windows Server Core - livre-se da GUI e de alguns serviços. Falaremos sobre como fazer isso em um artigo.

Quem é esse seu Windows Server Core?


Não há informações claras sobre o que o Windows (servidor) Core está disponível no site oficial do Mikes, ou melhor, tudo é tão confuso que você não entende imediatamente, mas as primeiras referências remontam à era do Windows Server 2008. Na verdade, o Windows Core é um kernel do Windows viável Servidor (de repente!), "Peso perdido" pelo tamanho de sua própria GUI e cerca de metade dos serviços secundários.

O principal recurso do Windows Core são os baixos requisitos de hardware e o gerenciamento completo do console através do PowerShell.

Se você for ao site da Microsoft e verificar os requisitos técnicos, para iniciar o Windows Server 2016/2019, precisará de 2 GB de RAM e pelo menos um núcleo com uma velocidade de clock de 1,4 GHz. Mas todos entendemos que, com essa configuração, podemos esperar apenas o início do sistema, mas certamente não a operação confortável do nosso sistema operacional. Por esse motivo, o Windows Server geralmente recebe mais memória e pelo menos 2 núcleos / 4 threads do processador, se eles não fornecerem uma máquina física cara em algum Xeon, em vez de uma máquina virtual barata.

Ao mesmo tempo, o núcleo do sistema do servidor requer apenas 512 MB de memória e os recursos do processador consumidos pela GUI apenas para renderizar na tela e manter seus inúmeros serviços em execução podem ser usados ​​para algo mais útil.

Aqui está uma comparação dos serviços Windows Core prontos para uso e do Windows Server completo no site oficial da Microsoft:

inscriçãonúcleo do servidorservidor com experiência em desktop
Prompt de comandoacessívelacessível
Windows PowerShell / Microsoft .NETacessívelacessível
Perfmon.exenão disponívelacessível
Windbg (GUI)suportadoacessível
Resmon.exenão disponívelacessível
Regeditacessívelacessível
Fsutil.exeacessívelacessível
Disksnapshot.exenão disponívelacessível
Diskpart.exeacessívelacessível
Diskmgmt.mscnão disponívelacessível
Devmgmt.mscnão disponívelacessível
Gerenciador do Servidornão disponívelacessível
Mmc.exenão disponívelacessível
Eventvwrnão disponívelacessível
Wevtutil (consultas de eventos)acessívelacessível
Services.mscnão disponívelacessível
Painel de controlenão disponívelacessível
Windows Update (GUI)não disponívelacessível
Explorador de janelasnão disponívelacessível
Barra de tarefasnão disponívelacessível
Notificações da barra de tarefasnão disponívelacessível
Taskmgracessívelacessível
Internet Explorer ou Edgenão disponívelacessível
Sistema de ajuda integradonão disponívelacessível
Shell do Windows 10não disponívelacessível
Windows Media Playernão disponívelacessível
Powerhellacessívelacessível
PowerShell ISEnão disponívelacessível
PowerShell IMEacessívelacessível
Mstsc.exenão disponívelacessível
Serviços de trabalho remotoacessívelacessível
Gerenciador Hyper-Vnão disponívelacessível

Como você pode ver, muito foi cortado do Windows Core. Os serviços e processos associados à GUI do sistema foram furtivos, bem como qualquer "lixo" que definitivamente não seria necessário em nossa máquina virtual de console, por exemplo, o Windows Media Player.

Quase como o Linux, mas não ele


Eu realmente quero comparar o Windows Server Core com as distribuições Linux, mas, na realidade, isso não está totalmente correto. Sim, esses sistemas são semelhantes entre si em termos de consumo reduzido de recursos devido ao abandono da GUI e de muitos serviços secundários, mas em termos de operação e algumas abordagens para a montagem, ainda é o Windows e não um sistema unix.

O exemplo mais simples é que, com a ajuda da montagem manual do kernel Linux e a instalação subsequente de pacotes e serviços, até a distribuição Linux mais leve pode ser transformada em algo pesado e semelhante a uma faca suíça (eu realmente quero brincar de python sobre Python e inserir uma imagem da série “If Programming Languages ​​Were Armas ”, mas não o faremos). No Windows Core, essa liberdade é muito menor, porque, no entanto, estamos lidando com um produto da Microsoft.

O Windows Server Core vem com um assembly pronto, cuja configuração padrão pode ser estimada na tabela acima. Se você precisar de algo da lista de não suportados, será necessário adicionar os elementos ausentes online pelo console. No entanto, não se esqueça do Recurso sob demanda e da capacidade de desinflar componentes como arquivos .cab, que você poderá adicionar ao assembly antes da instalação. Mas esse cenário não funciona se você já encontrou no processo que está faltando um dos serviços de corte.

Mas o que distingue a versão Core da versão completa é a capacidade de atualizar o sistema e adicionar serviços sem interromper o trabalho. O Windows Core suporta a rolagem de pacotes quentes sem reinicialização. Como resultado, com base em observações práticas: uma máquina executando o Windows Core precisa ser reiniciada ~ 6 vezes menos que o Windows Server, ou seja, uma vez a cada seis meses e não uma vez por mês.

Um bom bônus para os administradores é que, se você usar o sistema como planejado - através do console, sem RDP - e não criar um segundo Windows Server, ele se tornará extremamente seguro em comparação à versão completa. Afinal, a maioria das vulnerabilidades no Windows Server se enquadra no RDP e as ações de um usuário que, através desse mesmo RDP, faz o que não deve. Isso é semelhante à história de Henry Ford e sua relação com a cor do carro: "Qualquer cliente pode ter um carro pintado da cor que desejar, desde que seja preto ". O mesmo acontece com o sistema: o usuário pode se comunicar de qualquer forma com o sistema, o principal é que ele faz isso através do console .

Instalar e gerenciar o Windows Server 2019 Core


Mencionamos anteriormente que o Windows Core é realmente um Windows Server sem um wrapper de GUI. Ou seja, você pode usar quase qualquer versão do Windows Server como a versão principal, ou seja, abandonar a GUI. Para produtos da família Windows Server 2019, essas são três de quatro compilações de servidor: o modo principal está disponível para Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter e Hyper-V Server 2019, ou seja, apenas o Windows Server 2019 Essentials cai fora desta lista.

Ao mesmo tempo, o pacote de instalação do Windows Server Core não precisa ser procurado. No instalador padrão da Microsoft, a versão principal é oferecida literalmente por padrão, quando você deve selecionar manualmente a versão com a GUI:

imagem

Na verdade, existem mais opções para gerenciar o sistema do que o mencionado pelo PowerShell, oferecido por padrão pelo fabricante. Há pelo menos cinco maneiras diferentes de gerenciar uma máquina virtual no Windows Server Core:

  • PowerShell remoto
  • Ferramentas de administração remota de servidor (RSAT);
  • Centro de administração do Windows
  • Sconfig;
  • Gerenciador do Servidor

As três primeiras posições são de maior interesse: PowerShell padrão, RSAT e Windows Admin Center. No entanto, é importante entender que, quando obtemos os benefícios de uma das ferramentas, também obtemos as limitações impostas por ela.

Não descreveremos os recursos do console; o PowerShell é o PowerShell, com seus prós e contras óbvios. RSAT e WAC são um pouco mais complicados. 

O WAC fornece acesso a importantes controles do sistema, como edição do registro e gerenciamento de disco e dispositivo. No primeiro caso, o RSAT funciona apenas no modo de visualização e não permite que sejam feitas alterações. Para gerenciar discos e dispositivos físicos das Ferramentas de Administração de Servidor Remoto, você precisa de uma GUI, que não é o nosso caso. Em geral, o RSAT não pode trabalhar com arquivos e, consequentemente, atualiza, instalando / desinstalando programas na edição do registro.

Management Gerenciamento do sistema


 
WacRSAT
Gerenciamento de componentessimsim
Editor do RegistrosimNão
Gerenciamento de redesimsim
Visualizador de eventossimsim
Pastas partilhadassimsim
Gerenciamento de unidadesimSomente para servidores com uma GUI
Agendador de tarefassimsim
Gerenciamento de dispositivosimSomente para servidores com uma GUI
Gerenciamento de arquivossimNão
gerenciamento de usuáriossimsim
Gerenciamento de gruposimsim
Gerenciamento de certificadosimsim
AtualizaçõessimNão
Desinstalar programassimNão
Monitor do sistemasimsim

Por outro lado, o RSAT nos dá controle total sobre as funções na máquina, quando, como o Windows Admin Center, ele literalmente não pode fazer nada. Aqui está uma comparação dos recursos do RSAT e WAC neste aspecto, para maior clareza:

Roles Funções de gerenciamento


 
WacRSAT
Proteção avançada de roscaTEXTONão
Windows DefenderTEXTOsim
RecipientesTEXTOsim
Centro Administrativo do ADTEXTOsim
Domínio e relações de confiança do ADNãosim
Sites e serviços do ADNãosim
DHCPTEXTOsim
DNSTEXTOsim
Gerente DFSNãosim
Gerente de GPONãosim
Gerenciador do IISNãosim
Ou seja, já está claro que, se você abandonar a GUI e o PowerShell em favor de outros controles, livrar-se de usar algum tipo de ferramenta mono não funcionará: para uma administração completa em todas as frentes, precisamos de pelo menos um monte de RSAT e WAC.

Deve-se lembrar que o uso do WAC terá que pagar de 150 a 180 megabytes de RAM. Quando conectado, o Windows Admin Center cria de 3 a 4 sessões no lado do servidor, que não são eliminadas, mesmo quando a ferramenta é desconectada da máquina virtual. O WAC também não funciona com versões mais antigas do PowerShell, portanto, você precisará de um mínimo do PowerShell 5.0. Tudo isso contraria nosso paradigma de austeridade de recursos, mas você precisa pagar pelo conforto. No nosso caso, por RAM.

Outra opção para gerenciar o Server Core é instalar GUIs de terceiros para não arrastar toneladas de lixo que vêm em um conjunto completo junto com a interface.

Nesse caso, temos duas opções: implantar o Explorer original no sistema ou usar o Explorer ++. Como alternativa a este último, qualquer gerenciador de arquivos é adequado: Total Commander, FAR Manager, Double Commander e assim por diante. O último é preferível se a economia de memória for crítica para você. Você pode adicionar o Explorer ++ ou qualquer outro gerenciador de arquivos criando uma pasta de rede e iniciando-a no console ou no planejador.

A instalação de um Explorer completo nos dará mais opções em termos de trabalho com software equipado com uma interface do usuário. Para isso, teremos que entrar em contatoRecurso de compatibilidade de aplicativo do servidor núcleo sob demanda (FOD) que retornará ao sistema MMC, Eventvwr, PerfMon, Resmon, Explorer.exe e até o Powershell ISE. No entanto, você terá que pagar por isso, como é o caso do WAC: perderemos irremediavelmente cerca de 150-200 megabytes de RAM, que devoram alegremente o explorer.exe e outros serviços. Mesmo se a máquina não tiver um usuário ativo.



É assim que o consumo de memória do sistema em máquinas com e sem o pacote nativo do Explorer se parece.

Isso levanta a questão lógica: por que todas essas danças com gerenciadores de arquivos do PowerShell, FOD, se alguma etapa esquerda-direita leva a um aumento no consumo de RAM? Por que se cobrir com um monte de ferramentas e se envergonhar de um lado para o outro para garantir um trabalho confortável no Windows Server Core, quando você pode simplesmente rodar o Windows Server 2016/2019 e viver como uma pessoa branca?

Existem vários motivos para usar o Server Core. Primeiro: a corrente é quase metade do consumo de memória. Se você se lembra, essa condição foi a base do nosso artigo desde o início. Para comparação, o consumo de memória do Windows Server 2019, compare com as capturas de tela logo acima:


E assim, 1146 MB de memória consumida em vez de 655 MB no Core. 

Supondo que você não precise do WAC e use o Explorer ++ em vez do Explorer original, você ainda ganhará quase meio hectare em todas as máquinas virtuais que executam o Windows Server. Se houver apenas uma máquina virtual, o crescimento será insignificante, mas se houver cinco delas? Aqui a presença de uma GUI é importante, principalmente se você não precisar dela. 

Em segundo lugar, qualquer dança no Windows Server Core não levará você à luta contra o principal problema de operação do Windows Server - o RDP e sua segurança (mais precisamente, sua completa ausência). O Windows Core, mesmo na forma de FOD, RSAT e WAC, ainda é um servidor sem RDP, ou seja, não está sujeito a 95% dos ataques existentes.

Na balança


Em geral, o Windows Core é apenas um pouco mais "gordo" do que qualquer distribuição padrão do Linux, mas muito mais funcional. Se você precisar liberar recursos e estiver pronto para trabalhar com o console, WAC e RSAT, use gerenciadores de arquivos em vez de uma GUI completa, vale a pena prestar atenção ao Core. Além disso, não será possível pagar mais por um Windows completo e gastar o dinheiro economizado com a perturbação do seu VPS adicionando, por exemplo, RAM. Por conveniência, adicionamos o Windows Server Core ao nosso mercado .


All Articles