Je sais qu'il y a pas mal de sysadmins et développeurs ici présent donc je souhaitais partager ça ici dans l'espoir de récolter un peu de feedback.
On vient de lancer notre petit bébé qui est un système de fichiers décentralisé en peer-to-peer après quelques mois de développement. Il permet notamment de créer des infrastructures de stockage en quelques minutes.
Si vous voulez regarder ça de plus près (et le tester) c'est par ici - https://infinit.sh. N'hésitez pas si vous avez des questions / feedback !
# Manque d'info a vue de nez
Posté par romain11 . Évalué à 2.
Est ce que le bloc sont redondés ?
Quels performances peut on attendre ?
Avantage inconvénients par rapport à d'autre tech similaire ? (tahoe lafs, mogilefs, ..)
[^] # Re: Manque d'info a vue de nez
Posté par cadeuh . Évalué à 4.
Oui il y a de la redondance, le facteur de réplication des données est configurable. Tu peux voir plus d'infos sur la techno ici : https://infinit.sh/documentation/technology
Niveau performance, ca va dépendre du type de ton réseau (combien de noeuds, stockage cloud/local…) mais comme les opérations sont asynchrones, l'expérience ressemble vraiment à un système de fichiers natifs.
Tahoe-LAFS: plus ou moins le même concept que nous. On essaie de faire en sorte que ce soit plus facile d'accès pour les développeurs (dans l'utilisation, les interfaces etc) à la manière d'un docker par exemple. On est également plus orienté vers les entreprises.
MogileFS: je ne sais pas si c'est encore maintenu, il y a peu de documentation, liens morts etc. Je ne me lancerai pas dans son installation mais sinon c'est décentralisé de la même manière que nous.
[^] # Re: Manque d'info a vue de nez
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
Deux petites questions :
différence avec glusterfs ?
gestion des quotas utilisateurs / group ?
[^] # Re: Manque d'info a vue de nez
Posté par cadeuh . Évalué à 2.
GlusterFS utilise un système de master/slave pour la réplication des données plutôt qu'un système complètement décentralisé comme le notre. Leurs ressources de stockage sont également uniquement locales. Du coup ils partent du principe qu'ils font confiance aux noeuds. Avec Infinit, comme on peut construire des infrastructures hybrides, par exemple avec un stockage local et un stockage cloud (S3, Google Cloud Storage…), on considère que chaque noeud peut tomber (un cloud que tu ne contrôles pas) ou être malicieux, donc notre réplication de données est tolérante aux fautes byzantines. Du coup, puisque tout est décentralisé (data et metadata) et qu’aucune hypothèse n’est faite sur les noeuds, il n’y a aucun single point of failure ou bottleneck.
Qu'entends-tu par quota? Quota d'écriture?
[^] # Re: Manque d'info a vue de nez
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
Limiter l'espace disque par personne / projet (groupe) afin de ne pas exploser en volumétrie.
[^] # Re: Manque d'info a vue de nez
Posté par cadeuh . Évalué à 1.
Tu peux spécifier la capacité maximum de chaque ressource de stockage.
[^] # Re: Manque d'info a vue de nez
Posté par cadeuh . Évalué à 1.
J'ai lu trop rapidement ta question, on ne gère pas encore ça. Les limites sont uniquement par ressource de stockage pour le moment.
[^] # Re: Manque d'info a vue de nez
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
C'est ce qu'il me semblait. Merci de la précision.
[^] # Re: Manque d'info a vue de nez
Posté par freem . Évalué à 2.
C'est quoi?
[^] # Re: Manque d'info a vue de nez
Posté par cadeuh . Évalué à 2. Dernière modification le 01 février 2016 à 13:28.
https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
Pour nous, prévoir que certains noeuds de stockage peuvent tomber ou être malicieux (pour la réplication par exemple) et les gérer pour que tout fonctionne quand même.
# Question
Posté par dinux . Évalué à 2.
Je n'ai pas vu de demande de don ou inscription sur le site, c'est gratuit ?
Vu que c'est en peer to peer, chaque utilisateur du logiciel heberge une partie des données des autres utilisateurs ?
Dans l'exemple :
infinit-volume --create --as bob --network my-network --name my-volume --push
bob est un identifiant unique ? si j'utilise "bob" personne d'autre ne pourra l'utiliser ?
Si je copie ma clé RSA sur un autre PC pour accéder au dossier "distant", il est intégralement téléchargé sur le PC ou bien c'est seulement à l'accès au fichier que le fichier sera téléchargé "à la volée"?
[^] # Re: Question
Posté par cadeuh . Évalué à 1.
C'est gratuit pour des infrastructures < 30 personnes. On vise surtout les grosses entreprises pour la monétisation avec également des solutions spécifiques (https://infinit.sh/solutions).
Cela dépend de la configuration de ton infrastructure. Tu peux imaginer une infra où 10 personnes stockent localement l’ensemble des fichiers donc dans ce cas là oui. Tu peux aussi imaginer une configuration où les 10 personnes ne sont que des clients et ce sont 3 serveurs qui stockent les fichiers entre eux et dans ce cas là non.
L'identifiant est unique si tu utilises notre Hub oui, sachant que tu peux aussi rester complètement décentralisé (ne pas utiliser notre Hub) et dans ce cas l'identifiant sera unique seulement à l'intérieur de tes réseaux.
Les fichiers sont téléchargés à la volée lors de l'accès oui, d'où l'intérêt par rapport à des solutions comme Dropbox/Bittorrent Sync où tu as besoin de tout cloner sur ton PC et donc avoir suffisamment d'espace disque.
# Groupe de stockage par site
Posté par Tonio (site web personnel) . Évalué à 1.
Bonjour,
Très bonne initiative pour le SDN (Storage Define Network) ainsi que pour les PCA pour la partie NAS, existe-il la même approche pour la partie BLOC pour les VM? Où peut-on utiliser ce FS pour les VM?
Par contre, est-il possible de définir des groupes de stockage par niveau de performance ou par site?
[^] # Re: Groupe de stockage par site
Posté par cadeuh . Évalué à 1.
Oui Infinit peut être utilisé par des VMs. D’ailleurs certaines entreprise de hosting l’utilise exactement de cette manière; pour partager un espace de stockage entre des VMs ou migrer des VMs plus rapidement (sans avoir à copier les données). Pour ce qui est de l’interface, nous fournissons du fichier et objet mais pas de bloc car cela nous limiterait en terme de flexibilité sur le contrôle d’accès par exemple.
Tu peux, via les command-line tools, définir plusieurs infrastructure de stockage très facilement. Par exemple, une qui agrege des resources de stockage local (disques et serveurs locaux etc.) ce qui te donnera une très bonne perf. De la meme manière tu pourrais définir une infrastructure basé sur un ou plusieurs clouds, auquel cas le temps d'accès sera moins bon que des ressources locales, mais tu auras d'autre avantages: moins de chance que ces resources deviennent inaccessible etc.
# Forces du bouzin
Posté par freem . Évalué à 2.
Pré-scriptum: je compatis, c'est chiant la com. Et bon courage.
J'ai suivi le lien donné. J'ai vu… une superbe page web, blindée de graphiques sans réelle valeur (désolé, opinion perso), super pour les daycideurs pressés mais… ben, comme tu l'as dis, ici, c'est plutôt un site de power-users en tout genre: admin, dev, utilisateurs, pro ou pas…
Penses à developpez.com, ça pourrait te servir comme vecteur de com', et il est plus facile d'y avoir un haut karma qu'ici :)
Sinon, il faudrait une page listant des raisons techniques d'adopter votre enfant. Moi, un graphique non-technique ça me cause pas (enfin, si, ça me dit: "attention le FUD arrive"… pas cool, hein?) je préfère une liste de phrases avec des termes techniques que je peux aller vérifier s'il arrivait que je ne les comprenne pas.
Bref, ton lien ne m'à pas donné envie de creuser.
Moi, je cherche des raisons techniques d'utiliser de nouvelles technos et concepts, et il me faut pour ça une description brève qui inclue au moins les avantages espérés (par le fournisseur, donc toi) de la techno en question. Bref, j'ai quelques questions qui me viennes à l'esprit par rapport à ce thread (plus informatif pour le coup que la page d'accueil de ton site).
D'abord, il semble logique que ce système soit pour le partage des données. À quel niveau? LAN? WAN? Internet?
Si c'est du partage de fichier, en quoi est-ce censé intéresser les développeurs? Après tout, nous on accède juste aux fichiers avec un bon vieux
fopen
, même si j'ai envie de pleurer quand des confrères me disent que ça sert à rien de savoir comment le système tourne (le pire, c'est que techniquement ils ont raison).Si c'est pour de l'admin, je ne peux pas trop poser de questions pertinentes, ce n'est pas mon domaine malheureusement (il faudrait que j'arrive à bosser dedans, mais si je dois me retaper le chemin de l'école… dur) mais:
Pour finir, le jour ou tu auras une telle analyse, tu seras bienvenu à faire un journal ici, je pense que ce sera bien reçu et, en plus, un journal te permettra d'avoir une véritable visibilité (sur ce site, du moins, parce que les forums ne me semblent pas être l'endroit le plus exposé).
[^] # Re: Forces du bouzin
Posté par cadeuh . Évalué à 2.
Pour ce qui est du wording du site web etc, il y a en effet une volonté de rendre le produit accessible mais sachant qu'on veut aussi séduire les sysadmins, il y a également pas mal d'infos dans la FAQ et dans technology (https://infinit.sh/documentation/technology) pour les power users. Aussi, on est en train d'open sourcer les briques de toute notre techno côté client.
Pour le partage de données, on fournit un système de fichiers POSIX (dans la meme veine que NFS, ZFS, ext4 etc.). Tu peux donc tout a faire faire un fopen() sur un fichier qui est stocke via ce système de fichier. La difference avec les autres est que le fichier n’est concrètement pas nécessairement stocke localement, mais distribué entre plusieurs machines qui composent l’infrastructure de stockage: serveur, disque local, cloud etc.
Merci pour developpez.com, je n'y avais pas pensé :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.