Avoir un NAS (ou Network Attached Storage) à la maison c'est pratique pour plein de raisons : backups, partage multimédia, diffusion de contenu, albums photos numériques, etc. J'ai aussi fait quelques choix qui ne sont pas forcément universels donc ça me paraissait intéressant de partager ça !

Pourquoi openmediavault ?

J'ai fait ce choix, je vous l'explique que vous ayez toutes les cartes en main pour faire votre choix.

Avant de parler d'OS, il y a le choix du hardware. En effet il existe quelques marques qui vendent des NAS clé en main : Synology, Qnap, Asustor et Western Digital ; ce ne sont pas des mauvaises solutions mais ce ne sont pas des solutions très évolutives à l'exception de l'espace disque (jusqu'à un certain point, car on est vite limité sur le nombre de baie (= le nombre d'emplacement disque)) et le prix est plutôt élevé. J'ai donc fait le choix de monter ma propre machine il y a environ 2 ans.

J'ai fait pas mal de tests en 2 ans avec plusieurs versions d'openmediavault (OMV), de FreeNAS et son remplaçant TrueNAS et même songé au 100% maison à base d'ArchLinux ou NixOS.

Mon choix s'est arrêté sur openmediavault :

  • c'est une base Linux, Debian pour être précis (c'est aussi le cas de TrueNAS Scale qui contrairement aux autres déclinaisons de TrueNAS ne se base pas sur FreeBSD)
  • il est entièrement libre (GPLv3)
  • on est sur une distribution Linux complètement standard : c'est un debian, avec un package openmediavault, les plugins sont des packages, on peut installer directement Docker, etc.

Mais :

  • l'interface Web est moins sympa que celle de TrueNAS
  • niveau système de fichier, on a pas une solution aussi simple que ZFS : il faut créer le RAID et le système de fichier séparément ou passer en ligne de commande
  • la création de RAID prend beaucoup de temps
  • il faut très souvent valider l'application des changements via un encart jaune en haut de la page et ce n'est pas toujours intuitif.

Quelques recommandations sur le matériel :

  • mettre 8Go de RAM sur 2 barrettes pour être tranquille à l'avenir et profiter du dual channel (je me suis trompé en mettant 6Go (2+4), il faudra que je change la barrette de 2Go à un moment)
  • prévoyez 3 disques durs ET un SSD pour l'installation de l'OS (un petit SSD de 120Go est largement suffisant)
  • prenez des disques de marques différentes pour limiter le risque d'une panne simultané de tous vos disques
  • prenez un boitier avec au moins 4 emplacements de disques, 3 disques sont suffisants pour commencer mais 1 emplacement en plus pourra toujours servir
  • prenez une carte mère avec un emplacement NVMe ça évite d'utiliser un emplacement SATA pour le SSD qui servira à l'installation de l'OS
  • prenez un processeur qui consomme peu comme le but c'est de laisser tourner la machine en continu (de mon côté j'ai pris un AMD Athlon 3000G)

L'installation

Après avoir téléchargé l'ISO et fait une clé bootable (si vous ne savez pas quel outil utiliser, je vous conseille Balena Etcher), il suffit de booter sur la clé pour lancer l'installation.

L'installation se fait quasiment toute seule en détectant beaucoup de chose automatiquement. À cette étape le but est uniquement d'installer l'OS openmediavault, pas de tout configurer.

Petite subtilité : le mot de passe qu'on vous demande de définir ne sert que pour se connecter sur le compte root physiquement sur la machine ou via SSH.

Une fois l'installation finie, retirer la clé usb et lancer le reboot. OMV va démarrer et vous indiquer l'adresse IP à laquelle vous connecter avec votre navigateur. Il vous suffit de vous connecter en allant sur http://192.168.x.y et vous aurez accès à l'interface d'OMV.

Pour vous connecter, il faut utiliser les identifiants par défaut (indiqué au démarrage si vous avez un écran connecté à votre NAS) :

  • login : admin
  • password : openmediavault

Vous arrivez alors sur le dashboard :

Dashboard

Vous aurez peut-être certains widgets qui ne sont pas correctement affichés. Sauf erreur c'est normal, certains widgets ont besoins de quelques minutes de données pour s'afficher (c'était mon cas pour le widget "Processeur" par exemple)

Félicitation vous avez installé openmediavault !

Configuration de base

Passer en thème dark

Pour changer de thème, il suffit de cliquer sur l'icône compte en haut à droite pour avoir le bouton pour changer de thème.

Changer le mot de passe admin

Cliquez de nouveau sur l'icône de compte et cliquez sur "Modifier le mot de passe".

Définir le bon fuseau horaire

Chez moi le fuseau horaire n'était pas le bon, donc j'ai été dans "Système" > "Date & Heure" pour bien définir "Europe/Paris" et vérifier que le NTP était bien activé. Certains protocoles dépendent du fait d'avoir une heure correcte pour fonctionner correctement, donc je préfère être sûr que tout est valide.

Fuseau horaire

Réduire la vitesse de rotation

Pour réduire l'usure et le bruit de rotation des disques, il est possible de réduire leur vitesse de rotation après une période d'inactivité. Pour ça il faut aller dans "Stockage" > "Disques" et pour chaque disque (dans mon cas je ne l'ai fait que pour les disques de données), définir un délai pour "Temps de ralentissement" (en anglais "Spindown time") après lequel la vitesse va être réduite. Pour moi 20min me semble bien pour mon usage, mais vous pouvez mettre la durée qui vous semble pertinente.

Comme on réduit la vitesse du disque, on augmente le temps du premier accès aux données au moment de la reprise d'activité. Personnellement j'ai pas ressenti de ralentissement du tout.

Créer le RAID

Dans "Stockage", aller dans "RAID logiciel", cliquez sur l'icône "+", laissez "RAID 5" (sauf si vous voulez un autre type de RAID ou n'avez pas 3 disques) puis sélectionnez vos disques. Si vous ne trouvez pas vos disques, il faut peut-être les effacer en allant dans "Stockage" > "Disques" (c'était mon cas).

Pensez à bien appliquer les changements dans l'encart jaune. C'est très souvent qu'il faille appliquer les changements comme ici, donc pensez à le faire chaque fois que c'est demandé.

Vous êtes bloqué à cette étape tant que le vos disques ne seront pas synchronisés. C'est normal au vu du fonctionnement des RAIDs Linux mais ce n'est pas super cool. Dans mon cas avec 3 disques de 2To, c'était indiqué environ 340min (soit environ 5h40) et ça m'a pris environ 6h…

Je vous conseille d'éviter de faire d'autres actions, car certaines actions demandent un reboot et je ne sais pas pourquoi ça bloque la synchronisation des disques (c'est ce qui m'est arrivé)

Automatiquement un système de fichier Btrfs est créé. Vous n'avez donc plus qu'à le monter en allant dans "Stockage" > "Systèmes de fichiers", en haut à gauche "+" puis "Monter", sur le nouvel écran choisir votre RAID, éventuellement changer le seuil d'avertissement (de mon côté j'ai laissé 85%) et enregistré. Une fois les modifications appliquées, j'avais accès à un peu moins de 4To de stockage en RAID 5.

Avoir un dossier pour chaque utilisateur

OMV permet d'avoir automatiquement un dossier home pour chaque utilisateur qu'on va créer. Ça permet d'avoir quelque chose de simple et rapide à configurer pour tous les utilisateurs du NAS. Personnellement je pense m'arrêter là-dessus -- au moins dans un premier temps -- pour donner des accès aux données du NAS (en plus d'un dossier partagé).

Pour ça on va commencer par créer un dossier partagé en allant dans "Stockage" > "Dossiers partagés", puis en cliquant sur "+", on peut créer un nouveau dossier dans le système de fichier "data", personnellement je l'ai appelé "home".

Ensuite dans "Utilisateurs" > "Paramètres", il suffit de cocher "Activé" et choisir le partage qu'on vient de créer, puis enregistrer.

Pour finir on a juste à créer un utilisateur en allant dans "Utilisateurs" > "Utilisateurs", cliquer sur "+" et remplir toutes les informations.

Quelques recommandations :

  • le "nom" correspond au nom d'utilisateur, donc je vous conseille de garder le standard Unix : tout en minuscule, pas d'accent, etc.
  • ajoutez le groupe "ssh" pour pouvoir avoir automatiquement un accès SFTP pour l'utilisateur
  • bien cocher "Interdire la modification du compte" juste par sécurité
  • n'hésitez pas à renseigner une clé SSH pour une connexion sans avoir à saisir de mot de passe

Quelques autres configurations

Ici je vais plutôt donner quelques éléments qu'on peut configurer mais en fonction de ce dont on a besoin. Piochez ce qui vous semble pertinent pour votre usage.

Installer OMV extra

De base on a la possibilité d'installer quelques plugins mais vraiment peu, il existe un dépôt avec plus d'une trentaine de plugins bien maintenu bien que non officiel. Pour ça il faut manuellement installer un package pour ajouter les plugins extra.

Pour commencer le plus simple est d'installer le plugin WeTTY qui permet d'accéder à une ligne de commande sur le NAS sans avoir à y accéder en physique, ainsi que copier-coller des commandes.

Pour ça il faut aller dans "Système" > "Plugins" et choisir "openmediavault-wetty". Puis activer le service en allant dans "Services" > "WeTTY", cocher "Activer" puis "Enregistrer".

Une fois activé, cliquer sur "Ouvrir l'interface" vous ouvre un nouvel onglet sur le port 2222. Vous pouvez vous connecter avec l'utilisateur root et le mot de passe que vous avez choisi lors de l'installation.

WeTTY

Puis il suffit de lancer cette commande :

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Commande prise sur la documentation si ça ne fonctionne pas : https://github.com/OpenMediaVault-Plugin-Developers/installScript/

Ensuite vous aurez plus de plugins disponibles.

Créer un dossier partagé

On a toujours quelques fichiers qu'on veut pouvoir partager entre plusieurs utilisateurs. Dans mon cas je veux un dossier partagé entre tous les utilisateurs, donc je vais lui donner le groupe "users" mais on pourrait faire la même chose avec un autre groupe pour avoir un dossier qui serait partagé entre plusieurs utilisateurs mais pas tous.

Pour commencer j'ai créé un utilisateur "commun", je lui ai mis une adresse mail bidon, un shell /bin/false (ce qui interdit la connexion de l'utilisateur), juste le groupe "users", et par sécurité je coche l'interdiction de modification du compte. Créer cet utilisateur va nous permettre d'avoir un dossier à côté des dossiers de nos utilisateurs.

Creer un dossier partagé

Maintenant il va falloir passer en ligne de commande, soit via WeTTY soit en ssh sur le compte root. En effet automatiquement des ACL sont attribués aux dossiers ce qui empêche nos différents utilisateurs d'aller écrire dans le dossier "commun".

$ getfacl commun
# file: commun
# owner: commun
# group: users
user::rwx
group::r-x
group:1001:rwx                  #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:1001:rwx
default:mask::rwx
default:other::rwx

Comme on peut le voir, le group, le mask et le default group n'ont pas d'accès en écriture. Donc on va corriger ça. Au passage on va aussi interdire l'accès aux utilisateurs qui ne font pas partie du groupe.

setfacl -d -m group::rwx commun
setfacl -m group::rwx commun
setfacl -m mask::rwx commun
setfacl -d -m other::rwx commun
setfacl -m other::rwx commun

Maintenant si on revérifie les ACL :

$ getfacl commun
# file: commun/
# owner: commun
# group: users
user::rwx
group::rwx
group:1001:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:1001:rwx
default:mask::rwx
default:other::---

Monter un serveur DLNA/UPnP (OMV Extra requis)

Si vous ne connaissez pas DLNA/UPnP (je vous laisse aller voir dans le détail mais c'est quasiment la même chose), c'est un protocole qui permet de lire à distance un contenu multimédia (images, audios et vidéos). Mon idée ici c'est d'avoir mes photos, ma musique et toutes les vidéos sur le NAS pouvoir les lire à distance sur la TV par exemple, ma TV étant nativement compatible DLNA c'est pratique. C'est aussi pratique pour lire des contenus via un VLC sur un autre appareil.

Pour ça c'est super simple avec OMV : il suffit d'installer le plugin minidlna. Ensuite il faut aller dans "Services" > "MiniDLNA", puis dans "Paramètres" activer le service, vous pouvez aussi changer le nom qui apparaitra, puis dans "Services" > "MiniDLNA" > "Partages", cliquer sur "+" et renseigner les informations d'un partage. Une fois tout enregistré et validé, normalement vous devriez voir votre partage apparaitre sur vos appareils DLNA.

Parfois ça peut être pratique de pouvoir naviguer dans les fichiers de votre NAS via une interface web, j'ai testé le plugin filebrowser. Comme pour la plupart des plugins, rien de particulier à faire : installer plugin puis activer le service et la magie opère.

C'est indiqué sur la page du service mais pour se connecter par défault il faut passer par le compte "admin" qui a pour mot de passe "admin" et comme sur l'indication je vous conseille de changer ce mot de passe !

Interface du plugin File Browser

Petit fail : OwnTone

J'avais réussi par un bricolage horrible à faire tourner un MPD sur une ancienne installation d'openmediavault pour pouvoir jouer de la musique depuis le NAS sur un kit son 5.1 qui est branché dessus. j'ai voulu reproduire l'expérience avec OwnTone qui permet globalement la même chose que MPD mais avec quelques fonctionnalités en plus, en particulier avoir une interface web qui peut directement servir de télécommande.

J'ai installé le plugin, fait le scan de ma musique (enfin ça s'est fait tout seul pour être précis), la musique se lance, mais je n'ai jamais réussi à faire sortir du son des haut-parleurs via OwnTone (alors que ça fonctionne via mpv en ligne de commande). Je pense que je loupe une configuration ou quelque chose du genre mais ce n'est pas bien grave je regarderai plus tard et corrigerais cet article pour indiquer comment j'ai fait 😉

Conclusion

Après beaucoup d'essai j'ai enfin une installation qui convient bien à mes besoins du quotidien. À l'exception d'OwnTone j'ai réussi sans grande difficulté à tout mettre en place et c'est très agréable !

Il y a quand même quelques éléments que je trouve dommage, déjà pourquoi le File Browser n'est pas inclus dans openmediavault mais via un plugin ? On se retrouve avec 2 URLS, ce n'est pas vraiment intégré, il y a 2 gestions des utilisateurs… Mais globalement je trouve quand même qu'OMV est bien pensé et fonctionne sans souci !

Ça fait maintenant presque 1 an que j'utilise mon NAS dans ma routine, aucun souci à signaler, aucun bug de mise à jour non plus, tout fonctionne comme au premier jour !

Crédit photo : https://pixabay.com/photos/computer-technology-pc-electronics-1574533/