materiel-mining.fr

Piloter une installation minage professionnelle : la couche logicielle

Divers

Piloter une installation minage professionnelle : la couche logicielle

Une machine de minage se surveille à l’œil. Trois se surveillent en gardant trois onglets ouverts. Dix ne se surveillent plus : personne ne sait laquelle s’est arrêtée cette nuit, ni depuis quand. « Programmer » un logiciel de minage ne veut pas dire écrire un mineur en C, personne ne le fait et ça n’aurait aucun intérêt. Ça veut dire paramétrer, pousser une configuration sur un parc entier, poser des seuils, brancher une API et décider qui reçoit quelle alerte.

Cette page traite de cette couche-là, et d’elle seule. Le choix des machines se joue sur le bilan quotidien réel des quatre familles de matériel, le raccordement et le statut sur les paliers électriques et la fiscalité du minage, l’assemblage sur l’ordre de montage d’un rig et son premier démarrage. Ici, on part de machines qui tournent déjà.

À dix machines, plus personne ne regarde les écrans

Le basculement se produit vers cinq ou six unités. En dessous, l’exploitant connaît ses machines par leur bruit. Au-dessus, il lui faut un endroit unique qui lui dise, en un coup d’œil, laquelle produit et laquelle ne produit plus.

Un Antminer S21 Pro tourne à 234 TH/s pour 3 510 W, soit 15 J/TH. Au hashprice relevé le 10 août 2026, 31,73 $ par PH/s et par jour, il produit 7,42 $ brut par jour. Douze heures d’arrêt, c’est 3,71 $ qui ne tombent pas.

Sauf qu’une machine arrêtée ne consomme rien non plus. Elle a laissé passer 42,12 kWh. Le perdu se compte donc en marge, et la marge dépend entièrement du prix du kilowattheure. Le seuil d’une machine se calcule en divisant 1,146 par son efficacité en joules par térahash : un S21 Pro à 15 J/TH bascule à 0,0764 €/kWh. C’est le prix auquel sa production paie exactement son électricité, et c’est aussi ce que rapporte chaque kilowattheure qu’elle avale. Le classement du matériel par efficacité en joules par térahash permet de refaire ce calcul pour n’importe quelle machine.

Hébergé à 0,05 €/kWh, l’arrêt de douze heures coûte 42,12 × (0,0764 − 0,05), soit 1,11 €. Branché sur le tarif bleu professionnel, passé le 1er août 2026 à 0,1624 €/kWh hors taxes en option base, le même arrêt rapporte 3,62 € : la machine gagnait de l’argent en s’éteignant.

Ce renversement remet la supervision à sa place. Elle sert à savoir, pas à courir. Une unité arrêtée douze heures se rattrape et l’euro en jeu reste dérisoire ; une unité revenue toute seule sur le mauvais pool, une carte disparue du rig depuis trois semaines, un firmware qui rejette une part sur cinquante sans que rien ne clignote, ça ne se rattrape pas, parce que ça ne se voit pas. Une installation minage professionnelle se reconnaît à ça : plus personne ne regarde les écrans, et pourtant tout le monde sait ce qui tourne.

tableau de bord de supervision d’un parc de minage affichant le hashrate et la température de chaque worker

Superviser une installation minage professionnelle : le choix du système

Deux familles d’outils, qui ne se recouvrent qu’en partie. D’un côté les systèmes de gestion de rig GPU : une distribution Linux installée sur clé ou SSD, qui démarre, se déclare auprès d’un tableau de bord distant et attend ses ordres. De l’autre les firmwares ASIC, qui remplacent le logiciel d’usine d’une machine et lui donnent des réglages que le constructeur ne propose pas.

Côté GPU, le marché s’est vidé. RaveOS et ethOS sont arrêtés, ce qui n’empêche pas les comparatifs de les classer encore dans leurs palmarès, au même titre que les mineurs figés depuis quatre ans qu’on retrouve partout. Restent Hive OS, minerstat avec son msOS, SimpleMining et Awesome Miner, ce dernier tournant sous Windows et pilotant aussi bien des rigs que des ASIC. Rien n’oblige d’ailleurs à passer par une distribution dédiée : un Ubuntu LTS bien choisi fait tourner les mêmes mineurs, au prix du travail d’administration qu’on n’aura pas délégué, et le choix de la version LTS adaptée à un rig se pose alors en premier.

Outil

Ce qu’il pilote

Ce qu’il coûte

Hive OS

Rigs GPU et CPU, ASIC via l’ASIC Hub

Deux workers gratuits, sans limite de cartes ni de pool ; 0,50 $ par carte et par mois, plafonné à 3 $ pour un rig de six cartes ou plus ; 2 $ par ASIC

minerstat / msOS

Rigs GPU et ASIC

2 $ par worker et par mois, remise de 20 % à l’année ; 21 jours d’essai sur cinq workers

SimpleMining

Rigs GPU

2 $ par rig et par mois de 1 à 49 rigs, dégressif ensuite jusqu’à 0,50 $ au-delà de cinq mille ; un mois d’essai sur un rig

Awesome Miner

Rigs GPU et ASIC, depuis Windows

Gratuit jusqu’à deux mineurs, fonctions bridées ; 2 $ par mineur et par mois, remise de 25 % à l’année

Braiins OS

ASIC Bitmain, du S9 au S21

2 à 2,5 % du hashrate selon le modèle de machine, prélevés quel que soit le pool ; sur Braiins Pool, c’est le frais de pool qui retombe à 0 %

VNish

Antminer S19, S21, T19, T21, L7, L9

2 à 2,8 % du hashrate selon la série

LuxOS

Antminer séries 19 et 21 au complet, versions Hydro comprises, plus plusieurs WhatsMiner de MicroBT

2,8 % du hashrate, remboursés sur Luxor Pool

Comparez les deux modes de facturation sur un cas réel. Vingt rigs de six cartes chez Hive OS : dix-huit payants à 3 $, 54 $ par mois. Les mêmes chez minerstat, 40 $, et chez SimpleMining aussi, qui compte au rig quand Hive OS compte à la carte. Quatorze dollars d’écart par mois, cent soixante-huit sur l’année : le prix d’une carte d’occasion. Ça ne décidera de rien. L’ergonomie du tableau de bord, si : c’est là que passeront les heures.

Sur ASIC, le calcul change de nature. Cinquante S21 Pro produisent 371 $ brut par jour. Un firmware à 2,5 % prélève 9,28 $ par jour, soit 278 $ par mois, et il les prélève quel que soit le pool visé, celui de l’éditeur compris. Ce que Braiins ristourne est une autre ligne de la facture : le frais de sa propre pool, remboursé chaque jour au prorata du hashrate qui tourne sous son firmware, ce qui ramène le taux de pool effectif de 2,5 % à zéro. Deux prélèvements donc, dont un seul s’efface. Les 278 $ restent dus. Une licence à 2 $ par machine, chez Awesome Miner, coûte 100 $ par mois et laisse le choix du pool entier. Le pourcentage se paie en liberté de choisir un pool sur ses frais et son mode de paiement, la licence se paie en euros. Un parc qui grossit rend la seconde formule de plus en plus intéressante ; rester chez Braiins Pool allège la note du pool, pas celle du firmware.

Reste ce qu’on abandonne en flashant. Les conditions de service de Bitmain excluent expressément les modifications non autorisées du firmware ou du matériel par un produit tiers. Un Antminer sous Braiins OS, VNish ou LuxOS est hors garantie, l’unité entière et pas seulement la carte touchée. Le firmware d’origine se réinstalle, mais le service après-vente lit les journaux au retour de la machine. D’où la règle d’exploitation : on flashe les machines sorties de garantie, on laisse les autres finir leur période sous le logiciel d’usine.

La configuration par lot, et le nommage qu’on regrette six mois plus tard

Un mineur se configure avec cinq ou six champs, toujours les mêmes, quel que soit le mineur retenu pour l’algorithme visé. L’adresse du pool et son port. L’utilisateur, qui vaut adresse de portefeuille ou identifiant de compte, suivi du nom du worker après un point. Le mot de passe, qui vaut « x » chez presque tout le monde et sert chez certains pools à transporter une difficulté imposée. L’algorithme. Puis les réglages par carte : fréquence cœur, fréquence mémoire, limite de puissance, intensité.

lolMiner prend ça en ligne de commande, dans sa version 1.96a du 11 juin 2025 : --pool, où l’hôte et le port tiennent dans la même chaîne, au format hôte:port, --user au format identifiant.nomDuWorker, --pass, --algo, plus --devices, --cclk et --mclk pour descendre au niveau de la carte. Deux fichiers peuvent porter tout ça à sa place, --config pour un .cfg et --json pour du JSON, avec des noms de clés qui diffèrent d’un format à l’autre. On en choisit un et on s’y tient, sous peine de chercher longtemps pourquoi une machine ignore un réglage écrit ailleurs. XMRig travaille en JSON : chaque pool est un objet avec url, user, pass, algo, coin, keepalive, tls, enabled, et un champ rig-id qui nomme la machine côté pool quand celui-ci le gère.

Un détail vaut mieux que tous les autres : le repli. lolMiner accepte --pool, --user et --pass plusieurs fois, traités dans l’ordre, le premier étant la connexion principale et les suivants les secours. Un pool qui tombe ne doit pas arrêter un parc. Deux lignes de plus dans le fichier et la question est réglée pour de bon.

Pousser tout ça sur cinquante machines ne se fait pas machine par machine. Hive OS travaille par flight sheet : une combinaison portefeuille, pool et mineur, enregistrée une fois, cochée sur autant de workers qu’on veut, appliquée d’un bouton. Les profils d’overclocking suivent la même logique, à l’échelle de la ferme ou d’un worker isolé, sans partage possible entre fermes. Côté ASIC, Braiins Toolbox balaie une plage d’adresses, du type 10.10.10-11.*, puis installe, met à jour ou désinstalle le firmware, règle les pools, les cibles de puissance et les modes de ventilation sur toute la sélection, en interface graphique comme en ligne de commande.

Le nommage des workers est la décision de cette étape que l’on paie le plus longtemps. Baptiser les machines rig1 à rig50 coûte trois secondes et rend le tableau de bord illisible dès le deuxième mois : cinquante lignes qui ne disent ni où est la machine, ni de quel modèle il s’agit, ni sur quelle rangée aller la chercher. Encodez ce sur quoi vous filtrerez : le local, la rangée, le type. Un nom comme s21-a-03 se lit sans effort et se trie tout seul. Ce nom est aussi celui qui apparaît côté pool, et c’est le seul point commun entre les deux sources de vérité dont vous aurez besoin plus bas.

Les seuils, le watchdog, et le redémarrage après coupure

Une température ne suffit pas, il en faut trois. lolMiner distingue le capteur de bord, celui de point chaud et celui de la mémoire par son option --tmode, avec --tstop pour arrêter une carte à un seuil et --tstart pour la reprendre plus bas, typiquement 75 et 50. TeamRedMiner suspend le minage au-delà de --temp_limit, fixé à 85 °C par défaut, et reprend à --temp_resume. Sa dernière version remonte au 6 mai 2024 et le dépôt n’a rien reçu depuis. Il tourne encore très bien sur une carte AMD ; il ne recevra simplement aucun correctif le jour où une mise à jour de pilote le cassera. La mémoire est la ligne à surveiller de près en minage GPU, puisque c’est la bande passante mémoire qui décide du hashrate.

Le ventilateur est le capteur le plus précoce du lot. Une hélice qui ne répond plus se voit avant la surchauffe, qui arrivera quelques minutes plus tard. Les systèmes de gestion tiennent une régulation automatique visant une température de consigne ; un ventilateur bloqué à 0 tr/min sur une machine qui produit encore est une alerte à part entière, pas une ligne de journal.

Le hashrate plancher complète le tableau, à une réserve près. Le watchdog de TeamRedMiner, --eth_hashwatch, déclenche bien quand une carte sort d’une fourchette exprimée en mégahash par seconde, mais il est né pour l’ethash et n’en est jamais sorti : sur tout autre algorithme, l’option est acceptée et ne surveille rien. Qui mine du Kaspa ou de l’Autolykos avec ce mineur n’a pas de plancher de hashrate, quelle que soit sa ligne de commande. D’autres mineurs se déclenchent sur la perte de connexion au pool ou sur un nombre de redémarrages dans une fenêtre de temps. Les actions disponibles se ressemblent partout : quitter le mineur et laisser le système le relancer, le redémarrer avec les mêmes réglages, redémarrer la machine, l’éteindre, ou exécuter un script maison, ce que TeamRedMiner et lolMiner acceptent tous les deux.

Ces watchdogs sont logiciels, et c’est leur limite. Le programme qui surveille tourne sur la machine qu’il surveille. Si le mineur s’effondre assez fort pour l’emporter avec lui, ou si le noyau se fige, rien ne se déclenche et la machine reste allumée sans produire, parfois des jours.

Le watchdog matériel répond à ça, et il fait une chose que l’autre ne peut pas faire : il coupe physiquement. C’est un petit boîtier USB, et c’est la machine qui lui parle, pas l’inverse. Un agent tourne sur le système et lui envoie un battement à intervalle régulier ; chaque battement reçu remet le minuteur du boîtier à zéro et transporte au passage le délai avant lequel le suivant doit arriver. Quand les battements cessent, le minuteur va au bout et le boîtier court-circuite les broches Reset de la carte mère, exactement comme un doigt sur le bouton. Le noyau n’est jamais interrogé. Un noyau figé, de toute façon, ne répondrait pas. msOS reconnaît plusieurs références du commerce, identifiées par leur couple constructeur-produit, et fournit une commande de test pour vérifier que le boîtier agit vraiment avant qu’on en ait besoin.

Reste la coupure de courant, qui rend tout le reste inutile si elle n’a pas été prévue au niveau du BIOS. Le réglage vit dans Advanced, sous APM Configuration, et s’appelle Restore AC Power Loss. Trois valeurs : Power Off, qui est le défaut d’usine et laisse le rig éteint jusqu’à ce que quelqu’un se déplace ; Last State, qui restaure l’état d’avant la coupure ; Power On, qui redémarre dès le retour du courant. C’est Power On qu’il faut, sur chaque carte mère, vérifié machine par machine au montage. Une micro-coupure de deux secondes un dimanche soir, et sans ce réglage le rig attend le lundi matin. Les ASIC n’ont pas ce problème, ils repartent seuls : leur point faible est ailleurs, dans le pool sur lequel ils repartent.

L’API du mineur, et la seule vérification qui compte

Tout ce qui mine expose une interface. Sur ASIC, c’est l’API héritée de CGMiner, sur le port TCP 4028, interrogée par une requête d’une ligne qui nomme la commande voulue. Attendez-vous à du texte en retour : par défaut elle répond en champs délimités, collés bout à bout. Elle ne bascule en JSON que si la requête elle-même en est une, accolade ouvrante comprise. Le format de la réponse suit celui de la question, et se décide donc entièrement côté client. Les commandes de lecture donnent la version, la configuration, le résumé de production, la liste des pools, l’état de chaque carte de hachage et les statistiques détaillées. Les commandes privilégiées, elles, agissent : basculer de pool, en ajouter un, en désactiver un, sauvegarder, redémarrer, arrêter. Par défaut aucune n’est accessible ; l’écriture s’accorde adresse par adresse, en préfixant l’adresse autorisée d’un W dans l’option dédiée.

Ce port n’a rien à faire sur Internet. Une API de mineur joignable depuis l’extérieur est une machine qu’on pilote à votre place, et c’est très exactement par des configurations laissées ouvertes que des infrastructures entières se retrouvent à miner pour quelqu’un d’autre. Réseau séparé, filtrage sur les adresses de votre superviseur, rien d’autre.

Ce qu’on en fait tient en trois gestes : un relevé toutes les minutes, une courbe sur trente jours, une alerte au franchissement. Le contrôle décisif, lui, ne se lit sur aucune de ces courbes, parce qu’il demande de croiser deux sources.

D’un côté, ce que la machine dit produire. Le mineur compte les solutions que son propre code a trouvées. De l’autre, ce que le pool dit avoir reçu : un hashrate reconstitué à partir du nombre de parts soumises et de leur difficulté. Deux acteurs, deux méthodes, deux chiffres qui ne peuvent pas coïncider exactement. Vous êtes payé sur le second. Rapprocher l’un de l’autre, sur vingt-quatre heures et jamais sur cinq minutes, attrape ce que les tableaux de bord laissent passer.

L’écart se lit en taux de rejet. Sous 0,5 %, l’installation est saine. Entre 0,5 et 1 %, ça vaut un coup d’œil. Entre 1 et 3 %, quelque chose ne va pas. Au-delà de 3 %, on arrête ce qu’on fait et on cherche. La latence pure tient les parts périmées sous 1 %, et monte à 1,5 % pour un mineur installé à l’autre bout du monde de son pool. C’est le prix de la distance, et il s’arrête là. Au-dessus, inutile d’incriminer le réseau, sauf liaison sans fil ou commutateur saturé, deux fautes qui se voient au ping bien avant de se voir au taux de rejet. Les causes changent de nature. Des parts invalides pointent vers un overclocking trop poussé ou une carte de hachage qui se dégrade ; des doublons, vers un firmware qui boucle sur ses tentatives.

La facture est réelle sans être spectaculaire. Sur un S21 à 3 500 W payé 0,07 $ le kilowattheure, deux pour cent de rejet coûtent environ 43 $ par an et par machine, dix fois plus sur dix machines. C’est peu comparé à la facture d’électricité, et c’est beaucoup pour un défaut qui se corrige en baissant une fréquence de quelques dizaines de mégahertz.

Mettre à jour un parc sans le perdre

Jamais cinquante machines le même soir. L’arithmétique suffit à l’expliquer : une version qui se comporte mal sur votre matériel, c’est cinquante machines à reflasher à la main, et pendant ce temps rien ne produit.

Les versions de Braiins OS portent l’année et le mois, sans que tous les mois y passent : après la 26.01 du 18 février 2026 vient directement la 26.04 du 15 avril, et la série court aujourd’hui jusqu’à la 26.08. C’est cette 26.01 qui a activé le lissage dynamique de performance par défaut et ajouté la prise en charge des S21e Hyd., S21 XP Hyd. et S19 XP+ Hyd., trois changements dans la même livraison. Une version qui change un défaut change le comportement de tout un parc d’un coup, y compris sur les machines dont personne n’avait touché la configuration.

La marche à suivre tient en quatre temps. La première se choisit parmi les moins bien placées thermiquement, pour que le test soit sévère. Quarante-huit heures sous observation, en regardant le hashrate accepté côté pool et non celui qu’affiche la machine, les trois températures et le taux de rejet. Une rangée ensuite, si rien n’a bougé. Le parc enfin. Sur une installation minage professionnelle, cette montée par vagues coûte trois jours et évite la nuit blanche.

Deux règles complètent la procédure. On garde l’image du firmware précédent en local, parce qu’un retour arrière depuis un site d’éditeur un dimanche soir n’est jamais aussi rapide qu’on l’espère. Et on ne change qu’une chose à la fois : mettre à jour le firmware et changer de pool le même soir, c’est renoncer à savoir lequel des deux a causé la chute. Braiins Toolbox opère sur une plage d’adresses, donc le retour en arrière se fait aussi vite que le déploiement, ce qui est la vraie raison de passer par l’outil plutôt que d’ouvrir cinquante interfaces web.

Ce qui réveille quelqu’un, et ce qui attend le matin

Hive OS pousse ses notifications sur Telegram ou Discord, les autres systèmes ont leurs canaux. Le canal n’a aucune importance. Le tri en a une.

Réveillez-vous pour quatre choses. La ferme entière décrochée du pool, qui signe une coupure de courant ou une panne réseau et met en jeu la production complète. Une température ambiante qui monte sans redescendre, parce qu’une extraction d’air en panne emmène tout le local. Un ventilateur à l’arrêt sur une machine qui produit encore, la surchauffe suit de quelques minutes. Et le redémarrage en boucle, qui signe presque toujours une alimentation en fin de vie.

Laissez dormir tout le reste. Une carte sur quarante qui a décroché. Un taux de rejet passé de 0,4 à 0,8 %. Une mise à jour disponible. Un hashrate à 3 % sous celui d’hier, qui peut n’être que la variance du pool. Ces lignes se traitent au café, dans l’ordre, avec l’historique sous les yeux.

Chaque seuil se double d’une durée, sans quoi il ne vaut rien. Quatre-vingt-dix secondes d’absence, c’est un redémarrage, rien de plus. Vingt minutes, et la machine ne reviendra pas toute seule. Sans ce délai, chaque redémarrage nocturne déclenche une notification, et une alerte qui sonne toutes les nuits cesse d’être lue en une semaine. Réglez les seuils pour qu’une nuit ordinaire soit silencieuse, puis tenez-les. Un parc bien réglé se tait pendant des semaines. C’est ce silence qu’achète une installation minage professionnelle, et c’est à peu près la seule chose qui la sépare d’un tas de machines dans un garage.

Questions fréquentes sur le pilotage d’un parc de minage

  • Faut-il savoir programmer pour piloter un parc de machines de minage ?
    Non. Tout se fait par fichier de configuration et par interface. Savoir lire du JSON, écrire une ligne de commande et monter un petit script de relevé sur l’API suffit à tenir un parc de cinquante machines.

  • Un firmware tiers annule-t-il la garantie de l’ASIC ?
    Oui. Les conditions de service de Bitmain excluent les modifications non autorisées du firmware par un produit tiers, et c’est l’unité entière qui sort de garantie. Le firmware d’usine se réinstalle, mais les journaux gardent la trace.

  • Le pool affiche moins que ma machine, faut-il s’inquiéter ?
    Un écart existe toujours : les deux camps mesurent différemment. Comparez sur vingt-quatre heures. En dessous de 1 % de rejet, laissez tourner ; au-delà de 3 %, cherchez du côté de l’overclocking, de la latence réseau ou d’une carte de hachage en fin de vie.

  • Peut-on gérer des ASIC et des rigs GPU dans le même tableau de bord ?
    Oui. Hive OS passe par son ASIC Hub, minerstat et Awesome Miner prennent les deux nativement. Les réglages, eux, restent séparés : un profil d’overclocking GPU n’a pas d’équivalent sur un ASIC.

  • Combien coûte la supervision d’un parc de cinquante machines ?
    Entre 75 et 100 $ par mois en licences à la machine : 100 $ chez Hive OS comme chez minerstat ou Awesome Miner au tarif mensuel, 80 $ chez minerstat en réglant l’année d’avance, 75 $ chez Awesome Miner au même régime. Un firmware facturé au pourcentage revient à 278 $ par mois sur cinquante S21 Pro à 2,5 %, et ces 278 $ sont dus quel que soit le pool, y compris celui de l’éditeur.