Forum Linux.général filesystem, traçabilité des modifications, restauration après suppression

Posté par . Licence CC by-sa
1
26
déc.
2013

Bonsoir à tous,

Si vous le permettez, j'aurai une question à vous poser. Je voudrais avoir un file server qui propose les features suivantes :

1) garder une traçabilité (via un journal) des modifications survenues sur le filesystem (modification de fichier, suppression de fichier, voire même ouverture en mode R d'un fichier, etc.),

2) je voudrais qu'un fichier supprimé ne soit pas réellement supprimé du filesystem, même s'il devient “invisible” via les commandes Bash standards et l'explorateur de fichier. Ainsi, il est possible de lister les fichiers supprimés et de les restaurer si besoin, via une commande particulière. Pour tenter d'expliquer un peu mieux mon idée, je voudrais faire le parallèle avec le "loop recording" des caméras. La poubelle, c'est-à-dire les fichiers supprimés, ne sont réellement effacés que lorsqu'il n'y a plus assez de place dans le “ring buffer”, “ring poubelle”. La taille de la “ring poubelle” varie donc en fonction de l'espace “libre” indiqué par la commande “df -h”.

Pour le point 1, Samba propose des options de journalisations permettant ça. Et quid de NFSv4.1 ?Je souhaiterai continuer d'utiliser ext4fs pour des raisons de fiabilité (btrfs bouge encore beaucoup. pas de troll svp :-).
D'un autre côté, installer Samba sur un PC client rien que pour avoir une traçabilité, c'est pas un peu lourd ?

Pour le point 2, je n'ai rien trouvé, la seule solution serait de faire des snapshots à chaque modification de fichier? C'est hyper lourd nan et en plus il ne répond peut être pas au point 1
. Ne parlons même pas de rdiff-backup qui n'est pas une solution. Je ne pense pas que le CopyOnWrite (par exemple ext3cow) soit également une réponse au problème.

Qu'en pensez-vous ?

Dans tous les cas, je VEUX installer un serveur NFS et SAMBA pour jouer, mais bon, je voudrais avoir votre avis sur les avantages/inconvénients par rapport au besoin. Sur un PC client, ça semble un peu lourd de fouttre tous ces serveurs ? D'un autre côté, j'aime la bidouille (RAID 5, LVM, LUKS sur mon seul PC dekstop, on s'amuse comme on peut…).

Merci…

  • # fileserver mais local à ta machine en fait ?

    Posté par . Évalué à 3.

    Dans tous les cas, je VEUX installer un serveur NFS et SAMBA pour jouer,
    […]Sur un PC client, ça semble un peu lourd de fouttre tous ces serveurs ?

    donc en fait tu veux un "ring-poubelle" sur ton PC local, et tu regardes ce qu'il se fait en mode serveur ?

    ou c'est bien sur un serveur different de ton PC que tu veux installer ca ?

    LOG :
    la fonction de log via samba se trouve coté serveur,
    ton PC n'a besoin que des greffons nautilus/samba pour pouvoir naviguer sur ton serveur

    CORBEILLE :
    pour la ring poubelle, je n'ai encore jamais vu cela,
    j'imagine que l'idée c'est de ne pas reellement effacée une donnée,
    et c'est justement le role d'une corbeille.

    ensuite tu peux faire un snapshot par heure, si c'est l'admin qui vide la corbeille, tu en maitrises alors les effacements.
    et tu peux faire un snapshot puis un vidage de corbeille.

    • [^] # Re: fileserver mais local à ta machine en fait ?

      Posté par . Évalué à 1.

      Hi NeoX, encore toi, tu es omniprésent :)

      Je reconnais que ma demande est fouillis, au départ je voulais placer Samba sur un NAS DIY, puis je me suis dit, ce serait bien d'avoir ces log de modification y compris pour les fichier système (i.e. la partition /, /boot, etc. et donc pas que pour /home/bastien/DOCUMENTS) donc je vais installer Samba sur mon PC client. Mais on ne peut pas fouttre le système d'exploitation dans un partage Samba, quelle idée ! Si ? Ca se fait ? La seule solution que je vois, c'est de faire un snapshot btrfs régulièrement… mais btrfs cestpasbien pour l'instant, ça bouge trop à mon goût.

      Je voudrais pourvoir restaurer l'état du système à n'importe quel moment et même voire les différents états d'un fichier au cours de ses diférents enregistrements.

      Mais j'ai l'impression qu'un tel système n'existe pas… en tout cas pas comme je l'imagine ?

      Si pas de solution, alors je vais rester sur :

      • samba pour le tableau RAID 5 afin d'avoir des logs sur qui fait quoi,
      • rdiff-backup pour le système,
      • pour les snapshots du tableau RAID 5, soit LVM soit rdiff-backup….

      Qu'en pensez-vous ?

      Pour répondre à ta question, oui, le principe de la CORBEILLE c'est ça, sauf que là, tu peux vider la corbeille de XCFE (par exemple :) mais pouvoir restaurer via une commande du genre snapshot --restore --snaphot-id="qsd11212154452" --file="/home/bastien/file_deleted.txt" voire même via une GUI à la snapper.

      +

      • [^] # Re: fileserver mais local à ta machine en fait ?

        Posté par . Évalué à 2.

        Snapper fonctionne aussi avec LVM et ext4 !!

        http://snapper.io/overview.html
        http://lizards.opensuse.org/2012/07/25/snapper-lvm/

        Je vais explorer ça…

      • [^] # Re: fileserver mais local à ta machine en fait ?

        Posté par . Évalué à 3.

        Hi NeoX, encore toi, tu es omniprésent :)

        hey oui, désolé si pendant les vacances certains ont une vie de famille, et d'autres une vie de geek ;)

        comme proposer plus bas, tu as la possiblité de faire un depot git de ton / (ca risque d'etre gros)
        sinon les fonctions snapshots de LVM sont aussi fait pour ca, mais ca veut dire faire un snapshot des qu'un fichier bouge.

        mais que faire pour le dossier /var/log ou certains fichiers bougent toutes les secondes ou toutes les minutes,
        tu vas te retrouver avec des milliers de snapshots pour une journée de "travail"

        cela vaut-il vraiment le coup par rapport à une solution de snapshot plus classique du /home et /data, genre toutes les heures et on ne garde que 12h
        puis 1x par jour on garde 20 jours
        puis 1 par mois on garde 12 mois
        puis 1 par an (finalement un peu comme les backups)

        pour la config de la machine, /etc dans un depot git, eventuellement externalisé pour pouvoir etre restauré.

  • # Idée alakon

    Posté par . Évalué à 3.

    J'ai jamais fait de truc semblable, mais je tenterais :
    - un git sur /
    - un service inotify qui commite dès qu'il y a une modif.

    À voir en pratique, ça pose peut-être un souci que je ne vois pas, là tout de suite…

    • [^] # Re: Idée alakon

      Posté par . Évalué à 3.

      j'allais lui proposer la meme chose.

      certains services de gestion de configuration se basent la dessus d'ailleurs pour commit/pull/push les config à partir d'un serveur central.

      • [^] # Re: Idée alakon

        Posté par . Évalué à 1. Dernière modification le 27/12/13 à 13:41.

        Hi,

        Merci à vous deux. Je vais voir ce que je peux faire avec ces solutions.

        +

        • [^] # Re: Idée alakon

          Posté par . Évalué à 1. Dernière modification le 27/12/13 à 14:39.

          Re,

          Je viens de jouer avec les snapshots LVM, c'est assez lourd car il faut démonter le LV d'origine et monter le LV de snap…
          Puis faire éventuellement le lvconvert --merge mais uniquement après avoir démonté le filesystem et avoir désactivé le LV.

          Je vais plutôt réserver cela à de rares occasions particulières… par exemple tester l'installation d'un fichier "binaire"
          dont je ne suis pas sûr (vérolés, etc.). Si tout semble okay quelques jours plus tard => lvconvert --merge.

          +

          • [^] # Re: Idée alakon

            Posté par . Évalué à 3.

            Tu as btrfs qui fait des snapshot à chaud, et inscriptibles, et HammerFS qui fait des snapshot en continue, il supprime jamais rien, avec une granularité de l'ordre de la seconde si ma mémoire est bonne.

            Please do not feed the trolls

            • [^] # Re: Idée alakon

              Posté par . Évalué à 1.

              Hi,

              Merci. HAMMER et HAMMER2 ne semblent pas (encore) supportés par Linux.
              HAMMER1 oui mais en ReadOnly.

              +

    • [^] # Re:Idéealakon

      Posté par (page perso) . Évalué à 3.

      • un service inotify qui commite dès qu'il y a une modif.

      Il me semble qu'il y a une limite d'une nombre d'inode surveillées par inotify.

Suivre le flux des commentaires

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