Les solutions de stockage en réseau (ou NAS) sont souvent chers et peu flexibles de nos jours. On trouve des disques avec port Ethernet mais ceux-ci sont souvent pleins de logiciels propriétaires mal développés et aux performances catastrophiques. Les besoins en la matière sont différents pour chacun. Dans mon cas, je désirais un petit serveur de fichier qui me permette principalement de partager en réseau à moindres frais mes disques durs en USB2 (et en format ext3) et accessoirement de me servir de plateforme web de développement pour tester des bidouilles. Les besoins sont loin d’être énormes, mais habitant dans une maison de grands consommateurs de média1, il me fallait des débits relativement corrects et surtout une machine sur laquelle je peux compter. Mon réseau ressemble à peu près à cela2 :

Linksys NSLU2
Incité par un ami, je me suis procuré un Linksys NSLU2. Cette machine est dotée d’un port Ethernet et deux ports USB2, d’un CPU de 266Mhz ARM et de 16Mo de RAM. Une fois flashé, il était possible d’installer Debian (ou d’autres systèmes) sur un disque dur ou une clef USB connectée. Les principaux avantages de cette solution sont la faible consommation3, le faible encombrement et le silence permanent. Grâce aux ports USB2 et l’aide d’un hub USB, on pouvait y connecter une multitude de disque. Les performances étaient loin d’être extraordinaires, mais compte tenu du hardware disponible (surtout les 16Mo de RAM), il se débrouillait très très bien. Le transfert en Samba via Ethernet par exemple atteignait les 4Mo/s. On pouvait en outre y installer des tas de services qui peuvent être très utiles : mt-daapd / firefly (pour partager sa musique sur un réseau), un serveur web4 - lighttpd, un client torrent - rtorrent, un serveur de fichier - samba ou autre, etc.
Cette solution est vraiment chouette sauf quand ça commence à tomber en panne. Sur les six mois que je l’ai utilisé, j’ai eu trois pannes. Chaque panne m’a pris au moins 12 heures à réparer sauf la dernière qui a été fatale à cette pauvre limace. Le pire c’est - que quand quelque chose ne tourne pas rond sur cette machine - il est impossible de savoir exactement ce qu’il se passe. On chipote autour de la boîte noire, on scrute le clignotement des LEDs de la machine, et on tente désespérément des :
ping 10.0.0.100 && ssh root@10.0.0.100
… sans en entendre la moindre résonnance. Les moults tentatives de sauvetage de cet acéphale mal luné se sont toutes soldées d’un échec. Après une dernière convulsion, le mollusque se laissa choir, laissant à son dresseur un sentiment teinté de vague à l’âme et de tristesse.
Être incapable de dire précisément ce qu’il se passe - à moins d’être un réel expert en la matière - est une frustration très dérangeante. J’aime qu’une technologie quelle qu’elle soit, soit intelligible autant que faire ce peut. Je n’aime pas les pannes inexpliquées. Une bonne technologie doit être transparente et aisément saissisable.
Dépité d’avoir perdu une solution efficace et bon marché mais qui néanmoins s’avérait être complètement hors d’atteinte à la moindre panne, je suis parti à la recherche d’un remplaçant. J’ai d’avoir cherché dans les différentes solutions de type Mini-ITX, Nano-ITX, et Pico-ITX. La plupart de ces composants proposent des CPU VIA. Elles possèdent un ventillateur pour refroidir le CPU ou non. Elles s’alimentent via des boitiers d’alimentation standards, et possèdent une connectique souvent largement suffisante : USB2, Ethernet, VGA, Audio, etc. Ces solutions sont fort intéressantes mais encore assez chers pour ce qu’elles proposent. De ce fait, la solution vers laquelle je me suis tourné est celle du Mini-PC de marque Shuttle K45.
Shuttle K45
Le Shuttle K45, est une grosse boite à chaussure de 17cm de haut, 17cm de large et 30cm de long. Il est noir brillant et solide comme la carapace d’un Scarabée. Il ne s’agit ni d’une solution particulièrement faible en consommation d’énergie et en faible encombrement, mais d’une alternative économique et très polyvalente. La consommation doit atteindre les 30 watts ce qui est très raisonnable comparé à un ordinateur traditionnel.
J’ai acheté avec 2 x 1Go de RAM Kingston5 et un CPU Dual-Core E2160 à 1.80 Ghz6
J’ai installé sur la machine une distribution Gentoo que j’ai pu installer sur un disque 3.5 via VMWare avant d’avoir la machine physiquement7. Vous pouvez lui dire bonjour ici : http://holoptisme.org/
Fichiers de configuration :
Installer firefly/mt-daapd pour partager de la musique
Dans un premier temps, il faut installer mt-daapd et toutes les dépendances de base. Pour ce faire, j’ai fait :
emerge mt-daapd libtool
Ensuite, j’ai chargé les sources de la dernière version de firefly sur le site des développeurs, et je l’ai compilé puis installé :
./configure –enable-sqlite3 –with-sqlite-includes=/usr/local/include –with-sqlite-libs=/usr/local/lib –enable-oggvorbis –enable-flac –enable-upnp –enable-musepack –prefix=/usr
make
make install
Économiser l’énergie de disques durs en USB2 qui ne sont pas utilisés
J’ai écrit aussi un petit script qui me permet d’éteindre mes 4 disques USB2 lorsqu’ils ne sont pas utilisés pendant les 60 secondes vérifiées toutes les 10 minutes. C’est loin d’être parfait mais ça fonctionne très bien.
#!/bin/sh
state=`tail -n 8 /proc/diskstats`
up=1
sleep 60
newstate=`tail -n 8 /proc/diskstats`
echo -e $newstate
if [ “$state” = “$newstate” ]; then
if [ $up = 1 ]; then
echo -e “spin-down\t” `date`
sync
state=`tail -n 8 /proc/diskstats`
echo -e $state
sdparm –command=stop /dev/disk/by-label/misc
sdparm –command=stop /dev/disk/by-label/cinema
sdparm –command=stop /dev/disk/by-label/lavie
sdparm –command=stop /dev/disk/by-label/dico
up=0
fi
fi
Je l’ai ensuite associé à une entrée du crontab par laquelle le script est lancé toutes les 10minutes.
Le choix du K45 n’est pas parfait, notamment du point de vue de la consommation d’énergie et du bruit émi. Il reste néanmoins un bon compromis entre les ordinateurs traditionnels et les Micro/Nano/Pico-PC Fanless qui sont malheureusement encore beaucoup trop chers.
- J’habite avec 2 colocataires.[back]
- Du temps du NSLU2 du moins.[back]
- 5 watts sans disque dur.[back]
- Vraiment un excellent serveur Web. Je me demande d’ailleurs si je vais encore utiliser Apache - à chaque upgrade d’Apache, les développeurs changent la manière de le configurer.[back]
- Pour les performances des chipsets graphiques, il est conseillé d’équilibrer la RAM.[back]
- J’aimerais l’underclocker pour consommer moins et qu’il chauffe moins. Si quelqu’un s’y connait, je suis preneur d’infos.[back]
- C’est vraiment super pratique.[back]
