Quel système de fichiers distribué comme backend pour le Cloud Computing?


11

J'ai un cloud de base fonctionnant sur Ubuntu Server (9.04) et Eucalyptus. Walrus (implémentation S3 compatible avec l'API d'Eucalyptus) stocke les fichiers sur le contrôleur cloud. Cependant, chacun des 4 autres serveurs dispose d'un stockage de 1 To qui est largement inutilisé. Je cherche un moyen de regrouper tout le stockage ensemble afin d'utiliser toutes les ressources disponibles. J'ai regardé diverses options, notamment PVFS, Lustre, HDFS (Hadoop).

Mes seules exigences sont qu'il doit être évolutif et qu'il fonctionne bien sur Ubuntu. J'apprécierais d'avoir des nouvelles de toute personne ayant de l'expérience avec ces technologies et j'ai hâte d'entendre vos suggestions.


S'il n'avait pas besoin d'être Ubuntu, je dirais ZFS.
Brad Gilbert

3
Sauf que ZFS n'est pas un système de fichiers en cluster.
MarkR

Réponses:


5

Bien que je ne l'ai personnellement implémenté nulle part dans nos systèmes, j'ai examiné de manière assez approfondie Gluster . Je connais quelques personnes sur de grands sites qui utilisent cela et cela fonctionne apparemment très bien. Ils l'utilisent en production pour certaines applications HPC robustes.


2

GlusterFS me semble être la solution idéale. Au gars qui prétend que Gluster prend beaucoup d'efforts pour s'installer, je dois dire qu'il n'a probablement jamais essayé. Depuis Gluster 3.2, les utilitaires de configuration sont assez impressionnants et il faut 2 ou 3 commandes pour obtenir un volume gluster et le partager sur le réseau. Le montage de volumes plus brillants est tout aussi simple.

Du côté positif, il vous donne également beaucoup plus de flexibilité que NFS. Il fait le striping, la relication, la géoréplication, est bien sûr compatible POSIX et ainsi de suite. Il existe une extension appelée HekaFS, qui ajoute également SSL et des mécanismes d'authentification plus avancés, ce qui est probablement intéressant pour le cloud computing. Il évolue aussi! Il s'agit de F / OSS et est développé par RedHat qui a récemment acheté Gluster.


1

Avez-vous déjà regardé mogileFS? http://danga.com/mogilefs/

Ce n'est pas un système de fichiers au sens traditionnel, mais il est bon pour distribuer des données de fichiers à travers un cluster (avec la réplication et la redondance prises en compte).

Si vous servez des fichiers pour une application Web, vous aurez besoin de quelque chose pour servir les fichiers. Je proposerais un script PHP qui utilise la requête HTTP comme clé de recherche pour trouver le fichier que vous voulez dans le mogile FS. Vous pouvez ensuite lire le contenu du fichier dans un tampon et l'écho / l'imprimer.

MogileFS est déjà assez rapide, mais vous pouvez combiner mogileFS avec memcache pour accélérer l'accès aux fichiers les plus couramment utilisés.


Il me semble que MogileFS avait un seul point de défaillance, dans le cas du nœud de métadonnées. HDFS a un problème similaire.
David Pashley

MogileFS semble assez intéressant et sa réplication et sa redondance sont idéales, mais il semble ne pas convenir à un usage général car les applications doivent être conscientes qu'elles s'exécutent dessus. Un système de fichiers plus traditionnel dans lequel les applications peuvent être agnostiques FS serait mieux adapté.
Jaunty

1
MogileFS peut avoir plusieurs trackers en cours d'exécution, et vous pouvez avoir le basculement mysql au niveau du backend. De cette façon, vous pouvez supprimer tous les points de défaillance uniques.
davidsheldon

1

Avec Luster, vous devez avoir un noyau spécial sur les serveurs, et je n'aurais que les serveurs étant des serveurs et rien d'autre.

Étrangement, la réponse la plus sensée est bien NFS. Nous avons utilisé NFS sur le cloud d'Amazon. Il peut ne pas évoluer aussi bien que certains systèmes de fichiers, mais la simplicité ne doit pas être négligée. Un espace de nom unique ne vaut probablement pas l'effort qu'il faudrait pour l'implémenter.


1

Cherchez-vous toujours dans HDFS? Un des gars de Cloudera a donné une conférence à VelocityConf cette année sur Hadoop et HDFS axé sur la gestion des clusters de Big Data, il a donc beaucoup parlé de HDFS. Les diapositives sont assez informatives. Je n'ai pas travaillé personnellement avec HDFS, mais j'ai parlé avec des gens aléatoires de Velocity qui l'utilisent sur Ubuntu pour faire diverses analyses de données.


1

Mettre une sorte de système de fichiers partagé derrière un environnement de virtualisation est assez courant. Vous avez beaucoup de choix, selon ce que vous cherchez à accomplir.

La solution la plus simple est probablement NFS, car cela va être pris en charge nativement par la distribution que vous exécutez. NFS peut raisonnablement bien fonctionner en tant que système de fichiers dorsal de virtualisation, bien que ce ne soit pas la chose la plus rapide.

Si vous exécutez un cluster RedHat (ou dérivé), vous aurez une bonne prise en charge prête à l'emploi pour GFS2, le système de fichiers du cluster RedHat. Cela ne s'étend pas à des centaines de nœuds, mais cela convient aux petits clusters.

Au-delà de cela, vous commencez à entrer dans la gamme de choses comme Lustre, Glusterfs, GPFS, etc. Ce sont tous des systèmes de fichiers parallèles hautes performances, mais ils nécessitent beaucoup plus de travail à configurer que les autres options ici. Si vous avez un grand environnement, il vaut peut-être la peine de le regarder.


1

je serais d'accord avec @larsks en ce que NFS est la meilleure option; mis en place des cibles iSCSI, NFS, fait. cela augmentera à environ 5-10 nœuds; YMMV basé sur les E / S, la capacité réseau, etc.

Si vous avez besoin de quelque 20 nœuds ou plus, vous voudrez peut-être enquêter sur Ceph . Lustre est prometteur et stable, mais est un produit Oracle (F / OSS) et j'ai des aversions personnelles contre Oracle. :)

Ceph est également très actif; la version la plus récente remonte à 5 jours.


Lustre n'est plus sous l'égide d'Oracle. Voir whamcloud.com
utopiabound

1

XtreemFS pourrait être une solution pour vous. Il est assez simple à installer et à configurer, il existe également des packages pour Ubuntu.



0

Je ne sais pas ce que vous faites, mais cela ressemble à une application potentiellement intéressante pour CouchDB .


0

Vous pouvez essayer PVFS2 . Il est beaucoup plus facile à configurer que Luster et généralement plus rapide que Gluster.


plus rapide que Gluster? pouvez-vous partager des données sur les performances?
John-ZFS

Je n'ai pas de repères récents à portée de main. En 2008, Gluster était beaucoup plus lent que Luster, tandis que PVFS2 n'était que légèrement plus lent. Cela peut être différent de nos jours, je vais peut-être comparer cela.
wazoox

merci, si vous faites un benchmark, faites le moi savoir. maruti.j@gmail.com ou vous pouvez faire un post sur serverfault pour l'avantage de tout le monde
John-ZFS
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.