• [^] # Re: Utilisation en production

    Posté par (site web personnel, Mastodon) . En réponse au journal RHEL 9 beta is out : 1 an après , quid des successeurs ?. Évalué à 5.

    "De fait, il est désormais inconcevable d'utiliser CentOS Stream en production."
    C'est une affirmation un peu péremptoire...

    Eh bien moi j'ai un exemple concret de la difficulté à utiliser CentOS Stream "en production".

    Je suis chercheur, et dans mon domaine (la cryo-microscopie électronique) quasiment tous les logiciels d'analyse d'images exploitent l'accélération matérielle fournie par les GPU. Ces logiciels utilisent quasiment tous CUDA, une bibliothèque scientifique propriétaire de Nvidia. Cela cause deux problèmes :

    1. Puisqu'on ne peut pas se passer de ces logiciels (ça reviendrait à renoncer à analyser les données issues de nos expériences), il faut acheter les GPU de Nvidia, alors que ce ne sont pas toujours le meilleur compromis selon les critères auxquels on attache de l'importance.
    2. Il faut utiliser le pilote propriétaire de Nvidia, car CUDA n'est bien sûr pas compatible avec le pilote libre nouveau.

    Il y a deux façons d'installer le pilote propriétaire de Nvidia :

    1. en exécutant en tant que root un binaire téléchargé depuis le site de Nvidia, ou
    2. en ajoutant le dépôt de Nvidia au gestionnaire de paquets pour ensuite installer le pilote selon la même procédure que les autres logiciels de la distribution.

    La première méthode est à éviter, pour plein de raisons, mais surtout parce que le pilote installé ainsi n'est bien sûr pas mis à jour automatiquement. Par conséquent, les mises à jour automatiques du noyau par le gestionnaire de paquets cassent systématiquement le pilote. C'est une plaie de devoir réinstaller le pilote manuellement à chaque fois qu'une mise à jour même mineure du noyau débarque.

    La seconde méthode fonctionne bien, car le gestionnaire de paquets n'installera jamais des versions du noyau et du pilote marquées comme incompatibles. Seulement, Nvidia ne fournit ces paquets pré-compilés du pilote que pour la version du noyau de la distribution RHEL stable. C'est expliqué ici. Puisque CentOS Stream a quasiment tout le temps un noyau plus récent que RHEL (par définition, puisque CentOS Stream se veut upstream par rapport à RHEL), ce paquet du pilote Nvidia n'est quasiment jamais compatible avec CentOS Stream. On se retrouve alors dans l'une des deux situations suivantes :

    1. On a réussi à installer le pilote pendant une période où le noyau de CentOS Stream était toujours à une version compatible avec le paquet du pilote. On se retrouve par contre coincé sur cette version du noyau jusqu'à la prochaine mise à jour du noyau de RHEL quand Nvidia publiera la version correspondante du paquet du pilote. Du coup, utiliser CentOS Stream n'a pas trop d'intérêt (un de ses "arguments de vente" est que les mises à jour sont plus fréquentes qu'avec RHEL).
    2. La version du noyau installée n'est pas compatible avec le paquet du pilote Nvidia. Il faut choisir entre rétrograder la version du noyau (pas vraiment recommandé en général) à la dernière version compatible avec le pilote, ou se passer du pilote jusqu'à la prochaine version du noyau compatible (comme dans la situation 1, mais dans le cas où on n'a même pas pu installer le pilote au départ), ce qui peut mettre plusieurs mois à arriver (car la prochaine mise à jour du noyau ne suffit pas, il faut aussi tomber sur une version que Nvidia accepte de supporter avec son pilote).

    Pour résumer : quand on a besoin du pilote Nvidia, CentOS Stream c'est la galère en permanence, alors que RHEL ou ses clones qui suivent strictement ses versions (Alma, Rocky et autres) "juste marchent".