Raspberry Pi : connexion USB d'un disque dur externe ou d'une clé USB

Connecter un disque dur en USB présente beaucoup d'avantages :

On peut y installer des serveurs : HTTP, DNS, FTP, etc.On peut y installer le système du Raspberry Pi, libérant la carte SD qui sera en lecture seule, ce qui l'économise : voir http://www.framboise314.fr/booter-le-raspberry-pi-sur-un-disque-dur-usb/On peut créer un espace NASVoici comment connecter un disque dur externe à un Raspberry Pi

Ici, nous utiliserons une clé USB de 125 Go.

Pré-requis

un Raspberry Pi avec son alimentation et sa carte SD avec Raspbianconnecté au réseau un disque dur USB, si possible alimenté séparément

Première étape : Repérage des partitions

Le disque ou la clé n'étant pas branchée, listez les partitions du Raspberry Pi en lançant :

pi@framboise:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...

Branchez votre disque USB ou votre clé sur une prise USB du Raspberry Pi. Il se monte tout seul avec des paramètres génériques. Relancez :

pi@framboise:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:16 1 125G 0 disk
└─sda1 8:17 1 125G 0 part
...

Les lignes apparues correspondent aux partitions du disque (s'il y a plusieurs lignes, c'est que le disque a plusieurs partitions)

La clé que nous venons de connecter

est /dev/sda, de 125 Goet elle a une partition /dev/sda1, de 125 GoPour avoir plus de détails, lancez :

pi@framboise:~ $ sudo blkid
...
/dev/sda1: UUID="7FE1-97D6" TYPE="vfat" PARTUUID="876fbad3-01"
...

Notre clé est /dev/sda,

d'UUID “7FE1-97D6”,de type vfatet elle a une partition /dev/sda1 :de PARTUUID “876fbad3-01”de type vfatsans label	une partition sans label se monte automatiquement selon son UUID, en /media/xxxxxxx, xxxxxx étant son UUID
Le disque comporte d'autres partitions qui pourront servir, l'une en ext4 et l'autre en ntfs.

Autres étapes

Formatage du disque

Formatez le disque USB avec un système de fichier linux (ext3, ext4, etc ...) :

pi@framboise:~ $ sudo umount /dev/sda1
pi@framboise:~ $ sudo mkfs.ext4 /dev/sda1

Création de l'arborescence de montage

Créez le répertoire dans lequel sera monté le disque dur, et donnez-lui les droits de lecture/écriture nécessaires :

pi@framboise:~ $ sudo mkdir -p /media/disque
pi@framboise:~ $ sudo chown -R pi:pi /media/disque
pi@framboise:~ $ sudo chmod -R ug=rwx,o=rx /media/disque

Vous pouvez créer d'un coup plusieurs répertoires pour monter plusieurs partitions : pi@framboise:~ $ sudo mkdir -p /media/{disque,data,Rpi-data,Reservoirs}

Montage du disque

Montez le périphérique dans ce dossier :

pi@framboise:~ $ sudo mount /dev/sda1 /media/disque

Pour monter le disque au démarrage du Raspberry, éditez avec les droits d'administration le fichier /etc/fstab et ajoutez la ligne :

UUID=XXXXXXX /media/disque ext4 defaults 0 2

Ajouter une ligne pour chaque partition du disque :

pour une partition ntfs :	# Reservoirs (/dev/sda3) UUID=xxxxxxxxxxx /media/reservoirs ntfs-3g exec,permissions,auto 0 0 UUIDvaleur de l'UUID vue avec blkid, sans les guillemetspoint de montage/media/Reservoirs (répertoire créé plus haut)ntfs-3gpartition en ntfspermissionspermet de gérer les droits comme pour une partition linux (chown, chmod)
pour une partition ext4 :	# pidata (/dev/sda2) UUID=4e78xxxxxxxxxxx /media/Rpi-data ext4 defaults 0 0 UUIDvaleur de l'UUID vue avec blkid, sans les guillemetspoint de montage/media/Rpi-data (répertoire créé plus haut)ext4partition en ext4defaultsvaleurs par défaut
Lancez le montage de toutes ces partitions :

pi@framboise:~ $ sudo mount -a

Redémarrez le Raspberry Pi (cela coupe la liaison SSH) :

pi@framboise:~ $ sudo reboot

Désormais, le Raspberry Pi monte son disque au démarrage.

Conclusion

Le disque est maintenant monté sur le Raspberry Pi

Problèmes connus

Voir aussi

(fr) http://emery.claude.free.fr/nas-samba.html

Basé sur << Créer un NAS avec Samba sur Raspberry >> par Claude Emery.