Power10 et eBMC (Enterprise Baseboard Management Controller)

Publié le 27/07/2023

L’une des principales différences techniques entre les serveurs Power10 et les anciennes générations, est le remplacement du processeur de service FSP (Flexible Service Processor) par un eBMC (Enterprise Baseboard Management Controller).

Bien évidemment, cette différence technique n’est pas la seule, il y a également la technologie processeur, les bus mémoire et le système d’I/O, mais notre attention va se porter sur le processeur de service.

SOMMAIRE

1 – Introduction (rappel de la gamme Power Systems)

Petit rappel pour commencer cet article, la gamme de serveurs Power Systems actuellement commercialisée par IBM, comprend, bien entendu, des modèles Power10 mais également encore quelques modèles POWER9. Ces derniers devant disparaitre dans le courant du 4ème trimestre (20/10/2023).

L’infographie ci-dessous montre les modèles de serveurs Power Systems commercialisés actuellement. Nous allons toutefois focaliser notre attention sur les modèles entourés en rouge, à savoir les Scale-Out Systems Power10 (S10xx et L10xx) et le Scale-Up Systems Power10 E1050.


Tous les modèles Scale-Out de la gamme Power10 disposent d’un eBMC (Enterprise Baseboard Management Controller) en lieu et place du “traditionnel” FSP (Flexible Service Processor).


En ce qui concerne les modèles Enterprise / Scale-Up, le Power E1050 dispose également d’un eBMC, en revanche, le serveur haut de gamme Power E1080 conserve la technologie propriétaire IBM : FSP (Flexible Service Processor), dans va variante plus récente 2.0.

2 – Processeur de Service

2.1 – Qu’est-ce qu’un Processeur de Service ?

Le Processeur de Service à un rôle fondamental dans le fonctionnement des serveurs POWER car c’est lui qui prend en charge la gestion du hardware et les fonctions de virtualisation.

Le Processeur de Service est une carte directement connectée à la carte mère d’un serveur. Jusqu’à présent, chez IBM, il s’agissait d’un FSP (Flexible Service Processor). Ce dernier était pourvu d’un processeur IBM PowerPC 4xx.

Lorsque l’on branche l’alimentation électrique d’un serveur POWER, la première chose qui démarre, c’est le Processeur de Service. Il vérifie le hardware et charge l’Hyperviseur du système en mémoire centrale : le POWER Hypervisor.


2.2 – Pourquoi remplacer le Processeur de Service ?

Pourquoi remplacer le Processeur de Service FSP par un eBMC ?

La gamme de serveurs basée sur la technologie de processeur POWER, n’est plus commercialisée uniquement par IBM. En effet, depuis la création du Consortium OpenPOWER en 2013, qui a ensuite évolué en Fondation OpenPOWER, les processeurs POWER sont désormais utilisés par d’autres constructeurs proposant des serveurs exécutant des environnements Linux. Les environnements AIX et IBM i restant, bien entendu, uniquement proposés sur les serveurs IBM.

La Fondation OpenPOWER définit les standards destinés à l’évolution de la technologie POWER.

Les principaux membres de la Fondation sont :

  • IBM
  • Google
  • Tyan
  • NVIDIA
  • Mellanox

Le Flexible Service Processor (FSP) est une technologie propriétaire IBM, elle reste implémentée sur les serveurs haut de gamme (Power E1080 16 sockets) car ce créneau ne fait pas parti des marchés visés par la Fondation OpenPOWER.

En revanche, les serveurs dit Scale-Out (1 à 2 sockets processeur) ou Midrange (2 à 4 sockets processeur) font partie du segment de marché de la Fondation.

Le BMC (Baseboard Management Controller) est l’un des composant défini par les standards de la Fondation OpenPOWER, et plus particulièrement, dans son programme OpenBMC. Pour cette raison, IBM préfère désormais s’appuyer sur les standards plutôt que de développer du spécifique.

Toutefois, IBM ajoute quelques spécifications au BMC afin qu’il réponde au cahier des charges de ses propres serveurs. C’est pourquoi, on parlera de eBMC (Enterprise BMC) plutôt que de BMC, car ce nouveau Processeur de Service est plus sophistiqué que son cousin de la Fondation OpenPOWER.

Que va apporter le eBMC par rapport au FSP ?

  • Amélioration de la maintenance et de l’assistance du serveur
  • Amélioration du RAS (Reliability Availability Serviceability)
  • Interface graphique remaniée
  • Nouveau processus d’authentification
  • Evolution liée au monde Open Source
  • Utilisation de l’API Redfish, standard de l’industrie pour la gestion du matériel.

Le eBMC offre des capacités supérieures à celles du FSP en matière de gestion et de surveillance des serveurs. Il est capable de surveiller les paramètres du système en temps réel, de gérer les mises à jour du firmware et de fournir des informations détaillées sur l’état du système.

Il peut également être utilisé pour la gestion à distance des serveurs, permettant aux administrateurs de surveiller et de contrôler les serveurs depuis un emplacement distant.

Le BMC a toutefois un inconvénient considérable, c’est qu’il ne contient plus … les fonctions de virtualisation essentielles à la création et à l’administration des partitions !

Nous verrons plus loin dans cet article, comment IBM a contourné cette contrainte majeure.


2.3 – Présentation du eBMC

Le eBMC se présente comme une carte PCIe classique qui se branche dans l’un des slots du serveur.

Le processeur de service eBMC est pourvu d’un processeur ASPEED AST2600 d’architecture ARM, le FSP, quant à lui, utilisait des processeurs d’architecture PowerPC.

Les processeurs ARM sont des processeurs d’architecture simple et peu consommateurs en électricité.

Le slot PCIe utilisé par le eBMC est le C5 sur les serveurs Scale-Out, et C0 sur les serveurs Midrange E1050.


2.3.1 – Power S1022 / S1022s / L1022

Sur les modèles 2U, Power S1022, Power S1022s et Power L1022, le eBMC est positionné dans le slot C5. Il s’agit d’une carte PCIe Half-High.


2.3.2 – Power S1014

Sur les modèles 4U, Power S1014, le eBMC est également positionné dans le slot C5, mais il s’agit d’une carte PCIe Full High.


2.3.3 – Power S1024

Sur les modèles 4U, Power S1024, le eBMC est également positionné dans le slot C5. Il dispose, comme sur le Power S1014, d’une carte PCIe Full High.


2.3.4 – Power E1050

Sur les modèles Enterprise Power E1050, le eBMC est une carte PCIe Full-High positionnée dans le slot C0. Le design et les connectiques de cette dernière sont différents de ceux des modèles Scale-Out.


2.3.5 – Descriptif eBMC Scale-Out

Descriptif de la carte eBMC des serveurs Scale-Out :

  • Power S1022
  • Power S1022s
  • Power L1022
  • Power S1014
  • Power S1024

La carte dispose eBMC Scale-Out dispose des connectiques suivantes :

  • 2 ports HMC (T0 et T1)
    • permettent de connecter la ou les HMC
    • peuvent être utilisés sans HMC pour accéder à ASMI
  • 2 ports USB 3.0
    • utilisation directe par les partitions (VM)
    • 1 en façade du serveur pour connecter des unités USB comme une clé ou un lecteur de DVD. Ce port, bien que non présent sur la carte, est bien géré par le eBMC.
    • 1 port sur la carte pour utilisation de clés USB mais pas de lecteurs de DVD
  • 1 port écran
    • désactivé pour le moment
  • 1 port USB 2.0
    • non utilisable par les partitions (VM)
    • dédié à la mise à jour du firmware ou à l’utilisation d’un onduleur

Vue du port USB 3.0, présent en façade des différents modèles Scale-Out, utilisable par les partitions (VM) pour brancher une clé USB ou un lecteur de DVD externe.


2.3.6 – Descriptif eBMC Midrange

Descriptif de la carte eBMC du serveur Midrange Power E1050. Cette carte dispose des connectiques suivantes :

  • 4 ports USB 3.0
    • utilisation directe par les partitions (VM)
    • 2 en façade du serveur pour connecter des unités USB comme une clé ou un lecteur de DVD. Ces ports, bien que non présents sur la carte, sont bien gérés par le eBMC.
    • 2 ports sur la carte pour utilisation de clés USB mais pas de lecteurs de DVD
  • 2 ports HMC (T2 et T3)
    • permettent de connecter la ou les HMC
    • peuvent être utilisés sans HMC pour accéder à ASMI
  • 2 ports USB 2.0
    • non utilisables par les partitions (VM)
    • dédiés à la mise à jour du firmware ou à l’utilisation d’un onduleur

Vue des ports USB 3.0, présents en façade du serveur Midrange Power E1050, utilisables par les partitions (VM) pour brancher une clé USB ou un lecteur de DVD externe.


2.4 – Connexion du eBMC

Bien que les serveurs Power10 puissent être utilisés sans console HMC, lorsqu’ils sont en mode monopartition (1 seule VM) par exemple, nous allons toutefois focaliser notre document sur les serveurs connectés à des consoles HMC, car ils représentent la majorité des installations présentes chez les clients d’IBM.

2.4.1 – Principes d’accès à la virtualisation (POWER Hypervisor)

La virtualisation sur les serveurs IBM Power Systems se nomme PowerVM, mais le principal composant de cette virtualisation, l’hyperviseur, est le POWER Hypervisor.

C’est l’hyperviseur qui va permettre l’accès aux différentes fonctions de virtualisation :

  • partage du processeur (ou plus exactement, partage des cores)
  • création et gestion des partitions (VMs)
  • création et gestion des ressources virtuelles (Serie, Ethernet, Fibre Channel, SCSI …)
  • affectation des ressources physiques (cartes PCIe, drives NVMe, ports USB …)
  • autorisation des fonctions avancées :
    • 5250
    • Live Partition Mobility (LPM)
    • N-Port ID Virtualization (NPIV)
    • Single Root I/O Virtualization (SR-IOV)
    • Virtual switch
    • Power Private Cloud
    • I/O natives

La console HMC permet de gérer l’administration des serveurs Power mais elle permet également l’accès à la virtualisation en se connectant à l’hyperviseur des serveurs.

Sur un serveur POWER9, ou sur ces prédécesseurs (depuis le POWER5 en 2004), la HMC était connectée au FSP, qui lui donnait accès au POWER Hypervisor et donc aux fonctions de virtualisation pour administrer les partitions (AIX, IBM i, Linux ou VIOS).

Sur un Power10, l’accès est totalement différent. En effet, contrairement au FSP qui offrait un accès direct au POWER Hypervisor, le eBMC n’a aucun accès direct à l’Hyperviseur d’IBM puisqu’il s’agit d’un composant OpenPOWER utilisé par plusieurs constructeurs.

Ainsi, pour accéder à l’hyperviseur (POWER Hypervisor), IBM a mis en place un nouveau processus nommé Virtualization Management Interface (VMI). Il s’agit d’une partition Linux cachée, qui démarre en même temps que le serveur. L’accès à cette partition se réalise par les ports Ethernet du eBMC (T0 et T1 sur Scale-Out / T2 et T3 sur Midrange). Ces ports physiques sont virtualisés et disposent de deux MAC Addresses comme s’il s’agissait de deux ports physiques différents.

La HMC utilise la première MAC Address du port du eBMC pour accéder aux fonctions du eBMC (en vert sur le schéma) et la seconde MAC Address du port du eBMC (en orange sur le schéma) pour accéder aux ports Ethernet virtuels de VMI (eth0 et eth1).

Schéma basique comparant la différence d’accès aux fonctions de virtualisation entre un FSP et un eBMC.


2.4.2 – La console HMC

La console HMC (Hardware Console Management) peut être physique ou virtuelle. Dans cet article, nous n’aborderons que la console HMC physique, mais les mêmes principes peuvent êtres appliqués à la vHMC (Virtual HMC).

Les consoles HMC sont des appliances basées sur des processeurs POWER, permettant d’administrer un ou plusieurs serveur Power Systems en se connectant à leur FSP ou à leur eBMC.

Actuellement (juillet 2023), le modèle de HMC commercialisé par IBM est le 7063-CR2. Cette console est basée sur un processeur POWER9 et dispose, de base, de 5 ports Ethernet, un port de Management et quatre ports d’administration ou de connexion aux serveurs.

L’administration d’une HMC (Management du BMC et LAN administration HMC) peut se paramétrer de deux manières différentes :

  • Management BMC (B) et LAN administration HMC (L) sur un port partagé
  • Management BMC (B) et LAN administration HMC (L) sur deux ports dédiés

La console HMC étant un serveur POWER, elle dispose également d’un BMC, mais il s’agit du BMC de la Fondation OpenPOWER et non pas du eBMC amélioré comme sur les serveurs POWER classiques.

Port partagé (par défaut)

Ports dédiés

Les deux solutions sont viables, à chacun de choisir son mode préféré, en ce qui nous concerne, nous privilégions les ports dédiés afin de bien séparer les flux et de simplifier la compréhension du système.


2.4.3 – Connexion de la console HMC

Traditionnellement, pour sécuriser l’administration des serveurs Power Systems, on utilise deux consoles HMC afin d’assurer la redondance en cas de panne de l’une d’elles.

Le schéma ci-dessous propose une architecture de connexion des HMC sur un serveur Power10. Pour des raisons de simplification du schéma, les switches réseau ne sont pas représentés, mais dans la réalité, tous les ports réseau sont connectés sur des switches dans les VLAN appropriés.

Rappelons également qu’IBM recommande très fortement d’utiliser le serveur DHCP de la HMC pour la connexion aux FSP, et désormais aux eBMC et VMI. L’exemple ci-dessous propose une connexion DHCP.

  • Le port M (Management du BMC des HMC) est connecté sur le VLAN d’administration.
  • Le port eth0 (LAN d’administration des HMC) est connecté sur le VLAN d’administration.
  • Le port eth1, eth2 ou eth3 (eth3 sur ce schéma) de la première HMC, qui correspond à la fonction DHCP de la HMC est connecté sur le VLAN X privé et non routé sur lequel le port T0 du eBMC (eth0 de VMI) est également connecté.
  • Le port eth1, eth2 ou eth3 (eth3 sur ce schéma) de la seconde HMC, qui correspond à la fonction DHCP de la HMC est connecté sur le VLAN Y privé et non routé sur lequel le port T1 du eBMC (eth1 de VMI) est également connecté.

Ainsi, la première HMC peut accéder au eBMC du serveur et donc à sa fonction d’administration nommée ASMI (Advanced System Management Interface) et à VMI (port eth0) via le port T0 du eBMC.

De la même manière, la seconde HMC peut accéder au eBMC du serveur et à VMI (port eth1) via le port T1 du eBMC.

Ce sont les serveurs DHCP des HMC qui vont fournir les adresse TCP/IP des eBMC (T0 et T1) et des VMI (eth0 et eth1).

3 – Configuration et démarrage d’un serveur Power10

Désormais que les connexions physiques ont été effectuées, nous allons voir les différentes étapes de démarrage d’un serveur Power10 avant d’avoir accès aux fonctions de virtualisation.


3.1 – Authentification sur le serveur

C’est à ce stade que l’on peut mettre le serveur sous tension. Il va être détecté par la ou les HMC au bout de quelques secondes, la reconnaissance est beaucoup plus rapide que sur les anciennes générations, qui pouvaient prendre plusieurs minutes avant de détecter le système.

Première différence, le serveur n’est pas reconnu avec un nom du type Server-9009-22G-SN7812345 (Server-Modèle-Type-Serial_Number) mais avec un nom comportant le terme BMC et l’adresse TCP/IP affectée au serveur par la HMC et un avec un numéro de série qui correspond à cette même adresse TCP/IP.

Ex : BMC-0000-BMC_1012702 (comprendre 10.127.0.2)

lssysconn -r all

resource_type=sys,type_model_serial_num=0000-BMC*1012702,sp_type=ebmc,ipaddr=10.127.0.2,user_name=admin,alt_ipaddr=unavailable,state=Pending Authentication - Password Updates Required,connection_error_code=Password expired 0806-0000-00000000,vmi_ipaddr=unavailable,vmi_state=unavailable

Comme pour les serveurs POWER précédents, l’authentification est nécessaire pour que la HMC puisse effectuer des opérations. La première étape consiste donc à authentifier sur le serveur par l’option “Mise à jour du mot de passe système”.

Attention, jusqu’à présent, le mot de passe que l’on indiquait était celui du compte “hmc” sur le FSP du serveur. Ce compte n’était ensuite plus jamais utilisé pour accéder au serveur sauf pour la connexion depuis une nouvelle HMC.

Désormais, le mot de passe qui est demandé sur cet écran, est celui du compte “admin” sur le eBMC du serveur. Ce mot de passe sera utilisé pour se connecter au eBMC par la fonction nommée ASMI (Advanced System Management Interface).

Comme il s’agit d’une première connexion au eBMC, il suffit d’indiquer le mot de passe de son choix, mais ce dernier doit respecter des critères de longueur minimale et de caractères utilisés.

Après validation, le système est reconnu par la HMC. Désormais, la HMC voit le type, le modèle et le n° de série du serveur (9105-22A S/N 78XXXXX). Le système est connecté à la HMC.

lssysconn -r all

resource_type=sys,type_model_serial_num=9105-22A*78XXXXX,sp_type=ebmc,ipaddr=10.127.0.2,user_name=admin,alt_ipaddr=unavailable,state=Connected,vmi_ipaddr=unavailable,vmi_state=unavailable

3.2 – Configuration de VMI

La HMC peut effectuer des opérations sur le serveur puisqu’il est désormais sous son contrôle.

A ce stade on pourrait démarrer le serveur, mais cela n’est pas souhaitable car comme expliqué dans les chapitres précédents, la virtualisation ne sera pas disponible si la fonction Virtualization Management Interface (VMI) n’est pas configurée.

Le démarrage et l’arrêt du serveur sont autorisés, mais il sera impossible de créer des partitions (VM) et des les administrer, y compris les VIOS.

Il est donc nécessaire de configurer VMI. Pour cela, il faut sélectionner l’option “Connexion VMI”.

Une fois dans la configuration de VMI, on constate que les deux interfaces virtuelles sont configurées en “static” et qu’il n’y a pas d’adresse TCP/IP. Tant qu’il n’y aura pas d’adresse, il sera impossible d’accéder aux fonctions de virtualisation.

Nous allons configurer l’interface eth0 avec la première HMC, la seconde interface sera connectée à la seconde HMC.

lssysconn -r vmi -m 9105-22A*78XXXXX

resource_type=vmi,type_model_serial_num=9105-22A*78XXXXX,interface=eth0,ipv4addr=0.0.0.0,gateway=0.0.0.0,net_mask=0.0.0.0,ipv4addr_orig=static

resource_type=vmi,type_model_serial_num=9105-22A*78XXXXX,interface=eth1,ipv4addr=0.0.0.0,gateway=0.0.0.0,net_mask=0.0.0.0,ipv4addr_orig=static

Cliquer sur “Action” puis”Modification”.

Il est possible de laisser la configuration en statique, et dans ce cas il faut forcer la configuration TCP/IP. IBM recommande d’utiliser le mode “dhcp” afin que ce soit la HMC qui affecte une adresse TCP/IP à VMI.

Cliquer sur le “Type d’adresse IP” et choisir “dhcp”.

Le mode “dhcp” a été sélectionné. Cliquer sur “Modification” pour valider ce choix.

Le choix pour l’interface VMI eth0 est désormais en DHCP, la console HMC pourra affecter une adresse TCP/IP à l’interface virtuelle VMI eth0 lors du démarrage du serveur.

lssysconn -r vmi -m 9105-22A*78XXXXX

resource_type=vmi,type_model_serial_num=9105-22A*78XXXXX,interface=eth0,ipv4addr=0.0.0.0,gateway=0.0.0.0,net_mask=0.0.0.0,ipv4addr_orig=dhcp

resource_type=vmi,type_model_serial_num=9105-22A*78XXXXX,interface=eth1,ipv4addr=0.0.0.0,gateway=0.0.0.0,net_mask=0.0.0.0,ipv4addr_orig=static

Malgré le fait qu’une interface VMI soit en DHCP, aucune adresse TCP/IP n’est disponible sur VMI pour le moment, car ce n’est que durant la phase de démarrage du serveur, que la partition Linux VMI va démarrer et recevoir une adresse.

lssysconn -r all
  resource_type=sys,type_model_serial_num=9105-22A*78XXXXX,sp_type=ebmc,ipaddr=10.127.0.2,user_name=admin,alt_ipaddr=unavailable,state=Connected,vmi_ipaddr=unavailable,vmi_state=unavailable

3.3 – Démarrage du serveur

L’étape suivante, consiste à démarrer le serveur en sélectionnant “Mise sous tension du système”.

On laisse le choix par défaut (Normal), comme pour les anciennes générations et l’on valide.

Le système commence son démarrage, et va affecter une adresse TCP/IP à l’interface virtuelle VMI eth0 lors de l’une des phases d’initialisation.

Au bout de plusieurs minutes, le système est en fonctionnement.

Si l’on retourne sur la configuration de VMI, on peut constater que l’interface eth0 dispose désormais d’un adresse TCP/IP.

lssysconn -r all

resource_type=sys,type_model_serial_num=9105-22A*78XXXXX,sp_type=ebmc,ipaddr=10.127.0.2,user_name=admin,alt_ipaddr=unavailable,state=Connected,vmi_ipaddr=10.127.0.3,vmi_state=Connected
lssysconn -r vmi -m 9105-22A*78XXXXX

resource_type=vmi,type_model_serial_num=9105-22A*78XXXXX,interface=eth0,ipv4addr=10.127.0.3,gateway=0.0.0.0,net_mask=255.255.240.0,ipv4addr_orig=dhcp

resource_type=vmi,type_model_serial_num=9105-22A*78XXXXX,interface=eth1,ipv4addr=0.0.0.0,gateway=0.0.0.0,net_mask=0.0.0.0,ipv4addr_orig=static

Le serveur est désormais prêt à l’utilisation. Les fonctions de virtualisation permettant de créer et d’administrer des VM (partitions) sont opérationnelles.


3.4 – Advanced System Management Interface (ASMI)

L’interface Advanced System Management, bien connue des adminstrateurs POWER, est toujours disponible sur Power10 malgré le remplacement du FSP par un eBMC, mais elle a été intégralement remaniée.

Son accès s’effectue par l’option “Lancement d’ASM (Advanced System Management)”.

On arrive sur une nouvelle page d’accueil. On se connecte toujours avec le compte “admin”, ou avec un nouveau compte créé dans l’interface.

Pour rappel, le mot de passe du compte “admin” a été modifié lors de l’authentification du système avec la HMC. Il ne s’agit plus du mot de passe par défaut qui existait sur les anciennes générations.

Une fois connecté à ASMI, voici la nouvelle page de vue générale du système.

On y trouve des informations comme l’état général et les niveaux de firmware.