Alfio Muñoz - Alta disponibilidad con Elastix
Post on 16-Apr-2017
253 Views
Preview:
Transcript
Elastix High Availability Alta disponibilidad con Elastix
Alfio Muñoz
Skype:alfiomunoz
Twitter:alfiomunoz
Whatsapp:1-849-207-1601
Elastix High Availability
"La alta disponibilidad" consiste en una
serie de medidas tendientes a garantizar la
disponibilidad del servicio, es decir,
asegurar que el servicio funcione durante
las veinticuatro horas.
Elastix High Availability
El término "disponibilidad" hace referencia a la
probabilidad de que un servicio funcione
adecuadamente en cualquier momento.
El término "fiabilidad", que se utiliza en algunos
casos, se refiere a la probabilidad de que un
sistema funcione normalmente durante un
período de tiempo dado. Esto se denomina
"continuidad del servicio".
Arreglos de discos (RAID)
¿Qué son los Arreglos de Discos RAID?
RAID proviene del acrónimo del inglés “Redundant Array of Independent
Disks”, que significa matriz redundante de discos independientes. RAID es un
método de combinación de varios discos duros para formar una unidad lógica
única en la que se almacenan los datos de forma redundante. Ofrece mayor
tolerancia a fallos y más altos niveles de rendimiento que un sólo disco duro o
un grupo de discos duros independientes
Un arreglo redundante de discos independientes (RAID por sus siglas en inglés)
es típicamente implementado para la protección de la información o
incremento del desempeño al acceso de los discos duros. Existen varios tipos
de arreglos y los más usados en la industria son: 0, 1, 5 y el 0+1 ó 10, siendo
este último el de mayor desempeño, protección y costo.
Niveles de RAID
Hay distintos niveles de RAID, van desde el 0 hasta el 6 más sus híbridos 0+1 y
1+0. Los más comunes son el 0, 1, 5 y los híbridos.
RAID 0
Conocido como stripe set o striped volume o simplemente stripe. No tiene paridad ni
redundancia, simplemente la distribución equitativa de los bloques de datos entre los distintos
discos que lo componen.
Si uno de los discos que lo componen es menor en capacidad, ésta determinará el tamaño para
el resto de discos aunque tengan una capacidad mayor.
Así, si tenemos 2 discos de 100Gb y uno de 80Gb, entonces la capacidad total del disco será:
capacidad = 3 discos x 80Gb = 240Gb
RAID 1
En este nivel de RAID, se hace una copia de cada bloque guardado en los
distintos discos que conforman la unidad lógica. De manera ideal, se hace
sobre pares de discos y nuevamente, el disco más pequeño determina el
factor para calcular el tamaño completo del RAID.
Este nivel es útil cuando no se tiene tanto problema por espacio y se requiere
un buen rendimiento de lectura y confiabilidad de los datos. Así, mientras
más discos sean miembros del RAID, se incrementarán dichas ventajas.
RAID 5
En este nivel de RAID, se hace un stripe a nivel de bloque más un bloque
paridad para mantener la seguridad en los bloques de los discos restantes. De
esta forma, bajo este esquema se tiene mucha seguridad en los datos sin
sacrificar espacio en los discos.
Si tuviéramos un esquema RAID 1 y tenemos 4 discos de 100gb, el espacio
para guardar la información, sería de 200gb, porque hay que recordar que se
replican los bloques en cada disco. Pero en RAID 5, se puede tener hasta
300Gb.
Esta es una forma popular por la cuestión del tamaño de almacenamiento
básicamente. Sin embargo, al incluir el bloque de paridad, disminuye el
rendimiento en cuanto a lectura y escritura de datos.
RAID 0+1 (híbrido)
También conocido como RAID 01, este es un híbrido resultado de mezclar
el RAID 0 y el RAID 1. Es un espejo destripes. Es decir, al mismo tiempo que es
un stripe, se maneja otro conjunto de discos que hace un espejo de
dichostripe.
Tiene un mínimo de 4 discos y al estar mezclando los dos tipos
de RAID mencionados, asegura la información un poco más sin desperdiciar la
eficiencia al consultar la información guardada en ellos.
RAID 1+0 (híbrido)
También conocido como RAID 1&0 o RAID 10, este también es un híbrido
del RAID 0 y del RAID 1. Sin embargo, están invertidos con respecto del otro
híbrido. En este caso, es un stripe de discos espejos. Esta opción de arreglo
de discos, es muy rápida, nada más superada por el RAID 0 que ya vimos en
este post. Dicha eficiencia la tiene manteniendo un estándar de seguridad de
los datos similar al RAID 1 y el RAID 0+1.
Opciones que presentaremos
DRBD.
Virtualizacion.
FreePBX Solucion Semi-Automatica.
La forma sencilla el addons de HA de Elastix.
Que es DRBD
DRBD se refiere a los dispositivos de bloque concebido como una edificación
en bloque, agrupados para formar un cluster de alta disponibilidad (HA). Esto
se hace por medio del reflejo completo de un dispositivo de bloque asignado a
través de una red. Se muestra como la red raid-1-DRBD.
DRBD RAID1 en red entre varios equipos
Habitualmente, esta partición de la que se hace mirror, solamente está
montada en una de las máquinas porque se utiliza un sistema de ficheros
tradicional: ext3, raiserfs, xfs, … De esta forma, solo una de las máquinas
puede acceder a los datos, la que tiene la partición montada. Sirve para
montar un sistema de cluster en modo activo/pasivo, y que una de las
máquinas tenga todos los datos hasta que falle, y en ese momento se puede
acceder desde la otra máquina.
DRBD
Heartbeat
Heartbeat es un servicio que provee servicios de infraestructura de
agrupamiento (cluster) a clientes. Permite a los clientes saber si uno de los
nodos está presente o ausente, intercambiado fácilmente mensajes entre
éstos. Está específicamente diseñado para funcionar como agrupamiento de
alta disponibilidad para cualquier tipo de servicio.
Heartbeat
Heartbeat es una aplicación de libre distribución disponible para los sistemas
operativos de tipo Linux, FreeBSD y Solaris, que permite configurar sistemas
de Alta Disponibilidad ofreciendo procesos de comunicación y monitorización
de los nodos que conforman el cluster.
Heartbeat
¿Cómo funciona todo esto? Es muy sencillo, el Heartbeat del nodo activo
(HA1) enviará periódicamente "latidos" al nodo pasivo (HA2) para indicarle
que sigue vivo. En caso de que el nodo pasivo no reciba los latidos,
interpretará que el nodo HA1 está caído, y en consecuencia pasará a modo
activo, levantando automáticamente las direcciones IP virtuales y arrancando
los servicios gestionados.
Heartbeat
Los latidos pueden ser enviados a través de cualquiera de las interfaces de
red, y también como complemento y de forma redundante, a través de un
cable serie.
Consideraciones generales (proveedores,
cantidad de tarjetas de red, etc.
DRBD realiza RAID-1 entre los dispositivos de bloques de dos ordenadores
(nodos) diferentes unidos por la red.
• Utiliza protocolo TCP/IP.
• Su funcionamiento se basa en que los nodos están en dos estados: – Primario:
Puede acceder a los datos para leer y/o escribir. – Secundario: No puede acceder
a los datos, solo copia los datos que le envía el otro nodo
Consideraciones generales
Utilizar dos tarjetas de red, una para el trafico normal de la PBX, otra
exclusivamente para sincronización de los archivos del cluster.
Utilizar gateways para la configuración, no tarjetas físicas.
Pedirle a nuestro proveedor VoIP que nos permita el trafico desde los dos IP
físicos de nuestros equipos.
Términos útiles
HA = High Availability. Esto no necesariamente implica una restauracion
automatica de los servicios.
Primary server = Servidor en produccion en tiempo real.
Secondary server = Servidor secundario que esta a espera de algun fallo para
asumir el rol del primario.
Virtualizacion
Proxmox
KVM
KVM, el sistema oficial de virtualización del kernel de Linux.
KVM, basado en Qemu (emulación) pero modificado para virtualización
Necesidad de soporte en el procesador instrucciones IntelVT, AMDV
Al cargarse el módulo KVM, se convierte en un hypervisor “baremetal”
Soporte de drivers paravirtualizados para mejorar el rendimiento
OPENVZ
OpenVZ es una tecnología de virtualización en el nivel de sistema
operativo para Linux.
OpenVZ permite que un servidor físico ejecute múltiples instancias de
sistemas operativos aislados, conocidos como Servidores Privados Virtuales
(SPV o VPS en inglés) o Entornos Virtuales (EV).
Demonstration OpenVZ
Proxmox server
HA en Freepbx
utilizando Elastix
Lo primero que vamos a hacer es crear varias extensiones en nuestro servidor
primario.
Luego de haber realizado estas extensiones vamos a habilitar el acceso a
freePBX en nuestra central telefonica, en ambos servidores.
Ahora podemos ingresar a https://ipdenuestroserver/admin
Con ese link podemos ingresar a la parte de FreePBX de nuestra central
Elastix.
En el servidor secundario corremos lo siguiente para generar las llaves
privadas con el usuario asterisk:
sudo -u asterisk ssh-keygen
No introducimos ninguna contraseña, y nos limitamos a presionar la tecla
“enter”
Pasos a seguir:
Crear al menos una extensión en cada servidor
Crear un backup en cada servidor
Crear copia de respaldo en servidor remoto
Verificar el backup ID y agregarlo a una tarea repetitiva o Crontab
Verificar que se ha replicado exitosamente
Vamos a ver estas dos tareas:
Verificar el backup ID y agregarlo a una tarea repetitiva o Crontab
Verificar que se ha replicado exitosamente
Verificar el backup ID y agregarlo a una tarea
repetitiva o Crontab
Para probar nuestra copia de respaldo de forma inmediata debemos hacer lo
siguiente:
Damos clic en nuestra copia de respaldo llamada “CopiaRemota” y en la URL
del backup podemos verificar un número que es el backupid=4
Ejecutamos el siguiente comando:
/var/lib/asterisk/bin/ampbackup.php 4
Siendo el número al final el mismo número del backupID.
Si verificamos, todo funciona de maravilla.
Ahora que debemos hacer para que esto corra cada vez que queramos,
recuerden que había comentado que el Schedule no estaba funcionando bien.
Lo que debemos hacer es crear un crontab programado, para que ejecute esa
línea cada vez que queramos.
Ejecutamos en el servidor secundario:
crontab –e
Luego de esto agregamos una línea para que se ejecute para fines de
laboratorio cada dos (2) minutos.
*/2 * * * * /var/lib/asterisk/bin/ampbackup.php 4
Ahora podemos probar creando una extensión, IVR, o cualquier otra cosa en nuestra
central primaria y esperamos dos minutos a que sea replicada a nuestro servidor
secundario.
Laboratorio de configuración HA
FreePBX 2.4
Alta disponibilidad utilizando el addons
oficial de Elastix
Requisitos
Debemos tener una partición disponible en nuestro servidor, no tiene que
estar montada o formateada.
Comunicación a nivel de IP entre nuestros dos Servidores.
Vamos a omitir todos esos pasos ya que lo hemos hecho en los laboratorios de
DRBD.
procedemos a instalar el plugin de alta
disponibilidad de Elastix mediante un “yum”
en ambos servidores.
Laboratorio realizado por el instructor
utilizando el addons de Elastix
top related