:::: MENU ::::

Déporter le système de fichier sur un partage NFS

Les cartes SD représentent un avantage et un inconvénient sur une carte Raspberry. C’est un support de stockage bon marché et très répandu. Il est possible de « recycler » une vieille carte utilisée auparavant dans un appareil photo pour notre Raspberry Pi. Cependant la mémoire des cartes SD n’est pas conçu pour supporter des lectures/écritures en grande quantité comme le réalise un système d’exploitation. Il est possible de déplacer les partitions systèmes sur un support de stockage qui est conçu pour réaliser des lectures/écritures intensives, comme un disque externe USB ou bien un partage réseau NFS. Il n’est pas possible de s’affranchir complètement du support SD, celui-ci étant utilisé pour la première partie du boot de la carte : pas de carte SD, pas de boot. Cependant la partition boot utilisée ne contient que quelques mégaoctets de données, et ne nécessite que de la lecture. Il est possible de recycler des vieilles cartes SD de quelques dizaines de mégaoctets, verrouillées en lecture seule.

Ayant à mon domicile un NAS qui me sert de point central pour le partage de mes données personnelles (photos, musiques, vidéos…), pourquoi ne pas l’utiliser également pour héberger les partitions systèmes de ma Raspberry ? Adieu les problèmes de cartes corrompues après quelques mois d’utilisation, volume de stockage important, facilité de migration et de tests sans avoir à jongler entre les cartes SD et fichiers images.

Le matériel nécessaire :

  • Un serveur de fichier NFS (dans mon cas un NAS Synology DS210+)
  • Une carte SD de 32Mo minimum (en fonction de la taille du « /boot » de votre distribution, 16Mo peuvent suffire)
  • Une carte SD avec une distribution RPi fonctionnelle (XBian, Raspbian…)
  • Une connexion réseau filaire (pas de WiFi)
  • Une adresse IP fixe (via bail DHCP fixe ou configuration système)

Configuration du partage NFS

Depuis l’interface de mon Synology, je crée un nouveau partage, accessible via NFS uniquement par l’IP de mon Raspberry (les droits d’accès NFS se font par adresse IP).

Capture d’écran 2015-02-11 à 01.34.01

Capture d’écran 2015-02-11 à 02.03.35

Préparation du système

On monte le partage NFS fraichement créé sur notre Raspberry (où 192.168.0.1  est l’adresse de votre serveur NFS) :

On copie l’ensemble de notre partition principale vers le partage NFS :

Configuration du système

Édition de la table de partition sur le partage NFS :

Il faut alors supprimer ou commenter toute ligne faisant référence à /dev/mmcblk0p2  ainsi que toutes les lignes faisant référence à / , /home  ou encore /lib/modules .

Ici un exemple avec le  fstab  de XBian, les quatre premières lignes sont à commenter ou supprimer :

Édition de la configuration réseau :

On commente toute ligne qui concerne l’interface éthernet et une configuration DHCP (pour éviter de rompre le lien NFS lors du boot) :

Édition du fichier de configuration de boot (après une copie de sauvegarde) :

Éléments à modifier/ajouter :

  • 192.168.0.1  correspond à l’adresse IP de votre serveur NFS
  • dhcp  si vous avez configuré un bail DHCP fixe pour votre Raspberry, sinon configuration IP manuelle ( [IP_raspberry]:[IP_serveur_NFS]:[IP_passerelle]:[masque_sous_seau] )

Si votre configuration est bonne, le prochain reboot de votre carte vous fera basculer sur votre partage NFS.

Pour utiliser votre carte SD de taille réduite, il suffit de formater celle-ci en FAT (16 ou 32 en fonction de sa taille) avec pour nom boot  puis de copier l’ensemble des fichiers contenus dans la partition boot  de votre carte actuelle vers la nouvelle.

Des optimisations supplémentaires sont possibles comme déplacer le swap vers un loop device réseau. Dans mon cas, la distribution XBian ne possédant pas de swap, les manipulations s’arrêtent donc ici, mais voici quelques commandes pour réaliser cette opération :

 

A propos de l'auteur :

Manu

Jeune diplômé en informatique de l'eXia.CESI, et passionné par le monde informatique et ses applications dans la vie quotidienne. Chez moi sont hébergées deux RPi, l'une dédié multimédia, l'autre centre domotique. J'ai également conçu une solution de monitoring de chaufferie collective où notre chère carte fruit