Aller au contenu

Le fil des geeks informatiques


Johnnieboy

Messages recommandés

Petit problème *nix (insoluble pour l'instant).

 

J'ai deux disques durs branchés (A et B) sur une machine (un RaspberryPi en l'occurence, ce qui implique des contraintes CPU/RAM).S

Sur ces 2 disques, j'ai une arborescence de fichiers assez conséquentes, composée de milliers de dossiers, sous-dossiers et fichiers (~300 go), que j'aimerai synchroniser entre disque A et disque B.

Si j'ajoute un fichier à A, j'aimerai qu'il soit copié au même endroit sur B. Si je supprime un dossier ou change un nom de fichier sur B, j'aimerai que cela soit mirroré sur le A, et ainsi de suite.

 

Je cherche donc un système simple, sous Unix, qui surveille l'arborescence et réplique les modifications. Dropbox fait ça très bien, avec peu de ressouces consommées et des échanges de delta plutôt que tout le fichier si la modification est de petite taille. Par contre ça passe forcément par leur serveur central (alors que j'aimerai que ça ne tourne qu'en LAN), ça fonctionne mal avec l'architecture ARM hard float du raspberry et de toutes façons les contrats > 50 gb sont hors de prix pour cette utilisation là.

 

Les fichiers sont principalement des fichiers binaires (textures TGA/PNG/JPG, meshes en OBJ/FBX, mp3...), et très peu de texte. Un système de synchronisation basé sur Git est donc inadapté dans notre cas présent.

 

Les solutions basées sur rsync ne sont pas envisageables car je ne veux pas que toute la hiérarchie soit vérifiée à chaque modification (ce que rsync va faire de base). Toutes les solutions à lancer à la main sont également inutiles (c'est toujours qu'en on oublie de répliquer qu'on perd qqch).

 

lsyncd me parait pas mal, parce qu'il utilise la structure des inodes directement dans le kernel, et donc ne s'occupe que des modifications de fichier effectives. Le problème est qu'il va allouer 1kb par dossier, et qu'on va vite se retrouver avec 2 GB de RAM et 75% du CPU utilisées pour rien (et impossible à faire de manière pérenne sur le Raspberry).

 

Une solution comme btsync pourrait marche, mais ça ne fonctionne pas en local (il faudrait attacher chaque disque à un raspberry différent et tricher sur le routage réseau pour y arriver, ce qui est idiot).

 

Est-ce que quelqu'un imagine une solution à mon problème ?

Lien vers le commentaire

Un collègue a utilisé git dans une ancienne startup pour stoquer des images de distributions completes, donc des machins de plusieurs Go de binaires, à priori, c'est peut etre pas fait pour, mais ça marche !

 

Lien vers le commentaire

Moui pour git faut surtout voir à quelle fréquence tes fichiers de données changent. Parce que tu prends quand même le risque de faire péter la taille de l'historique avec ça. Comme dans ton cas tu t'en fiche de l'historique ça vaudrait probablement la peine de creuser du côté du bon système de fichier.

Sincèrement si rsync ça le fait pas pour des raisons de perfs, je suis pas sûr que ça passe aussi bien pour git.

Je peux me tromper, mais j'aimerais bien comprendre pourquoi git serait meilleur dans ce cas.

Enfin test si jamais ça passe tant mieux après tout.

 

Ceci dit j'aimerais bien comprendre pourquoi tu peux pas simplement faire un RAID-1 avec ou sans LVM.

J'avais répondu en pensant que un disque était sur une machine et l'autre sur une autre. Mais en relisant j'ai l'impression que les deux disques sont sur la même bécane --> RAID-1.

Lien vers le commentaire

Git est meilleur parce qu'il peut calculer les deltas binaires a partir de l'ancetre, de mémoire d'après ce que m'avait raconté mon collègue, mais c'est utile si il y à risque de fork binaire, sinon zfs+réplication zfs, ça marche du tonerre, meme sous linux, mais il ne gère pas les merges, donc c'est pour du maitre-esclave, quitte à changer qui est le maitre et qui est l'esclave régulièrement...

 

 

Lien vers le commentaire

Oui zfs + replication ou n'importe quelle méthode pour faire du RAID-1 devrait le faire, à mon avis ce genre de truc sont bien mieux gérés au niveau file system plutôt que d'avoir une appli qui s'en occupe. Typiquement dans son cas il n'y a pas de commit à proprement parler chaque modif doit -être dupliquée en temps réel donc pas vraiment de raison de passer par git.

Lien vers le commentaire
  • 2 weeks later...

http://www.sciencedaily.com/releases/2014/07/140717094822.htm

C'est vraiment nouveau, cette techno ? J'ai une forte impression de déjà vu ...

Le Random Random Network Linear coding n'est pas "nouveau". Là j'ai l'impression que le buzz se fait plutôt autour d'une application concrète.

En fait le Linear Network coding, c'est un peu similaire au équations au lycée où il faut trouver X,Y et Z à partir de 3 équations. S'il en manque une des 3 on ne peut plus trouver une des inconnues. Par contre si on en a vraiment plus que 3 et qu'on en perd au pif, on peut quand même retrouver les 3. Là, c'est pareil mais avec des paquets réseau à la place des inconnues. La technique marche bien et le throughput est d'autant plus important qu'il y a de noeuds connectés en même temps sur le réseau. Donc en saturant le réseau on le rend plus performant, paradoxalement.

Après il y a pleins de cas difficiles à gérer : comment fait-on quand ce n'est pas un même fichier source qu'on balance à un tas de client (comme dans du p2p par exemple)? Comment on fait du multi-emetteur multi-emetteur ? Comment on entrelace deux flux de paquets différents qui on des demandes de Qualité de Service différents ? (exemple un paquet pour un mail n' a pas les contraintes d'un paquet vidéo, etc...)

Lien vers le commentaire

J'ai du mal à voir leur application concrète, j'ai l'impression qu'ils comparent leur protocole autocorrecteur à un lien TCP standard, sur un lien avec un RTT long (un mobile)

Or un lien TCP c'est de la merde en barre sur une ligne à RTT long, ça économise au maximum les paquets (donc la bande passante) au lieu d'économiser les RTT.

Un protocole autocorrecteur un peu riche comme le leur fait le contraire, il évite les RTT en etant le plus unidirectionnel possible et en échange consomme de la bande passante.

Ca marche, c'est adapté a la video ou l'audio sur mobile... comme tous les protocoles de streaming basés sur UDP ou SCTP... Donc comparer à un stream TCP c'est du bullshit, il faut comparer a un protocole "real time" basé sur UDP.

Lien vers le commentaire

Oui puis c'est pas comme si les maths n’arrêtaient pas de rendre la communication réseau toujours plus rapide que ce soit via des technos de recouvrement d'erreurs (genre les turbocodes & LDPC), ou sur le volume avec toutes sortes de compressions.

 

Ca marche, c'est adapté a la video ou l'audio sur mobile... comme tous les protocoles de streaming basés sur UDP ou SCTP... Donc comparer à un stream TCP c'est du bullshit, il faut comparer a un protocole "real time" basé sur UDP.

Par pure curiosité, comme tu sembles connaître SCTP, comment tu le comparerais à PGM, ou à des protocoles over UDP comme Mold UDP ?

Lien vers le commentaire
  • 2 weeks later...
  • 2 weeks later...

J'ai loué un nom de domaine et un espace de stockage pour un site mais je n'ai pas de PHP ni de MySQL (en contrepartie c'est vraiment as cher, 6 euros l'année ;). Etant donné que je n'ai besoin que d'un site vitrine avec 1-2 photos, un logo et du texte ça doit bien être suffisant. Savez-vous comment je pourrait créer un ensemble de page HTML avec un logiciel our m'éviter de tout faire à la main ? je sais que ça existait au début du web mais avec l'apparition des CMS ça j'ai l'impression que ça a disparu.

 

EDIT: en fait ça doit être tout simplement un HTML editor dont j'ai besoin, et qui tourne sous Ubuntu. Je vais bien trouver ça

Lien vers le commentaire

« Pour m’éviter de faire à la main parce que j’y connais rien » ou « Pour m’éviter d’avoir absolument tout à gérer à la main parce que je suis flemmard » ?

Dans le premier cas ça risque d’être difficile, mais je dirai d’essayer http://bluegriffon.org/. Ou l’éditeur de pages dans SeaMonkey.

Dans le second cas directement du Markdown pour une ou deux pages à gérer, pour plus chercher dans un générateur de blog/site statique (en deux secondes de recherche https://linuxfr.org/users/jiba/journaux/eclaircie-un-moteur-de-blog-et-de-site-personnel-statique-et-sans-nuage, https://linuxfr.org/news/makefly-une-alternative-au-moteur-de-blog-statique-nanoblogger, https://linuxfr.org/users/linkdd/journaux/plstblog-un-générateur-de-blog-statique-écrit-en-perl)

Lien vers le commentaire

Je dois avoir une bonne centaine d'heure de CSS derrière moi donc plutôt la deuxième réponse.

Pas trop le courage de démarrer l'écriture d'une page. Je viens d'installer Kompozer qui est un genre de Dreamweaver pour linux et ne connaissais pas BlueGriffon - du moins je ne l'ai pas vu sur les listes de WYSIWYG editors. Merci pour lien, je vais l'installer, il prendre en charge le HTML5 et CSS3.

 

Pour simplifier encore plus je vais sûrement être tenté d'enregistrer une page que je trouve chouette et de l'éditer après :mrgreen:

Lien vers le commentaire

Je ne connaissais pas et certaines sont très chouettes. Ca change des tempates de CMS qui se ressemblent, tous avec le minimum de texte et une énorme image. Merci :)

 

Et pourquoi pas un "thème" sans CMS, du style:

http://themeforest.net/item/alpine-responsive-one-page-parallax-template/6480453

Lien vers le commentaire

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...