WHM Même Site sur 2 serveurs - Problème DNS
Bonjour,
Problème de résolution de nom...?
2 serveurs
SG1 - I.P. 123.123.123.1 - DMN A.com
SG2 - I.P. 123.124.155.2 - DMN B.com
Jusque là, ça va...
C.com enregistré chez le registrar pour pointer sur SG2
(mais, le site, et ses bases présent sur SG1 et SG2 [Intérêt: Avec WHM, une opération de transfert de multiples comptes permet de basculer d'un serveur à l'autre sans rien perdre et sans aucune manipe])
echo 'SG';
echo ($_SERVER ['SERVER_ADDR'] == '123.123.123.1') ? 1 : 2;
echo '<hr><b>' . date ( 'd/m/y - H:i:s', time () ) . '<hr>';
script me permettant de m'assurer d'être sur le 2
Mais là, problème:
SG1 apparaît (Et surtout, le site répond, mais avec la dernière sav faite sur le SG1...
(Mon but n'est pas de faire de la réplication, ou clustering, ou autres choses de compliquées, juste d'avoir en double les domaines, BdD, emails, ss-domaines, etc... Et de pouvoir en 3 clics, sauvegarder 100% de tous les réglages (paramètres WHM compris) d'un serveur (SG2) à 'l'autre(SG1))
Cela devrait-il fonctionner, tel que présenté ici, et donc, ne serait-ce là qu'un problème de délai de synchro avec le serveur secondaire (Un troisième serv "étranger"), car C.com redirigé chez le registrar dans les dernières 24H... ?
Merci pour votre diagnostique.
Lionel.
Problème de résolution de nom...?
2 serveurs
SG1 - I.P. 123.123.123.1 - DMN A.com
SG2 - I.P. 123.124.155.2 - DMN B.com
Jusque là, ça va...
C.com enregistré chez le registrar pour pointer sur SG2
(mais, le site, et ses bases présent sur SG1 et SG2 [Intérêt: Avec WHM, une opération de transfert de multiples comptes permet de basculer d'un serveur à l'autre sans rien perdre et sans aucune manipe])
echo 'SG';
echo ($_SERVER ['SERVER_ADDR'] == '123.123.123.1') ? 1 : 2;
echo '<hr><b>' . date ( 'd/m/y - H:i:s', time () ) . '<hr>';
script me permettant de m'assurer d'être sur le 2
Mais là, problème:
SG1 apparaît (Et surtout, le site répond, mais avec la dernière sav faite sur le SG1...
(Mon but n'est pas de faire de la réplication, ou clustering, ou autres choses de compliquées, juste d'avoir en double les domaines, BdD, emails, ss-domaines, etc... Et de pouvoir en 3 clics, sauvegarder 100% de tous les réglages (paramètres WHM compris) d'un serveur (SG2) à 'l'autre(SG1))
Cela devrait-il fonctionner, tel que présenté ici, et donc, ne serait-ce là qu'un problème de délai de synchro avec le serveur secondaire (Un troisième serv "étranger"), car C.com redirigé chez le registrar dans les dernières 24H... ?
Merci pour votre diagnostique.
Lionel.
A voir également:
- WHM Même Site sur 2 serveurs - Problème DNS
- Changer dns - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Quel site remplace coco - Accueil - Réseaux sociaux
- Supercopier 2 - Télécharger - Gestion de fichiers
3 réponses
Posé en tant que tel le problème est assez tendu à comprendre donc à résoudre. Déjà les notations A, B, C, SG1, SG2 sont pas super claires et en plus une fois sur deux tu fais des demi-phrases.
On ne sait pas quel type de serveur web tu utilises (apache ?) ni vraiment ce que tu cherches à faire.
Ensuite on n'a pas vraiment d'élément pour diagnostiquer ce que tu fais, par exemple un nslookup, un traceroute sur A.com, B.com etc... Ou le comportement de ton architecture si l'une des deux machines est coupées. Ou le contenu de /etc/hosts pour voir si la résolution DNS est réellement faite...
Ah et pour le code PHP j'écrirais plutôt :
.. car le === est plus strict que ==.
On ne sait pas quel type de serveur web tu utilises (apache ?) ni vraiment ce que tu cherches à faire.
Ensuite on n'a pas vraiment d'élément pour diagnostiquer ce que tu fais, par exemple un nslookup, un traceroute sur A.com, B.com etc... Ou le comportement de ton architecture si l'une des deux machines est coupées. Ou le contenu de /etc/hosts pour voir si la résolution DNS est réellement faite...
Ah et pour le code PHP j'écrirais plutôt :
echo 'SG'. (($_SERVER ['SERVER_ADDR'] === '123.123.123.1') ? 1 : 2). '<hr><b>'.date( 'd/m/y - H:i:s', time () ).'<hr>';
.. car le === est plus strict que ==.
SG1 - I.P. 123.123.123.1 - DMN A.com
SG2 - I.P. 123.124.155.2 - DMN B.com
Merci mamie pour tes remarques justifiées... Et de t'être déjà penchée sur mon énoncé...
En effet, j'ai sans doute été confus, car de toute évidence, je loupe (au moins) une marche.
Alors, je vais tâcher de t'apporter les précisions que tu attends:
Il s'agît de 2 serveurs dédiés, en ligne, sous linux, dotés chacun de WHM afin d'accéder aux cPanel.
En fait, j'ai donc un domaine C.com dont le compte utilisateur a été créé depuis cPanel sur SG1 et ce compte a été transféré sur SG2 (Ces 2 serveurs sont sont configurés exactement pareil, en serveurs de noms, avec SG1 qui a A.com comme domaine principal, et SG2 B.com)
et dans notre navigateur, SG1.A.com réponds et SG2.B.com aussi.
Pour toutes précisions, voici les réglages de base des serveurs:
Sous SSH :
Appelons IP1 l'accès SSH (avec putty) au serveur n°1 (SG1), et A2 celui à SG2:
( ' abc => xyz ' = L'instruction abc renvoie xyz )
IP1: hostname => sg1.a.com
IP2: hostname => sg2.b.com
IP1 & IP2: nano /etc/hosts =>
123.124.155.2 sg2.b.com sg2
123.123.123.1 sg1a.com sg1
123.124.254.71 ns.monfournisseur.fr
IP1 & IP2: nano /etc/resolv.conf
nameserver 127.0.0.1
nameserver 123.123.123.1
nameserver 123.124.155.2
nameserver 123.124.254.71
IP1: nano /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
GATEWAY=123.123.123.1
HOSTNAME=sg1.a.com
DOMAINNAME=a.com
IP2: nano /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
GATEWAY=123.124.155.2
HOSTNAME=sg2.b.com
DOMAINNAME=b.com
et enfin:
IP1 & IP2: Le fichiers de zone de c.com :
nano /var/named/a.com.db
a.com. 86400 IN SOA sg2.b.com. mon_email.gmail.com. (
2011050302 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 ;minimum
)
a.com. 86400 IN NS sg2.b.com.
a.com. 86400 IN NS ns.monfournisseur.fr.
a.com. 14400 IN A 123.124.155.2
localhost 14400 IN A 127.0.0.1
a.com. 14400 IN MX 0 a.com.
mail 14400 IN CNAME a.com.
www 14400 IN CNAME a.com.
ftp 14400 IN CNAME a.com.
a.com. 14400 IN TXT "v=spf1 ip4:123.124.155.2 a mx ptr ~all"
cpanel 14400 IN A 123.124.155.2
whm 14400 IN A 123.124.155.2
webmail 14400 IN A 123.124.155.2
webdisk 14400 IN A 123.124.155.2
sg2 14400 IN A 123.124.155.2
Voilà...
J'ai ajouter le signe '=' pour être strict au ch'ti script (merci) et celui-ci persiste à me dire qu'on se trouve sur la version en ligne de SG1...
SG2 - I.P. 123.124.155.2 - DMN B.com
Merci mamie pour tes remarques justifiées... Et de t'être déjà penchée sur mon énoncé...
En effet, j'ai sans doute été confus, car de toute évidence, je loupe (au moins) une marche.
Alors, je vais tâcher de t'apporter les précisions que tu attends:
Il s'agît de 2 serveurs dédiés, en ligne, sous linux, dotés chacun de WHM afin d'accéder aux cPanel.
En fait, j'ai donc un domaine C.com dont le compte utilisateur a été créé depuis cPanel sur SG1 et ce compte a été transféré sur SG2 (Ces 2 serveurs sont sont configurés exactement pareil, en serveurs de noms, avec SG1 qui a A.com comme domaine principal, et SG2 B.com)
et dans notre navigateur, SG1.A.com réponds et SG2.B.com aussi.
Pour toutes précisions, voici les réglages de base des serveurs:
Sous SSH :
Appelons IP1 l'accès SSH (avec putty) au serveur n°1 (SG1), et A2 celui à SG2:
( ' abc => xyz ' = L'instruction abc renvoie xyz )
IP1: hostname => sg1.a.com
IP2: hostname => sg2.b.com
IP1 & IP2: nano /etc/hosts =>
123.124.155.2 sg2.b.com sg2
123.123.123.1 sg1a.com sg1
123.124.254.71 ns.monfournisseur.fr
IP1 & IP2: nano /etc/resolv.conf
nameserver 127.0.0.1
nameserver 123.123.123.1
nameserver 123.124.155.2
nameserver 123.124.254.71
IP1: nano /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
GATEWAY=123.123.123.1
HOSTNAME=sg1.a.com
DOMAINNAME=a.com
IP2: nano /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
GATEWAY=123.124.155.2
HOSTNAME=sg2.b.com
DOMAINNAME=b.com
et enfin:
IP1 & IP2: Le fichiers de zone de c.com :
nano /var/named/a.com.db
a.com. 86400 IN SOA sg2.b.com. mon_email.gmail.com. (
2011050302 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 ;minimum
)
a.com. 86400 IN NS sg2.b.com.
a.com. 86400 IN NS ns.monfournisseur.fr.
a.com. 14400 IN A 123.124.155.2
localhost 14400 IN A 127.0.0.1
a.com. 14400 IN MX 0 a.com.
mail 14400 IN CNAME a.com.
www 14400 IN CNAME a.com.
ftp 14400 IN CNAME a.com.
a.com. 14400 IN TXT "v=spf1 ip4:123.124.155.2 a mx ptr ~all"
cpanel 14400 IN A 123.124.155.2
whm 14400 IN A 123.124.155.2
webmail 14400 IN A 123.124.155.2
webdisk 14400 IN A 123.124.155.2
sg2 14400 IN A 123.124.155.2
Voilà...
J'ai ajouter le signe '=' pour être strict au ch'ti script (merci) et celui-ci persiste à me dire qu'on se trouve sur la version en ligne de SG1...
Ok alors ce qu'il faudrait c'est le résultat de la commande ping à lancer sur la machine qui te paraît mal résoudre et vérifier si l'IP retournée colle avec ce que tu attends.
Comme ça peut importe que la résolution se fasse via /etc/resolv.conf (un DNS) ou via /etc/hosts (un alias), tu verras ce que ta machine utilise. Si c'est un DNS, tu pourras voir quel DNS te répond avec la commande nslookup ::
Ça c'est le point qui à mon avis nécessite quelques éclaircissement, car ça permettra de localiser d'où vient l'erreur (alias, DNS, ...) et probablement le coupable.
Si la résolution est correcte mais que tu tombes sur le mauvais serveur, vérifie que le trafic entre la machine cliente (celle depuis laquelle tu résouds et tu tentes de joindre xx.xx.xx.xx) ne voit pas son trafic dérouté, par exemple à l'aide de traceroute (peu probable).
Enfin, je me pose la question de la démarche. Si les deux serveurs hébergent des sites différents, les configurations sont complètement indépendante donc c'est un peu bizarre. Si le but est à terme de faire du load balancing ou de la récupération en cas de panne, je ne suis pas convaincue que tu fasses la bonne approche.
A priori on aurait un load balancer qui serait la cible systématique du client et qui équilibrerait la charge entre les différents serveurs.
ping -c2 xx.xx.xx.xx
Comme ça peut importe que la résolution se fasse via /etc/resolv.conf (un DNS) ou via /etc/hosts (un alias), tu verras ce que ta machine utilise. Si c'est un DNS, tu pourras voir quel DNS te répond avec la commande nslookup ::
nslookup xx.xx.xx.xx
Ça c'est le point qui à mon avis nécessite quelques éclaircissement, car ça permettra de localiser d'où vient l'erreur (alias, DNS, ...) et probablement le coupable.
Si la résolution est correcte mais que tu tombes sur le mauvais serveur, vérifie que le trafic entre la machine cliente (celle depuis laquelle tu résouds et tu tentes de joindre xx.xx.xx.xx) ne voit pas son trafic dérouté, par exemple à l'aide de traceroute (peu probable).
Enfin, je me pose la question de la démarche. Si les deux serveurs hébergent des sites différents, les configurations sont complètement indépendante donc c'est un peu bizarre. Si le but est à terme de faire du load balancing ou de la récupération en cas de panne, je ne suis pas convaincue que tu fasses la bonne approche.
A priori on aurait un load balancer qui serait la cible systématique du client et qui équilibrerait la charge entre les différents serveurs.