OVH Community, votre nouvel espace communautaire.

Migration d'un serveur email vers les Nouvelles offres OVH (Reloaded)


linuxden
13/10/2007, 12h48
Oui c vrai les IP Failover sont faite pour eviter ce genre de situation...

Ce HOWTO pourrais aussi etre utile pour transferer d'un autre fournisseur du style:

dedibox --> OVH

Bonne Journee,


Tom

ps: Le DNS est ton ami!!! lol

Ograweb
13/10/2007, 09h52
Super, merci a toi.
Personnellement la propagation des DNS me fait peur :-s

Tu as pensé aux IP fail Over d'ovh ? elles pourraient etre utile ici, nan ?

linuxden
13/10/2007, 00h25
Bonjour,

Comment faire un transfer d'un serveur a un autre, pour pouvoir profiter des nouvelles offres OVH.(3x plus de disque dure pour le meme prix ca vaut le coup quand meme!!!)

Surtout il faudra le faire en ayant pratiquement 0 downtime et surtout dans mon cas il faut perdre 0 emails!!! (ceci etais mon plus gros souci).

Cette technique est facilement adaptable a toute les autres distrib linux.

Mon setup:

*Debian GNU/Linux Etch
*BIND 9
*Postfix
*Mysql (virtual Users)
*Dovecot
*Apache2



l'astuce?

Tout d'abord il faut prevoir au moin 72H pour tout faire tranquillement

A partir de maintenant les serveurs seront nomme comme ceci:

Ancien serveur = "Serveur A"
Nouveaux serveur = "Serveur B"

Premiere chose a faire editer les zones DNS des domaines qui vont transferer avec le nouveaux serveur. Ceci est primordial car pour que ce transfer soi effectuer d'une facon "seamless", le temp de propagation DNS ne peux pas etre entre 24H ou 48H.

Donc Le but d'editer ces fichier est de reduire le temp de propagation des DNS a environ 5 minutes...

Il faut changer le $TTL , et le metre a environ 5 minutes, pendant que vous faite cela vous pouvez aussi deiter le "refresh", "retry", "expire", "minimum" donc sur "Serveur A" editer:
Code:
$TTL 300
@ IN SOA ns.domainname.com. root.domain.com. (
                        2007101201; serial
                        300; refresh, seconds
                        300; retry, seconds
                        300; expire, seconds
                        300); minimum, seconds

;
                   NS ns.domainname.com.;
                   NS sdns1.ovh.net.
;
                   MX 10 host.domain.com.;

;

domain.com.   A address.ip.serveur.A
www          A address.ip.serveur.A
host    A address.ip.serveur.A
mail         A address.ip.serveur.A
ftp          A address.ip.serveur.A
Repeter pour chaque nom de domaine que vous vouler transferer sur le "Serveur B"

Aller dormir / Travailler / Dormir /Travailler... (Pendant au moins 24H, mais le
mieux cela serait 48H)

Autrement pour gagner un peux de temps vous pouver installer le nouveaux serveur. (Il y a plusieur facon de transfere un serveur, moi je prefere prendre mon dernier backup journalier et l'installer sur mon nouveaux serveur...)

Comme ca tout est installer tres rapidement...

pour les software vous pouver faire ceci sur le "serveur A"
Code:
dpkg --get-selections > installed_apps.txt
puis transferer le fichier "installed_apps.txt" sur le "serveur B" et faire:
Code:
cat installed_apps.txt | dpkg --set-selections
Code:
apt-get -u dselect-upgrade
comme ca tous les software installer sur "serveur A" seront installer sur "serveur B".... ;-)

Si vous transfere le serveur comme ceci il ne faut surtout pas oublier de changer les donnees qui sont unique au "Serveur B".

Entre autres:
Code:
/etc/network/interfaces
/etc/fstab
/boot/*
/etc/lilo.conf
Il faudra aussi editer le fichier:
Code:
/etc/postfix/main.cf
Dans ce fichier Il faut remplacer le nom du host et celui du domaine par ceux du "serveur B" sinon quand on vas creer un relay vous aller avoir une erreur du style :
Code:
Email loops back to myself...

Vous pouvez aussi preparer les nouveaux fichier de zones BIND.

pour cela:
Code:
mkdir /etc/bind/new_zones
Code:
cp /etc/bind/* /etc/bind/new_zones/
Maintenant modifier vos zones en vous servant de l'addresse IP du serveur B.

N'oublier pas de changer le serial...

Code:
$TTL 300
@ IN SOA ns.domainname.com. root.domain.com. (
                        2007101202; serial
                        300; refresh, seconds
                        300; retry, seconds
                        300; expire, seconds
                        300); minimum, seconds

;
                   NS ns.domainname.com.;
                   NS sdns1.ovh.net.
;
                   MX 10 host.domain.com.;

;

domain.com.   A address.ip.serveur.B
www          A address.ip.serveur.B
host    A address.ip.serveur.B
mail         A address.ip.serveur.B
ftp          A address.ip.serveur.B

Une fois la propagation effectuer. Et seulement apres quels soit effectuer vous pouver passer a la 3eme etapes...

Alors maintenant il va falloir transferer les emails du "serveur A" vers le "serveur B". Ceci est assez simple, c a dire il faut creer un "relay smtp".

Ca tombe bien parceque "postfix" a quelque chose pour faire cela:

Transport_maps

donc dans /etc/postfix/main.cf rajouter cette ligne a la fin:
Code:
#My transport map...
transport_maps = hash:/etc/postfix/transport
creer le fichier /etc/postfix/transport:
Code:
touch /etc/postfix/transport
dans ce fichier il faut mettre une ligne de configuration pour chaque domaine. du style:

Code:
domain.com                                     smtp:[address.ip.serveur.B]
2eme-domain.com                             smtp:[address.ip.serveur.B]
Une fois que vous avez fini d'editer /etc/postfix/transport, il ne faut pas oublier de faire la commande:
Code:
postmap /etc/postfix/transport
+

Code:
/etc/init.d/postfix force-reload
Ceci creer le "hash" /etc/postfix/transport + redemarre postfix.

Maintenant Postfix sur le "serveur A" relay tout les email quil recoit au
"Serveur b"



Pour l'etape suivante il est plutot conseiller d'attendre un moment ou votre reseaux est moin demander... donc en pleine nuit? au petite heures du matin? a vous le choix!!! ;-D

La derniere etapes s'agit de faire le transfer des DNS sur le nouveaux serveur... Donc en reprenant l'example ci dessus.

sur le "serveur A":

Code:
mv /etc/bind /etc/bind.bak
Code:
mkdir /etc/bind
Code:
cp /etc/bind/new_zones/* /etc/bind/
Code:
/etc/init.d/bind9 force-reload
Maintenant la propagation DNS prendra maximum 10 minutes (quelqu'un va me dire que certains Admin "override les TTL, oui c'est vrai, mais tres tres rare!!!)
Donc pas plus d'une dizaine de minutes dans la pluspart des cas.

Apres cela Il va falloir changer les serveur DNS chez les registrar individuelles...(seulement chez ceux qui donne la glue...)<--- Je sais pas comment on dit ca en Francais...

Et le tour est jouer!!!


Bonne chance!!

Tom

ps: si quelqu'un veux plus de details n'hesiter pas a me contacter.
pps: excuser moi pour mon francais c'est pas ma premier langue.. et il est tres tard...