Mon projet de NAS rapide sous macOS (partie 1)

Depuis quelques années, je commence à avoir beaucoup trop de données à la maison. J’ai installé des Time Capsule, des NAS, des disques externes (etc.) mais un problème se posait : les performances d’une part et la fragmentation d’autre part. Des données sur tel NAS, d’autres sur un disque, les sauvegardes à un autre endroit, etc. A un moment, j’ai décidé de tout rassembler. L’idée, issue d’un article de mon collègue sur Canard PC Hardware, a été de monter un PC pour le stockage en Ethernet 10 Gb/s.

Je parle de la partie 1 dans le titre parce que – pour le moment – je n’ai monté qu’une partie d’une projet. la première étape était de vérifier la viabilité du montage en restant en Ethernet 1000 classique, mais avec un bon espace de stockage. La seconde et la troisième étape seront de tout passer en 10 Gb/s et de diminuer les nuisances sonores et la consommation. Il n’y a pas trop de photos parce que je n’en ai pas pris pendant la première partie…

Un Mac Pro avec du RAID

Le point de départ, inspiré par Gilles, c’est un Mac Pro. J’ai acheté un Mac Pro de 2006 sur eBay (~175 €), une machine puissante pour son époque (deux Xeon dual core) avec plusieurs connecteurs PCI-Express pour la carte 10 Gb/s et la carte RAID. Pour faire bonne mesure, j’ai ajouté de la RAM trouvée sur eBay (une vingtaine d’euros pour 16 Go de FB-DIMM). J’ai utilisé une des deux prises SATA cachées de ce Mac Pro pour installer un SSD dans la seconde baie optique. J’ai utilisé un vieux modèle de 120 Go qui traînait chez moi. Le GPU d’origine étant franchement lent, je l’ai remplacé par une vieille GeForce GT 610 passive qui traînait (aussi) avec un adaptateur HDMI Headless pour simuler un écran (si vous êtes prêts à attendre un peu, ça vaut moins de 5 €). Elle n’a pas d’EFI adapté (donc on perd l’affichage au démarrage), donc j’ai gardé la GeForce 7300. Ensuite, j’ai installé Mac OS X. Par défaut, le Mac Pro 2006 supporte au mieux Mac OS X Lion (10.7), que j’ai d’abord installé. Ensuite, avec l’aide de Pikify, je suis passé à El Capitan. C’est assez simple (si vous avez assez de RAM), il suffit de lancer le soft et ça installe El Capitan sans clé USB et avec les modifications nécessaires. Le changement de GPU est lié à El Capitan, qui n’a pas de pilotes pour la vieille GeForce : même en prise en main à distance, c’est une plaie. Même chose pour la présence du dongle HDMI : sans la présence d’un écran (vrai ou simulé), Mac OS X désactive l’accélération et c’est horriblement lent.

Sous El Capitan

Passons au RAID. j’avais déjà deux disques durs de 3 To dans un NAS, j’ai donc acheté deux autres disques (neufs) pour travailler en RAID5. Dans ce mode, vous disposez de la capacité de trois disques sur quatre (9 To ici) avec une protection contre les pannes : si un des disques meurt, les données ne sont pas perdues. Ce n’est pas une sauvegarde, mais ça évite les soucis. Pour gérer le RAID, j’ai choisi une carte Areca ARC-1212. Cette carte trouvée d’occasion pour 30 € dispose d’un connecteur miniSAS (SFF-8087) qui peut accepter quatre disques durs. La version ARC-1222 peut aussi se trouver, avec deux prises. Elle dispose d’un CPU dédié, de sa propre mémoire cache et offre de bonnes performances en RAID. Elle n’a qu’un petit défaut : elle est ventilée. Enfin, j’ai acheté un câble pour relier la carte RAID à la baie du Mac Pro. Le Mac Pro dispose à la base de quatre emplacements SATA ou SAS, reliés à la carte mère avec un câble SFF-8087, mais il est trop court pour atteindre une carte RAID classique. La seule officiellement compatible est la version Apple qui est lente et ne gère pas les disques durs de plus de 2 To. La seule solution que j’ai trouvé, c’est d’utiliser un câble qui fait office de rallonge (SFF-8087 mâle vers femelle) et qui vaut 60 $ (et 30 € de douane…). Je n’ai pas trouvé d’alternative, sauf à bidouiller énormément le Mac Pro. Ici, j’ai juste relié la carte à un câble et ça a fonctionné.

Des performances correctes

La mise en place a posé quelques petits soucis. Premièrement, la carte était bloquée avec un mot de passe inconnu. Petite astuce pour régler ça, Areca propose un mot de passe maître (MNO974315743924) qui permet de changer le mot de passe admin. La seule contrainte, c’est de le faire dans le BIOS de la carte (et pas dans son interface web) et donc sur un PC, étant donné que les Mac ne chargent pas le BIOS. Deuxième point, par défaut la carte était en JBOD et pas en RAID et j’ai buté sur cette option. Enfin, la construction complète du RAID5 de 9 To (4x 3 To) a pris pratiquement deux jours, mais les disques étaient utilisables pendant la construction.

Dernier point, le partage et la mise en veille. A la base, j’avais relié le Mac Pro à mon Mac en direct, à travers une interface Ethernet dédiée. Mais le Mac, une fois en veille, ne s’annonçait plus via Bonjour et était compliqué à relancer (les utilitaires de Wake On LAN sous macOS sont rares). En le mettant sur le même réseau que les autres appareils, les bornes AirPort font office de Bonjour Sleep Proxy et permettent de le réveiller facilement. Actuellement, il se met donc en veille rapidement (15 minutes) et se réveille rapidement.

Dans un coin du salon

Coût du Mac Pro :

• 175 € de Mac Pro
• ~20 € de RAM
• SSD (récup’)
• GPU (récup’) + HDMI Headless (~4 €)
• Câbles et trucs divers (~5 €)
• Deux HDD 3 To (~170 €) + deux HDD 3 To (récup’).
• Carte RAID (30 €)
• Câble SAS (60 + 30 €).

Le total actuel est de ~500 € pour un NAS rapide (ça sature évidemment sans soucis l’Ethernet 1000), utilisable en aggrégation (le Mac Pro possède deux interfaces Ethernet) et relativement silencieux. Le Mac Pro est hors de mon bureau et fait peu de bruit en fonctionnement et évidemment aucun en veille. Le seul point gênant reste le bip de la carte RAID, qui s’entend à chaque sortie de veille. J’ai aussi installé Mac OS X Server pour permettre de faire des sauvegardes Time Machine, même si actuellement je reste sur des Time Capsule pour cet usage.

10 Gb/s et silence

Les deux étapes suivantes vont être de réduire la consommation et le bruit, ainsi que de passer en Ethernet 10 Gb/s. Pour le silence, je vais remplacer les CPU Xeon 5150 (2x 2,66 GHz, 65 W de TDP) par des Xeon 5148. Un peu plus lent (2,33 GHz), ils ont un TDP de seulement 40 W, de quoi gagner en température et en consommation. En parallèle, je vais essayer de remplacer le ventirad de la carte RAID par un radiateur de chipset passif. Le coût reste assez faible : environ 15 € pour l’ensemble (les CPU se trouvent pour quelques euros sur eBay).

Pour l’Ethernet, l’idée de départ était d’installer une carte Ethernet 10G “fibre” en liaison directe, mais comme la gestion de la mise en veille nécessite visiblement une borne AirPort, je vais sûrement installer un switch compatible. Pour les cartes, j’ai commandé des SolarFlare compatible Mac OS X (45 €/pièce), une pour le Mac Pro et une pour le MacBook Pro. Je vais interfacer la carte dans un boîtier Thunderbolt 2 issu d’un test (de la récupération, donc). Ensuite, il me faudra au moins deux transceiver (~15 €/pièce) et un peu de fibre. Je devrais donc m’en tirer pour ~150 € sans le switch. Normalement, le montage devrait me permettre d’atteindre au moins 300 Mo/s en partage (le RAID atteint ~360 Mo/s en interne), soit trois fois plus que l’Ethernet 1000 en pratique.

Je vous exposerais les deux prochaines étapes quand j’aurais reçu le matériel et pris le temps de tout installer.