Création d'un NAS maison (ou presque)

Rédigé par Ben'Oua - - Aucun commentaire

Le début :

Ma maman 👩, elle en avait marre d'avoir un gros ordinateur 🖥 de bureau qui prends de la place :
Parce que oui, bureau + unité centrale + écran + clavier/souris, c'est peu pratique, encombrant, bruyant (surtout qu'il est principalement allumé pour streamer les films et séries sur le décodeur "FruitBox" 🍒) et qu'à l'heure actuelle, il existe bien d'autres machines qui n'ont pas ces inconvénients.
Bref, le projet initial est de remplacer cette machine monstrueuse 👹 qui prends la poussière et qui grogne quand elle à faim.

On peut la remplacer par :
- Un PC tout-en-un ;
- Une tablette ;
- Un ordinateur portable ;
- Un PC-on-a-stick (la grosse clé USB qui se branche sur une télé en HDMI) ;

Bref, là n'est pas le sujet, nous réfléchirons plus tard à la meilleure solution, mais ce changement pose un problème :
Où qu'on va mettre le disque dur de 1 To qu'il y a dans la bête ? Les différentes solutions ont trop peu d'espace pour stocker autant de données (sauf pour le PC portable ok).

On va donc mettre en place un serveur de partage de fichiers, de cette manière, tout les appareils de la maison (y compris la FruitBox) pourrons lire les films, musiques, photos... qui sont présents sur ce disque.

J'ai donc fait quelques recherches pour trouver un moyen simple de mettre en place un genre de NAS, et je suis rapidement tombé sur cet article : http://www.gameoverblog.fr/tuto-raspberry-pi-2-nas-project/

Tout ce qu'il me fallait donc était :
- Un Raspberry Pi 2 Model B
- Son alimentation et boîtier
- Un boîtier pour le disque dur de 1 To présent dans l'unité centrale d'origine
- Une carte SD (avec le système Open Media Vault)

Vous pouvez également trouver d'autres accessoires et conseils pour le Raspberry Pi sur cette page :)

Mon but n'est pas de faire une copie de l'article cité, (beaucoup de choses seront identiques évidemment) mais également d'indiquer les problèmes rencontrés au cours de cette installation, l'ajout de fonctionnalités (partage UPnP notamment) et de joindre des photos une fois le projet terminé :)

Première étape - Préparation :

Sortir sa carte bleue Réunir le matériel cité précedemment.

Télécharger OMV pour Raspberry Pi : https://sourceforge.net/projects/openmediavault/files/Raspberry%20Pi%20images/
Une fois le fichier téléchargé, il faut le décompresser (c'est normalement un fichier .gz).
Sous Windows, on pourra utiliser 7zip par exemple.
Sous Linux : gunzip omv_nom_du_fichier.img.gz

Il faut ensuite écrire l'image sur la MicroSD. Sous Windows, le logiciel Image Writer permet d'effectuer ceci assez facilement (parcourir pour cherche l'image décompressée, choix de la lettre correspondant à la carte SD, cliquer sur Write).
Sous Linux, j'ai un peu galéré (oui, j'avais jamais écrit d'image pour R-Pi). Il suffit en fait d'utiliser la commande dd :
dd bs=1M if=omv_nom_du_fichier.img of=/dev/sdX

Il faut remplacer /dev/sdX par le nom de notre carte SD. Si votre distribution monte la carte SD automatiquement, vous pouvez voir le nom du périphérique en glissant la souris sur celui-ci, dans le gestionnaire de fichiers. Ou bien, en ligne de commande, le plus simple est (je trouve) de lancer la commande df avant et après l'insertion de la MicroSD, et de vérifier la ligne qui est apparue.
Avant de lancer la copie, il vaut mieux démonter la partition qui a été montée automatiquement :
umount /dev/sdX1 (à remplacer par le nom du périphérique apparu dans le résultat de la commande df).
Lancer ensuite la commande dd citée plus haut (il faut bien indiquer le nom du périphérique, et non de la partition -donc sans le chiffre-).

La copie peut être assez longue. On peut accélérer ceci en remplaçant bs=1M par bs=4M (ce qui fonctionne la plupart du temps, si ce n'est pas le cas, préférer bs=1M).
Avec la commande dd, on a aucune information sur l'avancement de la copie. On peut à la place utiliser dcfldd, ou utiliser pv en complément de dd :
dd bs=1M if=omv_nom_du_fichier.img | pv | dd of=/dev/sdX
Ce qui donnera un affichage du type :
50,2MB 0:00:06 [8,66MB/s] [=======> ] 49% ETA 0:00:06

Une fois la MicroSD prête, il suffit de l'insérer dans le Raspberry Pi et de brancher celui-ci (au secteur et au réseau -éventuellement à une télé en HDMI, pour vérifier que tout boote correctement, et pour récupérer l'IP que le R-Pi aura obtenu-).
On peut également brancher le disque dur externe à cette étape, ou plus tard, ça ne devrait pas poser de problème.

J'ai personnellement eu un souci avec ma MicroSD (qui ressemble à celle-ci). Lors du lancement sur la R-Pi, le système tente de redimentionner le système de fichiers, pour l'adapter à la taille de la carte SD (message du type Resizing the filesystem on /dev/foo/bar to 426236 (4k) blocks) mais pour moi, ce redimentionnement plantait ! J'ai écrit plusieurs fois la carte SD, mais toujours le même problème (la carte fonctionne bien cependant, dans ma tablette). J'ai donc échangé avec une autre carte SD, la même (il me semble) mais version EVO. Donc si jamais vous avez le même souci, ne vous prenez pas la tête plus loin ;)
Sauf si vous avez trouvé une autre solution, je veux bien en entendre parler :)

Deuxième étape - Configuration d'OMV :

Lorsque le Raspberry Pi boote, sur l'écran, on peut voir, une fois que le prompt de connexion est disponible : eth0: XXX.XXX.XXX.XXX
C'est donc l'adresse IP qu'a obtenu le R-Pi sur notre réseau, et qu'il faut conserver pour pouvoir y accéder.
On peut aussi obtenir cette IP via note Box/Routeur, et même lui attribuer une IP fixe via la box par exemple. Je ne m'attarderai pas sur ce point, car les explications changent un peu d'une box à une autre ^^

On accède donc à l'interface web d'OMV via http://Adresse_IP
Pour la première connexion :
Login : admin
Mot de passe : openmediavault
Il vaut mieux modifier le mot de passe une fois connecté : Système > Paramètres Généraux > Onglet Sécurité Administrateur

On peut activer HTTPS pour la navigation sur OMV : Système > Certificats > Onglet SSL
On peur créer un nouveau certificat auto-signé via OMV, mais on peut également ajouter son propre certificat (créé avec Let's Encrypt ? Impossible d'utiliser Let's Encrypt, qui ne fonctionne pas avec les domaines non accessibles depuis internet, comme expliqué ici)
On peut ensuite forcer les connexions sécurisées : Système > Paramètres Généraux > cocher les cases "Activer SSL/TLS" et "Forcer SSL/TLS". La page affichera sans doute une erreur : pas de panique, accéder à l'interface, cette fois en https://

Troisième étape - Création du système de fichiers et des users :

Bon, le petit point négatif, c'est que le gros disque de 1 To est formaté en NTFS, et que OMV prends en charge les systèmes de fichiers EXT4, EXT3, JFS et XFS. Je vais donc devoir copier tout le contenu du disque ailleurs, avant de le formater en EXT4, et de tout recopier dessus ^^
Rendez-vous dans Stockage > Disque Physique > Choisir son disque dans la liste > Effacer (Ce qui effacera l'intégralité de votre disque, je vous ai prévenu !)
Ensuite : Stockage > Système de fichiers > Créer. Choisir son disque dans la liste, le libellé, et le système de fichiers.
Le système prévient que toutes les données seront perdues (mais on a déjà tout effacé plus tôt :p)
Une fois le système de fichiers créé, cliquer sur Monter, et Appliquer.

Rendez-vous dans le menu Gestion des droits d'accès > Dossiers partagés.
On peut alors créer un nouveau dossier (car actuellement le disque est vide) qui sera partagé par la suite.
Ici, j'ai créé un dossier Stockage et un dossier Medias.

Ensuite, Gestion des droits d'accès > Utilisateur. Avec le bouton Ajouter, on peut créer un utilisateur, et lui attribuer des droits sur un ou plusieurs des dossiers partagés créés précédemment.
Ici, j'ai créé un utilisateur sora disposant des droits de lecture et écriture, et deux utilisateurs chantal et timothe, disposant uniquement du droit de lecture.

Quatrième étape - Partage via les protocoles de notre choix :

Le protocole qui m'intéresse particulièrement ici, c'est le DLAN (UPnP). J'ai installé celui-ci via le menu Plugins de OMV.
Il y a très peu de choses à configurer : Activer le service, choisir le nom qui s'affichera, et le mode d'affichage des fichiers (liste "Root Container").

Et dans l'onglet Partages, ajouter le dossier que l'on souhaite partager va UPnP.

La Freebox Crystal accède sans problème au partage UPnP du NasPi :)

J'ai également activé les protocoles SSH, FTP et SMB. Ce dernier permet aux ordinateurs Windows et Linux et aux appareils Android de la maison, d'avoir accès aux fichiers, après connexion par un utilisateur.

Conclusion :

Le Raspberry Pi fonctionne bien, il n'y a pas de souci au niveau du partage, la consommation électrique est faible.
Petit point négatif : je ne suis pas sûr que le boitier du disque dur gère correctement le spindown après un temps définir. Pas top pour l'économie d'énergie et du disque. Ceci peut se configurer dans le menu Stockage > Disques physiques.

Ah, et pour la solution du PC qui prends moins de place, on a opté pour un ASUS A4110, livré sans OS, dans lequel je pense installer RemixOS, peut être le sujet d'un prochain article :)

Écrire un commentaire

Quelle est la deuxième lettre du mot fwusq ?