De mon côté après avoir testé GlusterFS en v2 et v3, il y a bien trop de problème notamment des non reconnection du point de montage aux serveurs ou des fichiers corrompu.
En vraiment distribué tu as Hadoop mais c'est une grosse archi à mettre en place.
Entre les deux et c'est ce que j'ai choisi, tu as MogileFS, ce n'est pas un filesysteme posix ce qui est un peu dommage mais le fait est qu'y accéder par une api sur un canal http facilite la vitesse. Du coup ca m'a allégé d'un souci à gérer à savoir l'arborescence de plusieurs millions de fichiers et leurs noms uniques. Là on appel un fichier par sa clef unique et on ne se souci pas de l'arborescence hash ou autre sur le fs.
Niveau perf j'ai réussi à tirer 400MB de deux serveurs virtuels pour de la lecture, l'écriture se fait sur un seul noeud et le tracker se charge de répliquer tout seul. On peut changer à tout moment le nombre d'exemplaire d'un fichier, suffit juste de bien ranger ses fichiers dans des classes. Typiquement une classe médias avec les originaux avec 3 exemplaires répliqués et une classe thumbnail pour les miniatures avec seulement 2.
L'autre avantage de cette solution c'est la facilité à ajouter ou enlever un serveur, donc il est plus intéressant de mettre ces machines en raid0 pour gagner encore en perf.
Je vous conseil d'utiliser nginx en front des noeuds de stockage c'est bien plus performant que la lib perl qu'ils fournissent.
-- Pierre-Henry Muller