Je cherche une solution pour mettre en miroir ou répliquer un répertoire (ou un système de fichiers) sur quelques serveurs Linux. La solution idéale serait celle qui permet à tous les serveurs d'accéder en lecture-écriture. Je veux également qu'il soit résilient, si l'un des serveurs tombe en panne, le repos devrait toujours fonctionner sans perdre de données.
J'ai cherché des solutions:
- DRBD : réplications au niveau bloc, semble un peu exagéré;
- lsyncd : semble très simple, mais j'ai des doutes sur les performances;
- GlusterFS : semble que ce serait une bonne correspondance, je n'ai pas encore compris comment fonctionne exactement le mode de réplication. Aura-t-il les caractéristiques dont j'ai besoin?
N'importe quelles autres suggestions sont les bienvenues.
Réponses:
La première question que je poserais est celle-ci: voulez-vous que cela soit répliqué sur deux serveurs ou plus puis sur deux serveurs? Pour deux serveurs j'irais avec DRDB, pour trois ou plus j'irais avec gluster.
Si la latence d'E / S n'est pas une préoccupation critique, j'irais avec gluster. Il est assez facile à installer et pourrait clairement faire ce dont vous aviez besoin. Tout ce que vous avez à faire est de créer un serveur gluster servant les fichiers sur les trois boîtiers, puis de faire en sorte que chaque boîtier agisse comme un client gluster montant les fichiers.
DRDB va être compliqué de travailler en mode maître <-> maître avec 3 serveurs ou plus. Vous devez configurer une configuration basée sur l'anneau et je ne le recommanderais pas. Cependant, pour deux serveurs, DRDB est fantastique. Master <-> Le mode Master n'est pas compliqué à configurer et vous n'avez rien à apprendre sur le système de fichiers.
lsycd est idéal pour une configuration maître / esclave, mais vous ne semblez pas vouloir cela.
Ceph est encore assez nouveau, la dernière fois que j'ai vérifié, il n'avait même pas encore de support fsck. Je préfère baser mon infrastructure sur quelque chose de plus stable.
Lustre est un produit fantastique pour les déploiements à grande échelle, mais vous devez configurer le battement de cœur et le basculement pour le serveur mds ou son va avoir un seul point de défaillance. Étant donné le nombre limité de serveurs dont il parle, je soupçonne sa surpuissance dans ce cas.
la source
Que diriez-vous de Ceph ou de Lustre ?
la source
Vous devriez vous pencher sur OpenAFS - c'est un système de fichiers principalement distribué qui permet à plusieurs copies de données d'exister réparties sur le cluster et tout le monde peut lire / écrire sur le FS en même temps.
Il possède également un tas d'autres fonctionnalités utiles (bonne authentification, cryptage sur le câble, mise en cache locale intégrée sur les clients, client Windows natif, portable sur de nombreuses versions d'Unix, etc.)
C'est un peu lourd à installer, cependant.
la source
NFS peut également fonctionner correctement, selon vos besoins.
la source
Faire en sorte que cela fonctionne avec DRBD va être vraiment difficile - le problème n'est pas que n8whnp semble penser un problème concernant la réplication multidirectionnelle (vous faites simplement toutes les bandes de nœuds dans un jeu de miroirs), mais c'est un contrôle de concurrence - vous '' d besoin d'exécuter un système de fichiers de cluster au-dessus de la mise en miroir au-dessus de DRBD.
lsyncd est encore pire car il n'y a pas de solution pratique pour le contrôle de la concurrence.
Je recommanderais une solution de type AFS (AFS, OpenAFS) comme solution ouverte, stable et mature. Je resterais à l'écart du lustre depuis qu'Oracle l'a fermé. Je ne connais pas trop les glusterfs, mais comme il repose sur un stockage distribué plutôt que répliqué, je vous recommande de regarder attentivement son comportement en mode split-brain (AFS OTOH est conçu pour fonctionner en mode déconnecté).
la source