2 points par GN⁺ 2024-09-04 | 1 commentaires | Partager sur WhatsApp
  • Computers Are Bad est en train de migrer son cloud d’entreprise vers le Nouveau-Mexique et achète de nouveaux serveurs au passage
  • Les serveurs Big Iron actuellement utilisés sont des équipements anciens, vieux d’environ 10 ans
  • Dans l’industrie moderne centrée sur le cloud, il devient rare de comparer les spécifications des Dell PowerEdge et des HP ProLiant
  • Le marché des serveurs hors hyperscalers s’unifie de plus en plus autour des spécifications et des designs de référence d’Intel

Qu’est-ce qu’un serveur ?

  • Une vieille question persiste : un serveur est-il simplement un ordinateur gros et puissant, ou bien quelque chose de spécial ?
  • L’histoire des serveurs recouvre une grande partie de l’histoire de l’informatique industrielle, et la réponse peut varier selon le contexte
  • On peut faire les généralisations suivantes sur l’histoire des serveurs :
    • L’informatique client-serveur est principalement née comme évolution du time-sharing, où plusieurs terminaux étaient reliés à un seul ordinateur
    • On n’attendait pas des terminaux qu’ils aient une architecture similaire à celle de l’ordinateur central, et cela s’est prolongé dans les systèmes client-serveur
    • Jusqu’aux années 2000, il était courant que les serveurs utilisent d’autres systèmes d’exploitation et architectures
  • Avec la révolution du PC, la majeure partie de l’informatique côté client s’est installée dans un monoculture WinTel au milieu des années 1990

Évolution de l’architecture des serveurs

  • La combinaison SPARC et Solaris était très courante sur les serveurs, tout comme les architectures de mini-ordinateurs d’IBM et divers systèmes d’exploitation
  • L’une des principales contributions commerciales de Java a été de permettre la réutilisation du code dans des environnements de calcul professionnels « modernes » comme Unix/RISC ou Windows/x86, tout en écrivant des applications d’entreprise pour des backends Solaris/SPARC
  • Le modèle client-serveur avec des « clients lourds » a renforcé l’association entre plateformes serveur et « informatique d’entreprise »
  • Les architectures autrefois réservées aux serveurs sont progressivement devenues des niches, incapables de rivaliser avec les architectures PC en coût et en performance
  • L’architecture logicielle typique des serveurs est passée de « montée en puissance verticale et systèmes à haute disponibilité » à « montée en charge horizontale et exigences de fiabilité assouplies », ce qui a fortement réduit les avantages des ordinateurs de classe entreprise
  • Aujourd’hui, dans la plupart des cas, un serveur n’est rien d’autre qu’un gros ordinateur
  • Un serveur a toutefois bien plus de chances d’être un système SMP ou NUMA avec plusieurs sockets processeur
  • L’ère du SAS et du RAID matériel disparaît peu à peu, mais les serveurs continuent d’offrir des contrôleurs et topologies de stockage plus complexes que les clients
  • Les serveurs proposent presque toujours une gestion out-of-band (OOB)

Gestion out-of-band

  • La gestion out-of-band (OOB) est une fonction quasiment inconnue dans le monde des clients
  • Elle permet à un petit ordinateur de gestion distinct d’accéder au serveur à distance
  • La gestion OOB ne dépend ni du système d’exploitation ni des composants habituels
  • La plupart des serveurs offrent une console distante permettant d’interagir comme si l’on était branché à un moniteur et un clavier locaux
  • Les produits de gestion OOB proposent une fonction de « média virtuel » permettant d’envoyer un fichier ISO et de le faire reconnaître comme un périphérique physique

Gestion out-of-band (gestion hors bande, Out-of-Band Management)

  • La gestion out-of-band (parfois appelée gestion sans surveillance) désigne une fonctionnalité presque jamais rencontrée sur les machines clientes
  • Elle permet un accès distant même lorsque le serveur est éteint, grâce à un petit ordinateur de gestion séparé
  • Les termes « out-of-band » et « in-band » viennent du sens qu’ils ont généralement en réseau et en télécommunications, mais leur signification a en réalité évolué
    • Il vaut sans doute mieux comprendre la gestion out-of-band comme une gestion qui ne dépend ni du système d’exploitation ni de composants généralistes
  • Un exemple très standard de gestion in-band est SSH, un service fourni par le logiciel de l’ordinateur
  • À l’inverse, la gestion out-of-band est fournie par une pile matérielle et logicielle dédiée, sans nécessiter la coopération du système d’exploitation ni, traditionnellement, du CPU
  • Le meilleur exemple actuel de gestion out-of-band est la console distante fournie par la plupart des serveurs
    • En pratique, il s’agit d’un IP KVM intégré qui permet d’interagir avec la machine comme si un moniteur et un clavier y étaient branchés localement
  • De nombreux produits de gestion OOB proposent aussi des « médias virtuels », permettant d’envoyer un fichier ISO dans l’interface de gestion puis de le présenter à l’ordinateur comme un vrai périphérique
    • C’est très utile pour installer un système d’exploitation

Histoire de la gestion OOB

  • La gestion OOB est un petit domaine fascinant de l’histoire informatique
  • En réalité, ce n’est pas une idée si récente, puisqu’on retrouve des fonctionnalités comparables dans toute l’histoire de l’informatique professionnelle
  • Avec le temps, la gestion OOB est devenue plus simple et plus banale
  • Depuis la fin des années 1980 et le début des années 1990, les serveurs ont généralement en commun :
    • une forme d’interface opérateur locale fournissant des informations de bas niveau sur l’état matériel, comme un écran matriciel LCD ou une grille de voyants LED
    • une console série donnant accès au bootloader initial et à des systèmes de gestion bas niveau persistants
    • un système de gestion de niveau supérieur, situé à un endroit variable dans la pile selon l’architecture, destiné à l’administration à distance de la charge de travail de la machine
  • L’état actuel de la gestion OOB
    • la plupart des serveurs peuvent toujours indiquer en façade si des composants redondants (comme les ventilateurs ou l’alimentation) sont tombés en panne
    • mais le nombre de composants redondants et remplaçables à chaud s’est réduit, passant du « tout, y compris le CPU » des années 1990 à parfois seulement les ventilateurs
    • la gestion série reste assez courante, car elle demeure une méthode populaire pour installer et maintenir l’OS sur les machines headless
    • mais dans la plupart des cas, la gestion OOB s’est standardisée autour d’Intel IPMI, exactement comme l’architecture processeur

Ce qui prête à confusion avec IPMI

  • IPMI est une spécification, pas une implémentation
    • La plupart des grands fournisseurs ont leur propre implémentation d’IPMI avec des fonctions allant au-delà de la spécification cœur d’IPMI, sous des acronymes étranges comme HP iLO ou Dell DRAC
    • Comme ces implémentations spécifiques aux fournisseurs sont antérieures à IPMI, dire simplement « IPMI » n’est pas tout à fait exact
    • À l’inverse, les fabricants plus récents ont davantage tendance à parler d’IPMI, auquel cas il peut s’agir du produit standard d’un fournisseur de firmware
  • Le logiciel IPMI s’exécute généralement sur un processeur appelé Baseboard Management Controller (BMC), si bien que les termes IPMI et BMC sont parfois utilisés comme synonymes
  • Lights-out management (LOM) est un terme largement obsolète, mais encore utilisé parce que HP(E) le privilégie et appelle son implémentation IPMI Integrated Lights-Out
  • Le BMC ne doit pas être confondu avec le System Management Controller (SMC), un composant présent sur les ordinateurs clients
    • SMC est l’un des termes utilisés pour des fonctions comme le contrôle de la vitesse des ventilateurs
    • BMC et SMC ont des histoires liées, et dans la plupart des serveurs, c’est en pratique le BMC qui prend aussi en charge ces fonctions
  • IPMI définit deux interfaces
    • une interface out-of-band utilisable via le réseau ou une connexion série
    • une interface in-band utilisable depuis le système d’exploitation via un pilote (communication entre le CPU et le BMC via le bus LPC, étrange petit vestige d’ISA encore présent dans la plupart des ordinateurs modernes)
  • Il est donc possible d’interagir avec IPMI depuis des outils exécutés dans le système d’exploitation, comme ipmitool sous Linux
  • Si l’on ne comprend pas qu’IPMI est un système totalement indépendant, doté simplement d’une interface locale vers l’OS en cours d’exécution par commodité, il peut être un peu difficile de saisir ce qui se passe exactement

Les fonctions d’IPMI

  • IPMI est devenu, dans la plupart des cas, une webapp
    • L’interface web est trop pratique pour qu’on s’en passe
    • Beaucoup de produits IPMI disposent d’un logiciel client dédié, mais leurs fonctions sont progressivement portées dans une application web embarquée
  • La qualité des interfaces web varie énormément, mais la plupart ne sont pas très bonnes
  • Comment accéder à l’interface web d’IPMI
    • La plupart des serveurs commercialisés possèdent une interface Ethernet dédiée étiquetée « IPMI », « management », etc.
    • La meilleure façon d’utiliser IPMI consiste à placer l’interface réseau de gestion sur un réseau physique dédié
      • pour des raisons de sécurité et de fiabilité (si le réseau principal a des problèmes de performance ou de stabilité, il faut continuer à pouvoir accéder à IPMI)
    • Mais un réseau physique dédié demande du temps, de la place et de l’argent
      • le « réseau de gestion » sera donc très probablement un VLAN sur des équipements réseau ordinaires
      • un peu à la manière de ce qu’AT&T appelait un common carrier switching arrangement (CCSA)
      • il se comporte comme un réseau indépendant et privé, mais partage en réalité l’équipement avec tout le reste, l’isolation étant assurée par logiciel
  • Réseau sideband IPMI
    • Avec la gestion sideband, le BMC communique directement via la même carte réseau que celle utilisée par le système d’exploitation
    • La manière dont cela est implémenté est un peu étrange
      • la carte réseau fait comme si elle était deux interfaces différentes, mélange le trafic IPMI au même flux de paquets que le trafic de l’hôte, mais avec une adresse MAC distincte
      • vu des autres équipements réseau, cela ressemble donc simplement à deux interfaces réseau différentes en service comme d’habitude
    • Il y a évidemment des implications de sécurité dès lors que l’on réduit la séparation entre IPMI et le trafic applicatif
  • Problèmes de sécurité d’IPMI
    • De nombreuses implémentations d’IPMI se sont révélées être de véritables cauchemars en matière de sécurité
    • Il ne faut jamais laisser des personnes non fiables y accéder
  • Fonctions réseau d’IPMI
    • Les détails réseau varient selon les implémentations d’IPMI, mais il existe une interface standard sur UDP 623 pour la découverte et les commandes de base
    • On trouve souvent aussi SSH et une interface web, et VNC est très courant pour la console distante

Fonctions de base d’IPMI

  • Il existe quelques fonctions de base utiles que l’on peut réaliser via IPMI sur le réseau ou à l’aide d’un client IPMI in-band
  • Une fonction pratique, si l’on est distrait et mauvais en tenue d’inventaire, consiste à lister les modules matériels qui composent le système au niveau FRU ou numéro de pièce fournisseur
  • On peut aussi interagir avec des fonctions matérielles de base comme les capteurs, l’état de l’alimentation, les ventilateurs, etc.
  • IPMI fournit un watchdog timer standard, qui peut être combiné à un logiciel exécuté dans le système d’exploitation pour forcer la réinitialisation du serveur lorsqu’une application entre dans un état anormal
  • Il faut définir un délai suffisamment long pour que le système démarre et puisse s’y connecter afin de désactiver le watchdog timer

La relation entre IPMI et les ordinateurs clients du quotidien

  • IPMI est très courant sur les serveurs d’entreprise, mais très rare ailleurs
  • C’est frustrant pour ceux qui n’ont ni la place ni la tolérance au bruit nécessaires pour un serveur 1U en format pizza box
  • Si vous essayez de vous en tenir à de petits ordinateurs ou à des machines basse consommation, il faudra probablement vivre sans IPMI

Intel ME et AMD ST

  • Des contrôleurs de gestion OOB existent dans pratiquement tous les processeurs Intel et AMD
  • Intel ME (Management Engine) est le composant qui permet d’activer Intel Active Management Technology (Intel AMT)
  • AMT était une tentative de populariser la gestion OOB sur les machines clientes, avec des fonctions presque identiques à celles d’IPMI
  • Ce fut nettement moins couronné de succès, probablement surtout pour des raisons de prix
    • Intel a réservé presque toutes les fonctions d’AMT à l’usage avec des plateformes de gestion d’entreprise très coûteuses
  • Il existe des clients AMT open source, mais le problème suivant consiste à trouver des machines sur lesquelles AMT est réellement utilisable

Fonctions de gestion sideband d’Intel AMT et problèmes de sécurité

  • Le fait qu’Intel AMT dispose de fonctions de gestion sideband, et donc que le composant Intel ME sur lequel il s’exécute en dispose également, a suscité d’importantes inquiétudes dans la communauté de la sécurité
  • Élément atténuant : la gestion sideband n’est possible que si le processeur, le chipset de la carte mère et la carte réseau sont tous compatibles AMT
    • Les options pour ces trois composants se limitent aux produits Intel portant le badge vPro
    • La faible popularité des cartes réseau Intel sur les appareils grand public suffit presque à elle seule à rendre l’accès sideband impossible
  • vPro est également limité à des processeurs et chipsets relativement haut de gamme
    • La mauvaise nouvelle, c’est qu’il sera difficile d’utiliser AMT dans un homelab, même si certaines personnes le font bel et bien
    • La bonne nouvelle, c’est que le « fait » souvent relayé selon lequel Intel ME serait accessible via le réseau sideband sur les appareils grand public n’est généralement pas vrai, et pas seulement pour des raisons de licence logicielle Intel

Pourquoi Intel ME existe

  • Sans AMT, il reste une étrange question au sujet d’Intel ME lui-même, qui n’offre en réalité aucune véritable fonction de gestion OOB
  • Pourquoi presque tous les processeurs ont-ils Intel ME ?
    • Ce n’est qu’une supposition, mais Intel ME semble surtout exister comme moyen pratique d’héberger et de gérer des composants d’exécution de confiance utilisés pour des choses comme le démarrage sécurisé et les DRM
    • Toutes ces fonctions tournent sur le même processeur que ME et partagent une partie de la même pile technologique
  • La partie « management » d’Intel ME relève donc en grande partie d’un héritage, et s’inscrit surtout dans une infrastructure d’informatique sécurisée

Ce n’est pas une excuse pour Intel ME

  • Il ne s’agit pas d’excuser Intel ME, que des tiers ne peuvent pas auditer correctement et qui a déjà comporté par le passé des vulnérabilités de sécurité majeures
  • Comme nous utilisons tous une architecture processeur de l’un des deux grands fournisseurs, Intel n’a guère de motivation pour faire mieux
  • Et avant de répondre qu’ARM est la solution, rappelons que les SoC ARM modernes utilisés dans les appareils grand public ont eux aussi presque exactement ce type de fonctions

Note : la définition de headless

  • La définition de « headless » est délicate, et il ne faut pas trop s’y attacher
  • On a tendance à dire qu’une machine est « headless » lorsqu’aucun moniteur ni clavier n’y est connecté
  • Mais les consoles de rack coulissantes et les IP KVM sont courants depuis longtemps ; il faut donc garder à l’esprit que les systèmes véritablement headless sont plus rares qu’on ne le pense en dehors des environnements hyperscale
  • Cela tient en partie au fait qu’utiliser une console série est extrêmement pénible, au point que les opérateurs informatiques ordinaires feront beaucoup d’efforts pour éviter d’avoir à s’en servir

L’avis de GN⁺

  • Cet article offre un éclairage intéressant sur la définition et l’histoire des serveurs. Contrairement à l’idée répandue selon laquelle un serveur n’est qu’un gros ordinateur, il montre qu’il a joué un rôle particulier pendant une longue période.
  • En parcourant l’histoire des serveurs, on comprend comment leur concept a évolué avec le progrès technologique. Il est particulièrement intéressant de voir à quel point la frontière entre serveurs et clients devient de plus en plus floue depuis la révolution du PC.
  • La gestion hors bande est une fonction propre aux serveurs, qui permet de les administrer sans l’aide du système d’exploitation ni du CPU. C’est une capacité potentiellement très utile pour les administrateurs système.
  • Ces dernières années, les technologies de gestion OOB se standardisent autour d’Intel IPMI. Cela améliore la facilité d’administration des serveurs, mais fait aussi peser un risque de dépendance envers un fournisseur.
  • Parmi les autres solutions offrant des fonctions OOB similaires, on trouve notamment HP iLO et Dell iDRAC. Si l’on veut éviter une dépendance excessive à un fournisseur donné, ces alternatives méritent également d’être envisagées.

1 commentaires

 
GN⁺ 2024-09-04
Commentaires Hacker News
  • Intel est en retard sur AMD en matière de performances CPU et GPU

    • À l’exception des CPU de la série N100, adaptés aux applications basse consommation et fanless
    • La plupart des organisations achètent des CPU Intel pour mettre à jour leur environnement existant
    • La fonctionnalité EVC de vSphere permet la migration à chaud entre différentes architectures CPU
  • Les cartes réseau Intel sont globalement excellentes et populaires même dans les appareils grand public

    • Les PC ou ordinateurs portables équipés de CPU Intel incluent presque toujours une carte réseau Intel
  • Supermicro est un bon choix lors de l’achat de serveurs

    • Peu coûteux et offrant une grande flexibilité en matière de format, châssis, composants et nombre de slots
    • En revanche, le support est moins fiable que chez Dell/HPE, ce qui le rend plus adapté aux configurations redondantes
  • La spécification IPMI est en train d’être remplacée par Redfish

    • Redfish fournit une API plus complète, plus sûre et mieux standardisée
  • Le matériel de Supermicro reste excellent, mais la récente étude de Hindenburg a pointé certains problèmes

  • IPMI est courant sur les serveurs d’entreprise, mais rare à la maison

    • Avec une carte MicroATX Supermicro à base d’Atom et des ventilateurs Noctua, il est possible d’obtenir un refroidissement silencieux
  • Il vaut mieux ne pas connecter le port IPMI au LAN principal

    • Il reste utile lorsqu’il est isolé
  • Pour ajouter des fonctions d’accès à distance à une machine sans IPMI, on peut utiliser le NanoKVM RISC-V à 30 $

    • Il fournit la capture HDMI, Ethernet/WiFi, le contrôle de l’alimentation ATX, etc.
  • Partage d’une expérience d’installation de serveurs Intel à la fin des années 90

    • Utilisation du logiciel LANDesk Server Manager Pro et de l’Emergency Management Card
    • Le mot de passe par défaut de l’EMC était "calvin"
  • Les solutions comme IPMI sont intéressantes, mais une interface série standard est préférée

  • À long terme, IPMI manque de support matériel

    • Ce serait plus utile s’il était possible de charger son propre OS sur le matériel IPMI
  • Intel ME et AMD PSP jouent un rôle important dans l’initialisation du CPU

    • La complexité de l’initialisation étant élevée, il est plus logique de la confier à un cœur embarqué séparé
  • Dell cherche à remplacer IPMI par Redfish

    • Redfish utilise une API REST HTTP/JSON
  • Avec un homelab, la consommation en veille d’environ 5 W d’IPMI pose problème

    • Il est prévu d’essayer des fonctions de gestion à distance avec PiKVM(V2) et un Raspberry 4
  • Les clés par défaut d’IPMI constituent un problème majeur

    • Si des clés supplémentaires sont installées dans la chaîne d’approvisionnement, la gestion à distance peut devenir possible