GNU/Linux >> Tutoriels Linux >  >> Linux

Choix du système de fichiers pour GNU/Linux sur une carte SD

Excellent article sur les systèmes de fichiers flash.

La question importante lorsque l'on parle de systèmes de fichiers flash est la suivante :qu'est-ce que le nivellement d'usure ? Article Wikipédia. Fondamentalement, sur les disques flash, vous pouvez écrire un nombre limité de fois jusqu'à ce que le bloc se détériore. Après cela, le système de fichiers (s'il n'y a pas de gestion intégrée du nivellement de l'usure sur le matériel, comme c'est généralement le cas pour les SSD) doit marquer ce bloc comme invalide et éviter de l'utiliser.

Les systèmes de fichiers typiques (par exemple ReiserFS, NTFS, ext3, etc.) sont conçus pour les disques durs, qui n'ont pas de telles limitations.

JFFS2

Comprend une compression et une protection élégante contre l'usure.

YAFFS2

  • Une seule chose qui fait la différence :des temps de montage courts, après un démontage réussi.
  • Implémente la propriété d'écriture unique :une fois que les données sont écrites dans un bloc, il n'est pas nécessaire de les réécrire. C'est important, car cela réduit l'usure.

LogFS

  • Pas très mature, mais déjà inclus dans l'arborescence du noyau Linux.
  • Prend en charge des systèmes de fichiers plus volumineux que JFFS2/YAFFS2 sans problème.

UBIFS

  • Plus mature que LogFS
  • Prise en charge de la mise en cache en écriture
  • Sur l'évolutivité :article. Sur les gros disques, meilleures performances qu'avec JFFS2

ext4

Si aucun pilote ou carte (par exemple, les disques SSD ont un nivellement d'usure interne, du moins généralement) ne gère le nivellement d'usure, alors ext4 n'est pas la meilleure idée, car il n'est pas destiné à une utilisation flash brute.

Lequel est le meilleur ?

Bien sûr, cela dépend de l'utilisation et du support. D'après ce que j'ai lu sur Internet, je recommanderais UBIFS. Bon support pour les grands systèmes de fichiers, phase de développement mature, performances adéquates et pas d'inconvénients majeurs.


J'étais confronté au même problème et j'ai également fait quelques recherches. Finalement, j'ai décidé d'utiliser ext2.

Il semble que certaines cartes SDHC implémentent leur propre nivellement d'usure au niveau de la couche matérielle. Si vous pouvez vous procurer des cartes SDHC dotées d'un niveau d'usure intégré.

Les systèmes de fichiers qui fournissent un nivellement de l'usure peuvent interférer avec le nivellement de l'usure au niveau Flash, il peut donc être mauvais pour le flash de les utiliser (l'article IBM cité ci-dessus explique comment JFFS le fait, il est donc clair que cela ne fonctionnera pas avec niveau de flash WL). J'ai décidé que je n'avais pas besoin de la journalisation d'ext3 puisque je n'y stocke pas de données critiques et que je fais généralement des sauvegardes régulières de toute façon (cron).

J'ai également monté /tmp et /var en tant que tmpfs pour accélérer les choses. Si vous avez suffisamment de RAM, vous devriez le faire (mais assurez-vous de faire pivoter ou de supprimer vos journaux régulièrement)

ASTUCE :Montez vos cartes SD externes avec l'option "noatime"


Linux
  1. Conseils Linux pour l'utilisation de GNU Screen

  2. Shedbuilt GNU/Linux :une distribution éducative exclusivement pour les cartes ARM

  3. Linux - Quels points de montage existent sur un système Linux typique ?

  4. Synfig – Une alternative à Adobe Animate pour GNU/Linux

  5. Depends.exe pour GNU/Linux

4 distributions Linux pour les jeux

Une introduction à bpftrace pour Linux

Choisir une imprimante pour Linux

Comprendre les systèmes de fichiers Linux :ext4 et au-delà

Une introduction rapide au système de fichiers Linux pour les utilisateurs de Windows.

Différences entre nobootwait et nofail dans les systèmes de fichiers Linux