un nas a base de Raspberry pi

image principale un nas a base de Raspberry pi

Difficulté:

 partage ici la configuration de mon raspiNAS: un serveur NAS (serveur de stockage de données accessible en réseau) à base de Raspberry pi3b+, totalement sécurisé, sans aucun échange de password, totalement silencieux, capable de démarrer en moins de 15 secondes . J''y ai passé du temps car je n'ai pas trouvé un tutoriel qui réponde à tous les critères que je souhaitais mettre en oeuvre: il s'agit de plusieurs tutoriels que je vais citer ici afin de réaliser ce serveur NAS.

Matériel :

Budget : Non défini

Etape 1 : Raspbian Lite:

Dans un premier temps, si on veux viser un démarrage rapide sans surcharger son Raspberry de traitements et logiciels inutiles: rien de mieux que Raspbian Lite, sans interface graphique donc. Pour cela voici le tuto que j'ai suivi afin de l'installer sans écran ni clavier, à l'aide d'un autre ordinateur (un autre Raspberry pi dans mon cas) à partir duquel on se connecte en SSH.

Etape 2 : sécuriser son SSH

: la sécurisation du SSH est indispensable, non seulement pour se prémunir d'éventuelles attaques du port22 par des robots (port par défaut d'un serveur SSH) mais aussi pour éviter de devoir se trimbaler un mot de passe stocké dans un fichier texte planqué, ou pire encore codés "en dur" dans les lignes de commande (si si j'ai vu des tutoriels comme ça ...). 3 simples tutoriels m'ont été nécessaires, mais je conseille de n'activer le troisième qu'une fois le serveur NAS totalement opérationnel.

  • changer le port par défaut 22: <ici> sur le site de Framboise314

  • mettre en place des clés de cryptage RSA sécurisées en lieu et place d'un password: c'est ce qui va permettre de ne pas avoir à utiliser un mot de passe. Evidemment pour s'éviter d'avoir à utiliser un mot de passe il ne faut pas "surprotéger" sa clé RSA avec un mot de passe ... il faut laisser le mot de passe de la clé RSA à vide. Ces clés peuvent être régénérées et modifiées de façon régulière pour les maniaques de la sécurité.

  • installer un service Fail2ban qui va bannir les adresses IP qui font des tentatives de connexion tenues en échec, ce qui anéanti toutes les tentatives d'attaque en force brute par les robots. Je conseille de ne le faire qu'une fois le serveur NAS totalement opérationnel, car vous risquez de vous auto-bannir au début ...

Etape 3 : Installer un serveur NAS

 une fois les accès SSH bien sécurisés, on peut attaquer dans le vif du sujet en installant un serveur NAS sur son Raspberry pi avec un service Samba. Pour ce qui me concerne j'ai monté mon disque dur d'1To sur: /home/shares/public/backup

Etape 4 : Monitoring temps réel sur une Unicorn HAT HD de 16*16 leds:

c'est complètement optionnel et uniquement pour le fun car le serveur NAS fonctionnera très bien sans, mais terriblement sexy à l'utilisation! J'ai installé mon propre système de monitoring de CPU, RAM, espace disque (que j'ai adapté pour monitorer le disque d'1To et non pas la carte SD sur laquelle le système Raspbian est installé) et température du CPU sur mon raspiNAS.

Etape 5 : Logiciel de sauvegarde de données

Sous Linux ou windows, je n'ai rien trouvé de mieux que FreeFileSync pour synchroniser ses données sur un serveur NAS accessible en SSH. C'est très facile à utiliser.

Avec un Rapsberry pi j'ai finalement opté pour une synchronisation de mes données avec rsync en ligne de commande. J'ai trop galéré avec d'autres logiciels graphiques qui sont souvent une surcouche de rsync (Grsync, Luckybackup par exemple) qui ne m'ont pas paru fiables et incompréhensibles à configurer. Mon utlisation de rsync est très simple: je synchronise tout mon disque dur externe sur le NAS et je synchronise aussi le répertoire /home/pi/Documents de mon Raspberry pi sur mon serveur NAS: ce sont 2 lignes de commande que j'exécute de temps en temps (à peu près une fois par semaine).

L'avantage de passer par une ligne de commande c'est qu'elle peut être intégrée dans la cron table afin qu'elle soit exécutée régulièrement (toutes les 5mn, toutes les heures, etc ...). Personnellement pas besoin: je me contente de synchroniser une fois par semaine.

 

Dans mon cas, voici ma source et ma cible (192.168.xx.xx correspond à l'adresse IP de mon serveur NAS sur mon réseau local). J'ai configuré ma BOX internet pour figer l'adresse IP qu'elle attribue à ce serveur NAS .


rsync -av --progress --delete --stats --human-readable --exclude-from '/home/pi/Sync/exclude.txt' -e "ssh -pxxxxx" /media/pi/OlivDD/ pi@192.168.xx.xx:/home/shares/public/backup/OlivDD


  • -av: permet de dire à rsync d'être en mode archivage de données (a) et d'activer le "verbose" (v) pour voir les messages informatifs défiler.

  • --progress affiche la progression des sauvegardes

  • --delete va supprimer les fichiers en cible qui ont disparus à la source

  • --stats affiche des statistiques à la fin de la sauvegarde

  • --human-readable va afficher des informations converties pour être mieux lisibles (ko, Mo, Go ...)

  • -exclude-from '/home/pi/Sync/exclude.txt' va m'exclure tout ce que j'indique à ne pas sauvegarder dans un fichier texte: les répertoires planqués (.*/), les répertoires lots+found/, les fichiers zipés *.zip etc ... on peut ici indiquer toutes les exceptions à ne pas sauvegarder.

  •  -e "ssh -pxxxxx" permet d'indiquer une connexion ssh via le port xxxxx que vous aurez configuré au début. Si les clés RSA publiques/privées sont en place, la connexion ne nécessite aucun password. Si Fail2Ban est déjà actif, attention aux premiers essais ...

  • enfin les deux paramètre finaux sont la source et la cible.

Lors de la première exécution, ça pique un peu en terme de temps: dans mon cas 6h30 pour synchroniser 265Go de données, plus de 88 000 fichiers. La température du pi3 avec son Unicorn HAT HD passe de 47°C (au repos) à environ 58°C en pleine synchronisation: pas de quoi utiliser un ventilateur à ce stade. Ensuite lors des synchronisations suivantes c'est extrêmement rapide: en quelques secondes à peine rsync identifie les nouveaux fichiers ou fichiers qui ont été modifiés parmi mes 88 000 fichiers, et la synchro vers le NAS est très rapide.

Voilà ce serveur NAS me ravi à tous points de vue: totalement silencieux 0db, sobre (15W maxi), minuscule, sécurisé, un coût minimaliste (un pi3b+ coûte 35€, une carte SD16Go 7€ et un DD SSD de 1To on peut les trouver en promo à 150€) et un démarrage en moins de 15 secondes: c'est exactement ce que je voulais.

Sources :

https://www.papsdroid.fr/post/configuration-raspinas?fbclid=IwAR3nigwvmqodCb7Pq6euleFnRN2hamw2XigLlzdgokrVCTdMDC9rTH1cRoQ


cool j'ai pas besoin de le ré-expliquer ici, mais trop drôle j'étais en train de le faire. Merci d'avoir cité la source ;-)

T

TT

Ces tutoriels devraient vous plaire

vignette Construire son Bartop Arcade de A à Z
Construire son Bartop Arcade de A à Z
vignette Arduino et Porte automatique de poulailler
Arduino et Porte automatique de poulailler
vignette Comment fabriquer son filament pour imprimante 3D
Comment fabriquer son filament pour imprimante 3D

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers