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.

31/08/2022 : Je viens de mettre en service un Raspberry Pi 3B et le contenu de cet article est toujours d’actualité. J’ai juste apporté quelques précisions. 

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 :

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 :

blkid-pour identifier un disque dur externe

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 .

02/01/2018 : En entrant cette commande j’ai eu une erreur « Mount is denied because the NTFS volume is already exclusively opened.« . J’ai simplement déconnecté le disque avec la commande umount /dev/sda1  puis exécuté de nouveau la commande précédente.

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 :

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.

Le disque dur du Raspberry Pi vu dans l'explorateur Windows

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 » :

Créer un lecteur réseau sous WIndows 10 - étape 1

Indiquer la localisation du lecteur : \\NomDuPi\NomDuDisqueDansSamba :

Créer un lecteur réseau sous WIndows 10 - étape 2

Entrer le nom d’utilisateur Samba et le mot de passe précédemment défini :

Créer un lecteur réseau sous WIndows 10 - étape 3

J’ai maintenant accès au disque dur géré par le Raspberry Pi sous « Ce PC »

Créer un lecteur réseau sous WIndows 10 - et voilà !

Et voilà. Les fichiers de ce disque sont accessibles 24h sur 24 sans laisser un ordinateur énergivore en fonctionnement !

Print Friendly, PDF & Email
5 4 votes
Évaluation de l'article
26
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x