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: