2 votes

Quel est le meilleur moyen de garder plusieurs serveurs Linux synchronisés?

J'ai plusieurs endroits différents dans une zone assez large, chacun avec un serveur Linux stockant les données de l'entreprise. Ces données changent chaque jour de différentes manières à chaque endroit différent. J'ai besoin d'un moyen de garder ces données à jour et synchronisées entre tous ces endroits.

Par exemple :

Dans un endroit, quelqu'un place un ensemble d'images sur son serveur local. Dans un autre endroit, quelqu'un d'autre place un groupe de documents sur son serveur local. Un troisième endroit ajoute une poignée d'images et de documents à son serveur. Dans deux autres endroits, aucune modification n'est apportée à leurs serveurs locaux. Le lendemain matin, j'ai besoin que les serveurs des cinq endroits aient toutes ces images et tous ces documents.

Mon premier réflexe est d'utiliser rsync et un cron job pour synchroniser pendant la nuit (de 1h à 6h environ), lorsque aucun des débits dans nos endroits n'est utilisé. Il me semble qu'il serait préférable d'avoir un serveur comme serveur "central", qui récupère d'abord tous les fichiers des autres serveurs. Ensuite, il enverrait ces modifications à chaque serveur distant ? Ou y a-t-il une autre manière, meilleure, d'effectuer cette fonction ?

0voto

PiedPiper Points 3595

Rsync serait votre meilleur choix. Mais vous devez soigneusement considérer comment vous allez résoudre les conflits entre les mises à jour des mêmes données sur différents sites. Si le site-1 a mis à jour 'customers.doc' et que le site-2 a une mise à jour différente du même fichier, comment allez-vous le résoudre?

0voto

Aaron H. Points 1420

Je dois être d'accord avec Matt McMinn, surtout parce que c'est des données d'entreprise, j'utiliserais un contrôle de source, et en fonction de la fréquence de changement, je le lancerais plus souvent.

Je pense que le central clearinghouse est une bonne idée.

0voto

Abhinav Points 1

Dépend de ce qui suit * Combien de serveurs/ordinateurs doivent être synchronisés? ** S'il y a trop de serveurs, l'utilisation de rsync pose problème ** Soit vous utilisez des threads et synchronisez vers plusieurs serveurs en même temps, soit un après l'autre. Ainsi, vous risquez une charge élevée sur la machine source ou des données incohérentes sur les serveurs (dans un cluster) à un moment donné dans ce dernier cas

  • Taille des dossiers qui doivent être synchronisés et à quelle fréquence ils changent

    • Si les données sont énormes, rsync prendra du temps.
  • Nombre de fichiers

    • Si le nombre de fichiers est important et surtout s'il s'agit de petits fichiers, rsync prendra à nouveau beaucoup de temps

Tout dépend donc du scénario sur l'utilisation de rsync, NFS, le contrôle de version

  • Si vous avez peu de serveurs et juste une petite quantité de données, il peut être judicieux d'exécuter rsync toutes les heures. Vous pouvez également empaqueter le contenu en RPM si les données changent occasionnellement

Avec les informations fournies, à mon avis, le contrôle de version vous convient le mieux.

Rsync/scp peut poser problème si deux personnes téléchargent des fichiers différents portant le même nom. Le NFS sur plusieurs emplacements doit être architecturé avec perfection

Pourquoi ne pas avoir un ou plusieurs dépôts et que chacun s'engage simplement sur ces dépôts. Tout ce que vous avez à faire est de maintenir le dépôt synchronisé. Si les données sont volumineuses et les mises à jour fréquentes, votre serveur de dépôt aura besoin d'une bonne quantité de RAM et d'un bon sous-système I/O

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