🛠 NAS léger : disque USB et partage Samba
Objectifs
Transformer la carte en petit serveur de fichiers domestique : monter un disque USB formaté ext4, l'exporter en SMB/CIFS via Samba avec un compte authentifié, et dimensionner les attentes — les 4 ports USB et l'Ethernet Gigabit partagent le même bus USB 2.0, ce qui plafonne le transfert réel autour de 300 Mb/s au mieux en filaire, moins en pratique une fois le disque branché.
Matériel
- Carte type Raspberry Pi 3 Model B+ sous Raspberry Pi OS Lite, alimentation 2,5 A
- Disque dur 2,5"/3,5" avec sa propre alimentation (le budget USB total est 1,2 A)
- Câble Ethernet (préférable au Wi-Fi pour un NAS)
- Pas de SATA sur cette carte : seul le stockage USB est possible ; le microSD reste réservé au système.
Code complet
# 1. Formater (ATTENTION : efface tout) et monter le disque
sudo apt install -y samba
sudo mkfs.ext4 -L nas /dev/sda1 # vérifier : lsblk, sudo blkid
sudo mkdir -p /mnt/nas
UUID=$(sudo blkid -s UUID -o value /dev/sda1)
echo "UUID=$UUID /mnt/nas ext4 defaults,noatime 0 2" | sudo tee -a /etc/fstab
sudo mount -a && df -h /mnt/nas
# 2. Export Samba authentifie
sudo mkdir -p /mnt/nas/partage
sudo smbpasswd -a monuser
sudo tee -a /etc/samba/smb.conf >/dev/null <<'EOF'
[partage]
path = /mnt/nas/partage
valid users = monuser
writeable = yes
create mask = 0664
directory mask = 0775
EOF
sudo systemctl enable --now smbd
# 3. Test de débit (attendu : bien sous les 300 Mb/s theoriques du bus)
# cote client : smbclient //IP-CARTE/partage -U monuser
Vérification attendue
df -h /mnt/nas montre le disque monté et il survit à un redémarrage (fstab par UUID). Depuis un poste du réseau, smb://IP-CARTE/partage s'ouvre avec le compte créé, en lecture/écriture. testparm -s ne remonte aucune erreur de configuration. iperf3 en filaire approche 300 Mb/s quand le disque est au repos ; les transferts disque-à-réseau sont nettement plus lents — c'est normal (bus USB 2.0 partagé).
Erreurs fréquentes
- Disque bus-powered non alimenté : chutes de tension, bit de sous-tension, corruption — toujours un disque alimenté ou un hub actif.
- Monter par /dev/sda1 : le nom change selon l'ordre de branchement ; utiliser UUID.
- Oublier
smbpasswd -a: Samba refuse la connexion même si le compte Linux existe. - ext4 sur un disque qu'on veut brancher aussi sous Windows : prévoir exFAT ou un second partage, en sachant qu'exFAT est moins robuste aux arrêts brutaux.
- Éteindre sans
sync/poweroffsur ext4 en écriture : risque de fsck au boot suivant ; envisager des sauvegardes. - 1 Go de RAM : Samba + service d'indexation font grossir la charge — garder le système léger (Lite, pas de desktop).
Autres tutoriels pour cette carte
Exemples de code pour cette carte
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython