J'avais oublié de précisé qu'il s'agit de deux VM et qu'il n'y a pas de budget pour des serveurs physiques ou vm supplémentaire. Autre point les 2 vm front web sont en IP v6 only, seul les load balancer en amont sont dual stack. Si le pourquoi vous viens à l'esprit, on économise les IP v4 publiques d'une et on a banni tout usage d'IP v4 privée et depuis c'est un bonheur de gérer les firewall, que du filtrage et plus de NAT.
Le fait d'être en IPv6 only nous a par contre exclu de la solution glusterfs qui depuis janvier se traîne un méchant bug qui fait que les hosts ne se voient pas.
Je retiens pour tester les solutions suivantes :
- csync2 qui me semble pas mal mais je pense que les accès concurrentiels en écriture que le client aura cacher dans son code donnera des fichiers inconsistants (oui le fichier de log codé en dur sans qu'on soit au courant) - tenter un cephs avec tous les composants sur les front web mais je ne suis pas partisan de mettre autant de couche logiciel sur le même OS - partir sur du DRBD et OC2FS, ça juste marchera et si besoin de monter à trois front web, on proposera une autre solution - offrir au client une vm qui exportera du NFS, pour moi comme pour l'équipe ça va être back to 2000, des lustres qu'on a plus utilisé cette solution, on ne sait même pas si ça marche en IPv6 only
Merci à tout ceux qui m'ont répond en privé avec des FS que je ne connaissais pas, pour en faire profiter tout le monde, Anthony m'a envoyé ces vidéos http://webcast.in2p3.fr/events-tutojres_le_stockage_distribue de conférences sur le stockage distribué à grande échelle, très intéressant à la pause déjeuner :)
Le 17/05/2016 17:02, Wallace a écrit :
Bonjour à tous,
Pour faire des clusters web avec espace de fichiers partagés j'ai utilisé pas mal de technique depuis plus de 15 ans :
- NFS début des années 2000 vite abandonné
- lun partagée en iscsi et oc2fs testé jusqu'à 9 serveurs
- DRBD limité à 2 serveurs
- GlusterFS sympa sur le papier mais pas performant
- CephFS que j'adore mais le coût initial en serveur n'est pas adapté à
toutes les architectures
- inotify / rsync et dérivé en mode bidouillage
- cluster de php fpm déportés du serveur web mais nécessite que le code
php ne doive pas manipuler de fichiers
Le souci c'est qu'avec toutes ces solutions j'ai un beau panel pour m'adapter mais cela ne suffit pas. Là j'ai un cas concret où j'ai 2 serveurs front web Nginx / PHP-FPM où les mêmes sites doivent être servis MAIS le client ne veut pas et n'a pas les moyens d'avoir un partage correct genre Ceph. Je sais que la solution doit pouvoir monter à 3/4 serveurs web si la charge augmente pendant la saisonnalité du client ce qui écarte la réplication DRBD qui fait très bien son boulot en dual master pour 2 serveurs.
J'ai comme piste
- Syncthing qui tournerait sur les front web pour se synchroniser
mutuellement mais quid de la performance et du délai de synchronisation?
- FineFS mais le projet semble ne plus être maintenu
Du coup je sèche, avez-vous une idée de nouvelle façon de faire? Par avance merci pour vos expériences.
Liste de diffusion du FRsAG http://www.frsag.org/