Serveur de minage de crypto-monnaie Linux Debian

Dans cette article nous allons mettre en place un serveur de minage de crypto-monnaie sur un serveur Debian Wheezy.

Je suppose que si vous êtes arrivé sur cette page c’est que le sujet de la crypto-monnaie vous parle déjà et je ne ferais donc pas d’introduction à ce sujet.

 

Partie 1 : Hardware

La partie indispensable dans un serveur de minage c’est bien évidement le matériel. Pour le choix de chaque composant il faut avoir en tête quelques points :

La carte mère

  • Le socket du processeur doit permettre la mise en place d’un processeur low cost. En effet, dans le minage c’est les cartes graphiques qui bossent donc inutile d’acheter une carte mère qui vous demanderas l’achat d’un processeur onéreux.
  • Avoir le plus possible de port PCI express 16X ou 1X. Les ports PCI express supportent les cartes graphiques. Il en faut donc le plus possible.

Les cartes graphiques

En ce qui concerne les cartes il est préférable de se tourner vers du matériel ATI qui offre une puissance de calcul brute supérieur aux carte nvidia. Pour le choix de la carte vous pouvez consulter par exemple ce wiki qui contient toutes les cartes testées par la communauté de mineur Litecoin. L’unité intéressante est le kH/s qui représente la vitesse de traitement de la carte. Plus il est élevé pieux c’est !

L’alimentation

Un point important à calculer en fonction des cartes graphiques choisis. Si vous sous dimensionnez, le serveur se coupera. Les alimentations puissantes sont très chère, il est préférable de ne pas surdimensionner pour des raisons économiques.

Les câbles

Les nappes, que l’on appel « riser », permettent de

  • déporter les cartes graphiques de la carte mère pour optimiser le refroidissement
  • convertir un port PCI Express 1X en 16X

Vous pouvez en trouver sur dealextreme ici pour le 16X to 16X et la pour le 1X to 16X.

Le boitier

Pour le boitier rien de mieux que de se fabriquer un truc maison ! Vous trouverez quelques idées intéressantes dans la recherche d’image Google. Il faut un truc qui favorise un maximum le refroidissement des cartes graphiques.

CPU, RAM, disque dur

Le moins chère est le mieux! Ce ne sont pas des composants important.

Partie 2 : Software

Je pars du principe que vous avez installé une Debian toute fraîche et dépourvu d’interface graphique.

Prérequis

Modification du source list dans /etc/apt/sources.list. Il faut ajouter “contrib” et “non-free”

Update des paquets

Installation de quelques dépendances

Suppression du pilote  natif de prise en charge des cartes ATI

Pilotes ATI

On télécharge les derniers pilotes ATI ici http://support.amd.com/fr-fr/download et on place l’archive sur le serveur.

Installation

Une fois l’installation effectuée on peut lister les cartes avec la commande

 

SDK ATI

Le SDK permet de connaitre la températures des cartes, la vitesse des ventilateurs et permettra aussi au programme de minage de modifier le comportement de la carte.
Téléchargement du SDK ATI (pour 64bits)

On extrait l’archive

Installation
./Install-AMD-APP.sh
Générer le fichier xorg en fonction du nombre de carte sur le RIG

Exemple avec 2 cartes

Cette dernière commande est à effectuer à chaque modification du nombre de carte sur le serveur.

Editer le fichier /etc/profile et ajouter les lignes suivantes en fin de fichier

Juste après ça on reboot pour prendre en compte les changements

On regarde si le sdk fonctionne en récupérant les températures

Si cette commande retourne une erreur, c’est que le serveur X n’est pas lancé. Le lancé avec la commande

Une fois lancé, le passé en tache de fond avec la combinaison de touches crtl+Z puis taper “bg” dans la console. Vous pouvez ensuite rappeler la commande ati pour l’affichage des températures.
Pour placer xinit au démarrage il faut ajouter ce script dans /etc/init.d/xinit

Le rendre exécutable et le placer dans la startup

Installation de CGMINER

Cgminer est le programme qui va miner la crypto-monnaie.
Téléchargement de version 3.7.2 depuis github. Attention les version supérieurs ne concernent uniquement les carte de type ASIC.

On n’installe pas tout de suite, il nous faut avant cela une librairie qui va permettre a cgminer de modifier le comportement des cartes graphiques.
On créé un dossier pour accueillir la librairie. Celle-ci est à disposition sur le site officiel AMD.

On place les fichiers extraits dans le dossier ADL_SDK de cgminer

Cgminer à besoin aussi que le système possède les librairies opencl. Nous avons téléchargé ces dernières avec le SDK de ATI préalablement. Il ne reste qu’a les placer au bon endroit.

Cette fois c’est bon, nous avons tous les prérequis pour installer cgminer .On se place dansson dossier pour l’installation. La ligne de commande suivante compile cgminer avec les librairies que nous avons installé sur le système précédemment.

Une fois compilé, on installe en dur

A ce stade la commande est disponible depuis n’importe ou sur le système. On peut vérifier l’installation en affichant la version

Vous pouvez aussi constater que cgminer voit bien vos carte avec la commande

Si cette commande affiche le nombre de GPU utilisable c’est tout bon!

L’installation est terminée. Vous pouvez tester via la ligne de commande suivante avec les information sur votre pool

Il est plus pratique de mettre les paramètres du programme dans un fichier de configuration.
Pour ce faire, Il faut créer un fichier cgminer.conf sous /etc/cgminer (créer le dossier avant)

Il vous faudra trouver les meilleurs paramètres en fonctions de vos cartes graphiques. Attention ! Un mauvais réglage peut tuer vos cartes!
Lancement de cgminer avec le fichier de configuration

L’installation est terminée. Pour plus de confort je vous propose ce petit script init. Il permet de

  • Lancer automatiquement le service CGMINER au démarrage de la machine
  • Stopper CGMINER
  • Relancer CGMINER
  • Obtenir le statut de CGMINER (lancé ou non)

Le rendre exécutable

Le placer au démarage à la fin du boot de la machine

Pour lancer cgminer vous pouvez à présent faire

Au lancement le script place la sortie standart du service CGMINER en mémoire de façon à récupérer l’affichage à chaque nouvelle connexion ssh.
Pour récupérer l’affichage:

  • Se connecter en ssh sur la machine
  • Vérifier que le service cgminer est bien lancé avec la commande

  •  Si le programme est bien lancé il est possible de récupérer l’affichage avec

L’écran bascule alors sur la sortie d’affichage du service cgminer qui ressemble à ceci
cgminer_shell

Attention ! Ne pas faire CTRL+C pour quitter l’écran sans quoi le programme serait stoppé! Pour quitter l’écran il faut effectuer les manipulations suivantes

  • taper sur la combinaison de touche CTRL+A
  • taper une fois sur la touche “d”

Cette fois c’est bien terminé. Je vous conseille de faire un tour sur mes autres articles autour de la sécurité d’un serveur Debian pour vraiment faire les choses proprement.

3 thoughts on “Serveur de minage de crypto-monnaie Linux Debian”

  1. Camp514 dit :

    Genial! c´est exactement ce que je veux, partir d´une Debian minimal. Merci!

    Par-contre j´ai un problème en partant, quand je test si le sdk fonctionne avec ¨aticonfig –adapter=all –odgt¨ j´ai cette erreur ¨ERROR – OD Get Version Failed¨ et la commande xinit me renvoi ¨xinit

    Fatal server error:
    Server is already active for display 0
    If this server is no longer running, remove /tmp/.X0-lock
    and start again.

    Please consult the The X.Org Foundation support
    at http://wiki.x.org
    for help.

    XIO: fatal IO error 11 (Resource temporarily unavailable) on X server « :0 »
    after 7 requests (7 known processed) with 0 events remaining.¨

    Je continue de chercher.

    1. Sispheor dit :

      Il faut tuer le serveur X avant cette manipulation. Vous pouvez aussi supprimer le fichier xorg.conf et redémarrer la machine pour remettre a zéro les paramètres d’affichage

      1. Camp514 dit :

        Merci, oui ça fonctionne! dans mon cas je crois que c´étais xorg.conf,ben oui j´avais –initial le driver libre avant d´installer catalyst. Enfin c´est mon hypothèse très subjective.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *