Synchronisation temps réel et bidirectionnelle de dossiers distants
15 réponses
Vincent Besse
Bonjour,
je cherche, comme le sujet l'indique, Í mettre en place une synchro de
dossiers entre 2 VPS. C'est pas une sauvegarde mais bien une
réplication des dossiers, quand un fichier est modifié sur un des
serveurs cette modification doit se propager sur l'autre en (quasi)
temps-réel, et ce dans les deux sens.
Syncthing est alléchant, mais s'il existe des solutions sans interface
graphique j'aimerais autant.
Bonjour Le 10/05/2021 Í 15:35, Vincent Besse a écrit :
Bonjour, je cherche, comme le sujet l'indique, Í mettre en place une synchro de dossiers entre 2 VPS. C'est pas une sauvegarde mais bien une réplication des dossiers, quand un fichier est modifié sur un des serveurs cette modification doit se propager sur l'autre en (quasi) temps-réel, et ce dans les deux sens. Syncthing est alléchant, mais s'il existe des solutions sans interface graphique j'aimerais autant.
Je vous laisse adapter les variables. Sur le serveur distant 'sudo rsync' indique que l'utilisateur moi a les droits (visudo) d'executer rsync en mode root sans mot de passe. # Options # -a preservve owner, rights, timestamp, ... # -r recursive (needed for files-from # -R relative paths # -P partial and progress (not needed in production) # -z compression during transfer $rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i /home/moi/.ssh/id_ed25519'    --delete --exclude-from=/etc/files.list.excluded --delete-excluded    --files-from=/etc/files.list / $server:$remote_path À mettre dans cron toutes les x minutes|heures|1/4h|... -- Daniel
Bonjour
Le 10/05/2021 Í 15:35, Vincent Besse a écrit :
Bonjour,
je cherche, comme le sujet l'indique, Í mettre en place une synchro de
dossiers entre 2 VPS. C'est pas une sauvegarde mais bien une
réplication des dossiers, quand un fichier est modifié sur un des
serveurs cette modification doit se propager sur l'autre en (quasi)
temps-réel, et ce dans les deux sens.
Syncthing est alléchant, mais s'il existe des solutions sans interface
graphique j'aimerais autant.
Je vous laisse adapter les variables. Sur le serveur distant 'sudo
rsync' indique que l'utilisateur moi a les droits (visudo) d'executer
rsync en mode root sans mot de passe.
# Options
# -a preservve owner, rights, timestamp, ...
# -r recursive (needed for files-from
# -R relative paths
# -P partial and progress (not needed in production)
# -z compression during transfer
$rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i
/home/moi/.ssh/id_ed25519'
   --delete --exclude-from=/etc/files.list.excluded --delete-excluded
   --files-from=/etc/files.list / $server:$remote_path
À mettre dans cron toutes les x minutes|heures|1/4h|...
Bonjour Le 10/05/2021 Í 15:35, Vincent Besse a écrit :
Bonjour, je cherche, comme le sujet l'indique, Í mettre en place une synchro de dossiers entre 2 VPS. C'est pas une sauvegarde mais bien une réplication des dossiers, quand un fichier est modifié sur un des serveurs cette modification doit se propager sur l'autre en (quasi) temps-réel, et ce dans les deux sens. Syncthing est alléchant, mais s'il existe des solutions sans interface graphique j'aimerais autant.
Je vous laisse adapter les variables. Sur le serveur distant 'sudo rsync' indique que l'utilisateur moi a les droits (visudo) d'executer rsync en mode root sans mot de passe. # Options # -a preservve owner, rights, timestamp, ... # -r recursive (needed for files-from # -R relative paths # -P partial and progress (not needed in production) # -z compression during transfer $rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i /home/moi/.ssh/id_ed25519'    --delete --exclude-from=/etc/files.list.excluded --delete-excluded    --files-from=/etc/files.list / $server:$remote_path À mettre dans cron toutes les x minutes|heures|1/4h|... -- Daniel
ca
Bonjour, idem, dans un seul sens ;) (maitre -> esclave) Yann Le 10/05/2021 Í 15:35, Vincent Besse a écrit :
Bonjour, je cherche, comme le sujet l'indique, Í mettre en place une synchro de dossiers entre 2 VPS. C'est pas une sauvegarde mais bien une réplication des dossiers, quand un fichier est modifié sur un des serveurs cette modification doit se propager sur l'autre en (quasi) temps-réel, et ce dans les deux sens. Syncthing est alléchant, mais s'il existe des solutions sans interface graphique j'aimerais autant. Merci pour vos conseils avisés, Vincent
Bonjour,
idem, dans un seul sens ;)
(maitre -> esclave)
Yann
Le 10/05/2021 Í 15:35, Vincent Besse a écrit :
Bonjour,
je cherche, comme le sujet l'indique, Í mettre en place une synchro de
dossiers entre 2 VPS. C'est pas une sauvegarde mais bien une
réplication des dossiers, quand un fichier est modifié sur un des
serveurs cette modification doit se propager sur l'autre en (quasi)
temps-réel, et ce dans les deux sens.
Syncthing est alléchant, mais s'il existe des solutions sans interface
graphique j'aimerais autant.
Bonjour, idem, dans un seul sens ;) (maitre -> esclave) Yann Le 10/05/2021 Í 15:35, Vincent Besse a écrit :
Bonjour, je cherche, comme le sujet l'indique, Í mettre en place une synchro de dossiers entre 2 VPS. C'est pas une sauvegarde mais bien une réplication des dossiers, quand un fichier est modifié sur un des serveurs cette modification doit se propager sur l'autre en (quasi) temps-réel, et ce dans les deux sens. Syncthing est alléchant, mais s'il existe des solutions sans interface graphique j'aimerais autant. Merci pour vos conseils avisés, Vincent
Sébastien Dinot
BERTRAND Joël a écrit :
Sinon, en directionnel, il y a unison
J'utilise Unison depuis des années et j'en suis très satisfait modulo le très gros problème que tu signales ensuite. Mais je pense qu'il ne répond pas au besoin exprimé puisque non temps réel. Mais quelque soit la solution envisagée, la synchronisation bidirectionnelle pose un véritable problème : quid des fichiers modifiés des 2 cÍ´tés ? Dans le contexte dans lequel j'utilise Syncthing, le problème ne se pose quasiment pas puisque mon épouse travaille sur l'un ou l'autre des PC, mais pas les deux en même temps. Elle est elle-même le verrou d'exclusion (sauf Í imaginer une modification hors ligne du même fichier faite sur les deux PC, mais lÍ ). :) Mais dans le cas de 2 serveurs, que se passe-t-il si un même fichier est modifié sur les deux ? En fait, je réalise qu'il faut en savoir un peu plus sur le contexte d'utilisation pour apporter la bonne réponse. Sébastien -- Sébastien Dinot, http://www.palabritudes.net/ Ne goÍ»tez pas au logiciel libre, vous ne pourriez plus vous en passer !
BERTRAND Joël a écrit :
Sinon, en directionnel, il y a unison
J'utilise Unison depuis des années et j'en suis très satisfait modulo le
très gros problème que tu signales ensuite. Mais je pense qu'il ne
répond pas au besoin exprimé puisque non temps réel.
Mais quelque soit la solution envisagée, la synchronisation
bidirectionnelle pose un véritable problème : quid des fichiers modifiés
des 2 cÍ´tés ?
Dans le contexte dans lequel j'utilise Syncthing, le problème ne se pose
quasiment pas puisque mon épouse travaille sur l'un ou l'autre des PC,
mais pas les deux en même temps. Elle est elle-même le verrou
d'exclusion (sauf Í imaginer une modification hors ligne du même fichier
faite sur les deux PC, mais lÍ ). :)
Mais dans le cas de 2 serveurs, que se passe-t-il si un même fichier est
modifié sur les deux ?
En fait, je réalise qu'il faut en savoir un peu plus sur le contexte
d'utilisation pour apporter la bonne réponse.
Sébastien
--
Sébastien Dinot, sebastien.dinot@free.fr
http://www.palabritudes.net/
Ne goͻtez pas au logiciel libre, vous ne pourriez plus vous en passer !
J'utilise Unison depuis des années et j'en suis très satisfait modulo le très gros problème que tu signales ensuite. Mais je pense qu'il ne répond pas au besoin exprimé puisque non temps réel. Mais quelque soit la solution envisagée, la synchronisation bidirectionnelle pose un véritable problème : quid des fichiers modifiés des 2 cÍ´tés ? Dans le contexte dans lequel j'utilise Syncthing, le problème ne se pose quasiment pas puisque mon épouse travaille sur l'un ou l'autre des PC, mais pas les deux en même temps. Elle est elle-même le verrou d'exclusion (sauf Í imaginer une modification hors ligne du même fichier faite sur les deux PC, mais lÍ ). :) Mais dans le cas de 2 serveurs, que se passe-t-il si un même fichier est modifié sur les deux ? En fait, je réalise qu'il faut en savoir un peu plus sur le contexte d'utilisation pour apporter la bonne réponse. Sébastien -- Sébastien Dinot, http://www.palabritudes.net/ Ne goÍ»tez pas au logiciel libre, vous ne pourriez plus vous en passer !
Sébastien Dinot
Bonjour, Vincent Besse a écrit :
Syncthing est alléchant, mais s'il existe des solutions sans interface graphique j'aimerais autant.
Je pense que Syncthing est vraiment la solution adaptée Í ce besoin. Quant Í son IHM, il s'agit d'une simple interface web nécessaire Í la déclaration des volumes partagés et Í l'enrÍ´lement. Il n'est pas nécessaire de l'exposer via un serveur web pour l'utiliser. Un tunnel SSH permet d'y avoir accès Í distance. Je me suis livré Í un petit retour d'expérience sur cet outil il y a un mois : https://www.palabritudes.net/2021/04/04/syncthing-la-synchro-se-fait-oublier.html Sébastien -- Sébastien Dinot, http://www.palabritudes.net/ Ne goÍ»tez pas au logiciel libre, vous ne pourriez plus vous en passer !
Bonjour,
Vincent Besse a écrit :
Syncthing est alléchant, mais s'il existe des solutions sans interface
graphique j'aimerais autant.
Je pense que Syncthing est vraiment la solution adaptée Í ce besoin.
Quant Í son IHM, il s'agit d'une simple interface web nécessaire Í la
déclaration des volumes partagés et Í l'enrÍ´lement. Il n'est pas
nécessaire de l'exposer via un serveur web pour l'utiliser. Un tunnel
SSH permet d'y avoir accès Í distance.
Je me suis livré Í un petit retour d'expérience sur cet outil il y a un
mois :
Syncthing est alléchant, mais s'il existe des solutions sans interface graphique j'aimerais autant.
Je pense que Syncthing est vraiment la solution adaptée Í ce besoin. Quant Í son IHM, il s'agit d'une simple interface web nécessaire Í la déclaration des volumes partagés et Í l'enrÍ´lement. Il n'est pas nécessaire de l'exposer via un serveur web pour l'utiliser. Un tunnel SSH permet d'y avoir accès Í distance. Je me suis livré Í un petit retour d'expérience sur cet outil il y a un mois : https://www.palabritudes.net/2021/04/04/syncthing-la-synchro-se-fait-oublier.html Sébastien -- Sébastien Dinot, http://www.palabritudes.net/ Ne goÍ»tez pas au logiciel libre, vous ne pourriez plus vous en passer !
Vincent Besse
On Mon, 10 May 2021 15:59:06 +0200 NoSpam wrote:
Bonjour
[...]
Je vous laisse adapter les variables. Sur le serveur distant 'sudo rsync' indique que l'utilisateur moi a les droits (visudo) d'executer rsync en mode root sans mot de passe. # Options # -a preservve owner, rights, timestamp, ... # -r recursive (needed for files-from # -R relative paths # -P partial and progress (not needed in production) # -z compression during transfer $rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i /home/moi/.ssh/id_ed25519'    --delete --exclude-from=/etc/files.list.excluded --delete-excluded    --files-from=/etc/files.list / $server:$remote_path À mettre dans cron toutes les x minutes|heures|1/4h|... -- Daniel
Je veux bien accepter quelques secondes de latence et les éventuels temps de transfert, mais je suis pas sÍ»r que lancer un rsync toutes les minutes soit bien pertinent. Et est-ce qu'on peut vraiment faire du bidirectionnel avec? Merci, Vincent
On Mon, 10 May 2021 15:59:06 +0200
NoSpam <no-spam@tootai.net> wrote:
Bonjour
[...]
Je vous laisse adapter les variables. Sur le serveur distant 'sudo
rsync' indique que l'utilisateur moi a les droits (visudo) d'executer
rsync en mode root sans mot de passe.
# Options
# -a preservve owner, rights, timestamp, ...
# -r recursive (needed for files-from
# -R relative paths
# -P partial and progress (not needed in production)
# -z compression during transfer
$rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i
/home/moi/.ssh/id_ed25519'
   --delete --exclude-from=/etc/files.list.excluded --delete-excluded
   --files-from=/etc/files.list / $server:$remote_path
À mettre dans cron toutes les x minutes|heures|1/4h|...
--
Daniel
Je veux bien accepter quelques secondes de latence et les éventuels
temps de transfert, mais je suis pas sͻr que lancer un rsync toutes les
minutes soit bien pertinent. Et est-ce qu'on peut vraiment faire du
bidirectionnel avec?
Je vous laisse adapter les variables. Sur le serveur distant 'sudo rsync' indique que l'utilisateur moi a les droits (visudo) d'executer rsync en mode root sans mot de passe. # Options # -a preservve owner, rights, timestamp, ... # -r recursive (needed for files-from # -R relative paths # -P partial and progress (not needed in production) # -z compression during transfer $rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i /home/moi/.ssh/id_ed25519'    --delete --exclude-from=/etc/files.list.excluded --delete-excluded    --files-from=/etc/files.list / $server:$remote_path À mettre dans cron toutes les x minutes|heures|1/4h|... -- Daniel
Je veux bien accepter quelques secondes de latence et les éventuels temps de transfert, mais je suis pas sÍ»r que lancer un rsync toutes les minutes soit bien pertinent. Et est-ce qu'on peut vraiment faire du bidirectionnel avec? Merci, Vincent
Vincent Besse
On Mon, 10 May 2021 16:59:06 +0200 Sébastien Dinot wrote:
Dans le contexte dans lequel j'utilise Syncthing, le problème ne se pose quasiment pas puisque mon épouse travaille sur l'un ou l'autre des PC, mais pas les deux en même temps. Elle est elle-même le verrou d'exclusion (sauf Í imaginer une modification hors ligne du même fichier faite sur les deux PC, mais lÍ ). :) Mais dans le cas de 2 serveurs, que se passe-t-il si un même fichier est modifié sur les deux ? En fait, je réalise qu'il faut en savoir un peu plus sur le contexte d'utilisation pour apporter la bonne réponse.
C'est "tout simplement" pour mettre en place une continuité de services, essentiellement web mais pas que, sur deux serveurs, avec un soupçon de DNS failover. En principe le deuxième serveur devrait être très peu utilisé sauf évidemment carence du premier. J'avais pas pensé Í la possibilité d'un fichier modifié sur les deux en même temps. J'ai encore un peu de réflexion Í mener :-) Merci, Vincent
On Mon, 10 May 2021 16:59:06 +0200
Sébastien Dinot <sebastien.dinot@free.fr> wrote:
Dans le contexte dans lequel j'utilise Syncthing, le problème ne se pose
quasiment pas puisque mon épouse travaille sur l'un ou l'autre des PC,
mais pas les deux en même temps. Elle est elle-même le verrou
d'exclusion (sauf Í imaginer une modification hors ligne du même fichier
faite sur les deux PC, mais lÍ ). :)
Mais dans le cas de 2 serveurs, que se passe-t-il si un même fichier est
modifié sur les deux ?
En fait, je réalise qu'il faut en savoir un peu plus sur le contexte
d'utilisation pour apporter la bonne réponse.
C'est "tout simplement" pour mettre en place une continuité de
services, essentiellement web mais pas que, sur deux serveurs, avec un
soupçon de DNS failover. En principe le deuxième serveur devrait être
très peu utilisé sauf évidemment carence du premier.
J'avais pas pensé Í la possibilité d'un fichier modifié sur les deux en
même temps. J'ai encore un peu de réflexion Í mener :-)
On Mon, 10 May 2021 16:59:06 +0200 Sébastien Dinot wrote:
Dans le contexte dans lequel j'utilise Syncthing, le problème ne se pose quasiment pas puisque mon épouse travaille sur l'un ou l'autre des PC, mais pas les deux en même temps. Elle est elle-même le verrou d'exclusion (sauf Í imaginer une modification hors ligne du même fichier faite sur les deux PC, mais lÍ ). :) Mais dans le cas de 2 serveurs, que se passe-t-il si un même fichier est modifié sur les deux ? En fait, je réalise qu'il faut en savoir un peu plus sur le contexte d'utilisation pour apporter la bonne réponse.
C'est "tout simplement" pour mettre en place une continuité de services, essentiellement web mais pas que, sur deux serveurs, avec un soupçon de DNS failover. En principe le deuxième serveur devrait être très peu utilisé sauf évidemment carence du premier. J'avais pas pensé Í la possibilité d'un fichier modifié sur les deux en même temps. J'ai encore un peu de réflexion Í mener :-) Merci, Vincent
Erwan David
Le 10/05/2021 Í 17:34, Vincent Besse a écrit :
Je veux bien accepter quelques secondes de latence et les éventuels temps de transfert, mais je suis pas sÍ»r que lancer un rsync toutes les minutes soit bien pertinent. Et est-ce qu'on peut vraiment faire du bidirectionnel avec? Merci, Vincent
Pas avec rsync. Pour du bidirectionel, il faut voir avec quelque chose comme unison
Le 10/05/2021 Í 17:34, Vincent Besse a écrit :
Je veux bien accepter quelques secondes de latence et les éventuels
temps de transfert, mais je suis pas sͻr que lancer un rsync toutes les
minutes soit bien pertinent. Et est-ce qu'on peut vraiment faire du
bidirectionnel avec?
Merci,
Vincent
Pas avec rsync. Pour du bidirectionel, il faut voir avec quelque chose
comme unison
Je veux bien accepter quelques secondes de latence et les éventuels temps de transfert, mais je suis pas sÍ»r que lancer un rsync toutes les minutes soit bien pertinent. Et est-ce qu'on peut vraiment faire du bidirectionnel avec? Merci, Vincent
Pas avec rsync. Pour du bidirectionel, il faut voir avec quelque chose comme unison
Vincent Besse
On Mon, 10 May 2021 18:01:05 +0200 BERTRAND Joël wrote:
Vincent Besse a écrit :
On Mon, 10 May 2021 16:59:06 +0200 C'est "tout simplement" pour mettre en place une continuité de services, essentiellement web mais pas que, sur deux serveurs, avec un soupçon de DNS failover. En principe le deuxième serveur devrait être très peu utilisé sauf évidemment carence du premier. J'avais pas pensé Í la possibilité d'un fichier modifié sur les deux en même temps. J'ai encore un peu de réflexion Í mener :-)
Dans ce cas, ma solution de raid1 over iSCSI est pertinente. Tes deux serveurs sont en permanence synchronisés et des scripts (Í base de ping) décident lequel des deux doit être actif. Le schéma que j'avais, c'était un truc du genre : +--- serveur 1 -+-- raid5 | | IP publique |iSCSI+hearbeat | | +--- serveur 2 -+-- raid5
Ca travaille au niveau block device? Il me faudrait auquel cas avoir les données Í synchroniser sur des partitions dédiées et je suis pas forcément maÍ®tre de ça. Je vais quand même creuser un peu cette piste et aussi DRDB...sait-on jamais.
Il faudrait que je redémarre ces machines pour extraire les scripts de gestion. C'est dans le domaine du possible, mais pas très rapidement... Si je démarre des T1000, je sans que ma femme va rÍ¢ler, ça fait un boucan de tous les diables ;-)
Je cherche Í synchroniser des données, pas Í désynchroniser un couple :-) Vincent
On Mon, 10 May 2021 18:01:05 +0200
BERTRAND Joël <joel.bertrand@systella.fr> wrote:
Vincent Besse a écrit :
> On Mon, 10 May 2021 16:59:06 +0200
> C'est "tout simplement" pour mettre en place une continuité de
> services, essentiellement web mais pas que, sur deux serveurs, avec un
> soupçon de DNS failover. En principe le deuxième serveur devrait être
> très peu utilisé sauf évidemment carence du premier.
> J'avais pas pensé Í la possibilité d'un fichier modifié sur les deux en
> même temps. J'ai encore un peu de réflexion Í mener :-)
Dans ce cas, ma solution de raid1 over iSCSI est pertinente. Tes deux
serveurs sont en permanence synchronisés et des scripts (Í base de ping)
décident lequel des deux doit être actif.
Ca travaille au niveau block device? Il me faudrait auquel cas avoir
les données Í synchroniser sur des partitions dédiées et je suis pas
forcément maÍ®tre de ça. Je vais quand même creuser un peu cette piste
et aussi DRDB...sait-on jamais.
Il faudrait que je redémarre ces machines pour extraire les scripts de
gestion. C'est dans le domaine du possible, mais pas très rapidement...
Si je démarre des T1000, je sans que ma femme va rÍ¢ler, ça fait un
boucan de tous les diables ;-)
Je cherche Í synchroniser des données, pas Í désynchroniser un
couple :-)
On Mon, 10 May 2021 18:01:05 +0200 BERTRAND Joël wrote:
Vincent Besse a écrit :
On Mon, 10 May 2021 16:59:06 +0200 C'est "tout simplement" pour mettre en place une continuité de services, essentiellement web mais pas que, sur deux serveurs, avec un soupçon de DNS failover. En principe le deuxième serveur devrait être très peu utilisé sauf évidemment carence du premier. J'avais pas pensé Í la possibilité d'un fichier modifié sur les deux en même temps. J'ai encore un peu de réflexion Í mener :-)
Dans ce cas, ma solution de raid1 over iSCSI est pertinente. Tes deux serveurs sont en permanence synchronisés et des scripts (Í base de ping) décident lequel des deux doit être actif. Le schéma que j'avais, c'était un truc du genre : +--- serveur 1 -+-- raid5 | | IP publique |iSCSI+hearbeat | | +--- serveur 2 -+-- raid5
Ca travaille au niveau block device? Il me faudrait auquel cas avoir les données Í synchroniser sur des partitions dédiées et je suis pas forcément maÍ®tre de ça. Je vais quand même creuser un peu cette piste et aussi DRDB...sait-on jamais.
Il faudrait que je redémarre ces machines pour extraire les scripts de gestion. C'est dans le domaine du possible, mais pas très rapidement... Si je démarre des T1000, je sans que ma femme va rÍ¢ler, ça fait un boucan de tous les diables ;-)
Je cherche Í synchroniser des données, pas Í désynchroniser un couple :-) Vincent
Daniel Caillibaud
Le 10/05/21 Í 17:40, "" a écrit :
Bonjour, il y a un mode synchrone sur DRBD, Í travers des tunnels ssh ce serait envisageable?
Attention aux perfs, le mode synchrone peut les détériorer de manière très sensible. Par ailleurs, je sais pas trop ce qu'il se passe si un des deux serveurs tombent, ou s'ils ne se voient plus pendant un moment. J'avais Í une époque fait un script avec inotify, le serveur réagissait Í chaque modif d'un fichier pour l'envoyer Í l'autre, mais c'était finalement trop compliqué et j'ai abandonné l'idée de synchro en temps réel (le but était un infra plus résistante et elle se retrouvait finalement plutÍ´t plus fragile). Pour le besoin d'un serveur bis qui peut reprendre rapidement en cas de défaillance du premier, drdb async semble une bonne solution, mais il y a pas mal d'autres trucs Í gérer (quand basculer, comment, que faire quand le premier revient, comment éviter le yoyo, etc.). La HA (haute dispo) reste complexe Í mettre en place, faut bien mesurer l'investissement (surtout en temps), les conséquences (fragilité induite par la complexité ajoutée vs résistance aux pannes), les probas qu'un bug dans la HA provoque une coupure de service (ou des datas incohérentes) vs la proba d'un crash hardware, etc. Sur les 5 dernières années 100% des pannes que j'ai eues (3 de mémoires) étaient des pannes réseau, o͹ on a finalement décidé d'attendre que l'hébergeur règle le pb plutÍ´t que de basculer (avec Í chaque fois une coupure, de 10min Í qq heures). Et pour les micro pannes réseau (pendant qq secondes|minutes deux serveurs ne se voient plus, mais ils restent tous les deux joignables, au moins pour une partie des clients) il vaut mieux ne rien faire (lÍ o͹ une HA pourrait lancer une bascule, avec toujours un risque de perte de synchro). -- Daniel La sagesse, c'est d'avoir des rêves suffisamment grands pour ne pas les perdre de vue lorsqu'on les poursuit. Oscar Wilde
Le 10/05/21 Í 17:40, "garciajul@free.fr" <garciajul@free.fr> a écrit :
Bonjour,
il y a un mode synchrone sur DRBD, Í travers des tunnels ssh ce serait
envisageable?
Attention aux perfs, le mode synchrone peut les détériorer de manière très sensible.
Par ailleurs, je sais pas trop ce qu'il se passe si un des deux serveurs tombent, ou s'ils ne
se voient plus pendant un moment.
J'avais Í une époque fait un script avec inotify, le serveur réagissait Í chaque modif d'un
fichier pour l'envoyer Í l'autre, mais c'était finalement trop compliqué et j'ai abandonné
l'idée de synchro en temps réel (le but était un infra plus résistante et elle se retrouvait
finalement plutÍ´t plus fragile).
Pour le besoin d'un serveur bis qui peut reprendre rapidement en cas de défaillance du premier,
drdb async semble une bonne solution, mais il y a pas mal d'autres trucs Í gérer (quand
basculer, comment, que faire quand le premier revient, comment éviter le yoyo, etc.).
La HA (haute dispo) reste complexe Í mettre en place, faut bien mesurer l'investissement
(surtout en temps), les conséquences (fragilité induite par la complexité ajoutée vs
résistance aux pannes), les probas qu'un bug dans la HA provoque une coupure de service (ou des
datas incohérentes) vs la proba d'un crash hardware, etc.
Sur les 5 dernières années 100% des pannes que j'ai eues (3 de mémoires) étaient des pannes
réseau, o͹ on a finalement décidé d'attendre que l'hébergeur règle le pb plutÍ´t que de basculer
(avec Í chaque fois une coupure, de 10min Í qq heures).
Et pour les micro pannes réseau (pendant qq secondes|minutes deux serveurs ne se voient plus,
mais ils restent tous les deux joignables, au moins pour une partie des clients) il vaut mieux
ne rien faire (lÍ o͹ une HA pourrait lancer une bascule, avec toujours un risque de perte de
synchro).
--
Daniel
La sagesse, c'est d'avoir des rêves suffisamment grands pour
ne pas les perdre de vue lorsqu'on les poursuit.
Oscar Wilde
Bonjour, il y a un mode synchrone sur DRBD, Í travers des tunnels ssh ce serait envisageable?
Attention aux perfs, le mode synchrone peut les détériorer de manière très sensible. Par ailleurs, je sais pas trop ce qu'il se passe si un des deux serveurs tombent, ou s'ils ne se voient plus pendant un moment. J'avais Í une époque fait un script avec inotify, le serveur réagissait Í chaque modif d'un fichier pour l'envoyer Í l'autre, mais c'était finalement trop compliqué et j'ai abandonné l'idée de synchro en temps réel (le but était un infra plus résistante et elle se retrouvait finalement plutÍ´t plus fragile). Pour le besoin d'un serveur bis qui peut reprendre rapidement en cas de défaillance du premier, drdb async semble une bonne solution, mais il y a pas mal d'autres trucs Í gérer (quand basculer, comment, que faire quand le premier revient, comment éviter le yoyo, etc.). La HA (haute dispo) reste complexe Í mettre en place, faut bien mesurer l'investissement (surtout en temps), les conséquences (fragilité induite par la complexité ajoutée vs résistance aux pannes), les probas qu'un bug dans la HA provoque une coupure de service (ou des datas incohérentes) vs la proba d'un crash hardware, etc. Sur les 5 dernières années 100% des pannes que j'ai eues (3 de mémoires) étaient des pannes réseau, o͹ on a finalement décidé d'attendre que l'hébergeur règle le pb plutÍ´t que de basculer (avec Í chaque fois une coupure, de 10min Í qq heures). Et pour les micro pannes réseau (pendant qq secondes|minutes deux serveurs ne se voient plus, mais ils restent tous les deux joignables, au moins pour une partie des clients) il vaut mieux ne rien faire (lÍ o͹ une HA pourrait lancer une bascule, avec toujours un risque de perte de synchro). -- Daniel La sagesse, c'est d'avoir des rêves suffisamment grands pour ne pas les perdre de vue lorsqu'on les poursuit. Oscar Wilde
NoSpam
Le 10/05/2021 Í 17:34, Vincent Besse a écrit :
On Mon, 10 May 2021 15:59:06 +0200 NoSpam wrote:
Bonjour
[...]
Je vous laisse adapter les variables. Sur le serveur distant 'sudo rsync' indique que l'utilisateur moi a les droits (visudo) d'executer rsync en mode root sans mot de passe. # Options # -a preservve owner, rights, timestamp, ... # -r recursive (needed for files-from # -R relative paths # -P partial and progress (not needed in production) # -z compression during transfer $rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i /home/moi/.ssh/id_ed25519'    --delete --exclude-from=/etc/files.list.excluded --delete-excluded    --files-from=/etc/files.list / $server:$remote_path À mettre dans cron toutes les x minutes|heures|1/4h|... -- Daniel
Je veux bien accepter quelques secondes de latence et les éventuels temps de transfert, mais je suis pas sÍ»r que lancer un rsync toutes les minutes soit bien pertinent.
Cela dépend des données engendrées entre les synchro.
Et est-ce qu'on peut vraiment faire du bidirectionnel avec?
Non, j'avais cru comprendre que c'était pour un backup au cas ou. Nous utilisons ce principe sur des serveurs dans 2 DC différents via un VPN. La bascule se fait via une IP failover qu'il suffit de rediriger au moment nécessaire. -- Daniel
Le 10/05/2021 Í 17:34, Vincent Besse a écrit :
On Mon, 10 May 2021 15:59:06 +0200
NoSpam <no-spam@tootai.net> wrote:
Bonjour
[...]
Je vous laisse adapter les variables. Sur le serveur distant 'sudo
rsync' indique que l'utilisateur moi a les droits (visudo) d'executer
rsync en mode root sans mot de passe.
# Options
# -a preservve owner, rights, timestamp, ...
# -r recursive (needed for files-from
# -R relative paths
# -P partial and progress (not needed in production)
# -z compression during transfer
$rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i
/home/moi/.ssh/id_ed25519'
   --delete --exclude-from=/etc/files.list.excluded --delete-excluded
   --files-from=/etc/files.list / $server:$remote_path
À mettre dans cron toutes les x minutes|heures|1/4h|...
--
Daniel
Je veux bien accepter quelques secondes de latence et les éventuels
temps de transfert, mais je suis pas sͻr que lancer un rsync toutes les
minutes soit bien pertinent.
Cela dépend des données engendrées entre les synchro.
Et est-ce qu'on peut vraiment faire du
bidirectionnel avec?
Non, j'avais cru comprendre que c'était pour un backup au cas ou.
Nous utilisons ce principe sur des serveurs dans 2 DC différents via un
VPN. La bascule se fait via une IP failover qu'il suffit de rediriger au
moment nécessaire.
Je vous laisse adapter les variables. Sur le serveur distant 'sudo rsync' indique que l'utilisateur moi a les droits (visudo) d'executer rsync en mode root sans mot de passe. # Options # -a preservve owner, rights, timestamp, ... # -r recursive (needed for files-from # -R relative paths # -P partial and progress (not needed in production) # -z compression during transfer $rsync -azRPrv --rsync-path='sudo rsync' -e 'ssh -p22 -i /home/moi/.ssh/id_ed25519'    --delete --exclude-from=/etc/files.list.excluded --delete-excluded    --files-from=/etc/files.list / $server:$remote_path À mettre dans cron toutes les x minutes|heures|1/4h|... -- Daniel
Je veux bien accepter quelques secondes de latence et les éventuels temps de transfert, mais je suis pas sÍ»r que lancer un rsync toutes les minutes soit bien pertinent.
Cela dépend des données engendrées entre les synchro.
Et est-ce qu'on peut vraiment faire du bidirectionnel avec?
Non, j'avais cru comprendre que c'était pour un backup au cas ou. Nous utilisons ce principe sur des serveurs dans 2 DC différents via un VPN. La bascule se fait via une IP failover qu'il suffit de rediriger au moment nécessaire. -- Daniel