Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Servicios
Nombre de la
Sigla Asignatura ASY4142 Convergentes (Voz, Tiempo 7 horas
Asignatura
Videos y Datos)
Experiencia de Aprendizaje N° 3 Administración Avanzada de Sistema de Servicios Convergentes
Actividad N° 3.3 Generando Soluciones de Alta Disponibilidad
Nombre del Recurso Didáctico 3.3.2 Implementación de una Solución de Alta Disponibilidad
Distinguir las variables de entorno en la red, que Identifica los problemas que pueden afectar la comunicación en una
afectan el tráfico de voz, video y datos, llamada telefónica/video llamada considerandos variables del
considerando la Calidad de Servicio. entorno corporativo.
Identificar y analizar un problema para generar Aplica en su totalidad la alternativa de solución escogida para el
alternativas de solución, aplicando métodos problema planteado.
aprendidos. Resolución de Problemas (N1) Aplica un método lógico en la resolución del problema, considerando
pasos definidos y relacionados entre sí.
Esta actividad tiene como principal objetivo implementar una solución de alta disponibilidad para un sistema de
comunicaciones Asterisk/Issabel. Al finalizar, dispondrás de una pauta de Reflexión para analizar tu desempeño
durante esta última experiencia, en el recurso 3.3.3.
Instrucciones:
1. Para esta actividad se desarrolla en grupos de dos integrantes o de manera individual.
2. Cada PC debe contar funcionalidad de virtualización activada y con un programa de virtualización como
VirtualBox o VmWare, más conexión a Internet.
3. Los estudiantes deberán cargar(importar) la Imagen de Issabel que exportaron la clase pasada como
para del trabajo hecho.
NOTA:
Para esta actividad se recomienda la clonación de una imagen virtualizada de Issabel ya disponible, la que
actuará como Nodo 2, de forma de optimizar el tiempo de desarrollo de las actividades
Sistemas Issabel:
CPU: 2 núcleos
RAM: 1GB
D.D.: 8GB
DD DRBD: 4GB
Nombres Servidores:
- Issabel1
- Issabel2
Issabel1: 201.0.100.180
Issabel2: 201.0.100.181
2) Direccionamiento IP de los Servers en su conexión común (eth2)
Issabel1: 20.20.20.10
Issabel2: 20.20.20.20
3) IP virtual flotante
2.2 Instalar y configurar DRBD (todo lo que sigue aplica a los 2 server)
Chequee la Creación de los discos duras de drbd en cada nodo (4GB)
# fdisk -l
Chequear salida Internet: (no podrá continuar si esto no ocurre)
# ping www.google.com
a) Editar los nombres de los hosts de Issabel. Ingrese y edite el archivo host en cada server:
# vim /etc/hosts
Vaya al final y anote la IP de la conexión en común de cada uno:
20.20.20.10 Issabel1 Issabel1.local
20.20.20.20 Issabel2 Issabel2.local
Confirme que desde cada Server tiene ping hacia el otro a través de la eth2:
EVIDENCIA 1:
Capture imagenes de ambos server con la configuración de la eth2 (use ifconfig)
Capture imágenes de ambos server con ping hacia el dominio del otro.
b) Levantando DRBD:
Editamos los repositorios e instalamos los paquetes necesarios. Creamos el siguiente
archivo con los siguientes contenidos: drbdlink.repo
# vim /etc/yum.repos.d/drbdlink.repo
[drbdlink]
name=Drbdlinks
baseurl=http://dl.fedoraproject.org/pub/epel/7/x86_64/
enable=1
gpgcheck=0
Bajamos los servicios para que no arranque con el servidor (en ambos Server):
systemctl stop httpd.service
systemctl stop asterisk.service
systemctl stop dahdi.service
systemctl stop issabel-portknock.service
systemctl stop issabel-updaterd.service
systemctl stop hylafax.service
systemctl stop iaxmodem.service
systemctl stop mariadb.service
Como solo tenemos dos nodos, le decimos que ignore el umbral de nodos:
pcs property set no-quorum-policy=ignore
Creamos la ip virtual, que es la que se va a compartir entre los dos servidores:
pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=201.0.100.183
cidr_netmask=24 nic=eth0:1 op monitor interval=10s
Creamos el monitoreo del servidor http:
# pcs resource create webserver ocf:heartbeat:apache
configfile=/etc/httpd/conf/httpd.conf statusurl="http://localhost/server-status" op
monitor interval=20s
Asignar la ip virtual y el servicio http al nodo que este activo:
pcs constraint colocation add webserver virtual_ip INFINITY (en Issabel 1)
Orden de arranque de los servicios:
pcs constraint order virtual_ip then webserver
Lo recursos deben estar en la maquina principal (Issabel1):
pcs constraint location virtual_ip prefers issabel1=50
pcs constraint location webserver prefers issabel1=50
El Resto Por Defaults (Issabel 1):
pcs resource defaults resource-stickiness=100
pcs resource defaults
Creamos el monitoreo de la data drbd:
pcs resource create webserver_data ocf:linbit:drbd drbd_resource=drbd0 op monitor
interval=10s
cd /datos
amportal chown
tar -zcvf etc-asterisk.tgz /etc/asterisk
tar -zxvf etc-asterisk.tgz
tar -zcvf var-lib-asterisk.tgz /var/lib/asterisk/
tar -zxvf var-lib-asterisk.tgz
tar -zcvf usr-lib64-asterisk.tgz /usr/lib64/asterisk/
tar -zxvf usr-lib64-asterisk.tgz
tar -zcvf var-spool-asterisk.tgz /var/spool/asterisk/
tar -zxvf var-spool-asterisk.tgz
tar -zcvf var-lib-mysql.tgz /var/lib/mysql/
tar -zxvf var-lib-mysql.tgz
tar -zcvf var-log-asterisk.tgz /var/log/asterisk/
tar -zxvf var-log-asterisk.tgz
cd /root/
Descargamos el agente drbdlink (en ambos servers):
git clone https://github.com/linsomniac/drbdlinks.git
Entramos al directorio drbdlinks y copiamos el agente (en ambos servers):
cd drbdlinks/
cp -vr drbdlinks /usr/lib/ocf/resource.d/heartbeat/
Revisamos que este el agente:
pcs resource agents ocf:heartbeat | grep drbdlinks
Damos permios (en ambos servers):
chmod +x /usr/lib/ocf/resource.d/heartbeat/drbdlinks
Editamos vim /etc/drbdlinks.conf y agregamos al final las siguientes líneas (en ambos servers):
mountpoint('/datos')
link('/etc/asterisk/')
link('/var/lib/asterisk')
link('/usr/lib64/asterisk/')
link('/var/spool/asterisk/')
link('/var/lib/mysql/')
link('/var/log/asterisk/')
link('/var/www/')
Bajamos el agente para Asterisk (ambos servers):
wget https://raw.githubusercontent.com/ClusterLabs/resource-
agents/master/heartbeat/asterisk -O /usr/lib/ocf/resource.d/heartbeat/asterisk
Le damos permisos (ambos servers):
chmod +x /usr/lib/ocf/resource.d/heartbeat/asterisk
Creamos el monitor de drbdlinks:
pcs resource create drbdlinks ocf:heartbeat:drbdlinks op monitor interval=20s
Creamos el monitor del maridb (primer server):
pcs resource create mysql ocf:heartbeat:mysql op monitor interval=10s
Arranque de servicios y daemons junto con el arranque de la maquina (en ambos server):
systemctl enable corosync
systemctl enable pacemaker
systemctl enable pcsd
a) Por lo tanto, si ejecuta Asterisk en el server 2 (con asterisk -r) no debe conectar.
b) El directorio compartido tampoco debe estar allí (probemos con #df -h)
2) Para saber si pasan los procesos, mandamos a Apagar Issabel1 (# halp -p)
volvemos a mirar el server secundario (# ifconfig), la ip flotante la pasó: