La Lanterne Rouge

Warning: Geek Inside

Dune et de deux : mes serveurs maison

- Posted in Sans catégorie by

Aussi loin que je me souvienne, lorsque j'avais ma première machine (un 486DX2 avec – tenez-vous bien – 6 mégaoctets de RAM), un seul ordinateur ne m'a jamais semblé suffisant. Depuis, j'ai toujours cherché à récupérer de nouvelles machines utilisables dès que j'en trouvais. Le plaisir de les démonter, de les nettoyer – car c'est souvent nécessaire – puis de leur réinstaller un OS pour voir "à quoi ça ressemble, déjà, une antiquité" reste un hobby dont je ne me lasse pas.

Shufflepuck Cafe, un des premiers jeux dont je me souviens

Précision tout de même : je suis de la génération PC. Je n'ai ni n'ai eu aucune machine qui ne soit autre chose qu'un PC. J'ai déjà posé mes pattes sur un Atari ST quand j'étais gamin, mais à ce moment-là je n'y voyais qu'une simple console de jeu. Shufflepuck Café m'a d'ailleurs assez marqué, même si en y repensant, je n'ai jamais dû y jouer plus de 20 minutes d'affilée.

Évidemment, j'en arrive aujourd'hui sur ma lancée à posséder une douzaine de PC en état de marche. Là j'avoue, c'est un peu trop, même pour moi. Mais il m'arrive régulièrement d'en remonter un pour jouer à Stunts: 4D Driving, Comanche, ou plus proches de nous, G-Police et Midtown Madness, chacun de ces jeux nécessitant un matériel et un OS de son époque. Le reste du temps, je dois reconnaître que seul un sous-ensemble assez réduit est utilisé.

Dans ce sous-ensemble, il y a 2 bêtes particulières que je vais présenter. Leurs configurations sont récentes et assez similaires, bien que modestes, ce sont mes serveurs "maison" : Sihaya & Usul.

Les amateurs du chef d'oeuvre de Frank Herbert y reconnaîtront des mots issus du vocabulaire fremen (et en réalité issus de l'arabe), le premier signifiant "printemps du désert" et affectueusement donné à Chani, la concubine fremen de Paul/Muad'Dib, et le second "la base du pilier", surnom donné à ce dernier. En tant que grand fan de la série, c'était bien naturel pour moi de donner à mes machines des noms tirés de la Saga.

Sihaya

Sihaya (Chani)

Pour celui-là, il y a eu deux versions. La première était surtout pour tester le principe : un PC tournant 24/7 chez mon hébergeur(1) qui serait accessible depuis Internet via une redirection DNS. Cette version 1 était basée sur un Athlon XP 1900+ avec 512Mo de RAM et, au départ, 40Go de disque (c'était vraiment pour tester !). Comme les fils sont interdits, parce que "ça fait pas beau", une clé wifi 802.11g de Belkin le reliait à la box. Sachant que cette machine allait aussi me servir de desktop sur place, j'ai installé Ubuntu 8.10 en version Desktop.

Une fois le pack "de base" installé (OpenSSH, ProFTPd, Apache 2, Samba, ...) je pouvais contrôler le PC depuis n'importe où. C'était assez grisant (oui il m'en faut pas trop). Mais la stabilité du système était très aléatoire, et quand ce n'était pas le wifi qui déconnectait intempestivement, c'était la machine entière qui plantait et nécessitait un hard-reboot (écran noir, plus de réseau, et des corruptions de données à la pelle).

Le matériel – de récupération, cela va sans dire – était apparemment fatigué et après avoir changé le disque dur et observé que les plantages continuaient, j'ai dû me résoudre à conclure que la carte mère, l'alimentation, ou les deux, étaient fatigués et ne supportaient pas d'être laissés seuls aussi longtemps (c'est sociable ces petites bêtes). La RAM, après plusieurs tests avec Memtest86+, s'étant révélée elle en parfait état (en même temps, Kingston...).

Après 14 mois de bons et loyaux services (enfin, c'est vite dit), la machine a finalement atteint le stade où une journée de marche était déjà trop.

Trouver une configuration suffisante pour faire tourner un serveur et un petit desktop sous Linux aujourd'hui représente tout sauf une difficulté : une config âgée de 5 ans s'en tire haut la main. Néanmoins, ma fibre écologique (hem) me disait qu'il fallait surtout quelque chose qui consomme le moins possible. Exit donc les pointes sèches... heu... les processeurs gourmands et les alimentations de "450W" du constructeur préféré de Canard PC à l'efficacité et la sécurité extrèmement discutables. En outre, il fallait que ça soit silencieux et que ça ne chauffe pas (conditions imposées par mon hébergeur). Les nettops, avec leur très faible encombrement, leurs processeurs de portables (ou presque) et leur équipement de base correspondaient tout à fait à mes besoins.

C'est ainsi qu'en regardant le catalogue de plusieurs e-commerçants en juillet dernier, je suis tombé sur un modèle qui m'a semblé être le parfait rapport configuration/prix que je recherchais : le Giada Slim-i20-PD.

Photo du nettop Sihaya

Commandé, reçu, déballé, déçu (par la couleur, pinaise je l'avais choisi blanc !), emballé par les performances et l'équipement, conforme lui, à mes attentes :

  • Processeur Intel Atom D510 (dual-core avec Hyper-Threading, donc 4 cores logiques)
  • 2Go de RAM DDR2 PC-5400
  • 320Go de disque (en 5400rpm, faut pas rêver non plus)
  • Ethernet Gigabit
  • Wifi 802.11n
  • 4 ports USB à l'arrière + 1 combo USB/eSATA sur le dessus
  • Lecteur de cartes 4-en-1
  • Sorties VGA et HDMI

Il tourne depuis maintenant presque 6 mois sans heurt majeur, hormis des déconnexions régulières du wifi mais que j'ai réussies sinon à éviter, mais au moins à contourner grâce à au script suivant (librement adapté de celui disponible ici) :

#!/usr/bin/env bash
#/usr/local/bin/checknetw.sh

# Script to monitor and restart wireless access point when needed

maxPloss=80 #Maximum percent packet loss before a restart

restart_networking() {
        # Add any commands need to get network back up and running
        /etc/init.d/networking restart
        sleep 3
        /sbin/stop network-manager
        sleep 3
        /sbin/start network-manager

        sleep 15        #let's wait a bit more before starting other services

        #Other services
        /etc/init.d/dovecot restart
        #/etc/init.d/tor restart
        #/etc/init.d/openvpn restart

        #Mail report
        /usr/local/bin/mail_syslog
}

# First make sure we can resolve google public DNS, otherwise 'ping -w' would hang
if ! $(host -W5 8.8.8.8 > /dev/null 2>&1); then
        logger "checknetw.sh: Network connection is down, restarting network ..."
        echo "checknetw.sh: Network connection is down, restarting network ..."
        restart_networking
        exit
fi

# Initialize to a value that would force a restart
# (just in case ping gives an error and ploss doesn't get set)
ploss=101
# now ping google for 10 seconds and count packet loss
ploss=$(ping -q -w10 8.8.8.8 | grep -o "[0-9]*%" | tr -d %) > /dev/null 2>&1

if [ "$ploss" -gt "$maxPloss" ]; then
        logger "checknetw.sh: Network connection is down, restarting network ..."
        echo "checknetw.sh: Packet loss ($ploss%) exceeded $maxPloss, restarting network ..."
        restart_networking
fi

Ce script est CRONé et s'exécute automatiquement toutes les 5 minutes afin de vérifier si la connexion est toujours active. Si ce n'est pas le cas, il redémarre les services "networking" et NetworkManager afin de relancer une connexion avec la box.

La commande commentée par "Mail report" appelle un autre script que je ne détaillerai pas ici, mais qui extrait les 100 dernières lignes des fichiers log du système (syslog, daemon.log, ...) et qui me les envoie par mail afin que je sois notifié des déconnexions (enfin, des reconnexions plutôt) et que je puisse investiguer immédiatement sur leur origine si nécessaire.

Si on exclut les coupures électriques et désynchros de la box (petite ville...), j'arrive à une disponibilité qui doit avoisiner les 95-98%. Largement suffisant pour moi.

Ce serveur, éloigné géographiquement de mon domicile, constitue un excellent mirroir pour mes données importantes (paperasserie numérique et autres) que j'en profite pour synchroniser régulièrement via différents logiciels de backups.

Usul

Usul (Paul Atréides)

Celui-là a bien failli ne pas atterrir finalement chez moi, mais je suis assez satisfait d'y être parvenu. Je vais éviter les détails (ha ha), mais disons que je pense avoir profité d'une erreur de prix d'une grande surface (rien d'énorme non plus hein).

En effet, fin novembre, je tombe sur les promotions "déstockage" du rayon informatique. Comme souvent dans ces grandes enseignes, on compte beaucoup sur la crédulité des pig... des clients pour leur refourguer du matos à 2 fois le prix proposé par les e-commerçants ("Oui mais monsieur, nous avons des responsables de rayon experts dans leur domaine qui savent vous conseiller pour que vous achetiez plus malin.", ha ha, elle est trop bonne). Bref, toutes ces "promotions" ne valaient rien et représentaient au mieux une baisse symbolique des prix conservant, à n'en pas douter, une marge confortable au magasin.

Toutes, ou presque. Car je vois un carton Compaq assez discret mais avec une grosse étiquette jaune criant haut et fort "199€" et en m'approchant je découvre qu'il renferme une UC, un écran 21,5" Full-HD (1920x1080) et accessoirement un clavier standard ainsi qu'une souris. D'abord assez surpris, je commence à lire plus précisément l'étiquette décrivant le contenu :

  • un Atom 230 à 1,6GHz,
  • 1 Go de RAM DDR2 PC-4200,
  • un disque S-ATA de 160Go,
  • un graveur DVD double couche S-ATA également,
  • un port Ethernet 10/100,
  • une carte wifi 802.11n
  • et un lecteur de cartes 4-en-1

le tout équipé évidemment de Windows XP Home Edition. Trop modeste pour un desktop minimal mais sacrément intéressant pour un NAS ou un serveur ! (une fois un vrai OS installé dessus)

J'ai alors trouvé le prix plutôt compétitif pour un tel package. Au vu des autres articles présentés tout autour, j'aurais imaginé que seule l'UC sans clavier ni souris serait proposée à ce prix. C'est comme si l'écran était un cadeau bonus !

J'hésite, puis je me raisonne, et je repars sans. Petit tour sur le Web pour essayer de récupérer plus d'informations sur ce fameux PC. Je tombe sur la page de présentation du produit par cette même enseigne. Prix original : 359€. Une sacré différence donc. (je repète, 45% de réduc' pour un article neuf, intact, dans la grande distribution, au rayon informatique c'est vraiment inespéré)

Après plusieurs jours d'hésitation, je me décide à prendre le dernier carton (il y en avait 3 au départ), non sans prévoir en arrivant chez moi de me flageller au moyen de câble Ethernet Cat5e pour cet instant de faiblesse. (je n'ai finalement pas eu besoin car j'ai estimé que le simple fait de trimballer le carton de 20kg à pied sur 2km puis en métro a suffit comme pénitence)

Après installation d'une Debian Squeeze, le voilà ronronnant depuis deux mois dans mon placard, couplé à mon NAS LaCie et me fournissant un proxy Squid sous VPN ainsi que plusieurs divers autres services sur lesquels j'ai pris l'habitude de compter dès que je suis au boulot.

Sardaukar

J'attends de voir cet été comment les températures vont évoluer avant de lui attribuer définitivement cette (petite) place à côté de mes fringues. Il ne possède en effet qu'un seul ventilateur à l'arrière de la tour (le processeur étant monté en fanless) et j'ai bien peur que les 35°C atteints l'été dernier ne soit pas à son goût quand ils reviendront d'ici quelques mois.

Pour revenir sur ce prix qui m'étonne encore aujourd'hui, j'ai l'intime conviction que la promotion était prévue pour être à 299€ et non 199 comme cela a été le cas. Cette conviction a été renforcée lorsque, il y a quelques jours, je suis repassé dans le même rayon pour voir cette fois-ci les soldes "2ème démarque, oulàlà des prix fous-fous-fous" : j'ai bien failli éclater de rire quand j'ai vu l'UC, seule, nue, sans carton ni transformateur, posée hâtivement dans le bac au milieu des bouilloires et des souris NoName, avec la même étiquette jaune criarde "199€" mais suivie cette fois-ci de "En l'état" !

C'est là que j'ai vraiment eu le sentiment de satisfaction d'avoir un peu arnaqué le magasin, mais que celui-ci était déjà en train de riposter en proposant une offre totalement fantaisiste, que ses "responsables de rayon super-experts" allaient bien arriver à refourguer à Mémé Jeanine en lui proposant en aparté 19€ de réduction sur ce prix si elle prenait en sus le grille-pain avec une extension de garantie de 5 ans(2).

Voici donc mes deux serveurs aux configurations que je ne peux que recommander pour quelqu'un qui a des besoins similaires. Concernant leur consommation, qui, rappelons-le, était un des critères majeurs entrant dans le choix de ces machines, je n'ai malheureusement pas de chiffres précis à donner. Je ne peux que supposer, d'après ce que j'ai pu lire ici ou là qu'elle ne dépasse pas les 20-25W en idle pour Sihaya et 40W pour Usul (moins économe). Mesurer la consommation exacte reste assez complexe et je n'ai pas moyen de comparer les factures entre avant et après la mise en place des serveurs sur une échelle significative (un an en gros).

(MISE À JOUR 24/10/2011 : le bilan des consommations est disponible ici !)

De toute façon il ne faut pas se voiler la face : garder des PC tournant en permanence n'est pas sans conséquence ni sur la facture ni pour la planète. Pour la facture, j'en fais mon affaire. Pour la planète, j'essaye de compenser sur d'autres aspects dans ma vie quotidienne (pas de voiture, peu de viande, peu de chauffage en hiver, ...).

Dans un futur article, je présenterai peut être mes autres bêtes : Stilgar, Krys et Gom-jabbar :)

(1) Ma mère, toujours.

(2) À 19€ aussi, comme quoi le hasard fait bien les choses.