OVH Community, your new community space.

Instalacion de Percona Externo con NAT en cPanel


T.o.n.i
14/10/2013, 15:09
Cita Publicado inicialmente por PacoSS

1.- ¿Es posible reemplazar mysql por él directamente en cpanel?
como te comentan, es posible.. pero yo no lo haria eso no esta cubierto por el soporte de cPanel en cambio el externo SI

Cita Publicado inicialmente por PacoSS
2.- ¿Realmente el rendimiento al separar el servidor de base de datos de las máquinas virtuales clientes es superior, que estando en cada una local? Está claro que el uso de ram de las MV disminuye drásticamente, y que este método es válido para un servidor de no muchas MV, ya que mas grande deberíamos de irnos a un dedicado aparte con discos lo mas rápidos en escritura posible.
El rendimiento yo lo he notado sobre todo en la liberacion de carga en el servidor cPanel, he pasado de ir a load 1,5 de media a estar en 0,4, y el log de consultas lentas se han reducido un 70% osea tengo un 75% menos


Cita Publicado inicialmente por PacoSS
Pero creo que nos estamos saliendo del tema principal, que es implementar un servidor de datos dentro del propio servidor proxmox, que me parece una gran idea para optimizar la ram global en caso de varias MV usando cpanel.
yo no lo uso para tener 2MV en el mismo server proxmox, porque aqui estaria igual usando CPU y RAM a saco.

yo tengo 2 servidores PROXMOX uno con varias MV o CT como llaman ahora y el otro esta de backup, recibe backups para en caso de fallo seguir funcionando en el backup

claro que como casi nunca uso el server de backup o mas bien nunca.. me daba rabia tenerlo sin uso
asi que le instale ahi la maquina virtual MYSQL liberando al proxmox principal de esa carga, y sin gastar IPs

ahora envio backups del proxmox dond esta mysql al proxmox donde esta cPanel y backup de las MV donde esta el cPanel al proxmox de mysql, en caso de que algun servido falle, restauro el backup y cambio las DNS de MYSQL.DOMINIO.COM poniendo 10.0.0.1 y todo a seguir funcionando, o incluso funciona si pongo la IP del mismo proxmox como ya dije antes teniendo el NAT configurado, claro... si el que falla es el proxmox del cPanel arranco el backup en el proxmox mysql y arreglado a seguir funcionando pero con mas carga, logicamente


pegas? pues que ahora sera mas probable que tenga fallos porq son 2 servidores usando, pero problema ninguno.. la reparacion es sencilla.

si tu idea es mariaDB tambien puedes instalarlo en tu MV y funcionar igual el problema es que aun siendo compatible MariaDB, cpanel no da soporte ni aun siendo externa, mientras que yo siendo PERCONA tengo soporte 100% desde cPanel, de echo ya el soporte a entrado varias veces

PacoSS
13/10/2013, 10:27
Por mas que leo, ventajas claras no veo para cambiar de base de datos, no.

Lo que si que parece es que MariaDB pinta mejor. Los scripts embebidos corren aun mejor que en Mysql y su replicación (redundancia) dicen que es su punto mas fuerte, aparte de optimizaciones de escritura dependiendo del medio: raid, ssd, ... (automático)

https://mariadb.com/blog/benchmarking-mariadb-534/

http://sobstel.org/blog/mysql-like-d...es-comparison/

Pero creo que nos estamos saliendo del tema principal, que es implementar un servidor de datos dentro del propio servidor proxmox, que me parece una gran idea para optimizar la ram global en caso de varias MV usando cpanel.

tonysanchez
13/10/2013, 09:01
1.- ¿Es posible reemplazar mysql por él directamente en cpanel?
Si pero ya sabes que Cpanel cuando tengas lios se hara el loco.

De todas formas... en estos tiempos y tras la decision de Google de pasar a MariDB... casi mejor optar por MariaDb

el sacar fuera el MySQL es bueno y malo. En un servidor externo solo MySQL, se pueden hacer virguerias y libera a los server con cpanel.. pero...

Una cagada y ocurre como todas las cosas centralizadas... afecta a a todos los que tiren de el...

Imaginate 10 servidores tirando de un mysql que se ha petado.
Mutliplica el numero de clientes poniendo ticket o llamando al SAT,

Saludos.

PacoSS
12/10/2013, 10:10
Muchísimas gracias por el post. Claro como el agua.
Nunca he usado Percona, y leyendo en su web, parece que es un fork mas rápido y todo eso.

Tengo un par de preguntas relacionadas:

1.- ¿Es posible reemplazar mysql por él directamente en cpanel?

2.- ¿Realmente el rendimiento al separar el servidor de base de datos de las máquinas virtuales clientes es superior, que estando en cada una local? Está claro que el uso de ram de las MV disminuye drásticamente, y que este método es válido para un servidor de no muchas MV, ya que mas grande deberíamos de irnos a un dedicado aparte con discos lo mas rápidos en escritura posible.

Gracias, un saludote.

T.o.n.i
12/10/2013, 01:22
Hola..

Quiero compartir con vosotros mi guia de instalacion de mysql externo (Percona) en un servidor cPanel, el extra de no necesitar ninguna IP para este servicio y ser 100% accesible desde el exterior.

Es un HOW-TO sencillo y rapido de hacer efectivo, pocas letras voy a necesitar pero he tardado muchas horas en conseguirlo aun siendo pasos faciles.

Explicare todo usando CT OpenVZ


debemos tener nuestro servidor con cPanel ya funcionando.

debemos crear una CT con CENTOS 6 yo instalo la centos-6-x86_64.tar.gz, al crear la CT ponemos en IP 10.0.0.1

pasamos a configurar el NAT, vamos al server PROXMOX
Código:
nano /etc/init.d/nat-vz
--------
#!/bin/sh

case "$1" in
start) echo "Starting iptables NAT for openvz"
    #modifique IP.DE.SU.DEDICADO por la IP de salida
    /sbin/iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o vmbr0 -j SNAT --to IP.DE.SU.DEDICADO

    #anadir las reglas IPtables para la redireccion de puerto
    /sbin/iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1022 -j DNAT --to 10.0.0.1:22
    /sbin/iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3306 -j DNAT --to 10.0.0.1:3306

    ;;
stop) echo "Stopping iptables NAT for openvz"
    #modifique IP.DE.SU.DEDICADO por la IP de salida
    /sbin/iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o vmbr0 -j SNAT --to IP.DE.SU.DEDICADO

    #anadir las reglas IPtables para la supresion de la redireccion de puerto
    /sbin/iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 1022 -j DNAT --to 10.0.0.1:22
    /sbin/iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3306 -j DNAT --to 10.0.0.1:3306
    ;;
*) echo "Usage: /etc/init.d/nat-vz {start|stop}"
    exit 2
    ;;
esac
exit 0
--------

chmod 755 /etc/init.d/nat-vz
update-rc.d nat-vz defaults
ya hemos redireccionado los puertos y tenemos internet en la CT

entramos al CT y seguimos la guia

a) dejamos el CENTOS pelado, "minimal"
Código:
yum groupremove "Web Server" "E-mail server" "System administration tools" "SNMP Support" "Networking Tools" "Network file system client" "Network Infrastructure Server" "Legacy UNIX compatibility" "Directory Server" "Directory Client" "Console internet tools" "CIFS file server"
yum update
yum install nano
b) instalamos los repositorios PERCONA e instalamos
Código:
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
yum install Percona-Server-client-55 Percona-Server-server-55
c) en CSF (Allow IPs) de cPanel añadir la ip del server principal (PROXMOX)

d) seguridad minima, no hace gran cosa
nano /etc/ssh/sshd_config
Código:
nano /etc/ssh/sshd_config
{UseDNS no
MaxAuthTries 2
MaxSessions 3}
Vamos a nuestro cPanel y procedemos al cambio, teniendo claro que nuestro servidor MySQL tiene la IP del server PROXMOX, yo recomiendo crear un subdominio tipo mysql.dominio.com y apuntarlo a la IP proxmox sin mas

para cambiar localhost como host de server mysql en los alojamientos yo use:
Código:
find ./ -name \*.php -exec sed -i "s/localhost/mysql.dominio.com/g" {} \;
OJO.. no vaya a ser que tengais 'localhost' en otros sitios a parte de para conectar a mysql, como pueda ser correo u otra cosa.. en mi caso no fue asi.

en caso de tener que mover la CT Percona a otro server PROXMOX no es problema, simplemente asegurarse que el proxmox que la acoje tenga completado el paso 3
luego entras a los DNS y poneis que mysql.dominio.com apunte a la IP del server proxmox nuevo