web-dev-qa-db-fra.com

Changer de serveurs - Rediriger vers une nouvelle adresse IP = pas de temps d'arrêt?

Je change de serveurs de mon site Web. L'IP d'Old Server ne peut pas être déplacé vers le nouveau. Pour n'avoir aucun temps d'arrêt, je planifie de faire ce qui suit, s'il vous plaît, une personne confirme que cela fonctionnera:

  1. Configurez le nouveau serveur et écoutez la nouvelle adresse IP
  2. Old Server redirige tout le trafic vers la nouvelle adresse IP
  3. Changer les enregistrements DNS pour pointer vers la nouvelle adresse IP

Ma logique me dit que lorsque j'ai redirigé vers la nouvelle adresse IP de mon ancienne boîte, l'utilisateur ne verra pas le nom de domaine dans le navigateur mais verra la nouvelle adresse IP. Existe-t-il un moyen de rediriger vers la nouvelle adresse IP et d'envoyer le nom d'hôte avec lui afin que l'utilisateur voie le nom de domaine dans le navigateur?

Je fais cela parce que le site est en constante utilisation et il suffit de changer les paramètres DNS ne fera que la base de données ne sera pas synchronisée entre les nouveaux et les anciens serveurs lors de la propagation.

13
Denis Pshenov

Voici la méthode qui a fonctionné pour moi:

  1. Synchronisez les fichiers et les bases de données avec le nouveau serveur.
  2. Effectuez une nouvelle synchronisation juste avant la coupure.
  3. Modifiez le DNS en point sur le nouveau serveur.
  4. Transférer la demande qui arrive à l'ancienne adresse IP au nouveau serveur jusqu'à ce que la propagation DNS se termine.

Voici comment je ferais l'étape 4:

Nous configurerons des iptables sur un serveur Linux pour rediriger tout le trafic à venir sur le port 80, (qui est le port de serveur Web par défaut), sur un serveur avec l'IP 122.164.34.240. La première étape consiste à définir votre boîte Linux pour permettre à ce type de transfert. Ouvrez une fenêtre de terminal, connectez-vous en tant qu'utilisateur root et exécutez la commande suivante:

# echo 1 >/proc/sys/net/ipv4/ip_forward

L'étape suivante consiste à indiquer à Iptables de rediriger le trafic sur le nouveau serveur:

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 122.164.34.240

Voici où l'iPtables Magic arrive. Avec la troisième et dernière étape, nous disons que les Iptables de réécrire l'origine des connexions au port 80 du nouveau serveur apparaîtront à partir de l'ancien serveur.

# iptables -t nat -A POSTROUTING -p tcp -d 122.164.34.240 --dport 80 -j MASQUERADE

L'étape finale est requise car si nous ne disons pas au serveur Web du nouveau serveur que les connexions provenaient des machines clientes, elle penserait qu'elles sont originaires de l'ancien serveur.

Vous voudrez peut-être répéter cela pour les bases de données et le port de courrier électronique.

19
Shain Padmajan

Une autre option est d'utiliser A VIP (IP virtuelle). Donc, vos étapes seront:

  1. Configurez le nouveau serveur et écoutez la nouvelle adresse IP.
  2. Ajouter A VIP à l'ancien serveur.
  3. Modifiez les enregistrements DNS pour pointer sur le VIP IP. Jusqu'à présent, tout le trafic sera toujours envoyé sur l'ancien serveur mais à l'aide du VIP.
  4. Lorsque vous êtes prêt à partir, déplacez le VIP sur le nouveau serveur.
  5. En option, vous pouvez modifier le DNS vers la nouvelle adresse IP du serveur et supprimer VIP (après un certain temps) de DNS.
1
Khaled

OK, puisque vous avez parlé de la réplication de la base de données, vous devez faire ce qui suit.

  1. Réplication de la configuration entre les bases de données dans les deux serveurs.
  2. Pendant la cuisson, rendez le nouveau DB du nouveau serveur comme principal et le serveur ancien comme loadonly.
  3. Pointez la chaîne de connexion de la base de données de l'application sur le nouveau serveur sur le serveur ancien et nouveau. Si votre site utilise des sessions, assurez-vous que la session est persistée dans DB.
  4. Modifiez l'adresse IP dans DNS sur le nouveau serveur.
  5. Continuez à courir les deux serveurs pour au moins 48 heures.
0
Shyam Sundar C S
  1. Configurez le nouveau serveur et écoutez la nouvelle adresse IP
  2. Puis configurez la redirection transparente. Sur Old Server installer rinetd.

Dans rinetd.conf:

OLD_SERVER_IP 80 NEW_SERVER_IP 80
  1. Changer les enregistrements DNS pour pointer vers la nouvelle adresse IP
0
yadaya

vous pouvez utiliser HA-proxy devant vos serveurs Web, lorsque l'un d'entre eux va au mode de maintenance Secondary Server Server prendra la relève.

0
apoc