- O Computers Are Bad está comprando novos servidores no processo de migração de sua nuvem corporativa para o Novo México
- Os servidores Big Iron atualmente em uso são equipamentos antigos, com cerca de 10 anos
- Na indústria moderna centrada em nuvem, tornou-se raro comparar especificações de Dell PowerEdge e HP ProLiant
- O mercado de servidores fora do hyperscale está sendo cada vez mais consolidado em torno de especificações e designs de referência da Intel
O que é um servidor?
- Existe uma velha pergunta sobre se um servidor é apenas um computador grande e poderoso ou se é algo especial
- A história dos servidores inclui muita história da indústria, e a resposta pode variar conforme o contexto
- Dá para fazer as seguintes generalizações sobre a história dos servidores:
- A computação cliente-servidor começou principalmente como uma evolução da computação por time-sharing, com vários terminais conectados a um único computador
- Não se esperava que os terminais tivessem arquitetura parecida com a do computador, e isso continuou nos sistemas cliente-servidor
- Até os anos 2000, era comum que servidores usassem sistemas operacionais e arquiteturas diferentes
- Com a revolução do PC, a maior parte da computação do lado cliente virou uma monocultura WinTel em meados dos anos 1990
Mudanças na arquitetura de servidores
- A combinação de SPARC e Solaris era muito comum em servidores, assim como as arquiteturas de minicomputadores da IBM e vários sistemas operacionais
- Uma das principais contribuições comerciais do Java foi permitir reutilização de código também em ambientes de computação empresarial “modernos”, como Unix/RISC ou Windows/x86, ao escrever aplicações corporativas para backends Solaris/SPARC
- O modelo de computação cliente-servidor com “clientes pesados” criou uma associação entre plataformas de servidor e “computação empresarial”
- Arquiteturas antes restritas a servidores foram virando nicho e passaram a ter dificuldade para competir com a arquitetura de PC em custo e desempenho
- A arquitetura típica do software de servidor mudou de “scale-up e sistemas de alta disponibilidade” para “scale-out e requisitos de confiabilidade mais relaxados”, reduzindo bastante as vantagens dos computadores de classe empresarial
- Hoje, na maioria dos casos, um servidor é apenas um computador grande
- É muito mais provável que servidores sejam SMP ou NUMA, com múltiplos sockets de processador
- A era do SAS e do RAID em hardware está desaparecendo aos poucos, mas servidores continuam oferecendo controladoras e topologias de armazenamento mais complexas do que clientes
- Servidores quase sempre oferecem gerenciamento out-of-band (OOB)
Gerenciamento out-of-band
- O gerenciamento out-of-band (OOB) é um recurso quase desconhecido em clientes
- Ele permite acesso remoto ao servidor por meio de um pequeno computador de gerenciamento separado
- O gerenciamento OOB não depende do sistema operacional nem de componentes comuns
- A maioria dos servidores oferece console remoto, permitindo interação como se houvesse um monitor e teclado conectados localmente
- Produtos de gerenciamento OOB oferecem o recurso de “mídia virtual”, que permite enviar um arquivo ISO e fazê-lo ser reconhecido como um dispositivo físico
Gerenciamento out-of-band (Out-of-Band Management)
- Out-of-band (às vezes também chamado de gerenciamento sem operador presencial) identifica um recurso quase nunca visto em clientes
- Um pequeno computador de gerenciamento separado permite acesso remoto mesmo quando o servidor está desligado
- Os termos “out-of-band” e “in-band” vêm do uso comum em redes e comunicações, mas na prática seu significado foi mudando
- Pode ser mais correto entender que gerenciamento out-of-band significa não depender do sistema operacional nem de componentes de propósito geral
- Um exemplo muito padrão de gerenciamento in-band é o SSH, um serviço fornecido pelo software do computador
- Já o gerenciamento out-of-band é fornecido por uma pilha dedicada de hardware e software e não exige cooperação do sistema operacional nem, tradicionalmente, da CPU
- Hoje, o melhor exemplo de gerenciamento out-of-band é o console remoto oferecido pela maioria dos servidores
- Basicamente, um IP KVM embutido, que permite interagir com a máquina como se houvesse monitor e teclado conectados localmente
- Muitos produtos de gerenciamento OOB também oferecem “mídia virtual”, em que um arquivo ISO pode ser enviado para a interface de gerenciamento e então aparecer para o computador como se fosse um dispositivo real
- Isso é muito útil para instalar o sistema operacional
A história do gerenciamento OOB
- O gerenciamento OOB é uma pequena área interessante da história da computação
- Na verdade, não é uma ideia tão nova assim, a ponto de ser possível encontrar recursos parecidos em toda a história da computação empresarial
- Com o tempo, o gerenciamento OOB foi ficando mais simples e mais sem graça
- Desde o fim dos anos 1980 e início dos anos 1990, características comuns de servidores incluem:
- Algum tipo de interface local para operador, fornecendo informações de baixo nível sobre o estado do hardware, como displays LCD matriciais ou grades de LEDs indicadores
- Um console serial com acesso ao bootloader inicial e a sistemas permanentes de gerenciamento de baixo nível
- Um sistema de gerenciamento de nível mais alto, em posição variável na pilha conforme a arquitetura, voltado ao gerenciamento remoto da carga de trabalho da máquina
- O presente do gerenciamento OOB
- A maioria dos servidores consegue informar pelo painel frontal se houve falha em componentes redundantes, como ventoinhas ou fontes de alimentação
- Porém, o número de componentes redundantes e substituíveis a quente caiu, em alguns casos, do “praticamente tudo, incluindo a CPU” dos anos 1990 para algo como só as ventoinhas
- O gerenciamento serial ainda é bem comum, porque continua sendo uma forma popular de instalar e manter sistemas operacionais em máquinas headless
- Mas, na maior parte dos casos, o gerenciamento OOB foi consolidado em torno do Intel IPMI, do mesmo jeito que aconteceu com a arquitetura de processadores
O que há de confuso no IPMI
- IPMI é uma especificação, não uma implementação
- A maioria dos grandes fornecedores tem sua própria implementação de IPMI com recursos além da especificação principal, com siglas estranhas como HP iLO, Dell DRAC etc.
- Como essas implementações específicas de fornecedores são mais antigas que o IPMI, dizer apenas “IPMI” não é totalmente correto
- Por outro lado, fabricantes mais novos tendem mais a chamar tudo de IPMI, e nesse caso pode ser um produto padrão do fornecedor de firmware
- O software de IPMI normalmente roda em um processador chamado Baseboard Management Controller (BMC), e os termos IPMI e BMC às vezes são usados como sinônimos
- Lights-out management (LOM) é um termo em grande parte obsoleto, mas continua em uso porque a HP(E) o prefere e chama sua implementação de IPMI de Integrated Lights-Out
- O BMC não deve ser confundido com o System Management Controller (SMC), um componente presente em computadores cliente
- SMC é um dos termos usados para coisas como controle de velocidade das ventoinhas
- BMC e SMC têm histórias relacionadas e, de fato, o BMC cuida dessas funções na maioria dos servidores
- O IPMI define duas interfaces
- Uma interface out-of-band, utilizável por rede ou conexão serial
- Uma interface in-band, utilizável pelo sistema operacional via driver (comunicação entre CPU e BMC pelo barramento LPC, um pequeno e estranho remanescente do ISA que ainda existe na maioria dos computadores modernos)
- Como resultado, é possível interagir com IPMI usando ferramentas que rodam no sistema operacional, como o
ipmitool no Linux
- Se você não entender que o IPMI é um sistema totalmente independente, com uma interface local para o sistema operacional em execução por conveniência, pode ficar um pouco confuso sobre o que exatamente está acontecendo
O que o IPMI faz
- O IPMI virou, em grande parte, um web app
- A interface web é conveniente demais para ser ignorada
- Muitos produtos IPMI ainda têm software cliente dedicado, mas estão migrando todos os recursos para aplicações web embarcadas
- A qualidade das interfaces web varia muito, mas a maioria não é lá grande coisa
- Como acessar a interface web do IPMI
- A maioria dos servidores no mercado tem uma interface Ethernet dedicada rotulada como “IPMI”, “management” etc.
- A melhor forma de usar IPMI é colocar a interface de rede de gerenciamento em uma rede física dedicada
- Por questões de segurança e confiabilidade (mesmo se a rede principal tiver problemas de desempenho ou estabilidade, você ainda deve conseguir acessar o IPMI)
- Porém, uma rede física dedicada consome tempo, espaço e dinheiro
- A “rede de gerenciamento” tem grande chance de ser uma VLAN em equipamentos de rede comuns
- Algo parecido com o que a AT&T chama de Common Channel Signaling Arrangement (CCSA)
- Ela funciona como uma rede privada e independente, mas compartilha o equipamento físico com todo o resto, e o isolamento é implementado por software
- Sideband networking no IPMI
- Com gerenciamento sideband, o BMC se comunica diretamente usando a mesma NIC que o sistema operacional usa
- A forma de implementação é um pouco estranha
- A NIC finge ser duas interfaces diferentes e mistura o tráfego do IPMI no mesmo fluxo de pacotes do tráfego do host, mas usando um endereço MAC diferente
- Assim, para os outros equipamentos de rede, parece como se duas interfaces de rede diferentes estivessem em uso normalmente
- Há considerações óbvias de segurança ao reduzir a separação entre tráfego IPMI e tráfego de aplicação
- Problemas de segurança do IPMI
- Muitas implementações de IPMI acabaram se mostrando pesadelos de segurança
- Pessoas não confiáveis nunca deveriam ter acesso a isso
- Recursos de rede do IPMI
- Os detalhes variam conforme a implementação, mas existe uma interface padrão em UDP 623, usada para descoberta e comandos básicos
- Também costuma haver SSH e interface web, e VNC é muito comum para console remoto
Recursos básicos do IPMI
- Há vários recursos básicos interessantes que podem ser usados via rede ou com um cliente IPMI in-band
- Um recurso útil, especialmente para quem é esquecido e não mantém bons registros, é listar os módulos de hardware que compõem o sistema no nível de FRU ou de número de peça do fornecedor
- Também é possível interagir com recursos básicos de hardware, como sensores, estado de energia e ventoinhas
- O IPMI fornece um watchdog timer padrão, que pode ser combinado com software em execução no sistema operacional para reiniciar o servidor quando uma aplicação entra em estado anormal
- É preciso configurar um timeout longo o suficiente para o sistema inicializar e conseguir conectar para desativar o watchdog timer
A relação entre IPMI e computadores cliente do dia a dia
- IPMI é muito comum em servidores corporativos, mas bem raro em qualquer outro lugar
- Isso é frustrante para quem não tem espaço ou tolerância a ruído para uma pizza box 1U
- Se você quiser ficar com computadores pequenos ou de baixo consumo, provavelmente vai ter que viver sem IPMI
Intel ME e AMD ST
- Controladores de gerenciamento OOB presentes em praticamente todos os processadores Intel e AMD
- O Intel ME (Management Engine) é o componente de ativação do Intel Active Management Technology (Intel AMT)
- O AMT foi uma tentativa de popularizar o gerenciamento OOB para máquinas cliente, oferecendo recursos quase idênticos aos do IPMI
- Teve bem menos sucesso, provavelmente principalmente por causa do preço
- A Intel limitou quase todos os recursos do AMT ao uso com plataformas de gerenciamento corporativo muito caras
- Existem clientes AMT de código aberto, mas o problema seguinte é encontrar máquinas em que o AMT realmente possa ser usado
Recursos sideband e problemas de segurança do Intel AMT
- O Intel AMT tem recursos de gerenciamento sideband e, por isso, o fato de o componente Intel ME em que ele roda também ter esses recursos foi motivo de considerável preocupação na comunidade de segurança
- Fator de mitigação: o gerenciamento sideband só é possível quando processador, chipset da placa-mãe e NIC são todos compatíveis com AMT
- As opções para esses três componentes ficam restritas a produtos Intel com selo vPro
- Só a baixa popularidade de NICs Intel em dispositivos de consumo já significa que o acesso sideband é quase impossível
- O vPro também é limitado a processadores e chipsets relativamente mais avançados
- A má notícia é que isso dificulta usar AMT em home labs, embora algumas pessoas certamente usem
- A parte boa é que o “fato” amplamente divulgado de que o Intel ME em dispositivos de consumo é acessível via rede sideband geralmente não é verdade, e isso por razões que vão além do licenciamento de software da Intel
Por que o Intel ME existe
- Sem o AMT, sobra a pergunta estranha sobre o próprio Intel ME, que na prática não teria recursos de gerenciamento OOB
- Por que quase todo processador tem Intel ME?
- É especulação, mas o Intel ME parece existir principalmente como uma forma conveniente de hospedar e gerenciar componentes de execução confiável usados em coisas como secure boot e DRM
- Esses recursos rodam todos no mesmo processador que o ME e compartilham parte da mesma pilha tecnológica
- A parte “Management” do Intel ME é, portanto, em grande medida um vestígio, e ele faz parte da infraestrutura de computação segura
Isso não é uma defesa do Intel ME
- Isso não é uma defesa do Intel ME, que não pode ser auditado de forma alguma por terceiros e que já teve vulnerabilidades graves de segurança no passado
- Como todos nós usamos arquitetura de processadores de um entre dois fornecedores, a Intel tem pouco incentivo para fazer melhor
- E antes de responder que o caminho é ARM, vale lembrar que os SoCs ARM modernos usados em dispositivos de consumo também têm quase exatamente o mesmo tipo de recurso
Observação: a definição de headless
- A definição de “headless” é complicada e não vale a pena se apegar demais a isso
- As pessoas costumam dizer que “headless” significa não ter monitor e teclado conectados
- Mas racks com console deslizante e IP KVM são comuns há muito tempo, então vale lembrar que sistemas realmente headless são mais raros do que parece em ambientes que não sejam hyperscale
- Isso se deve em parte ao fato de usar console serial ser algo extremamente doloroso, então operadores de computador em geral fazem de tudo para evitar lidar com isso
Opinião do GN⁺
- Este artigo oferece uma visão interessante sobre a definição e a história dos servidores. Ao contrário da percepção comum de que servidor é apenas um computador grande, ele mostra que os servidores desempenharam um papel especial ao longo de uma longa história.
- Ao olhar para a história dos servidores, dá para entender como o conceito foi mudando com a evolução da tecnologia. É especialmente interessante ver como, após a revolução do PC, a fronteira entre servidor e cliente foi ficando cada vez mais difusa.
- O gerenciamento out-of-band é uma capacidade exclusiva dos servidores, permitindo administrá-los mesmo sem ajuda do sistema operacional ou da CPU. Isso pode ser extremamente útil para administradores de sistemas.
- Recentemente, a tecnologia de gerenciamento OOB vem sendo padronizada em torno do Intel IPMI. Isso aumenta a conveniência da administração de servidores, mas também traz o risco de dependência de um único fornecedor.
- Outras soluções com recursos semelhantes de gerenciamento OOB incluem HP iLO e Dell iDRAC. Para evitar dependência de um fornecedor específico, também vale considerar essas alternativas.
1 comentários
Opiniões no Hacker News
A Intel está ficando para trás em relação à AMD em desempenho de CPU e GPU
As NICs da Intel são, no geral, excelentes e também são populares em dispositivos de consumo
Ao comprar servidores, a Supermicro é uma boa escolha
A especificação IPMI está sendo substituída pelo Redfish
O hardware da Supermicro continua sendo bom, mas uma pesquisa recente da Hindenburg apontou alguns problemas
IPMI é comum em servidores corporativos, mas raro para uso doméstico
É melhor não conectar a porta IPMI à LAN principal
Para adicionar acesso remoto a uma máquina sem IPMI, é possível usar o NanoKVM RISC-V de $30
Relato de experiência com instalação de servidores Intel no fim dos anos 90
Soluções como IPMI são boas, mas há preferência por interfaces seriais padrão
O IPMI carece de suporte de hardware no longo prazo
Intel ME e AMD PSP têm papel importante na inicialização da CPU
A Dell está tentando substituir o IPMI pelo Redfish
No uso em homelab, o consumo de cerca de 5W em standby do IPMI é um problema
A chave padrão do IPMI é um problema importante