Réplication de serveur et Clustering

Adrien.D Membre non connecté
-
- Voir le profil du membre Adrien.D
- Inscrit le : 30/05/2011
- Site internet
- Groupes :
Actuelllement, j'ai un vieux PC portable qui me sert de serveur (mon tout premier, un Toshiba). J'ai acheté un autre Portable (ASUS) et du coup mon Portable (HP) ne me sert plus.
Ce qui me fait 3 machines.
J'aimerais donc installer Mageia2 sur le HP, et installer un système de clustering + réplication sur les Toshiba et HP pour comprendre comment fonctionne ce système (et le mettre en œuvre en entreprise par la suite).
J'ai entendu parler de heartbeat (que j'ai mis en place il y a 1 an sur des serveurs Ubuntu où le site était statique).
Or, là, j'ai une base de données MySQL, un site dynamique allant piocher dans la base MySQL.
J'aimerais que les modifs (ajout d'une page PHP, modif dans MySQL, ou ajout d'un fichier par FTP?) faites sur 1 machine soit répliquée automatiquement sur l'autre (ce que ne permet pas heartbeat).
Je vous remercie d'avance pour vos pistes

Édité par Adrien.D Le 27/06/2012 à 08h03
Config : PC Fixe : X470 GAMING PRO- AMD Ryzen 5 2600X - 16Go RAM - Radeon RX 560 (Pilote libre) - Gentoo Linux - GNOME Desktop - Kernel 5.10 LTS
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !


itilo Membre non connecté
-
- Voir le profil du membre itilo
- Inscrit le : 03/06/2011
Adrien.D :
Bonjour,
Actuelllement, j'ai un vieux PC portable qui me sert de serveur (mon tout premier, un Toshiba). J'ai acheté un autre Portable (ASUS) et du coup mon Portable (HP) ne me sert plus.
Ce qui me fait 3 machines.
J'aimerais donc installer Mageia2 sur le HP, et installer un système de clustering + réplication sur les Toshiba et HP pour comprendre comment fonctionne ce système (et le mettre en œuvre en entreprise par la suite).
J'ai entendu parler de heartbeat (que j'ai mis en place il y a 1 an sur des serveurs Ubuntu où le site était statique).
Or, là, j'ai une base de données MySQL, un site dynamique allant piocher dans la base MySQL.
J'aimerais que les modifs (ajout d'une page PHP, modif dans MySQL, ou ajout d'un fichier par FTP?) faites sur 1 machine soit répliquée automatiquement sur l'autre (ce que ne permet pas heartbeat).
Je vous remercie d'avance pour vos pistes
Actuelllement, j'ai un vieux PC portable qui me sert de serveur (mon tout premier, un Toshiba). J'ai acheté un autre Portable (ASUS) et du coup mon Portable (HP) ne me sert plus.
Ce qui me fait 3 machines.
J'aimerais donc installer Mageia2 sur le HP, et installer un système de clustering + réplication sur les Toshiba et HP pour comprendre comment fonctionne ce système (et le mettre en œuvre en entreprise par la suite).
J'ai entendu parler de heartbeat (que j'ai mis en place il y a 1 an sur des serveurs Ubuntu où le site était statique).
Or, là, j'ai une base de données MySQL, un site dynamique allant piocher dans la base MySQL.
J'aimerais que les modifs (ajout d'une page PHP, modif dans MySQL, ou ajout d'un fichier par FTP?) faites sur 1 machine soit répliquée automatiquement sur l'autre (ce que ne permet pas heartbeat).
Je vous remercie d'avance pour vos pistes

Je ne comprends pas vraiment ce que tu veux faire, de la haute disponibilité, de l'équilibrage de charge?
Je crois comprendre que tu veux en fait répliquer une base de données mysql. Dans ce cas il faut que tu étudies mysql (ou postgresql), ils ont des outils pour ça.
En fonction de ce que tu veux faire, tu pourrais:
* utiliser un nas: l'arborescence apache, les fichiers "ajoutés par ftp" seraient sur le nas et accessible immédiatement de toutes les machines (je crois que c'est la solution la plus simple pour le partage de données)
* utiliser un des pc comme serveur mysql, avec, éventuellement, réplication sur un des autres serveurs. En cas de défaillance du serveur base de données, l'autre serveur prendrait le relais. Les logiciels cluster gère le service et effectuent la bascule automatiquement. Bien que ce soit assez simple à gérer soi-même (le service base de données est accessible au travers d'une adresse virtuelle que tu bascules sur l'un ou l'autre serveur selon son état). Tu peux aussi mettre la base mysql sur le nas et lancer le service sur l'une ou l'autre machine: dans ce cas attention, à ne pas lancer le service sur plusieurs machines simultanément, et attention aux accès mysql par nfs (en général les éditeurs sgbd déconseillent les accès nfs aux données)
je ne sais pas si ma réponse te convient, en tant que pistes peut-être?

Adrien.D Membre non connecté
-
- Voir le profil du membre Adrien.D
- Inscrit le : 30/05/2011
- Site internet
- Groupes :
Oui, c'est une bonne idée, de passer par Mysql lui même, pour la "synchronisation".
Je pensais qu'un logiciel externe pouvait par exemple répliquer le contenu d'un répertoire sur différents serveurs (je ne sais pas si la réplication sur /var/mysql permettrait de synchroniser le contenu des tables sans planter ...
En tout cas, je note ton idée.
Mais dans le cas (et oui, je veux tester des choses ...) d'un serveur Teamspeak installé sur une des deux machines, je sais pas si on peut (via un logiciel, toujours pareil) diriger les personnes sur 1 ou l'autre serveur mais que si deux personnes sont sur un serveur différent puissent se parler

En fait, avoir 2 serveurs pour la tolérance de panne mais que ça fasse comme s'il n'y en avait qu'un seul; et que lorsque l'un reboot, plante, le deuxième prennent tout sur lui ...
Config : PC Fixe : X470 GAMING PRO- AMD Ryzen 5 2600X - 16Go RAM - Radeon RX 560 (Pilote libre) - Gentoo Linux - GNOME Desktop - Kernel 5.10 LTS
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !


itilo Membre non connecté
-
- Voir le profil du membre itilo
- Inscrit le : 03/06/2011
Adrien.D :
Oui, c'est une bonne idée, de passer par Mysql lui même, pour la "synchronisation".
Oui, c'est une bonne idée, de passer par Mysql lui même, pour la "synchronisation".
Ça n'est pas exactement ce que j'ai dit. J'ai cru comprendre que tu avais deux besoins:
* avoir accès à des fichiers dynamiques (que ce soit des fichiers php, l'arborescence de ton site, ou d'autres fichiers qui viendraient je ne sais d'où, et qui seraient générés à la volée). Pour ça j'utiliserais un NAS: pas besoin de synchronisation, les fichiers sont sur le nas et les serveurs y accèdent naturellement par nfs. Certains nas sont sécurisés (raid+snapshot)
* besoin de stockage en base de données. Pourquoi, tu ne l'as pas précisé, j'imagine par exemple des données de gestion clients/utilisateurs, des données de ton domaine etc. J'imagine UN serveur BD qui serait répliqué sur un autre serveur (pour mysql, il faut étudier: http://dev.mysql.com/doc/refman/5.1/en/replication.html). La bascule de l'un à l'autre se faisant par logiciel cluster, ou "à la main" (façon de le dire) en gérant une adresse virtuelle pour le service mysql. Alternative, tu peux aussi te baser sur la "sécurité" du nas, et installer ta base mysql sur le nas. LE process mysqld tournerait sur un serveur et serait relancé sur un autre serveur en cas de problème du serveur nominal. Dans ce cas tu utilises aussi une adresse virtuelle pour le service mysql. Et tu fais attention de ne pas avoir deux instances mysqld (sur deux serveurs différents) qui accèdent simultanément à la base de données sur nas (puisque celle-ci est partagée). Dans tous les cas faire des sauvegardes régulières de la BD. Dans le deuxième cas, les perf mysql seraient moindre (accès nfs) mais ce n'est peut-être pas gênant dans ton cas: c'est de toute façon plus simple à gérer que la réplication mysql
Adrien.D :
Je pensais qu'un logiciel externe pouvait par exemple répliquer le contenu d'un répertoire sur différents serveurs .
Je pensais qu'un logiciel externe pouvait par exemple répliquer le contenu d'un répertoire sur différents serveurs .
Ça doit exister, ne serait-ce que rsync, ou tous les outils de mirroring, mais ça risque d'être assynchrone. Avec un nas tout ce qui est écrit par un serveur, est immédiatement disponible pour les autres, et tu minimises le traffic réseau.
Dans le genre tu as aussi DRDB, qui te permet de synchroniser des files systems http://www.drbd.org/
Adrien.D :
(je ne sais pas si la réplication sur /var/mysql permettrait de synchroniser le contenu des tables sans planter ....
(je ne sais pas si la réplication sur /var/mysql permettrait de synchroniser le contenu des tables sans planter ....
Oublie ça (ou alors par drdb). Si tu veux répliquer /var/mysql, il faut s'assurer que le serveur mysqld qui utilise cette arborescence est stoppé, sinon, de l'autre côté tu auras des données incohérentes. Pour la réplication sgbd, utilise l'outil de l'éditeur (voir lien précédent)
Adrien.D :
Mais dans le cas (et oui, je veux tester des choses ...) d'un serveur Teamspeak installé sur une des deux machines, je sais pas si on peut (via un logiciel, toujours pareil) diriger les personnes sur 1 ou l'autre serveur mais que si deux personnes sont sur un serveur différent puissent se parler
Mais dans le cas (et oui, je veux tester des choses ...) d'un serveur Teamspeak installé sur une des deux machines, je sais pas si on peut (via un logiciel, toujours pareil) diriger les personnes sur 1 ou l'autre serveur mais que si deux personnes sont sur un serveur différent puissent se parler

je ne connais pas ce logiciel. Ce semble être une solution commerciale, dans ce cas ils doivent avoir prévu le cas, il faut voir leurs solutions dans le domaine de l'équilibrage de charge.
Adrien.D :
En fait, avoir 2 serveurs pour la tolérance de panne mais que ça fasse comme s'il n'y en avait qu'un seul; et que lorsque l'un reboot, plante, le deuxième prennent tout sur lui ...
En fait, avoir 2 serveurs pour la tolérance de panne mais que ça fasse comme s'il n'y en avait qu'un seul; et que lorsque l'un reboot, plante, le deuxième prennent tout sur lui ...
Là on est plutôt dans la haute disponibilité, avec un serveur en standby: un logiciel cluster fera ça (relancer ton service teamspeak sur le serveur qui reste quand l'autre plante). Ça ne doit pas être très compliqué à faire en gérant une adresse virtuelle

Adrien.D Membre non connecté
-
- Voir le profil du membre Adrien.D
- Inscrit le : 30/05/2011
- Site internet
- Groupes :
Pour rsync et drbd, j'ai reçu.
Pour MySQL, je regarderai et testerai ça en machine virtuelle.
Teamspeak avec Heartbeat devrait fonctionner sans soucis, je ferai des tests.
J'attends peut être d'autres avis, mais en attendant, je pense que je vais me faire deux machines virtuelles Mageia et étudier ça dedans, sans risque de casser mes vrais systèmes.
A+ et Merci
Config : PC Fixe : X470 GAMING PRO- AMD Ryzen 5 2600X - 16Go RAM - Radeon RX 560 (Pilote libre) - Gentoo Linux - GNOME Desktop - Kernel 5.10 LTS
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !

Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie