Publicado el 20 de Julio del 2019
1.058 visualizaciones desde el 20 de Julio del 2019
2,5 MB
257 paginas
Creado hace 16a (13/03/2009)
Salvo que se indique lo contrario, el contenido de
este documento está bajo una licencia Creative
Creative
Commons Attribution 3.0 License
Commons License
Universidad Católica de
Santa María
Facultad de Ciencias e
Ingenierías Físicas y Formales
Programa Profesional de Ing. De
Sistemas
“Diseño de un modelo para la implementación de
Servidores Web de Alta Disponibilidad.”
Tesis presentada por el Bachiller:
RODRÍGUEZ LAZO, ANDRÉS ENRICO
Para optar por el Titulo Profesional de:
INGENIERO DE SISTEMAS.
Arequipa - Perú 2008
A mis padres y a mi familia, que me han
apoyado incondicionalmente a lo largo de
mi vida y mis estudios. Gracias a ellos es
que soy lo que soy.
ii
ÍNDICE
DEDICATORIA
ÍNDICE
LISTADO DE FIGURAS
LISTADO DE TABLAS
RESUMEN
ABSTRACT
INTRODUCCIÓN
CAPÍTULO I: PLANTEAMIENTO TEÓRICO
1.1. El Problema.
1.1.1. Título Descriptivo del Proyecto.
1.1.2. Descripción del Problema.
1.2. Objetivos: General y Específicos.
1.2.1. Objetivo General.
1.2.2. Objetivos Específicos.
1.3. Hipótesis
1.3.1. Variables e Indicadores
1.4. Presentación del Proyecto
1.4.1. Justificación.
1.4.2. Alcances y Limitaciones.
CAPÍTULO II: MARCO TEÓRICO
2.1. Clúster o Clustering.
2.1.1. Definición.
2.1.2. Tipos de Clúster.
2.2. Arquitectura del Clúster.
2.2.1. Alta Disponibilidad.
2.2.2. Escalabilidad.
2.2.3. Funcionamiento del Clúster.
2.3. Balanceo de Carga.
2.3.1. Balanceadores de Hardware.
2.3.2. Balanceadores de Software.
2.3.3. Balanceo en DNS.
2.3.4. Linux Virtual Server LVS.
2.3.5. Otras Herramientas para el Balanceo de Carga.
2.4. Detección de Fallos en los Nodos del Clúster.
2.4.1. Linux HA o Heartbeat.
2.4.2. Ldirectord.
2.4.3. Keepalived.
2.4.4. Disco de Quórum.
2.5. Sistemas de Almacenamiento.
2.5.1. Sistemas de Almacenamiento Externo.
2.5.2. Almacenamiento Compartido.
ii
iii
vi
viii
ix
x
xi
2
2
2
3
3
3
4
4
5
5
7
9
9
9
11
12
20
21
27
27
27
28
29
44
53
54
58
61
65
66
67
72
iii
75
87
87
92
96
96
96
99
99
101
103
106
110
112
114
114
115
116
118
118
2.5.3. Almacenamiento Replicado.
2.6. Otras Herramientas para Clustering.
2.6.1. Ultra Monkey.
2.6.2. Red Hat Cluster Suite.
CAPÍTULO III: DISEÑO DEL MODELO DE ALTA DISPONIBILIDAD
3.1. Modelo
3.1.1. Definición
3.1.2. Componentes
3.2. Diseño de la Arquitectura del Clúster.
3.2.1. Capa 1: Balanceadores de Carga.
3.2.2. Capa 2: Servidores Web.
3.2.3. Capa 3: Servidores de Almacenamiento.
3.2.4. Esquema.
3.2.5. Interacción entre los Componentes del Modelo
3.3. Elección del Sistema Operativo.
3.4. Configuraciones Adicionales.
3.4.1. Csync2.
3.4.2. Network Card Bonding.
3.4.3. Fencing – STONITH.
3.4.4. SANs.
3.4.5. Bases de Datos.
CAPÍTULO IV: IMPLEMENTACIÓN DEL MODELO
121
4.1. Instalación y Configuración del Sistema Base.
121
4.1.1. Instalación del Sistema Base.
4.1.2. Habilitar la cuenta de root.
131
132
4.1.3. Configurar la Red.
133
4.1.4. Configuración para las Actualizaciones del Sistema.
135
4.2. Capa 1: Instalación y configuración de los Balanceadores de Carga.
135
4.2.1. Notas Preliminares.
135
4.2.2. Configuración de los Balanceadores de Carga.
144
4.3. Capa 2: Instalación y Configuración de los Servidores Web.
144
4.3.1. Notas Preliminares
144
4.3.2. Instalación y Configuración
4.3.3. Pruebas Adicionales.
146
4.4. Capa 3: Instalación y Configuración de los Servidores de Almacenamiento 147
4.4.1. Notas Preliminares.
147
148
4.4.2. Instalación básica.
149
4.4.3. Sincronizando el Sistema.
150
4.4.4. Instalación de los servidores NFS.
4.4.5. Instalación de los Servidores MySQL.
151
152
4.4.6. Instalar DRBD.
155
4.4.7. Configurar DRBD.
4.4.8. Configuración avanzada de NFS.
159
160
4.4.9. Configuración avanzada de MySQL.
iv
4.4.10. Instalar y Configurar Heartbeat.
4.4.11. Configuración de los Clientes NFS
4.4.12. Notas Importantes.
4.5. Instalación y Configuración del Servidor DNS Interno.
4.5.1. Notas Preliminares.
4.5.2. Instalación y Configuración de DNS.
4.5.3. Enjaular DNS.
4.6. Configuraciones Adicionales.
4.6.1. Csync2.
4.6.2. Network Card Bonding.
4.6.3. Fencing con Meatware.
4.6.4. Servidores Windows.
162
164
166
167
167
168
170
173
173
177
179
183
CAPÍTULO V: EVALUACIÓN DEL MODELO DE ALTA DISPONIBILIDAD
5.1. Evaluando la Capa 1: Balanceadores de Carga.
5.1.1. Prueba 1: Apagando Normalmente el Balanceador de Carga Principal.
5.1.2. Prueba 2: Fallas en el Balanceador de Carga Principal.
5.1.3. Prueba 3: Fallas en la Red de los Balanceadores de Carga.
5.1.4. Interpretación de Resultados de la Capa 1.
5.2. Evaluando la Capa 3: Servidores de Datos.
5.2.1. Prueba 4: Fallas en los Servidores de Datos STONITH.
5.2.3. Interpretación de Resultados de la Capa 3.
5.3. Evaluando la Interacción entre la Capa 1 y Capa 2.
5.3.1. Prueba 5: Detectando las fallas de los Servidores Web (Capa 2).
5.3.2. Prueba 6: Detectando fallas de Red de los Servidores Web (Capa 2).
5.3.3. Interpretación de Resultados de la interacción de las Capas 1 y 2.
5.4. Evaluando la Interacción entre la Capa 2 y la Capa 3 .
5.4.1. Prueba 7: Detectando a los Servidores de Datos (Capa 3).
5.4.2. Interpretación de resultados de la Interacción de las Capas 2 y 3.
5.5. Evaluando el Funcionamiento del Modelo.
5.5.1. Prueba 8: Fallas en el Balanceador de Carga mientras sirve Peticiones.
5.5.2. Prueba 9: Fallas en los Servidores de Datos mientras sirven Peticiones.
5.5.3. Prueba 10: Pruebas de Stress.
5.5.4. Interpretación de Resultados del Funcionamiento del Modelo.
CONCLUSIONES
RECOMENDACIONES
BIBLIOGRAFÍA
ANEXOS
209
209
210
210
211
213
213
214
216
216
218
219
221
221
222
222
223
224
225
227
231
233
235
238
v
LISTADO DE FIGURAS
Figura 2.1. Topología de un único Switch.
Figura 2.2. Topología de Múltiples Switch – ISL.
Figura 2.3. Topología de Múltiples Switch.
Figura 2.4. LVS - NAT.
Figura 2.5. LVS – IP Tunneling.
Figura 2.6. Encapsulación LVS - IP Tunneling.
Figura 2.7. LVS – Direct Routing.
Figura 2.8. Encapsulación LVS – Direct Routing.
Figura 2.9. Ipvsadm – Conexiones.
Figura 2.10. Ipvsadm – Estadísticas.
Figura 2.11. HAProxy – Balanceo Simple.
Figura 2.12. HAProxy – High Availability.
Figura 2.13. HAProxy – Balanceo Simple HTTPS.
Figura 2.14. Heartbeat.
Figura 2.15. Keepalived.
Figura 2.16. Network Attached Storage.
Figura 2.17. Almacenamiento Compartido.
Figura 2.18. Ultra Monkey.
Figura 2.19. Ultra Monkey – Alta Disponibilidad.
Figura 2.20. Red Hat Cluster Suite.
Figura 3.1. Componte – Balanceador de Carga.
Figura 3.2. Componente – Servidor Web
Figura 3.3. Componente – Servidor de Datos
Figura 3.4. Componente – Servidor de Bases de Datos
Figura 3.5. Componente – Ethernet
Figura 3.6. Componente – Nube de Internet
Figura 3.7. Capa 1 – Balanceadores de Carga.
Figura 3.8. Capa 2 – Servidores Reales.
Figura 3.9. Capa 3 – Servidores de Datos.
Figura 3.10. Arquitectura del Modelo.
Figura 3.11. DRBD.
Figura 3.12. STONITH.
Figura 4.1. Instalación de Ubuntu Paso 1.
Figura 4.2. Instalación de Ubuntu Paso 2.
Figura 4.3. Instalación de Ubuntu Paso 3.
Figura 4.4. Instalación de Ubuntu Paso 4.
Figura 4.5. Instalación de Ubuntu Paso 5.
Figura 4.6. Instalación de Ubuntu Paso 6.
Figura 4.7. Instalación de Ubuntu Paso 7.
Figura 4.8. Instalación de Ubuntu Paso 8.
Figura 4.9. Instalación de Ubuntu Paso 9.
Figura 4.10. Instalación de Ubuntu Paso 10.
Figura 4.
Comentarios de: Diseño de un modelo para la implementación de Servidores Web de Alta Disponibilidad (0)
No hay comentarios