Operación práctica de MySQL (4): uso de Haproxy + keeplived para lograr la alta disponibilidad de Mycat

 Serie práctica de MySQL


Tabla de contenido

Estructura general

Objetivos

Preparación ambiental

Configuración del entorno

1.Instalación y configuración de la instalación de Haproxy.

1.1 Instalación de Haproxy

1.2 Modificar el archivo de configuración de haproxy

1.3 Iniciar haproxy

 1.4 prueba de haproxy

 2. Instalación y configuración de Keepalived

 2.1 Instalación mantenida

2.2 Modificar el archivo de configuración Keepalived

2.3 Iniciar Keepalived

3. Configure otro servidor del clúster Haproxy+Keepalived

4.Prueba de integración Haproxy+Keepalived

Método 1: utilice la prueba VIP para iniciar sesión en la interfaz web de Haproxy

Método 2: inicie sesión en Mycat en el servidor Mysql para realizar pruebas

Método 3: prueba mediante herramientas de administración de SQL


Estructura general

Objetivos

  • Cree un clúster de replicación maestro-esclavo de MySQL
  • Instale dos Mycats y configure subbases de datos y tablas + separación de lectura y escritura
  • Utilice haproxy para lograr alta disponibilidad de dos servicios mycat

Preparación ambiental

Configuración del entorno

Las siguientes operaciones se realizan en haproxy01:192.168.237.140

Dirección de descarga del archivo de configuración general de Haproxy + Keepalived: Archivo de configuración de Haproxy + Keepalived (con comentarios) -Recursos de documentos de Linux-Descarga de CSDN

1.Instalación y configuración de la instalación de Haproxy.

1.1 Instalación de Haproxy

Instalar haproxy usando yum

#查看yum可用的haproxy版本
yum list|grep haproxy
#在线安装使用yum安装haproxy
yum -y install haproxy.x86_64

1.2 Modificar el archivo de configuración de haproxy

Ruta del archivo de configuración una vez completada la instalación: /etc/haproxy/haproxy.cfg 

Dirección de descarga del archivo de configuración de Haproxy: Archivo de configuración de Haproxy haproxy.cnf (con comentarios) -Recursos de documentos de CentOS-Descarga de CSDN

vim /etc/haproxy/haproxy.cfg

Las principales modificaciones son las siguientes.


frontend  mycat
#操作端口
bind 0.0.0.0:8066
#管理端口
bind 0.0.0.0:9066
mode tcp
log global
default_backend mycat_server

backend mycat_server
    balance     roundrobin
	#check表示检查
    server   mycat1   192.168.237.134:8066 check inter 5s rise 2 fall 3
    server   mycat2   192.168.237.137:8066 check inter 5s rise 2 fall 3
    server   mycatadmin1   192.168.237.134:9066 check inter 5s rise 2 fall 3
    server   mycatadmin2   192.168.237.137:9066 check inter 5s rise 2 fall 3	
	
listen stats
#访问模式
mode http
#haproxy对外开发的端口
bind 0.0.0.0:5000
stats enable
#隐藏版本
stats hide-version
#通过web界面访问haproxy的路径
stats uri /haproxy
#静态资源
stats realm Haproxy\ Statistics
#通过web界面访问haproxy的用户名密码
stats auth admin:admin
#通过web界面访问haproxy后身份为admin管理员
stats admin if TRUE

1.3 Iniciar haproxy

Nota: Antes de iniciar haproxy, si la hora de la máquina virtual no está sincronizada con la máquina local, se informará un error durante el inicio; puede ejecutar el siguiente comando para resolver este problema sin sincronizar la hora.

setenforce 0

 Comandos relacionados con haproxy:

#启动
systemctl start haproxy
#停止
systemctl stop haproxy
#查看状态
systemctl status haproxy
#重启
systemctl restart haproxy

 1.4 prueba de haproxy

Acceda a la interfaz web configurada en haproxy en el navegador, ingrese el nombre de usuario y contraseña configurados admin/admin e inicie sesión:

 Si el estado en mycat_server está activo, la configuración se realizó correctamente.

 2. Instalación y configuración de Keepalived

 2.1 Instalación mantenida

Utilice yum para instalar Keepalived.

#查看yum可用的keepalived版本
yum list|grep keepalived
#在线安装使用yum安装keepalived
yum -y install  keepalived.x86_64

2.2 Modificar el archivo de configuración Keepalived

Ruta del archivo de configuración una vez completada la instalación: /etc/keepalived/keepalived.cfg 

Dirección de descarga del archivo de configuración de Keeplived: archivo de configuración de Keeplived keepalived.cnf (con comentarios) -Recursos de documentos de Linux-Descarga de CSDN

vim /etc/keepalived/keepalived.cfg

El contenido de la modificación es el siguiente.

global_defs {  
    router_id NodeA 		#当前节点名称 
}
vrrp_instance VI_1 {  
    state MASTER   			#设置主服务器
    interface ens33			#系统的网卡名字(centos6为eth0,centos7位eth33)
    virtual_router_id 10    #多个保持心跳的keepalived节点要设置同一个router_id
    priority 100  			#权重,权重数字越大,权重越大:即表示VIP访问权重最大的
    advert_int 1  

    authentication {       
		auth_type PASS  	#通过PASS认证(密码认证)
		auth_pass 123456   	#多个保持心跳的keepalived节点要设置同一个auth_pass
	}  
	virtual_ipaddress {     #虚拟IP地址,可设置多个
		  192.168.237.255/24  #对外暴露的IP地址,24是网络位数(可省略)
		  192.168.237.254/24
	}
	track_script{			#自定义追踪脚本
		chk_haproxy			#追踪haproxy
	}
}
vrrp_script chk_haproxy {	#定义的方法名
        script "/etc/keepalived/check_haproxy.sh"
        interval 4			#追踪频率
        weight 3			#追踪权重
}

Cree un nuevo script check_haproxy.sh en /etc/keepalived. El contenido del script es el siguiente

#!/bin/bash
A=`ps -C haproxy --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start haproxy.service
fi

2.3 Iniciar Keepalived

 Comandos relacionados con Keepalived:

#启动
systemctl start keepalived
#停止
systemctl stop keepalived
#查看状态
systemctl status keepalived
#重启
systemctl restart keepalived

 Después de un inicio exitoso, como se muestra a continuación, el VIP actualmente vigente es 192.168.237.254

3. Configure otro servidor del clúster Haproxy+Keepalived

Los pasos de operación específicos son los mismos que los pasos 1 y 2, pero debe modificar el archivo de configuración de Keepalived, modificar el router_id y la prioridad, y otras operaciones son las mismas que haproxy01:192.168.237.140.

El archivo de configuración de Keepalived es el siguiente:

global_defs {  
    router_id NodeB 		#当前节点名称 
}
vrrp_instance VI_1 {  
    state MASTER   			#设置主服务器
    interface ens33			#系统的网卡名字(centos6为eth0,centos7位eth33)
    virtual_router_id 10    #多个保持心跳的keepalived节点要设置同一个router_id
    priority 90  			#权重,权重数字越大,权重越大:即表示VIP访问权重最大的
    advert_int 1  

    authentication {       
		auth_type PASS  	#通过PASS认证(密码认证)
		auth_pass 123456   	#多个保持心跳的keepalived节点要设置同一个auth_pass
	}  
	virtual_ipaddress {     #虚拟IP地址,可设置多个
		  192.168.237.255/24  #对外暴露的IP地址,24是网络位数(可省略)
		  192.168.237.254/24
	}
	track_script{			#自定义追踪脚本
		chk_haproxy			#追踪haproxy
	}
}
vrrp_script chk_haproxy {	#定义的方法名
        script "/etc/keepalived/check_haproxy.sh"
        interval 4			#追踪频率
        weight 3			#追踪权重
}

4.Prueba de integración Haproxy+Keepalived

Método 1: utilice la prueba VIP para iniciar sesión en la interfaz web de Haproxy

Inicie sesión en http://192.168.237.254:5000/haproxy

Método 2: inicie sesión en Mycat en el servidor Mysql para realizar pruebas

Nota: La razón por la que no se puede probar directamente en el servidor Haproxy + Keepalived es porque Mysql no está instalado en el servidor actual y no se pueden ejecutar comandos como mysql.

Utilice IP virtual (VIP) para iniciar sesión en mycat para su operación

#登录Mycat
#    -u 登录名 用户名和密码为在mycat的server.xml中配置的name和password
#    -p 密码
#    -h Keepalived配置的虚拟IP
#    -P Mycat端口号,默认8066
mysql -uroot -p123456 -h192.168.237.254 -P8066;


 La función de verificar la subbase de datos y la subtabla es la misma que la de mycat.

Método 3: prueba mediante herramientas de administración de SQL

Tomando navicat como ejemplo, cree una nueva conexión Mysql en navicat: el host es la IP del servidor VIP, el número de puerto es 8066 de Mycat, el nombre de usuario y la contraseña son el nombre y la contraseña configurados en el server.xml de Mycat, y el resto de las pruebas son las mismas.

Supongo que te gusta

Origin blog.csdn.net/DreamEhome/article/details/128682812
Recomendado
Clasificación