28 votes

Lustre, Gluster ou MogileFS ?? pour le stockage, l'encodage et la diffusion vidéo

Beaucoup d'options et de si peu de temps de toutes les tester... je me demande si quelqu'un a des expériences avec des systèmes de fichiers distribués pour le streaming vidéo et le stockage/l'encodage.

J'ai beaucoup d'énormes fichiers vidéo (50 GO à 250 go) que j'ai besoin de stocker quelque part, être capable d'encoder en mp4 et de les diffuser à partir de plusieurs Adobe FMS serveurs. La seule façon de gérer tout cela est avec un système de fichiers distribué, mais maintenant, la question est lequel??

Mes recherches me dit:

  • Lustre: mature solution éprouvée, utilisée par beaucoup de grandes entreprises, meilleur >10G de fichiers est un pilote de noyau.
  • Gluster: de nouveaux, moins mature, le FUSIBLE qui signifie facile à installer, mais peut-être plus lent en raison de FUSIBLE de surcharge. Mieux à gérer un grand nombre de petits fichiers ~1 GO
  • MogileFS: il semble que pour des petits fichiers ~MO, utilise HTTP pour l'accès?? possible FUSIBLE de liaison à l'avenir.

Jusqu'à présent Lustre semble le gagnant, mais je voudrais entendre les expériences réelles pour l'application particulière que j'ai.

Aussi Hadoop, Redhat GFS, Coda et Windows DFS son comme une des options de toutes les expériences sont les bienvenus. Si quelqu'un a des repères s'il vous plaît partager.

Après une certaine expérience réelle, c'est ce que j'ai appris:

  • Éclat:
    • Performances: vitesse extraordinaire! Je peux affirmer que le Lustre peut servir à beaucoup de cours d'eau et que la vitesse d'encodage n'est pas affecté par l'accès aux fichiers via le Lustre.
    • POXIS compatibilité: Très bon!. Pas besoin de modifier les applications à utiliser le lustre.
    • La réplication, l'Équilibrage de la Charge et de basculement: Très mauvais!. Pour la réplication de charge l'équilibrage de nous et ne parviennent pas plus nous devons nous appuyer sur d'autres logiciels comme virtual IPs et DRDB.
    • Installation: Le pire!. Impossible à installer, par de simples mortels. Nécessite une très combinaison spécifique de noyau, l'éclat des correctifs et des améliorations de le faire fonctionner. Et actuelle lustre patchs pour habitude de travailler avec les anciens noyaux, qui sont incompatibles avec nouveau matériel/logiciel.
  • MogileFS:
    • Performance: Bon pour les petits fichiers, mais pas utilisable pour les moyennes et les gros fichiers. C'est principalement en raison de HTTP généraux, puisque tous les fichiers sont à envoyer/recevoir via des requêtes HTTP qui encoder toutes les données de la base64 l'ajout d'un 33% de frais généraux pour chaque fichier.
    • POXIX de compatibilité, est inexistante. Toutes les applications nécessitent d'être modifiés pour utiliser la mogilefs qui le rend inutilisable pour streaming/encodage puisque la plupart des serveurs de diffusion en continu et des outils d'encodage ne comprends pas MogileFS protocole.
    • La réplication et de basculement et d'équilibrage de charge peut être mis en œuvre dans le application en accédant à plus d'un suiveur à un moment.
    • L'Installation est relativement facile et prêt à utiliser des packages existent dans la plupart des distributions. La seule difficulté que j'ai trouvé était de réglage de la base de données maître-esclave pour éliminer la point de défaillance unique.
      • Gluster:
    • Performance: Très mauvais pour le streaming. Je ne peux pas atteindre plus de quelques Mbit / s à 10 gbit / s réseau. Les Clients et le Serveur CPU monte en flèche sur les lourds écrit. Pour l'encodage fonctionne parce que le CPU est saturé avant que le réseau et les I/O.
    • POXIS: Presque compatible. Les outils que j'utilise peuvent accéder à gluster monte comme normal dossiers dans disque mais dans certains cas limites, les choses commencent à l'origine des problèmes. Vérifier gluster les listes de diffusion et vous verrez il y a beaucoup de problèmes.
    • La réplication, de Basculement et d'équilibrage de la Charge: c'est Le meilleur! si fait, ils ont travaillé. Gluster est tout nouveau et il a beaucoup de bugs et de problèmes de performances.
    • L'Installation est trop facile. La gestion de la ligne de commande est incroyable et réglage répliqué, rayée et des volumes distribués entre plusieurs serveurs peuvent pas être plus facile.

Conclusion finale:

Malheureusement, la conclusion est "Pas de solution miracle".

Actuellement, nous avons nos fichiers multimédias dans Gluster3.2 dans un répliquées volume de stockage et de transcodage. Tant que vous n'avez pas beaucoup de serveurs, d'éviter la géo-réplication et de la bande des volumes choses fonctionnent bien.

Quand nous allons diffuser le contenu multimédia de fichiers nous de les copier sur un lustre de volume qui est répliqué sur un deuxième éclat de volume par DR:DB. Le serveur wowza puis de lire les fichiers multimédia à partir de l'éclat des volumes.

Et enfin, nous utilisons MogileFS pour servir les vignettes dans nos serveurs d'applications web.

5voto

Kunthar Points 73

GlusterFS l'amélioration d'eux-mêmes beaucoup de choses jusqu'à cette date. Ils sont maintenant de fournir un "granulaire de verrouillage" pour les gros fichiers. Voir ici: http://www.gluster.org/community/documentation/index.php/WhatsNew3.3 Il est également très dépendante de la fréquence des images vidéo, vous devez travailler pour trop. Si vous ne va pas jusqu'à 4K taux, Gluster peut résoudre les problèmes de stockage. Si il y a une énorme demande pour la vitesse, donc Infiniband pouvez venir pour jouer.

2voto

Ask Bjørn Hansen Points 3509

MogileFS est idéal pour ce genre de chose. Les bibliothèques clientes varient un peu en qualité, mais je serais surpris s'il n'y avait pas de sites de production à grande échelle utilisant à peu près n'importe quelle langue pour y accéder.

HTTP est un bon protocole pour ce genre de choses. Qui n'a pas de client HTTP riche en fonctionnalités et efficace?

1voto

Dans les systèmes les plus appropriés est MoglieFS.

Mais peut-être que vous pouvez obtenir en w/out tout spécial à tous. Disons que vous disposez de 4 AdobeFMS serveurs:

{video0.exmple.com,video1.exmple.com,video2.exmple.com,video3.exmple.com}.

Vous pouvez distribuer à toutes vos vidéos parmi ces 4 serveurs à l'aide de schéma simple, comme

    /*
     *  pseudo code
     */

    $server_id = get_server_id(filename);
    ...
    ...
    int function get_server_id(filename) 
    { 
       return hash(filename) mod 4;
    }

après vous encoder les vidéos, votre application

$server_id = get_server_id(file_name)
copy file_name to /mnt/$server_id/

les clients auront accès à des vidéos en utilisant quelque chose comme http://videoN.example.com/filename.mp4, où N est calculé à partir du nom de fichier à l'aide de get_server_id() .

Lustre/Gluster est vraiment pas ce que vous devriez être à la recherche pour. Lustre FS est plus mature, mais les développeurs vous demandons de vous traiter les fichiers sur FS comme "cache", c'est à dire qu'ils peuvent être perdus à tout moment.

Lustre/Gluster sont ciblés pour une utilisation dans le HPC pour permettre un accès rapide pour les énormes quantités de données w/out seul serveur de stockage de la performance goulot. Un autre point pour ces systèmes est qu'ils sont POSIX plainte. Dans le HPC à la recherche Scientifique/environnement, vous n'avez généralement pas besoin d'un temps de taille pour la réécriture de vos applications parce que vous avez installé un nouveau cool et rapide FS.

1voto

Rajan Points 31

Map-Reduce n'aide pas dans un rapport d'écriture / lecture de 90/10! La taille de fichier constante est une bonne chose et les fichiers sont petits. Donc, MogileFS semble être une bonne alternative car Luster / Gluster - la situation du cache n'est pas appropriée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X