Forum Linux.général Synchronisation de type P2P via ssh

Posté par  .
Étiquettes : aucune
3
30
juil.
2012

Bonjour,

Suite à des recherches sur le net, je ne parvient pas à trouver de soft correspondant à mes envies, aussi fais-je appel à vos lumières :

J'ai 7 Serveurs Multimédias, tous derrière une box avec tous les ports fermés. J'ai un serveur central avec le port ssh ouvert et écoutant dessus.

Actuellement, seul le serveur central stocke les fichiers, et lorsqu'un utilisateur veut en récupérer un, il le récupère par ssh. Souci, c'est extrêmement long à cause de mon upload (40ko/s).
Je souhaite donc modifier le système : chaque serveur vas partir avec un clone de tous les fichiers du serveur. Puis, lorsqu'un utilisateur ajoutera un fichier à son serveur, il sera partagé aux autres, avec disons une synchronisation programmé 1 nuit par semaine. J'aimerai éviter de devoir toujours passer par le serveur central à cause de l'upload.

Existe t-il donc un moyen de mettre en réseau P2P toutes ces machines sous linux, et de faire les synchronisation en P2P, le tout sécurisé en ssl ? Avec prise en compte de la possibilité qu'une des machines soit éteinte au moment de la synchro ou pendant (elle sera synchronisée la semaine suivante).

Possible de faire un P2P local, via port forwarding ssh, mais comment mettre en relation ssh des PCs sans ports ouverts avec un seul serveur écoutant ?

Pas évident à expliquer sans schéma, mais je pense que c'est compréhensible :)

Merci d'avance pour votre aide !

Zaft

  • # pistes

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

    Salut,

    tu peux peut-être utiliser BitTorrent : ton serveur central devient un tracker privé et tes serveurs multimédias des clients. La totalité de tes fichiers sont indexés par un fichier torrent, et ainsi ils ne passeront qu'une seule fois par le lien de la box. Mais je ne vois pas trop comment gérer l'ajout de fichiers, à moins de recréer des torrents à chaque fois et que chaque serveur devienne tracker à son tour…

    Sinon, tu peux peut-être utiliser GlusterFS, où chaque serveur serait serveur de stockage et client. Une autre option serait GFS.

    J'espère que ça t'aide.

    • [^] # Re: pistes

      Posté par  . Évalué à 1.

      Je ne sais pas si ça peut vraiment correspondre à ton besoin, mais pourquoi ne pas mettre en place un réseau Friend-to-Friend type Retroshare ?

      • [^] # Re: pistes

        Posté par  . Évalué à 1.

        Mouche !

        Retroshare, c'est exactement ce que je cherchait !
        Je ne connaissait pas l'appellation Friend 2 Friend, du coup je suis passé à coté.

        Merci beaucoup, c'est parfait.

        Reste à m'assurer que le soft est clean, car il faut bien qu'il y ai un serveur quelque part pour assurer les liens entres amis…

      • [^] # Re: pistes

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

        Oneswarm et GNUnet proposent aussi du F2F.

        • [^] # Re: pistes

          Posté par  . Évalué à 1.

          Effectivement, d'autant que j’apprécie la robustesse des outils GNU.

          Par contre, de ce que j'ai pu voir, seul RetroShare permet une synchronisation des répertoires, les autres softs ne l'on pas encore implémenté.
          Il est en effet possible de suivre un channel : chaque utilisateur peut ajouter un nouveau fichier qui sera automatiquement envoyé aux autres. Une forme de synchronisation si bien utilisé.

          Merci de la remarque dans tous les cas :)

    • [^] # Re: pistes

      Posté par  . Évalué à 0.

      J'ai effectivement pensé au Torrent, mais les échanges ne sont pas chiffrés, et surtout il y a ce soucis de tracker :/
      Il faudrait échanger les listes de fichiers, les comparer, et régénérer un tracker à chaque fois. Compliqué.

      Bonnes idée les GFS, mais le soucis c'est que seul le serveur peut monter/démonter des fichiers car les clients n'écoutent pas. Du coup, tout transite par le serveur, et la bande passante ne suffira pas.

      Simple question de curiosité : est-il possible, de connecter en ssh A et B à C, puis que C les aident à se connecter ensemble sans qu'ils aient de ports d'ouverts ?

Suivre le flux des commentaires

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