Je veux disposer d’un disque dur accessible en permanence dans la maison. Mais je ne souhaite pas le connecter à un PC à cause de la consommation d’énergie d’un tel appareil. Je vais donc le connecter à un Raspberry Pi qui pourra rester allumer en permanence et mettre les fichiers à disposition.
Préparer le Raspberry Pi
J’ai utilisé un Raspberry Pi 3B, avec un dongle wifi Edimax EW-7811Un.
J’ai installé l’OS Raspberry Lite en 64 bits (version de fin août 2022) selon la méthode décrite dans Mise en service d’un Raspberry Pi.
Mettre le Pi à jour
Exécuter
apt update apt upgrade
Connecter un disque dur ou une clé USB
J’ai connecté une clé USB de 32 Go.
Un disque dur doit avoir une alimentation externe. Le Pi ne pourra pas lui fournir assez d’énergie. Le disque est donc connecté d’une part à une source d’énergie, d’autre part à un port USB du Raspberry Pi pour l’échange de données.
On peut connecter le disque au Pi sans manipulations préalables. Mais ensuite il faut faire des réglages pour accéder au disque et le partager avec d’autres équipements du réseau local.
Pour ce qui suit, je me suis inspirée principalement des articles suivants :
- « Raspberry Pi Mount a USB Drive Tutorial«
- « Connect your Raspberry Pi to a USB hard disk«
- « Properly Mount USB Storage on Raspberry Pi«
identifier le type de disque dur
Pour savoir quel type de disque dur on a, on tape :
blkid
Le Pi nous répond avec la liste des unités de stockage qu’il a identifié. Pour moi, il y a les 3 partitions de la carte SD du Pi et le disque dur IOMEGA_HDD que je viens de connecter :
J’apprends ainsi que le disque est monté comme sda1 et qu’il est de type NTFS (le système de fichiers).
Comme le disque utilise le système NTFS, j’installe les drivers correspondants sur le Pi :
apt-get install ntfs-3g
Monter le disque de manière permanente
Si je décide de connecter un autre disque dur, ou une clé USB, le disque Iomega pourrait devenir sda2 et je ne saurai plus comment y accéder. Il faut donc lui donner une « adresse » permanente.
On crée un répertoire sur lequel on va monter le disque dur :
mkdir /media/iomega
Evidemment on peut appeler le répertoire comme on veut, la seule contrainte est que ce soit un sous-répertoire de /media .
Il faut pouvoir donner l’accès à ce répertoire. Dans mon cas, c’est à l’utilisateur al que je veut donner l’accès. Pour savoir quel est l’identifiant de l’utilisateur (-u ) al et du groupe (-g )correspondant, je tape :
id -u al id -g al
La réponse est 1001 pour les deux. Je sais donc que ‘group id’ est 1001 et ‘user id’ est 1001. Pour donner la propriété d’un répertoire au fichier, on définit d’abord l’utilisateur, ensuite le groupe ([utilisateur]:[groupe] ) :
chown 1001:1001 /media/iomega
Pour monter le disque dur de manière permanente sur /media/iomega :
mount -t ntfs-3g -o uid=1001,gid=1001 /dev/sda1 /media/iomega
Si le disque était en FAT32, j’aurais utilisé -t vfat à la place de -t ntfs-3g .
A partir de maintenant, si je veux déconnecter le disque dur, j’utilise la commande :
umount /media/iomega
Dans /etc/fstab , j’ajoute la ligne suivante :
/dev/sda1 /media/iomega ntfs nofail,uid=1001,gid=1001 0 0
Noter la règle nofail , qui permet d’éviter que le Pi ne bloque au démarrage si le disque dur n’est pas connecté ou pas prêt. On vérifie que tout va bien avec mount –a . S’il n’y a pas d’erreur, pas de souci.
Enfin, j’ajuste les paramètres de démarrage du Pi pour laisser le temps au disque dur de démarrer et d’être monté.
On édite /boot/cmdline.txt et on ajoute rootdelay=5 à la fin de l’unique ligne qu’il contient :
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait rootdelay=5
Je redémarre le Raspberry Pi et je vérifie que tout va bien en allant regarder le contenu de /media/iomega.
A ce stade, je fais une copie de la carte SD.
Accès au disque par Filezilla
A ce stade je peux transférer des fichiers dans la clé USB en utilisant Filezilla pour un accès FTP.
Partager le disque dur avec Samba
Pour cette phase, j’ai suivi les instructions de ces deux sites :
- Create Samba Share on Raspberry Pi
- How to Turn a Raspberry Pi into a Low-Power Network Storage Device
Samba a été installé lors de la mise en service du Pi. Il ne reste plus qu’à le configurer pour partager le disque dur externe. Il vaut mieux créer une copie du fichier de configuration avant de le modifier :
cp /etc/samba/smb.conf /etc/samba/smb.old
On édite ensuite /etc/samba/smb.conf et on y ajoute tout à la fin :
[MUSIC] comment = Musique AL path = /media/iomega valid users = @users force group = users create mask = 0660 directory mask = 0771 read only = no browseable = yes public = yes
Je ne suis pas très sûre des raisons d’être de la plupart des lignes. Mais valid users définit que tous les utilisateurs du groupe users auront droit d’accès.
On redémarre samba pour utiliser les nouveaux paramètres :
service smbd restart
Accéder au disque de l’extérieur
Avec certaines versions de Windows, je peux maintenant voir le disque Iomega dans l’explorateur de fichiers, sous « réseau ». Avec d’autres versions (Windows 10 en particulier), il faudra que je crée une « connexion réseau ». Mais dans tous les cas Windows me demandera un nom d’utilisateur et un mot de passe…
créer un nom d’utilisateur Samba
Sur le Pi, j’ajoute un utilisateur ‘alwindows’ qui fera partie du groupe users, que j’ai précédemment défini comme pouvant accéder au disque (dans smb.conf).
useradd alwindows -m -G users
Je crée un mot de passe samba pour cet utilisateur. Le Pi me demande de l’entrer deux fois :
smbpasswd -a alwindows
Je redémarre samba.
service smbd restart
Sous Windows 10, créer un lecteur réseau
Dans l’ordinateur Windows si je vois le disque dur sous « Réseau », je clique dessus et je met cet utilisateur et le mot de passe.
Sous Windows 10 (et dans d’autres cas si mes souvenirs sont bons), il faut créer un lecteur réseau.
Dans l’explorateur de fichier, cliquer à droite sur « Ce PC » et choisir « connecter un lecteur réseau » :
Indiquer la localisation du lecteur : \\NomDuPi\NomDuDisqueDansSamba :
Entrer le nom d’utilisateur Samba et le mot de passe précédemment défini :
J’ai maintenant accès au disque dur géré par le Raspberry Pi sous « Ce PC »
Et voilà. Les fichiers de ce disque sont accessibles 24h sur 24 sans laisser un ordinateur énergivore en fonctionnement !
[…] Monter un disque dur externe partagé sur un Raspberry Pi. Je veux disposer d’un disque dur accessible en permanence dans la maison. Mais je ne souhaite pas le connecter à un PC à cause de la consommation d’énergie d’un tel appareil. […]
Merci beaucoup , j’ai galérer a regler le probleme de « ntfs volume is already exclusively opened » et vous m’avez sauver merci !
Effectivement clair précis PARFAIS
Bonjour ,
super tuto tous fonctionne bravo ¢
Merci mec ! Je suis allé de tutoriels en tutoriels et le tien est juste parfait !
Bonjour, j’ai installé plex serveur sur mon rpi 2 et mon disque dur externe 2.5 sur ma live box mais je n’arrive pas a le trouver sur plex. Faut il faire une commande spécial pour le faire remonter?
Bonjour
J’ai acheté un PrimeBook Connex il y a quelques jours. Voyant que la capacité de l’ordinateur est faible (32 Go), j’ai ajouté un disque dur de 500 Go
Après avoir refait l’ordinateur, je n’ai plus accès au disque de l’ordinateur.
En allant sur le bios de l’ordinateur, les disques ne s’affichent plus. Il y a juste le mode UEFI.
Et chaque fois que je redémarre c’est juste le mode UEFI qui apparaît et pas les disques.
Comment remonter des disques durs avec des commandes shell?
Bonjour. Je n’arrive pas à voir mon disque dur branché sur mon Pi3 (le Pi est nommé osmc, et le disque nommé LACIE SHARE, formaté en exFAT) avec Samba sur mon PC (je veux pouvoir y glisser des fichiers dessus sans le faire par FTP (mon Pi3 est installé OSMC) Dans W10 (édition Education), j’ai le message d’erreur suivant: (grosse croix rouge) La connexion au lecteur réseau n’a pas pu être créée car l’erreur suivante s’est produite: Vous ne pouvez pas accéder à ce dossier partagé car les stratégies de sécurité de votre entreprise bloquent l’accès invité non authentifié. Ces… Lire la suite »
Bonjour. J’ai suivi a la lettre et tout vas bien.
Seul problème, je veux collecter ma bibliothèque a Sonos mais impossible.
» RASPBERRYPI refuse la collection avec sonos »
Pouriez-vous m’aider SVP
J’ai accès au raspberry sur mon ordi.
Merci
C’est très utile! Merci pour le partage
C’est très utile!!!!! 192.168.0.1
Bonjour,
Est-il possible d’accéder sous un environnement linux (rastbian ou ubuntu mate) d’accéder au disque dur partagé?
Par exemple via un autre rasbery PI.
merci d’avance
Bonjour,
J’ai une question quand au partage de ce disque. Est-i possible d’accéder à ce disque à partir d’un environnement Linux (raspbian ou ubuntu mate)?
Merci d’avance
Bonjour
Je penses qu’il y a une erreur d’interprétation du code html dans les partie code/citation.
Voilà la ligne qui pose problème (celle du fstab) :
/dev/sda1 /media/iomega ntfs nofail,uid=1001,gid=1001 0 0
Sur deux navigateurs (Firefox et edge) il y a la balise autour du nofail qui apparaît en toute lettre et qui n’est pas interprétée.
Bonne journée,
David