Salut à tous,
Par pitié, ne me demandez pas « pour quoi faire ? » ; je vous le dirai plus tard si ça march'
Disons qu'il s'agit d'une question théorique, concernant la "boite à outils Linux".
Nous connaissons "tous" la possibilité d'obtenir un block-device sur un fichier, et de monter un FS qui s'y trouve par la même occasion avec :
mount -o loop example.img /home/you/dir
Mais imaginons que l'on n'ai plutôt une série de fichiers :
chunk0001 (16 Mio)
chunk0002 (16 Mio)
chunk0003 (16 Mio)
…
chunk0999 (16 Mio)
Serait-il possible de faire un loop device sur la concaténation ("virtuelle") de l'ensemble de ces fichiers ?
Du genre :
mount -o loopchk chunk /home/you/dir
Dans le cas qui m'intéresse, je précise, que chaque fichier aurait exactement la même taille, et leur nombre prédéfini.
L'une des conséquence qui m'intéresserait, serait que la date de modification de chaque fichier serait différente et correspondrait à une modification de la "zone" du block-device.
J'ai trouvé des pistes, mais qui ne mènent à plus rien d'actualité :(
http://chunksync.florz.de/ et ChunkFS
# pour quoi faire ?
Posté par matthieu bollot (site web personnel, Mastodon) . Évalué à 5.
Oui mais pour quoi faire ?
Sans blaguer, je te souhaite bonne chance dans ton aventure totalement chelou donc certainement inutile donc sûrement indispensable ;)
# UnionFS
Posté par Raoul Volfoni (site web personnel) . Évalué à 2.
As-tu regardé de ce coté-ci ?
AMHA ça devrait répondre à ton besoin. Mais au fait pour quoi faire ? Nan j'déconne. ;-)
# Oui c'est possible
Posté par millman . Évalué à 2.
Tu peux regarder ce lien qui décrit comment faire pour concaténer virtuellement plusieurs fichiers en un seul.
[^] # Re: Oui c'est possible
Posté par _kaos_ . Évalué à 2.
Bon bin maintenant que quelqu'un propose une solution, on peut se lâcher !
Alors, pourquoi faire ? :p
Matricule 23415
[^] # Re: Oui c'est possible
Posté par Space_e_man (site web personnel) . Évalué à 2.
Il s'agirait d'un NAS pour petite structures associatives (asbl en Belgique ; loi 1901 en France).
Ce schéma n'illustre que l'aspect sécurité contre les désastres (sauvegardes externes) et les indiscrétions (chiffrement). D'autres dispositions sont prises pour les aspects défaillances matériels (RAID6) et "utilisateur" (genre rsnapshot).
Le but aussi étant d'utiliser des technologies et protocoles "simples". Par exemple, ne pas compter sur des protocoles tels que drbd ou avoir un accès root sur une machine distante, mais uniquement un accès FTP. La gestion des droits se fait au niveau du système de fichiers monté par loop device sur fsimage (ext4). Je sais qu'avec BTRFS, des tas de super choses similaires sont possibles, mais je préfère attendre encore pour BTRFS en production et aussi, BTRFS devrait alors également être installé sur la machine distante, configuré en cohérence et spécifiquement, etc. Hors en FTP, on peut très facilement mettre en place la solution.
Par ailleurs, une autre machine à remonter le temps peut être utiliser côté machine distante sur les morceaux chiffrés. J'envisagerais également de désactiver le chiffrement des nom de fichier au niveaux eCryptFS car cela n'est pas nécessaire. Avec les noms de fichier originaux, les version chiffrée pourrait être manipuler sans crainte de les mélanger…
[^] # Re: Oui c'est possible
Posté par millman . Évalué à 1.
Si le besoin c'est juste avoir un NAS avec une sauvegarde incrémentale chiffrée, c'est super compliqué comme solution.
Une solution plus simple est d'utiliser un système de fichiers classique dans un volume chiffrée et d'utiliser des outils de sauvegarde comme duplicity. Là aussi un simple accès ftp suffit.
[^] # Re: Oui c'est possible
Posté par Space_e_man (site web personnel) . Évalué à 1.
Merci, je vais investiguer du côté de duplicity… Par contre, je l'utiliserait sur la version chiffré du eCryptFS, de sorte à ce qui sorte soit chiffré et ne puisse pas être lisible par le propriétaire de l'ordinateur distant.
[^] # Re: Oui c'est possible
Posté par NeoX . Évalué à 2.
comme evoqué par d'autres ca me semble super compliqué à gérer.
il se passe quoi si tu perd un des chunks chiffrés ?
c'est un raid logiciel d'un ensemble de fichiers ?
eux meme stockés sur un raid materiel ?
tu as fait des essais ? ca donne quoi niveau performance ?
parce que, plus simplement, tu as ton raid6 materiel, qui expose un disque (volume)
dedans tu tailles des Volumes LVM,
sur le volume tu peux mettre du cryptage,
et pour le backup, tu fais un snapshot LVM pour figer la situation à un instant T, et c'est lui qui part en sauvegarde.
[^] # Re: Oui c'est possible
Posté par Space_e_man (site web personnel) . Évalué à 1.
Merci, ça mangera pas trop de pain de recopier ici les solutions en question…
Je vais me renseigner sur nbd. Vous connaissez ? C'est "bien" (solide, maintenu, etc.) ?
J'aurai plusieurs milliers de "petits" fichiers, pour un total de plusieurs Go, voir To, par "petit" fichier d'une centaine de Mo maximum…
… donc cette autre solution ne pourrait probablement pas faire l'affaire à cause d'un loop-device par "petit" fichier :
[^] # Re: Oui c'est possible
Posté par millman . Évalué à 2.
En effet comme le fait remarquer NeoX le nombre de loop device possible n'est pas infinie. Avec plusieurs millier de fichiers tu vas dépasser cette limite.
Sinon j'ai vu qu'il existe une solution reposant sur FUSE également appeler concat-fuse.
Les sources sont disponibles sur github.
# raid ou LVM ?
Posté par NeoX . Évalué à 2.
tu dois pouvoir faire ca avec du LVM ou du raid (mdadm)
tu peux faire des volumes à partir de fichier,
et reconstruire un seul volume qui sera ton stockage finale.
# Limite systeme
Posté par NeoX . Évalué à 3.
attention si tu veux faire tes
mount -o loop...
il y a une limite du nombre de loop activable simultanéement sur une machine.
ca depend des distribs
des pistes avec losetup
http://linux.die.net/man/8/losetup
ou avec le module loop
http://www.linuxquestions.org/questions/red-hat-31/how-to-increase-the-loop-devices-number-541717/
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.