[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mirroring de machines



Bonjour,


Alexandre Mackow a écrit :
Mon serveur Debian comence a etre critique, je cherchais donc une solution de bascule en cas de plantage hardware ou meme logiciel....

... [snip]

 La synchronisation entre les 2 serveurs se
fera tous les soirs (pas besoin de synchro en temps reel)...
Quelle solution me proposeriez vous?
Le rsync est il une solution viable me concernant?

Mon serveur fait tourner postfix, proxy, apache2 et nagios principalement.



Rsync est effectivement une solution tout a fait envisageable et viable dans ton cas de figure.

Sinon tu peux travailler en virtualisant tes services proxy, apache2, nagios, postfix dans des serveurs virtuels (xen, vservers) sur tes 2 serveurs physiques (le primaire et le backup où les serveurs virtuels sont down). la synchronisation primaire -> secours se ferait alors aussi par un rsync des serveurs virtuels (c'est juste un répertoire à synchroniser).


Tout dépend de quel temps tu disposes pour mettre cela en place, dans quels délais tu veux/dois pouvoir faire la bascule entre le primaire et le secours.

Mais le plus simple (et rapide), AMHA, si tu es à la bourre c'est

d'avoir sur le serveur de secours une partition dédiée (disons hda2) pour suppléer le primaire, parition que tu synchronises avec rsync ts les jours avec les répertoires souvent mis a jour du primaire (genre /etc/postfix, /var/www etc) + une entrée grub/lilo permettant de booter sur hda2 et surtout avec les paramètres IP, hostname etc du primaire qui normalement est tombé dans ce cas de figure

Avec cette solution, ça laisse aussi ton 2e serveur de secours libre pour faire des essais divers (sans toucher à la partoche hda2 bien sûr) et si nécessaire cad qd le primaire est tombé, tu bootes sur hda2

ça peut-etre fait à distance en modifiant le 'default' dans le menu.lst sous grub. Par contre pour une solution temps réel, là faut regarder du côté de heartbeat.



voici un petit script "quick & dirty" (soyez indulgents...) que j'utilise pour faire des rsync quotidiens de mes serveurs de production sur un serveur de SVG (sur lequel tourne un serveur rsyncd), à adapter si tu veux dans ton cas de figure...


mais rsync ça marche super bien en tout cas ! et la doc sur le site web / man est complet avec pas mal d'exemples.

http://samba.anu.edu.au/rsync/


Sinon tu peux regarder aussi du côté de backuppc mais je crois pas que tu en ai besoin pour cela. Un script Shell bien réfléchi + rsync devrait faire l'affaire.


A+
Arnaud

#!/bin/bash
# rsync-system.sh permet de sauvegarder le système (tout ou partie)
# sur un serveur de sauvegarde distant.

RSYNCSERVER="rsyncroot@backupsrv.mondomaine"
PROGNAME=$0
HOSTNAME=$(hostname)
DATE=`date +"%d-%b-%Y %k:%M:%S"`
logger "[$PROGNAME] begins"


if [ -z $1 ]; then
cat <<EOF
-------------------------------------------------
rsync-system.sh permet de sauvegarder le système
sur le serveur de sauvegarde distant.
-------------------------------------------------
usage rsync-system.sh <sourcedir> <remotedir>
exemple :
rsync-system.sh  /      # rsync the whole filesystem
rsync-system.sh /etc    # rsync only /etc directory
default remotedir = backup/hosts/<hostname>/rsync
EOF
logger "[$PROGNAME] no sourcedir !"
logger "[$PROGNAME] ends"
exit 1
fi


if [ -z $2 ]; then
  DIR="backup/hosts/$HOSTNAME/rsync"
else
  DIR="$2"
fi

SRC="$1"
if [ -d $src ]; then
/usr/bin/nice -n 15 rsync -avz --delete --password-file=/etc/rsync/rsyncroot.secrets --exclude-from=/etc/rsync/rsync-system.exclude $SRC $RSYNCSERVER::$DIR > /var/log/rsync-system.log
else
        logger "[$PROGNAME] $SRC not found !"
        exit 1
fi
logger "[$PROGNAME] ends"
exit 0







Reply to: