Forum général.cherche-logiciel Système de fichier pour carte compact-flash

Posté par  (site web personnel) .
Étiquettes : aucune
0
4
août
2010
Bonjour!

Mon portable possède un lecteur de carte compact-flash. J'ai décidé d'en profiter pour réaliser sur une telle carte des sauvegardes quotidiennes et automatiques de mes données.

Du coup, je me demande quel système de fichier adopter pour la carte.
* Inutile que ce système de fichier soit lisible par autre chose que linux.
* Je pensais me tourner naturellement vers de l'ext4, mais j'ai peur que la journalisation soit à terme douloureuse pour la carte, et sans réel avantage.

Je suis preneur de tous conseils ou remarques.

Merci!
  • # besoin de plus de détails

    Posté par  . Évalué à 1.

    Envisages-tu une rotation des supports ou bien les différentes sauvegardes doivent cohabiter sur la même carte ?
    Cela change beaucoup le problème : dans le premier cas, tu cherche seulement un système de fichier efficace et performant. Dans le second, tu dois trouver un système de fichier qui te garantit l'absence de possibilité de corruption d'un contenu déjà écrit.

    Ensuite, il y a des SF spécialisé pour les supports type carte : du genre logFS.
    • [^] # Re: besoin de plus de détails

      Posté par  (site web personnel) . Évalué à 1.

      Je ne prévoie pas de rotations.

      Je ne cherche pas à archiver des données pour le long terme.
      Le but est d'avoir un duplicata _à jour_ de mes données en cas de crash du disque dur, ou d'erreur de manipulation:
      Une sauvegarde par jour, un nettoyage toutes les semaines environ des données vieilles de plus d'une semaine.

      Plus que la journalisation, c'est le cycle d'écriture, d'effacement et de ré-écriture qui me fait peur pour la mémoire flash.
      • [^] # Re: besoin de plus de détails

        Posté par  . Évalué à 2.

        le systeme de fichier que tu veux, mais

        rsync avec les bonnes options pour ne transferer que ce qui a changé depuis le rsync precedent

        y a meme une option --delete pour effacer de la sauvegarde les fichiers qui ont été effacés dans le dossier d'origine
        • [^] # Re: besoin de plus de détails

          Posté par  (site web personnel) . Évalué à 2.

          Zut... C'est le hardware qui me dit quel software utiliser pour mes sauvegardes!

          Adapter le système de fichier au matériel fait sens selon moi.
          Par contre, pour le choix du logiciel de sauvegarde, j'avais pris en compte d'autres critères que les contraintes posées par la mémoire flash...

          Je pensais ne pas le faire avec Rsync, car outre le duplicata de l'état actuel de mon répertoire, je veux aussi conserver l'état d'il y a quelques jours (environ une semaine).

          Après lecture de ce comparatif des différents logiciels de sauvegardes pour les unix, j'en ai conclu que dar ou tar convenaient à mes besoins. Comme il est d'usage dans ces conditions, je me contente de ce qui est installé d'office, à savoir tar. Ça me semble être un très bon choix: simple, robuste, efficace, portable, durable.

          Est-ce incompatible avec les contraintes d'une carte compact-flash?
          • [^] # Re: besoin de plus de détails

            Posté par  . Évalué à 1.

            C'est pas un problème, tu fais d'abord un cp -al (le -l c'est pour faire des liens physiques plutôt que des copies), puis tu refais un rsync sur ton répertoire d'origine. rsync va créer des nouveaux fichiers pour les fichiers changés (par défaut, mais il y a une option pour lui dire de le faire dans le fichier d'origine, ce qu'on ne veut pas ici), donc pour tous les fichiers qui n'ont pas changé on ne duplique pas les données et on a malgré tout deux instantanés complet des données, grâce aux liens physiques (seuls les répertoires sont dupliqués).

            Si tu ne veux pas faire ça manuellement, il y a rsnapshot qui fait exactement ça:
            http://www.rsnapshot.org

            Ça donne évidemment de meilleurs résultats si tu as beaucoup de petits fichiers que quelques très gros, car un gros fichier dont un octet a changé doit être dupliqué en entier.

            Et sinon, concernant ext4 tu peux désactiver le journal, cf la FAQ officielle
            https://ext4.wiki.kernel.org/index.php/Frequently_Asked_Ques(...)
            (la dernière question)
            • [^] # Re: besoin de plus de détails

              Posté par  (site web personnel) . Évalué à 1.

              Merci, je ne connaissais pas le cp -l, qui répond effectivement bien au problème des sauvegardes anciennes.

              À lire Luten ci-dessous, dans mon cas, le nombre de ré-écritures successives n'est pas problématique.

              Du coup, je peux décoreller le choix du logiciel de sauvegarde des problématiques de la mémoire Flash.

              Quant au lien sur la FAQ de ext4, il est parfait.
          • [^] # Re: besoin de plus de détails

            Posté par  (site web personnel) . Évalué à 1.

            Le lien vers le comparatif n'est pas passé, le voici:
            http://www.halfgaar.net/backing-up-unix
  • # Qui dit flash

    Posté par  . Évalué à 0.

    dit filesystem adapté
    voici un long et complet point sur la situation dispo sur ton site préféré
    https://linuxfr.org//2008/04/04/23938.html

    Personnellement je te conseillerais UBIFS
    • [^] # Re: Qui dit flash

      Posté par  . Évalué à 3.

      Oui mais sur une carte compact flash tu ne peux pas accéder directement à la flash tu doit passer par le contrôleur, UBIFS comme les autres FFS sont conçus pour fonctionner sur des "RAW Flash"..
      A voir sur le site UBIFS [1]:

      Big red note

      One thing people have to understand when dealing with UBIFS is that UBIFS is very different to any traditional file system - it does not work on top of block devices (like hard drives, MMC/SD cards, USB flash drives, SSDs, etc). UBIFS was designed to work on top of raw flash, which has nothing to do with block devices. This is why UBIFS does not work on MMC cards and the like - they look like block devices to the outside world because they implement FTL (Flash Translation Layer) support in hardware, which simply speaking emulates a block device on top of the built-in raw flash. Please, make sure you understand the differences between raw flash and, say, MMC flash before dealing with UBIFS. This section should help.

      1: [http://www.linux-mtd.infradead.org/doc/ubifs.html#L_rednote]
      • [^] # Re: Qui dit flash

        Posté par  (site web personnel) . Évalué à 1.

        J'ai lu les liens avec attention. UBIFS est conçu pour fonctionner sur des "RAW Flash".

        Tu précises que cela concerne aussi les autres FFS, mais quels sont ces autres FFS: LogFS, JFFS2?

        Est-ce dire que rien d'autre ext[3-4] n'a de sens?
        • [^] # Re: Qui dit flash

          Posté par  . Évalué à 2.

          Oui une compact flash est vue comme une disque physique avec ses secteurs, il faut donc utiliser un file system "normal".
          UBIFS et autres utilisent par exemple les flash NAND en direct pour avoir accès aux pages et blocs de la flash ainsi qu'aux zones de contrôle ( les spares area ) ce qui n'est pas possible au travers d'un contrôleur qui émule une disque et ne permet que les accès secteurs.
          La gestion de l'usure des blocks est effectuée dans le contrôleur de la CF, c'est lui qui égalise cette usure ( "wear leveling" en anglais), dans un FFS c'est la couche FTL qui s'en occupe puisqu'il n'y a pas de contrôleur physique.
          Au final, si le contrôleur de ta CF est suffisamment efficace, ce qui compte c'est le nombre total d'accès pas l'endroit ( au sens adresse logique donc secteur) où tu les fait. Le souci est donc que l'on est, dans ce cas, dépendant du travail effectué par le contrôleur de la carte, si le firmware est pourrit tu risques de cramer ta carte prématurément.
          • [^] # Re: Qui dit flash

            Posté par  (site web personnel) . Évalué à 1.

            Bon, ext4 alors...

            J'ai essayé de choisir une carte de bonne qualité en m'appuyant sur certains comparatifs. Elle est par ailleurs garantie 10 ans, j'imagine que le constructeur a pris soin de coder proprement son contrôleur afin d'éviter d'avoir trop de retours...

            En lien avec les remarques de NeoX ci-dessus, j'hésite sur le sens de cette phrase: «ce qui compte c'est le nombre total d'accès pas l'endroit ( au sens adresse logique donc secteur) où tu les fait».
            Est-ce le nombre total d'accès sur la carte qui compte (~366 par an dans mon cas), ou le nombre total d'accès par endroit (moins de 366 par an pour certains endroit si j'utilise un logiciel qui ne ré-écrit pas une donnée non modifiée par la nouvelle sauvegarde)?
            • [^] # Re: Qui dit flash

              Posté par  . Évalué à 1.

              Avec 366 par ans il n'y a pas de problèmes , même si tu ecris au même endroit car c'est le même endroit logique, le controleur va écrire a des endroits physiques différents ( des pages différentes de la NAND).
              Une NAND SLC par exemple supporte 10 000 cycles d'effacements par blocks sachant que les écriture se font par page.
              Par exemple pour une NAND SLC de 4Go (avec des blocks de 128k et des pages de 2k) tu peux faire en théorie au maximum:
              4G/2k*10 000 = 20E9 écritures
              En pratique le nombre est bien sur inférieur car il y aussi les écritures effectuées par le FS et les écritures dues au wear leveling, mais cela donne un ordre d'idée.
    • [^] # Re: Qui dit flash

      Posté par  (site web personnel) . Évalué à 1.

      Merci,

      Je connais cette dépêche. Le problème, c'est qu'à l'heure de son écriture aucune solution ne semblait réellement efficace:
      * JFFS2 est critiquable pour le temps nécessaire au montage (ma carte fait 8Go soit 8x3,3 secondes selon l'article).
      * Les autres solutions étaient qualifiées de jeunes, soit au sens ou elles devaient encore faire leur preuve, soit au sens ou leur mode de développement paraissait encore incertain.

      Avec le temps, j'imagine que les choses sont un peu tassées, et que certains par ici ont une expérience réelle à partager.
  • # Commentaire supprimé

    Posté par  . Évalué à 2.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # Merci!

    Posté par  (site web personnel) . Évalué à 2.

    Merci à tous.

    Suivant vos bons conseils et mes mauvaises habitudes, j'ai pris la décision suivante:
    * Système de fichier ext4
    * Vraisemblablement avec journalisation, car je veux justement que mes données soient propres et accessibles vite fait bien fait (sans fsck complet) en cas de crash, bien que j'hésite encore un peu.
    * Avec l'option noatime (qui implique l'option nodiratime), et qui évite plus d'écritures que l'option relatime.
    * Les sauvegardes seront effectuées avec tar (tar saibien).
    • [^] # Re: Merci!

      Posté par  . Évalué à 1.

      J'arrive un peu tard mais pour le système de fichiers, brtfs semble intéressant puisqu'il comporte des optimisations pour les media flash (SSD mais aussi CF et autres SD).

      Il reste cependant encore expérimental, ou alors c'est récent.

      Concernant la journalisation, c'est une bonne idée puisque le surplus de place prise est raisonnable compte tenu des avantages fournis.
      • [^] # Re: Merci!

        Posté par  . Évalué à 1.

        Comme indiqué plus haut, le compact flash ne permet pas d'accéder directement à la mémoire flash et donc de bénéficier des avantages des FS dédiés au SSD.
        En fait il embarque son propre contrôleur IDE, comme un disque dur branché sur ce même contrôleur d'une carte mère.
        Donc il faut se rabattre sur des FS plus classiques comme les extN.

        Pour ma part, je me sers d'un CF de 8GB comme DD système sur mon laptop. J'ai choisi ext2 (de mémoire) pour éviter la journalisation et donc des écritures supplémentaires, justement. A bien y réfléchir, je ne suis pas sûr que ce soit légitime.
        Dans le doute, si/quand je referai mon système, je partirai sur du ext4.

        Pour de la sauvegarde, ext4. oublie en tous cas des FS plus basiques comme fat32, car tu ne peux pas faire de lien et donc faire des snapshots en utilisant 'cp -lr'.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.