Maison base de données tutoriel mysql MySQL LVS负载均衡

MySQL LVS负载均衡

Jun 07, 2016 pm 05:58 PM
lvs mysql 环境 负载

环境: 192.168.1.8(DR,REAL SERVER) 192.168.1.88(REAL SERVER) 192.168.1.188(REAL SERVER) 1.DR安装配置: (1)安装IPVSADM yum install ipvsadm (2)绑定VIP: ifconfig eth0:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 u

环境: 192.168.1.8(DR,REAL SERVER) 192.168.1.88(REAL SERVER) 192.168.1.188(REAL SERVER)
1.DR安装配置:
(1)安装IPVSADM
yum install ipvsadm
(2)绑定VIP:
ifconfig eth0:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up


(3)增加路由到ETH0:0
route add -host 192.168.1.200 dev eth0:0
(4)配置转发:
echo "1" >/proc/sys/net/ipv4/ip_forward
(5)增加REAL SERVER
  ipvsadm -C
  ipvsadm -A -t 192.168.1.200:3306 -s rr -p 600
  ipvsadm -a -t 192.168.1.200:3306 -r 192.168.1.8:3306 -g
  ipvsadm -a -t 192.168.1.200:3306 -r 192.168.1.88:3306 -g
  ipvsadm -a -t 192.168.1.200:3306 -r 192.168.1.188:3306 -g
(6)启动:
ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.200:mysql rr persistent 600
  -> 192.168.1.188:mysql          Route   1      0          0        
  -> 192.168.1.88:mysql           Route   1      0          0        
  -> 192.168.1.8:mysql            Local   1      0          0        
以上步骤可写成脚本:
cat /etc/init.d/lvsDR
#dscription: Start LVS of Director server
VIP=192.168.1.200
RIP1=192.168.1.8
RIP2=192.168.1.88
RIP3=192.168.1.188
/etc/rc.d/init.d/functions
case "$1" in
    start)
        echo " start LVS of Director Server"
# set the Virtual  IP Address and sysctl parameter
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
       echo "1" >/proc/sys/net/ipv4/ip_forward
#Clear IPVS table
       /sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP:3306 -s rr -p 600
/sbin/ipvsadm -a -t $VIP:3306 -r $RIP1:3306 -g
/sbin/ipvsadm -a -t $VIP:3306 -r $RIP2:3306 -g
/sbin/ipvsadm -a -t $VIP:3306 -r $RIP3:3306 -g
#Run LVS
      /sbin/ipvsadm
       ;;
    stop)
        echo "close LVS Directorserver"
        echo "0" >/proc/sys/net/ipv4/ip_forward
        /sbin/ipvsadm -C
        /sbin/ifconfig eth0:0 down
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
安装ldirectord
需要安装四个软件包:
heartbeat-1.2.4-1.i386.rpm             heartbeat-pils-1.2.4-1.i386.rpm
heartbeat-ldirectord-1.2.4-1.i386.rpm  heartbeat-stonith-1.2.4-1.i386.rpm
rpm -ivh *.rpm --nodeps --force

修改配置文件:
cat /etc/ha.d/ldirectord.cf
#Global Directives
checktimeout=20
checkinterval=10
fallback=127.0.0.1:3306
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=no

# Sample for an mysql virtual service
virtual=192.168.1.200:3306
        real=192.168.1.8:3306 gate
        real=192.168.1.88:3306 gate
        real=192.168.1.188:3306 gate
        fallback=127.0.0.1:3306 gate
        service=mysql
        checktype=negotiate
        login="root"
        passwd="123456"
        request="show status"
        scheduler=rr

2.real server配置: 在三个节点均这样操作:
增加/etc/init.d/lvsrs 脚本:
cat /etc/init.d/lvsrs
#!/bin/bash
#description : Start Real Server
VIP=192.168.1.200
/etc/rc.d/init.d/functions
case "$1" in
    start)
        echo " Start LVS  of  Real Server"
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        echo "1" >/proc/sys/net/ipv4/conf/eth0/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/eth0/arp_announce
        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
        ;;
    stop)
        /sbin/ifconfig eth0:0 down
        echo "close LVS Director server"
        echo "0" >/proc/sys/net/ipv4/conf/eth0:0/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/eth0:0/arp_announce
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac


3.启动LVS集群服务:
(1)启动REAL SERVER: 在三个节点上都操作
/etc/init.d/lvsrs start    
(2)启动ldirectord  在DR上
/etc/init.d/ldirectord start
查看输出日志:
[Sat May 19 01:25:33 2012|ldirectord] Removed real server: 192.168.1.8:3306 ( x 192.168.1.200:3306
[Sat May 19 01:25:33 2012|ldirectord] Removed real server: 192.168.1.88:3306 ( x 192.168.1.200:3306
[Sat May 19 01:25:33 2012|ldirectord] Removed real server: 192.168.1.188:3306 ( x 192.168.1.200:3306
[Sat May 19 01:25:33 2012|ldirectord] Removed virtual server: 192.168.1.200:3306
[Sat May 19 01:25:33 2012|ldirectord] Linux Director Daemon terminated on signal: TERM
[Sat May 19 01:25:34 2012|ldirectord] Starting Linux Director v1.77.2.36 as daemon
[Sat May 19 01:25:34 2012|ldirectord] Added virtual server: 192.168.1.200:3306
[Sat May 19 01:25:34 2012|ldirectord] Added fallback server: 127.0.0.1:3306 ( x 192.168.1.200:3306) (Weight set to 1)
[Sat May 19 01:25:34 2012|ldirectord] Added real server: 192.168.1.8:3306 ( x 192.168.1.200:3306) (Weight set to 1)
[Sat May 19 01:25:34 2012|ldirectord] Deleted fallback server: 127.0.0.1:3306 ( x 192.168.1.200:3306)
[Sat May 19 01:25:34 2012|ldirectord] Added real server: 192.168.1.88:3306 ( x 192.168.1.200:3306) (Weight set to 1)
[Sat May 19 01:25:34 2012|ldirectord] Added real server: 192.168.1.188:3306 ( x 192.168.1.200:3306) (Weight set to 1)
配置完成,临控时时状况:
在DR上 ipvsadm
ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.200:mysql rr persistent 600
  -> 192.168.1.188:mysql          Route   1      0          0        
  -> 192.168.1.88:mysql           Route   1      0          0        
  -> 192.168.1.8:mysql            Local   1      0          0        
配置完毕。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

L'un des changements majeurs introduits dans MySQL 8.4 (la dernière version LTS en 2024) est que le plugin « MySQL Native Password » n'est plus activé par défaut. De plus, MySQL 9.0 supprime complètement ce plugin. Ce changement affecte PHP et d'autres applications

Comment configurer un pool de connexions MySQL en utilisant PHP ? Comment configurer un pool de connexions MySQL en utilisant PHP ? Jun 04, 2024 pm 03:28 PM

La configuration d'un pool de connexions MySQL à l'aide de PHP peut améliorer les performances et l'évolutivité. Les étapes comprennent : 1. Installer l'extension MySQLi ; 2. Créer une classe de pool de connexions ; 3. Définir la configuration du pool de connexions ; 4. Créer une instance de pool de connexions ; Grâce au regroupement de connexions, les applications peuvent améliorer les performances en évitant de créer une nouvelle connexion à la base de données pour chaque requête.

Comment supprimer des données d'une table MySQL en utilisant PHP ? Comment supprimer des données d'une table MySQL en utilisant PHP ? Jun 05, 2024 pm 12:40 PM

PHP fournit les méthodes suivantes pour supprimer des données dans les tables MySQL : Instruction DELETE : utilisée pour supprimer les lignes correspondant aux conditions de la table. Instruction TRUNCATETABLE : utilisée pour effacer toutes les données de la table, y compris les ID auto-incrémentés. Cas pratique : Vous pouvez supprimer des utilisateurs de la base de données à l'aide de formulaires HTML et de code PHP. Le formulaire soumet l'ID utilisateur et le code PHP utilise l'instruction DELETE pour supprimer l'enregistrement correspondant à l'ID de la table des utilisateurs.

La page est vide après que PHP est connecté à MySQL. Quelle est la raison de la fonction Die () non valide? La page est vide après que PHP est connecté à MySQL. Quelle est la raison de la fonction Die () non valide? Apr 01, 2025 pm 03:03 PM

La page est vide après que PHP se connecte à MySQL, et la raison pour laquelle la fonction Die () échoue. Lorsque vous apprenez la connexion entre PHP et la base de données MySQL, vous rencontrez souvent des choses déroutantes ...

Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Apr 01, 2025 pm 02:48 PM

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

Comment partager la même page du côté PC et mobile et gérer les problèmes de cache? Comment partager la même page du côté PC et mobile et gérer les problèmes de cache? Apr 01, 2025 pm 01:57 PM

Comment partager la même page du côté PC et mobile et gérer les problèmes de cache? Dans l'environnement Nginx PHP MySQL construit à l'aide de l'arrière-plan Baota, comment faire le côté PC et ...

Le verrouillage optimiste PHP combiné avec le solde de déduction des transactions a échoué: comment s'assurer que le solde est correctement déduit dans les situations de concurrence? Le verrouillage optimiste PHP combiné avec le solde de déduction des transactions a échoué: comment s'assurer que le solde est correctement déduit dans les situations de concurrence? Mar 31, 2025 pm 11:42 PM

Une explication détaillée du problème de la déduction des soldes en combinaison avec des verrous et des transactions optimistes PHP dans cet article analysera en détail une déduction de solde à l'aide de PHP, de verrous optimistes et de transactions de base de données, seulement ...

See all articles