Table des matières

Remplacer un NAS propriétaire

Introduction

Qu'est-ce qu'un NAS? C'est un serveur de fichiers qui permet l'accès et le stockage de données en réseau.

L'idée d'installer ce type de matériel provient chez moi de la volonté d'accéder à des fichiers (documents, photos, vidéos, musique) depuis n'importe quel poste, ordinateur fixe, portable, tablette, depuis le réseau Ethernet ou Wifi.

On évite ainsi les multiples copies, coûteuses en stockage, ou pire, d'avoir des copies différentes en versions.

Toutefois attention, à centraliser les données, on peut également toutes les perdre ou se les faire dérober depuis un point central : il font donc veiller à une sécurité d'accès et une redondance suffisante pour être serein.

La démocratisation du Wifi, du nombre d'équipements portables, de normes qui permettent la lecture de contenu depuis des plateformes différentes (téléviseur connecté, smartphones, ordinateurs) font que beaucoup de foyers font le pas d'achat de cet équipement.

Peut-être un jour que le cloud et le streaming surpassera le NAS domestique… en attendant, je préfère le stockage des données personnelles chez moi, avec une indépendance de fournisseurs matériels et logiciels, et surtout un respect de la vie privée !

On notera également qu'en 2012, le très haut débit n'est pas légion dans toute la France, et que l'accès des données dans son NAS privé reste la solution la plus performante.

Comparaison des solutions

Voici ma matrice de réflexion… ne représente pas forcément la réalité !

Plug'n play Liberté logicielle Liberté matérielle Performances Sécurité (authentification, chiffrement) Services additionnels Coût
Modem-routeur FAI (type Freebox) @palegreen:simple @red:aucun changement possible @red:aucun changement ou ajout de disques internes (possible via USB) @orange:acceptable @red:Minimale pour l'authentification, pas de chiffrement @red:Aucun @palegreen:Gratuit, hormis l'abonnement FAI
NAS propriétaire (type Synology) @orange:accessible sur la configuration de base @orange:système de plugins @palegreen:possible sur les disques durs @orange:dépend de la gamme d'achat @orange:Bonnes possibilités de sécurisation, mais sensible aux attaques @palegreen:Beaucoup de plugins @red:plutôt cher (300€) sur les modèles performants
NAS fait-maison @red:compliqué :) @palegreen:tout est possible ! @palegreen:possible @palegreen:très bon, meilleur rapport qualité/prix @palegreen:Très bonnes si bien configuré @orange:Possibilités illimitées, mais nécessite de mettre en place ou de développer @palegreen:fourchette large, mais meilleur rapport qualité/prix
Stockage Cloud (type Dropbox) @palegreen:simple @red:aucun changement possible @orange:aucune maîtrise, mais service assuré @red:dépendant du débit Internet @red:Bonnes possibilités de sécurisation, mais sensible aux attaques et aux questions sur la vie privée @red:Possibilités limitées dans un LAN, mais plutôt bonnes sur l'accès distant @red:cher sur le long terme, au mieux équivalent à un NAS propriétaire

La configuration ne me faisant pas peur… la maîtrise technologique et la maîtrise des données personnelles m'intéressant beaucoup, j'ai naturellement choisi le “NAS fait-maison”…!

Architecture matérielle

J'ai fait le choix en 2011, d'un serveur surdimensionné en puissance matérielle, dans l'éventualité (avérée par la suite) de fournir des services additionnels qui nécessiterait cette puissance, tout en ayant une consommation electrique maitrisée :

Installation logicielle

Solution logicielle “Linux” classique :

Optimisations sur la consommation électrique

vm.swappiness=0
vm.vfs_cache_pressure=50
vm.dirty_writeback_centisecs=1500
vm.laptop_mode=5

# PCI runtime power management
ACTION==“add”, SUBSYSTEM==“pci”, ATTR{power/control}=“auto”
# USB autosuspend
ACTION==“add”, SUBSYSTEM==“usb”, ATTR{power/control}=“auto”
ACTION==“add”, SUBSYSTEM==“usb”, TEST==“power/autosuspend” ATTR{power/autosuspend}=“60”
# SATA active link power management
SUBSYSTEM==“scsi_host”, KERNEL==“host*”, ATTR{link_power_management_policy}=“min_power”
# Disable wake-on-LAN
ACTION==“add”, SUBSYSTEM==“net”, KERNEL==“eth*” RUN+=“/usr/sbin/ethtool -s %k wol d”
# HDPARM
ACTION==“add”, SUBSYSTEM==“block”, KERNEL==“sda”, RUN+=“/usr/bin/hdparm -S 3 /dev/sda”
ACTION==“add”, SUBSYSTEM==“block”, KERNEL==“sdb”, RUN+=“/usr/bin/hdparm -S 3 /dev/sdb”

Optimisations sur la performance

net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
#net.ipv4.tcp_rmem = 4096 87380 33554432
#net.ipv4.tcp_wmem = 4096 65536 33554432
net.ipv4.tcp_rmem = 4096 131072 33554432
net.ipv4.tcp_wmem = 4096 131072 33554432

read raw = Yes
write raw = Yes
strict locking = No
min receivefile size = 16384
use sendfile = Yes
aio read size = 16384
aio write size = 16384

Outils de surveillance

La surveillance du serveur de fichiers s'effectue via des scripts qui vont regarder:

Ces scripts envoient de manière journalière ou sur événement, un e-mail avertissant de l'état.

Le fonctionnement est très similaire des fonctionnalités proposés par les NAS commerciaux.

Services supplémentaires

Conclusion

Fabriquer un NAS libre, open source et dépendant le moins possible de fournisseurs est possible…! Si l'on se contente d'implémenter la fonctionnalité serveur de fichiers, il est très facile d'atteindre le niveau de redondance et de service attendu avec un NAS propriétaire.

A noter qu'il existe des distributions Linux, tel que FreeNAS qui permettent d'améliorer les phases d'installations et de configuration.