Вы находитесь на странице: 1из 74

IMPLEMENTACIN DE UN CLSTER DE ALTA DISPONIBILIDAD PARA LOS

SERVICIOS DNS, WEB, Y CORREO, EN SERVIDORES VIRTUALES


UTILIZANDO HERRAMIENTAS DE SOFTWARE LIBRE

JOHN BEXLER CUENTAS


YAISER MANUEL HERRERA MORALES

FUNDACIN UNIVERSITARIA TECNOLGICO COMFENALCO


FACULTAD DE INGENIERA
PROGRAMA DE INGENIERA DE SISTEMAS
CARTAGENA DE INDIAS
2009

IMPLEMENTACIN DE UN CLSTER DE ALTA DISPONIBILIDAD PARA LOS


SERVICIOS DNS, WEB, Y CORREO, EN SERVIDORES VIRTUALES
UTILIZANDO HERRAMIENTAS DE SOFTWARE LIBRE

JOHN BEXLER CUENTAS


YAISER MANUEL HERRERA MORALES

Trabajo de Grado presentado como requisito para optar al ttulo de


Ingenieros de Sistemas

Asesor
LUIS MELENDEZ CAMPIS
Ingeniero de Sistemas

FUNDACIN UNIVERSITARIA TECNOLGICO COMFENALCO


FACULTAD DE INGENIERA
PROGRAMA DE INGENIERA DE SISTEMAS
CARTAGENA DE INDIAS
2009

Nota de Aceptacin:

___________________________
___________________________
___________________________
___________________________
___________________________
___________________________

___________________________
Firma del presidente del jurado

___________________________
Firma del jurado

___________________________
Firma del jurado

Cartagena de Indias, 2009

DEDICATORIA

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx.


Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx.
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx.
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx.
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx.
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx.

John .
Yaiser

AGRADECIMIENTOS

A Dios, por iluminar mi mente con la sabidura y los conocimientos necesarios


durante la realizacin de esta propuesta y en todos los instantes de mi vida.

A mis padres y hermanos por su paciencia y grata colaboracin permanente,


contribuyendo a mi superacin profesional.

A todos muchas gracias de verdad.

John
Yaiser

CONTENIDO

pg.

INTRODUCCIN

17

1. PLANTEAMIENTO DEL PROBLEMA


1.1. DESCRIPCIN DEL PROBLEMA

19

1.2 . FORMULACIN DEL PROBLEMA

21

2. OBJETIVOS

22

2.1 OBJETIVO GENERAL

22

2.2 OBJETIVOS ESPECFICOS

22

3. JUSTIFICACIN

23

4. MARCO REFERENCIAL

25

4.1 MARCO TERICO

25

4.2 MARCO CONCEPTUAL

29

4.4 MARCO LEGAL

57

5. DISEO METODOLGICO

58

5.1 METODOLOGA DE LA INVESTIGACIN

58

5.2 TIPO DE INVESTIGACIN

59

5.3 UNIVERSO

59

5.4 FUENTES DE RECOLECCIN DE LA INFORMACIN

59

5.4.1 Fuentes Primarias

60

5.4.2 Fuentes Secundarias

60

CONCLUSIONES
CRONOGRAMA DE ACTIVIDADES

111

PRESUPUESTO E INFRAESTRUCTURA DE LA INVESTIGACIN

112

BIBLIOGRAFA

113

ANEXOS

115

LISTA DE TABLAS

pg.

LISTA DE FIGURAS

pg.

LISTA DE GRFICAS

pg.

10

LISTA DE ANEXOS

pg.

11

RESUMEN

El presente trabajo de investigacin busca disear una propuesta de creacin de


hotel tipo SPA en un sitio turstico de la ciudad de Cartagena de Indias, que se
constituya en una propuesta viable y que permita la satisfaccin de los gustos de
los usuarios de lujo. La mayora de los turistas encuestados muestran que estn
dispuestos en ltima instancia a elegir los servicios ofrecidos por un hotel tipo SPA
de alta categora, antes que optar por un hotel de alto nivel sin este servicio,
basado en que mejora la calidad de vida, ofrece relajacin y buen disfrute, sus
servicios son atractivos y porque un SPA marca la diferencia por su buen
ambiente para disfrutar en familia, verdadero descanso y confortabilidad.
Todos los turistas estn de acuerdo en afirmar, en que si nunca han estado en un
hotel tipo SPA, estn dispuestos a elegirlo para regresar despus de una
experiencia en l; sobretodo lo haran porque les interesa la salud, el descanso, el
excelente servicio, el disfrutar del relax, mejoramiento de la belleza y de la salud
mental. Igualmente coinciden, en que uno de los aspectos ms importantes para
alojarse en un hotel de alto lujo, adems de la calidad del servicio ofrecido es el
factor innovador, y esto lo anima a regresar; sobretodo si es un hotel tipo SPA
ubicado en un sitio turstico de la ciudad de Cartagena de Indias.
En un SPA usted se sumergir en un mundo especialmente diseado para su
salud y placer, atendido por un personal profesional que lo llevar por los
diferentes rituales de salud y relajacin.
PALABRAS CLAVE:

Clster
Alta Disponibilidad
Servidores
Software Libre
Virtualizacin

12

INTRODUCCIN

Con el presente ritmo de crecimiento del comercio y del movimiento de datos en


internet a nivel nacional e internacional el cual se ve evidenciado en la inversin
de muchas empresas de mediana y gran escala sobre este medio de
comunicacin ya sea por publicidad, fuente de informacin, uso de aplicaciones
(juegos, programas), trabajos, etc.,

con el pasar de los das se denota la

necesidad de que los sistemas de informacin se mantengan activos durante las


24 horas da y los 365 das al ao, ya sea para soporte, control del personal,
mantenimiento de sus recursos o para ofrecer cualquier tipo de servicio; por
motivos como estos, las empresas se ven con la necesidad de incurrir a
herramientas que apoyen y soporten este tipo de tecnologa. En muchas
empresas se pierde dinero por la cada de sus servidores informticos, por
ejemplo, los bancos pierden gran cantidad de dinero por unos minutos en que sus
servidores centrales se ven afectados por ciertos fallos o elementos internos o
externos los cuales impiden su correcto funcionamiento provocando la interrupcin
del servicio prestado en dicho momento por estos ordenadores. Ante esta
necesidad de asistencia ininterrumpida, constante y fiable nace lo que se conoce
como servicios alta disponibilidad.

Esta investigacin

estar

enfocada a utilizar una tcnica de redundancia en

servidores que trabajen de forma paralela con el fin de obtener la alta


disponibilidad y que a su vez estos puedan retomar el trabajo en caso de una falla
en uno de los equipos que conforman del grupo de servidores (clster).

As mismo y con el fin de obtener mucha ms disponibilidad en estos servicios que


prestan estos ordenadores, se trabajara bajo el concepto de virtualizacin, es decir
que dentro de cada equipo fsico o anfitrin (host), se encontraran mnimo dos
13

maquinas virtuales o invitados (guest), ya que estos sern los sistemas operativos
que en realidad prestaran los servicios y cumplirn el rol de servidores dentro de
este clster. Los clster bsicamente se clasifican en tres tipos los cuales son, alta
eficiencia, alto rendimiento y alta disponibilidad, este ltimo es al que est dirigida
sta investigacin.

14

1.

PLANTEAMIENTO DEL PROBLEMA

1.1. Descripcin del problema.

En el proceso de enseanza de la ingeniera de sistemas podemos identificar dos


problemas bsicos; primero, se supone que el trabajo realizado por los servidores
se lleva a cabo solo en dispositivos reales, concretos, por lo general muy
costosos, en los cuales se implementan y ejecutan los procesos de prestacin de
servicios, y segundo, se presenta la falta de conocimiento sobre fundamentos
tericos y prcticos de lo que es un Clster de servidores de alta disponibilidad.
En cuanto al primero, se quiere minimizar los costos a partir de incluir cierta
cantidad de servidores virtuales dentro de un computador, con lo que se adquiere
mayor disponibilidad en los servicios prestados por estos. Se implementaran en el
clster de alta disponibilidad sobre los servidores virtuales los servicios de DNS,
WEB, CORREO, debido a que son de gran importancia y utilidad.

En cuanto al segundo, implementar una herramienta que permita el aprendizaje


autnomo del estudiantado de ingeniera, de los conceptos de computacin y
clster de alta disponibilidad, haciendo nfasis en las ventajas de la Virtualizacin
y utilidad como herramienta, no solo en este campo, sino en todo lo que involucre
manejo de equipos y procesos de cmputo. En este sentido se pretende dar una
explicacin detallada de los conceptos ms importantes en los que se
fundamentan los clster de alta disponibilidad, tanto desde un punto de vista
terico como prctico. De igual forma, se utilizar el software libre como
herramienta y plataforma, esto tiene como objetivo, el uso de tecnologas
accesibles a todos, sin depender de compras de licencias.

Adicionalmente, se presenta como alternativa comercial, para empresas que


requieran montar varios servidores, pero que no posean la capacidad econmica
15

para adquirir equipos tipo servidor y puedan as montar sus servicios con una
opcin, viable, eficiente y barata, puesto que solo se necesitar adquirir equipos
que no tendrn caractersticas de hardware de servidores.

Con base al anterior anlisis, se hace el siguiente interrogante:

2.2. Formulacin
Cmo construir un clster de alta disponibilidad en servidores virtuales como una
alternativa econmica y viable utilizando herramientas de software libre?

16

2. OBJETIVOS

3.1. Objetivo general

Disear e implementar un clster de alta disponibilidad en servidores virtuales


utilizando herramientas de software libre.

3.2. Objetivos especficos

Identificar requerimientos tanto tericos como prcticos para el diseo de


un clster de alta disponibilidad mediante consultas de documentales y
paginas web.

Determinar y seleccionar una alternativa en Software Libre, robusta, capaz


de implementar la solucin de Clster ms eficiente.

Identificar los dispositivos de red que intervienen en la implementacin del


clster.

Disear una arquitectura de clster virtual para prestar servicios con alta
disponibilidad.

Configurar los equipos con las maquinas virtuales para soportar la


arquitectura del clster.

Identificar la forma de monitorear los nodos o PC que conforman el clster


con el fin de verificar su estado de activo o inactivo.

Implementar el clster de servidores virtuales de alta disponibilidad.

Identificar factores de riesgos externos y estrategias de seguridad fsica y


lgica en la operacin del clster

17

3. JUSTIFICACIN

Esta investigacin se hace por la necesidad

de solucionar un problema de

carcter cognitivo y econmico para la mayora de las personas que no tienen


acceso a tecnologas de avanzada, y que tienen gran proyeccin hacia el futuro,
como lo son los clster de servidores. En el caso especfico del conocimiento, se
quiere demostrar la viabilidad de algunas de las teoras que se exponen en el
devenir de la carrera, que por lo general se quedan en el aula de clase. Muchos de
los

conocimientos

aplicables

en

ste

proyecto,

solo

son

mencionados

superficialmente en algunas asignaturas, por lo que es de inters de los


investigadores profundizar en stos, como aporte a la sociedad de lo que se ha
aprendido durante la formacin profesional. Otro factor relevante por trabajar es la
posibilidad de implementar soluciones que se puedan adquirir sin la necesidad de
gastar mucho en recursos, los cuales son importantes teniendo en cuenta las
dificultades econmicas que atraviesa no solo la regin sino a nivel global.

En la parte prctica en general, se beneficiar la sociedad de la regin Caribe, al


disponer de unas herramientas que permitan la economa en cuanto a los recursos
gastados en esta tecnologa, ya que un servidor promedio tiene un costo
aproximado de 10 millones de pesos, cantidad que no es accesible al comn de la
gente, y en particular para la institucin en tanto que los estudiantes podrn
disponer de esta herramienta para su uso en el aprendizaje terico-prctico.

En cuanto a la metodologa que se va a utilizar en la implementacin de sta


herramienta, es un aporte de los investigadores por cuanto en ella se innovan
metodologas existentes que son poco usadas, no solo en la regin Caribe, sino
en Colombia. Aunque la metodologa ya ha sido utilizada en ambientes reales, son

18

poco aplicadas en ambientes virtuales,

y lo novedoso de este proyecto es

precisamente la implementacin de tecnologas de clster en ambientes virtuales.

19

4. MARCO REFERENCIAL

4.1 MARCO TERICO


En este proyecto denominado implementacin de clster en servidores virtuales
utilizando

software

libre

se

trabaja

con

cierta

cantidad

de

conceptos

fundamentales los cuales son de suma importancia para la comprensin del


mismo, por tal motivo a continuacin se especifican muchos de ellos.

Clster

Inicialmente uno de los trminos de ms importancia en esta investigacin es el de


clster, definido como un conjunto de ordenadores que se conectan entre si
mediante una red y se comportan como si fueran un solo computador trabajando
de manera coordinada y con prestaciones avanzadas, como se define en
Wikipedia, El termino clster se aplica a los conjuntos o conglomerados de
computadoras construidos mediante la utilizacin de componentes de hardware
comunes y que se comportan como si fuesen una nica computadora.1, estos
bsicamente se implementan de acuerdo a su clasificacin es decir, en los casos
que se quiera obtener un alto rendimiento, alta disponibilidad o alta eficiencia,
aunque es posible que se encuentren incluidos los tres tipos en un mismo clster.
En el clster de alto rendimiento se ejecutan

procesos que necesiten

gran

capacidad de memoria o procesar grandes clculos, en estas tareas los recursos


del superordenador se mantienen ocupados por largos periodos de tiempo. De
igual forma el clster de alta disponibilidad sobre el cual est basado este proyecto
se utiliza bsicamente para brindar disponibilidad y confiabilidad en los servicios
que ofrecen estos con la particularidad que si un nodo que este brindando un

Wikipedia, Cluster <http://es.wikipedia.org/wiki/Cluster_%28inform%C3%A1tica%29> , [Citado el 18 de mayo de 2009 ]

20

servicio se halle inactivo, tome en su lugar otro nodo del clster para as mantener
el servicio activo. Y por ltimo el clster de alta eficiencia que tiene como objeto
principal realizar el mayor nmero de procesos en el menor tiempo posible.
Los clster en su mayora estn conformador por ciertos componentes como,
nodos, sistemas operativos, conexiones de red, middleware, ambientes de
programacin paralela y aplicaciones. En primer lugar tenemos los nodos, que
pueden ser simples

computadores, sistemas multiprocesador o estaciones de

trabajo de trabajo , que a su vez estos pueden ser dedicados o no dedicados;


cuando son dedicados se refiere a computadores sin teclado, mouse, ni monitor y
su uso est dedicado a procesos relacionados nicamente con el clster, mientras
que los no dedicados son totalmente lo contrario a los anteriores, es decir pueden
tener mouse, teclado y pantalla para la monitorizacin del clster u otras tareas
independientes a este.

Sistemas Operativos

En segundo lugar tenemos el sistemas operativos, el cuales es el programa


principal de un computador y este gestiona y controla los recursos de dicho como
se define en la siguiente referencia, Es el programa (o software) ms importante
de un ordenador. Para que funcionen los otros programas, cada ordenador de uso
general debe tener un sistema operativo. Los sistemas operativos realizan tareas
bsicas, tales como reconocimiento de la conexin del teclado, enviar la
informacin a la pantalla, no perder de vista archivos y directorios en el disco, y
controlar los dispositivos del teclado, etc.2. En tercer lugar se encuentran las
conexiones de red que son bsicamente la interconexin de todos los nodos para
formar el clster, por medio de esta conexin se verificara si el nodo permanece
en estado activo o inactivo. En cuarto lugar el Middleware que es la capa entre el
sistema operativo y la red, por medio de este se da la comunicacin entre los
sistemas distribuidos en la red Buscar definicin para nota al pie. En quinto lugar
2

Masadelante <http://www.masadelante.com/faq-sistema-operativo.htm>, [citado el 19 de mayo de 2009]

21

se encuentran los ambientes de programacin paralela (cita), los cuales permiten


implementar procesos para compartir recursos como datos y servicios. Por ltimos
tenemos las aplicaciones o software que son bsicamente las el conjunto de
instrucciones que son enviadas al procesador para que sean ejecutadas con el fin
de cumplir alguna tarea especfica.

Servidores.

Este es un ordenador que pertenece a una red y cuya finalidad es prestar o


proveer sus servicios a otros equipos. En muchos casos estos en clster los nodos
son servidores, los cuales son computadores que estn integrados en una red y
prestan algn tipo de servicio a otros equipos llamados clientes, este concepto de
servidor est definido como: un tipo de software que realiza ciertas tareas en
nombre de los usuarios. El trmino servidor ahora tambin se utiliza para referirse
al ordenador fsico en el cual funciona ese software, una mquina cuyo propsito
es proveer datos de modo que otras mquinas puedan utilizar esos datos. Un
servidor sirve informacin a los ordenadores que se conecten a l. Cuando los
usuarios se conectan a un servidor pueden acceder a programas, archivos y otra
informacin del servidor. 3

Servicios

Un servicio a nivel computacional es: buscar definicin con cita. En este proyecto
se presentan 4 tipos de servidores, el primero servidor web, el cual almacena
paginas HTML (Lenguaje de Marcas de Hipertexto), ficheros. Imgenes,
multimedia y todo el material web ofertado. El segundo, el servidor de correo el
cual administra y realiza todo el control de las cuentas y correos de los usuarios
clientes. El tercero, es el servidor DNS (Servidor de nombres de dominio), el cual
bsicamente relaciona direcciones IP con nombres asignados a un host de una
3

Masadelante, Servidor <http://www.masadelante.com/faqs/servidor>, [citado el 2 de septiembre de 2009].

22

red. Y el cuarto es el servidor FTP (Protocolo de Transferencia de Archivos), que


se utiliza para la transferencia de archivos de un servidor a un cliente y viceversa.

Clientes

En este caso los equipos que quizs son los grandes favorecidos con el objetivo
final de esta investigacin, son los computadores que utilizan los diferentes
servicios brindados por los servidores, estos equipos reciben el servicio adoptan el
nombre de clientes.

Maquina Virtual

Estos servidores estarn albergados dentro de una maquina virtual, descrita como
el programa que contendr a los servidores con el fin de tener ms equipos
virtuales dentro de un solo ordenador y por ende buscar ms disponibilidad en los
servicios prestados.

Virtualizacin

La Virtualizacin es un trmino que se refiere a la abstraccin de los recursos de


una computadora mediante una herramienta llamada Hypervisor o VMM (Virtual
Machine Monitor) que crea una capa de la abstraccin entre el hardware de la
maquina fsica (host) y el sistema operativo de la maquina virtual (virtual machine,
guest). Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro
recursos principales de una computadora (CPU, Memoria, Red, Almacenamiento)
y as podr repartir dinmicamente dichos recursos entre todas las maquinas
virtuales definidas en el computador central, como lo define constatar en
Wikipedia4.

Wikipedia, Virtualizacin. < http://es.wikipedia.org/wiki/Virtualizaci%C3%B3n>, [citado el 2 de septiembre de 2009]

23

Tipos de Virtualizacin

Existen varios tipos de virtualizacin dentro de los que se encuentran,


virtualizacin de aplicaciones, virtualizacin de escritorios, virtualizacin de
recursos y virtualizacin de plataformas que es sobre la cual se orienta esta
investigacin. En el primer tipo la virtualizacin de aplicaciones, el entorno
virtual acta como una capa entre la aplicacin y el sistema operativo, y elimina
los conflictos entre aplicaciones y entre las aplicaciones y el sistema operativo. Es
un trmino que describe tecnologas de software que mejoran la portabilidad,
administracin y compatibilidad de aplicaciones encapsulndolas del sistema
operativo subyacente en el cual se ejecutan. Una aplicacin virtualizada
totalmente no se instala en el sentido tradicional, aunque se ejecuta como si lo
fuera. Algunos ejemplos como simulacin, Emulacin, JVM, Citrix XenAPP, MS
App-V SoftGrid.

El segundo tipo, la virtualizacin de escritorios describe el proceso de separar


el escritorio de un computador personal (es decir, sus aplicaciones, archivos y
datos) de la mquina fsica. El escritorio virtualizado se almacena en un servidor
central remoto, en lugar del disco duro local del equipo del usuario, de esta
manera, todas la aplicaciones, programas, procesos y datos usados cuando se
trabaja en dicho escritorio, corren de manera centralizada en el servidor, y esto le
permite al usuario acceder a dicho recurso desde cualquier dispositivo que pueda
conectarse al servidor (PC, PDA, Porttil, Smartphone, etc.)

El tercer tipo, virtualizacin de recursos permite la agrupacin de diversos


dispositivos dando la idea de ser uno slo, o la particin de un dispositivo en
varios de forma virtual , Este tipo de Virtualizacin permite: agrupar los recursos
de tal manera que sean vistos como uno, como por ejemplo: RAID (Redundant
Array of Inexpensive Disks), LVM (Logical Volume Management), SAN (Storage

24

Area Network), Virtualizacin de Redes y equipamiento de redes, VNP (Red


Privada Virtual), particin de disco duro y clster.

El ltimo tipo, la Virtualizacin de plataforma, el cual separa el sistema operativo


de los recursos de la plataforma subyacente, involucra la simulacin de mquinas
virtuales. La virtualizacin de plataforma es llevada a cabo en una plataforma de
hardware mediante un software host (anfitrin, un programa de control) que
simula un entorno computacional (mquina virtual) para su software guest. Es te
ltimo tipo de virtualizacin se subdivide en cuatro grupos ms pequeos, entre
estos se encuentran; emulacin o simulacin: la mquina virtual simula un
hardware completo, admitiendo un sistema operativo guest sin modificar para
una CPU completamente diferente. Este enfoque fue muy utilizado para permitir la
creacin de software para nuevos procesadores antes de que estuvieran
fsicamente disponibles; Es la combinacin de software y una extensin de
hardware para simular el comportamiento de una mquina. As mismo el segundo
que pertenece a este grupo es la virtualizacin completa: tambin llamado full
virtualization. Es la simulacin de un hardware de tal forma que un sistema
operativo guest pueda trabajar de forma aislada. Tpicamente, muchas instancias
pueden correr al mismo tiempo. De igual forma otro que se integra en este grupo
es la paravirtualizacin donde la mquina virtual no necesariamente simula un
hardware, en cambio ofrece un API especial que solo puede usarse mediante la
modificacin del sistema operativo guest. Hace referencia a los sistemas
operativos hosts, que se encargan de dirigir y monitorear el trabajo de las
mquinas virtuales. De esta manera, todos los guests mandan sus peticiones al
host a la hora de usar recursos. Para permitir esto, se necesita un interfaz
estandarizado para uso de otros programas y sistemas. Y por el ltimo se
presenta la virtualizacin a nivel de sistema operativo; donde el ordenador
permite correr sobre el varias mquinas virtuales aisladas al mismo tiempo, dando
la ilusin de tener ms elementos que los que realmente existen. Ejemplo: los
servidores, virtualmente podran ser 3, 4, etc. pero realmente es uno solo.
25

La mayora de estas maquinas virtuales son monitoreadas por un componente


llamado hypervisor.

Hypervisor

Un hypervisor es un software de Virtualizacin de hardware que permite a


mltiples maquinas virtuales correr en un solo equipo o computador fsico.
Tipo 1 Nativo: Es una capa de software delgada que corre directamente sobre
el hardware del sistema anfitrin. Maneja los recursos fsicos y la interaccin entre
el hardware fsico y las maquinas virtuales. Tambin monitorea los S.O. dentro de
las mquinas virtuales. Algunos ejemplos son: VMware ESX Server, Oracle VM,
Microsoft Hyper-V, Xen, Citrix XenServer .
Tipo 2 (Anfitrin): Este corre dentro de un ambiente de S.O. convencional. Si
consideramos el hypervisor una capa de software distinta, los S.O. Invitados
corren a un tercer nivel por encima del hardware. Algunos de estos son: VMware
Server, VMware Workstation, Vmware Fusion, Microsoft Virtual PC, Microsoft
Virtual Server, Sun xVM VirtualBox .

Heartbeat

Es un programa de gestin de clsteres portable con licencia GPL para clsteres


de alta disponibilidad. Es el principal producto del proyecto Linux HA (High
Availability) Linux de Alta Disponibilidad, dicho proyecto busca proveer una
solucin clster de alta disponibilidad para Linux, FreeBSD, OpenBSD, Solaris y
Mac

OS

promoviendo

fiabilidad,

disponibilidad

servicialidad.

Las

caractersticas ms importantes de Heartbeat son:

Mximo nmero de nodos no establecidos. Heartbeat puede ser usado


tanto para clsteres grandes como clsteres de menor tamao.
26

Motorizacin de recursos: recursos pueden ser reiniciados o movidos a otro


nodo en caso de fallo.

Mecanismo de cercado para remover nodos fallidos en el cluster

Gestin de recursos basado en directivas, inter-dependencia de recursos y


restricciones

Reglas basadas en el tiempo permiten diferentes directivas depndiendo


del tiempo.

Varios scripts de recursos ( para Apache, DB2, Oracle PostgresSLQ, etc )


incluidos.

GUI para configurar, controlar y monitorizar recursos y nodos

Apache
El servidor HTTP Apache es un servidor web HTTP de cdigo abierto para
plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que
implementa el protocolo HTTP/1.1 y la nocin de sitio virtual. El servidor Apache
se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software
Foundation.

Apache presenta entre otras caractersticas altamente configurables, bases de


datos de autenticacin y negociado de contenido, pero fue criticado por la falta de
una interfaz grfica que ayude en su configuracin.

Apache tiene amplia aceptacin en la red: desde 1996, Apache, es el servidor


HTTP ms usado. Alcanz su mxima cuota de mercado en 2005 siendo el
servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha
sufrido un descenso en su cuota de mercado en los ltimos aos. (Estadsticas
histricas y de uso diario proporcionadas por Netcraft5).

http://news.netcraft.com/ A noviembre de 2009 Apache cubre el 46.9% de servidores Web, contra un


21.58% de Microsoft y un 6% de Google.

27

SMTP

Simple Mail Transfer Protocol (SMTP) Protocolo Simple de Transferencia de


Correo, es un protocolo de la capa de aplicacin. Protocolo de red basado en texto
utilizado para el intercambio de mensajes de correo electrnico entre
computadoras u otros dispositivos (PDA's, telfonos mviles, etc.). Est definido
en el RFC 2821 y es un estndar oficial de Internet6.

POSTFIX

Postfix es un Agente de Transporte de Correo (MTA) de software libre / cdigo


abierto, un programa informtico para el enrutamiento y envo de correo
electrnico, creado con la intencin de que sea una alternativa ms rpida, fcil de
administrar y segura al ampliamente utilizado Sendmail. Anteriormente conocido
como VMailer e IBM Secure Mailer, fue originalmente escrito por Wietse Venema
durante su estancia en el Thomas J. Watson Research Center de IBM, y contina
siendo desarrollado activamente.

Postfix es el agente de transporte por omisin en diversas distribuciones de Linux


y en las ltimas versiones del Mac OS X.
Est liberado bajo la IBM Public License 1.0 que es una licencia de software libre.

IMAP

Internet Message Access Protocol, es un protocolo de red de acceso a


mensajes electrnicos almacenados en un servidor. Mediante IMAP se puede
tener acceso al correo electrnico desde cualquier equipo que tenga una conexin
a Internet. IMAP tiene varias ventajas sobre POP, que es el otro protocolo
empleado para obtener correo desde un servidor. Por ejemplo, es posible
6

Internet Official Protocol Standards: http://rfc.net/std1.html

28

especificar en IMAP carpetas del lado servidor. Por otro lado, es ms complejo
que POP ya que permite visualizar los mensajes de manera remota y no
descargando los mensajes como lo hace POP.

POP3

POP3 Protocolo de la oficina de correo version 3, es un protocolo utilizado en


clientes locales de correo para obtener los mensajes de correo electrnico
almacenados en un servidor remoto.

DOVECOT

Dovecot es un servidor de IMAP y POP3 de cdigo abierto para sistemas


GNU/Linux / UNIX-like, escrito fundamentalmente pensando en seguridad.
Desarrollado por Timo Sirainen, Dovecot fue liberado por primera vez en julio del
ao 2002. Dovecot apunta fundamentalmente a ser un servidor de correo de
cdigo abierto ligero, rpido, fcil de instalar y por sobre todo seguro.

Nota: Falta informacin y referencias.

4.2 MARCO CONCEPTUAL


ACA VA ALGO DEL CONCEPTO BASICO DE UN CENTRO DE COMPUTO,
PORQUE SE MANEJAN SERVIDORES Y LOS PROBLEMAS DE TENER
VARIOS, LO DE INSTALACIONES ESPECIALES, AIRES, COSTOS, ETC, Y EL
CONCEPTO DEL SERVIDOR VIRTUAL PARA SUBSANAR UNA NECESIDAD
4.4 MARCO LEGAL
La definicin de Software Libre, escrita por Richard Stallman y publicada por la
Free Software Foundation (Fundacin por el Software Libre o FSF), define al
software libre como un asunto de libertad, no de precio.
La definicin publicada por la FSF en febrero de 1986 tena dos puntos:
29

The word "free" in our name does not refer to price; it refers to freedom. First, the freedom
to copy a program and redistribute it to your neighbors, so that they can use it as well as
you. Second, the freedom to change a program, so that you can control it instead of it
controlling you; for this, the source code must be made available to you.7
Free Software Foundation, 1986

En espaol:
La palabra "libre" en nuestro nombre no se refiere al precio; se refiere a la libertad.
Primero, a la libertad de copiar y redistribuir un programa a tus vecinos, para que ellos al
igual que tu, lo puedan usar tambin. Segundo, a la libertad de cambiar un programa, as
podrs controlarlo en lugar que el programa te controle a ti; para esto, el cdigo fuente
tiene que estar disponible para ti.[2]
Free Software Foundation, 1986

La definicin moderna tiene cuatro puntos, los cuales se enumeran del cero al
tres. Lo que define al software libre, lo tenga o no el que recibe dicho software, es:
1. La libertad de ejecutar el programa, para cualquier propsito (libertad 0).
2. La libertad de estudiar cmo trabaja el programa, y cambiarlo para que haga lo
que usted quiera (libertad 1). El acceso al cdigo fuente es una condicin
necesaria para ello.
3. La libertad de redistribuir copias para que pueda ayudar al prjimo (libertad 2).
4. La libertad de mejorar el programa y publicar sus mejoras, y versiones
modificadas en general, para que se beneficie toda la comunidad (libertad 3).
El acceso al cdigo fuente es una condicin necesaria.
Es importante tener estas definiciones en cuenta, puesto que este proyecto se
adhiere a la filosofa del Software Libre, y es tan importante que todo el software
utilizado, debe acogerse al licenciamiento aprobado por la Open Source Initiative
y que sea descrito por la FSF, Free Software Foundation. En nuestro caso,
hacemos uso de software con licenciamiento GPL e IBM Public License, aunque
esta ltima no es compatible con el licenciamiento GPL, esta aprobada por la
OSI.8

GNU's Bulletin, Volume 1 Number 1, page 8. Consultado el 16 de noviembre de 2009


http://www.gnu.org/bulletins/bull1.txt
8
http://www.opensource.org/licenses/ibmpl.php

30

5. DISEO METODOLGICO

5.1 METODOLOGA DE LA INVESTIGACIN


Para poder satisfacer

los objetivos que se presentan en este proyecto es

necesario desarrollar una investigacin en el rea sobre el cual se orienta esta


temtica, con el fin de abarcar y profundizar sobre los elementos que aportan
informacin

sobre el proyecto, entre estos tenemos la identificacin de

arquitecturas, dispositivos, aplicaciones, herramientas y otros componentes que


hacen parte del diseo e implementacin, los cuales conllevan al desarrollo del
mismo. En este diseo metodolgico se ilustra la manera como se desarrolla el
proceso

investigativo,

empezando por el tipo de investigacin, donde se

determina el camino a seguir en esta indagacin, seguido por las tcnicas e


instrumentos de recoleccin de informacin, los cuales ayudan a demostrar por
que esta investigacin tiene alto nivel de confiabilidad y seguridad, igualmente se
presenta el anlisis e interpretacin de los resultados, en los cuales se refleja la
toma de decisiones posterior a una profunda indagacin

que conlleva a una

justificacin de todos los datos analizados.

6.2. Tipo de Investigacin

Dentro del tipo de investigacin cientfica encontramos varios mtodos o procesos


de cmo llevar a cabo la una investigacin, en este proyecto se plantea una
investigacin aplicada, ya que se tiene por finalidad la bsqueda y consolidacin
del saber adems de la aplicacin del conocimiento adquirido durante este
proceso de investigacin y por que se brinda un aporte en cuanto a la produccin
de tecnologa al servicio de

la sociedad y el desarrollo ntegro de esta. Esta

investigacin nos conlleva hacer una estricta correlacin entre la fundamentacin


terica

y la prctica aplicada ya que cada una de estas es esencial para el

31

desarrollo de este proyecto. Esta investigacin se escoge por que en ella tambin
se ve la posibilidad econmica que esta le brinda a la sociedad en busca de
nuevas alternativas que minimicen los costos y les atribuya soluciones a
problemas que en esta presenta.

6.3. Tcnicas e instrumentos de recoleccin de informacin

Los mtodos y tcnicas de investigacin de esta investigacin estn enfocados en


la observacin documental ya que la investigacin se basa en la indagacin y
lectura de la fundamentacin terica establecida en los de libros, artculos de
fuentes electrnicas,

pginas de internet, White Paper, comunidades virtuales,

manuales y que posteriormente son referenciados en la bibliografa. Se escoge


esta fuente ya que son las ms fundamental y confiable debido a sus resultados
ciertamente demostrados.

6.4. Anlisis e interpretacin de resultados

Teniendo en cuenta los datos obtenidos de la investigacin, se procede a su


respectivo anlisis e interpretacin. Dentro de estos datos nos encontramos
inicialmente con la arquitectura tanto fsica como lgica del clster; por ende es
necesario especificar los requerimientos de software y hardware para la
implementacin de la dicha arquitectura. Para la determinacin de cada una de
estas herramientas se realiza un anlisis por medio del cual se seleccionan cada
una de ellas de acuerdo a la necesidad principal de proyecto, la cual se basa en la
alta disponibilidad y teniendo en cuenta muchos factores que rodean a estos
software, y dispositivos.

32

ARQUITECTURA LGICA CLSTER


Estructura de la Arquitectura Lgica:

Mquina Fsica: los ordenadores que son capaces de ejecutar el SO de


plataforma, con un entorno de Virtualizacin o Hipervisor.

Virtualizacin Llamado tambin Hipervisor, es el software que maneja las


mquinas virtuales.

Mquinas Virtuales Servidor las mquinas virtuales en las que se


montarn los servicios a correr y sern los nodos del clster.

Balanceador de Cargas - es un dispositivo de hardware o software que se


pone al frente de un conjunto de servidores que atienden una aplicacin y,
tal como su nombre lo indica, asigna o balancea las solicitudes que llegan
de los clientes a los servidores usando algn algoritmo (desde un simple
Round Robin hasta algoritmos ms sofisticados).

Manejador del Clster Heartbeat, es un programa de gestin de clusters


portable con licencia GPL para clusters de alta disponibilidad.

33

ARQUITECTURA FISICA

Estructura de la Arquitectura Fsica:

Computador Plataforma: los ordenadores que son capaces de ejecutar


CentOS 5.3 de software de plataforma, con Xen como entorno de
virtualizacin o Hipervisor, con al menos 2GB de RAM, procesadores doble
ncleo y dos interfaces de red fsicas.

Los nodos del clster las mquinas virtuales con CentOS 5.3 y 512 MB de
RAM.

Router o Switch de la red pblica - Esto es necesario para el acceso del


cliente a la agrupacin.

Switch o concentrador de red privada - Esto es necesario para la


comunicacin entre los nodos del clster y el hardware de clster.

Dentro de las principales herramientas de software necesarias se presentan:


Primero, el sistema operativo plataforma, es decir el que soportara las maquinas
virtuales. Segundo, la maquina virtual; programa que permite virtualizar o contiene
el sistema operativo servidor. Y tercero, el sistema operativo que cumplir las
funciones de servidor.
34

En primera medida, el sistema operativo plataforma que se utilizara ser CentOS


5.3, ya que es este es muy estable a largo plazo, incluye confortables
herramientas de administracin de maquinas virtuales como virt-install y virtmanager y gran compatibilidad con el Hipervisor Xen.

En segunda medida, para determinar el sistema operativo que se usara como


servidor, se tiene en cuenta el enfoque del proyecto el cual se orienta a la libertad
de software.

De igual forma se escoge el sistema operativo Linux ya que estos facilitan el uso y
las operaciones, por eso es uno de los dos grandes servidores ms utilizados. El
sistema operativo de los servidores Linux utiliza un cdigo fuente abierto, y esta
posibilidad permite modificaciones y redistribucin de recursos por cada usuario.
Esto suele resultar en configuraciones personalizadas de cada usuario o de
grupos de usuarios en funcin de las necesidades particulares de cada espacio de
trabajo. Claro que una de las mayores ventajas de los servidores Linux es que no
es necesario pagar licencia ni desarrollo de software para el uso de los mismos
pues se distribuye libremente a travs de la licencia GNU. De igual modo ofrece
muchas ventajas como, libertad de adquisicin, estabilidad, eficiencia para trabajar
como servidor, gran capacidad de soporte, seguridad y fiabilidad para la oferta de
sus servicios, adems que es uno de los sistemas operativo ms utilizado como
servidor en el mundo.

Sin embargo encontramos dentro de las diferentes distribuciones robustas de


Linux con propsitos de servidor tenemos, Linux Red Hat Enterprise (RHEL) como
una plataforma robusta y con las herramientas necesarias para ser servidor con
soporte de clster y Virtualizacin, pero esta es paga como se puede apreciar en

35

la pgina de su proyecto9, de igual forma la distribucin Suse Linux Enterprise


Server brinda caractersticas similares a la de RHEL pero tambin es paga como
lo denotamos en su pgina principal del proyecto 10. As mismo tenemos a Ubuntu
Server 8.1

como una opcin ya que es uno de los

ms livianos que en

comparacin con los otros adems est basado en Deban, lo que lo hace estable
y contiene 3 servicios de los cuales se quiere implementar en el clster. Adems
se observa que CentOS 5 es un clon a nivel binario de la distribucin Linux Red
Hat Enterprise Linux RHEL y libre de algn costo, adems de tener compatibilidad
con la herramienta de Virtualizacin Xen, y un gran soporte en las comunidades
Linux, de igual forma maneja cierta parte de la configuracin del clster en forma
de interfaces graficas lo cual facilita aun mas su configuracin.
Falta informacin

De igual forma para determinar la maquina virtual se tienen en cuenta aspecto


como su

liviandad

con rpido acceso a la capa de hardware ms

especficamente a la tarjeta de red para ganar un de rapidez a la hora de ofrecer la


disponibilidad.

Teniendo en cuenta que el sistema operativo plataforma es CentOS 5, se


considera que el programa de virtualizacin ser Xen ya que este viene incluido
aqu y es unos de los ms livianos estables. Adems de que Xen ofrece paravirtualizacin, la cual brinda recursiva a la hora de virtualizar solo recursos
necesarios y no virtualizar toda la maquina en general.
Falta informacin
Por qu se toma la decisin de virtualizar los servidores?

Pgina principal de proyecto RHEL , <http://www.redhat.es/rhel/server/>, [citado el 18 de mayo 2009]


Pgina principal de proyecto Suse Enterprise,< http://www.novell.com/es-es/products/server/eval.html>[18 de mayo 2009]

10

36

Los clster de alta disponibilidad son diseados con el propsito de tener ms


disponible determinado servicio en caso de una falla de uno o varios de sus
ordenadores, adems de brindar a sus clientes mucha fiabilidad y estabilidad de
dicho servicio. En este punto es donde juega un papel importante la virtualizacin
de estos servidores ya que por medio de esta tcnica se est duplicando dicha
disponibilidad y se obtienen muchas ventajas tales como; rpida incorporacin de
nuevos recursos para los servidores virtualizados, mejora en los procesos de
clonacin y copias de sistema, aislamiento, es decir; un fallo general de sistema
de una maquina virtual no afecta al resto de maquina virtuales, mayor facilidad
para la creacin de entornos de prueba, control sobre el consumo de recursos en
cada una de las maquina virtuales, ahorro de espacio fsico, fcil traslado, altas
prestaciones a bajo costo, etc. Adema de esto, otro beneficio de usar nodos
virtuales es que, aun durante el mantenimiento del hardware, todos los nodos del
clster permanecen disponibles. Esto se puede obtener en vivo, migrando un
Nodo del clster Virtual del Sistema Anfitrin que debe ser sometido a
mantenimiento hasta otro Sistema Anfitrin.11

Estas y otras ventajas sumadas a tener mnimo dos maquinas virtuales en cada
equipo fsico aportan consolidar el objetivo final el cual consiste en conseguir ms
disponibilidad en los servicios prestados por estos equipos.
Contrario a esto tambin se presentan ciertas desventajas que debe ser tenidas
en cuenta para una mejor del desarrollo del proyecto que estas son relevantes a la
hora de establecer un control de riegos y que estos puedan intervenir en el normal
funcionamiento del clster.
falta informacion
Dispositivos de red

11

Wikipedia, Computer cluster in virtual machines,


<http://en.wikipedia.org/wiki/Computer_cluster_in_virtual_machines#Benefits>, [citado el 10 de septiembre de 2009].

37

Falta informacin

38

5.7 RESULTADOS
Instalacin de CentOS 5
Descargar CentOS 5.3 Server
Se baja CentOS de esta url: http://isoredirect.centos.org/centos/5/isos/x86_64/.
Algunos mirrors ofrecen la versin completa en DVD "CentOS-5.3- x86_64-binDVD.iso", sino tambin se pueden descargar los 6 cds (de CentOS-5.3-i386-bin1of6.iso hasta CentOS-5.3- x86_64-bin-6of6.iso), en este caso descargamos el
DVD.
Configuracin de la Instalacin de CentOS 5.3 Server
Arrancamos el sistema con el CD 1, o con el DVD y nos aparece la pantalla
principal de CentOS. Para instalar pulsamos enter.

A continuacin nos pregunta si deseamos testear los CDS, pero podemos pulsar
Skip.

39

Llegamos a la pantalla de instalacin de CentOs. Pulsamos Next. Selecionamos el


idioma, y despus el idioma del teclado.

Ahora nos pide si deseamos borrar la informacin del disco que estamos
instalando. Como es una instalacin de 0 pulsamos que si (Atencin: se borrarn
todos los datos si haba).
Seguidamente hay que seleccionar una particin del sistema. Seleccionamos
"Suprimir particiones de Linux en dispositivos seleccionados y crear diseo

40

predeterminado". Si nos interesa cambiar las particiones ahora es el momento,


pero por las que nos dan por defecto ya van bien. Al pulsar Siguiente nos pide
confirmacin y seleccionamos s.

En las opciones de configuracin de la red usaremos IP's estticas. Para ello hay
que pulsar el botn Modificar en Network Devices y seleccionar dentro de Enable
IPv4 support, manual configuration. Dentro de este campo IP Adress ponemos por
ejemplo 192.168.0.100 y como mscara de red 255.255.255.0. Podemos
desactivar la opcin Enable IPv6 support.

41

Como nombre de host ponemos un nombre del tipo: servidor.dominio.com.


Como Gateway 192.168.0.1, como Primary y Secondary DNS por el momento
usaremos el mismo ip que el servidor 192.168.0.100
Tras pulsar siguiente, seleccionamos la zona horaria correspondiente y despus
nos pedir la contrasea del root.

Ahora hay que decirle que aplicaciones queremos que instale. Como en un
servidor necesitamos los mximos recursos de memoria y disco disponibles slo
instalaremos lo esencial. Sin embargo, por motivos de toma de captura de
pantallas de las actividades de configuracin, ejecucin y mantenimiento,
instalaremos el entorno de escritorio Gnome y la de Virtualizacin que es la base
de trabajo de este proyecto. Tambin marcamos la casilla "personalizar ahora" y le
damos a siguiente, para seleccionar la documentacin de virtualizacin.

42

Como este ser nuestro sistema plataforma, no necesitamos instalar nada mas en
el Sistema Operativo, incluso, la opcin Server es solo para tener las libreras
necesarias para Xen.

Tras unos segundos de espera en la que el instalador busque dependencias de


los programas que instalaremos, pulsamos siguiente y empieza la instalacin.

43

Para finalizar pulsamos reiniciar y quitamos el DVD.


Una vez reiniciado, nos aparecer una pantalla pidindonos la configuracin del
firewall de Centos y SELlinux, elegimos en ambos casos la opcin de
deshabilitarlos, puesto que inicialmente, mientras configuramos nos presentarn
ms problemas que soluciones, como vimos en la literatura y nuestro primer
intento de configuracin de Xen. Se inicia sesin como root y se reinicia el sistema
para guardar cambios.

44

Instalacin de Xen (Hypervisor).

Una vez instalado el sistema operativo, procedemos a la consola e iniciamos la


instalacin de Xen:

[root@localhost~]# yum install kernel-xen xen

Este se instala Xen y un ncleo Xen en nuestro sistema CentOS.

Antes de que podamos iniciar el sistema con el kernel de Xen, comprobamos la


configuracin del gestor de arranque GRUB. Abriendo /boot/grub/menu.lst:

[root@localhost~]# vi /boot/grub/menu.lst

Vemos que el ncleo que aparece en primer lugar es el ncleo de Xen que
acabamos de instalar::

45

Despus se reinicia el sistema.

El sistema ahora automticamente arranca con el kernel Xen nuevo. Despus de


que el sistema ha arrancado, comprobamos mediante la ejecucin de

[root@localhost~]# uname -r
2.6.18-128.el5xen

Que en efecto, el ncleo o kernel es el de Xen.


Para verifica que Xen ha iniciado, ejecutamos xm list:

[root@localhost~]# xm list

Nos lista un solo dominio: Domain-0 (dom0)

Instalacin de maquinas virtuales con CentOS 5


Ahora procedemos a ejecutar el manejador de mquinas virtuales de Xen, para
crear nuestras MV:

46

OJO CAMBIAR ESTA POR UNA IMAGEN SIN MV


Dando Click sobre la opcin Nuevo obtenemos:

Damos el Nombre de la Maquina Virtual:

47

Determinamos el mtodo de virtualizacin:

48

Se hace la ubicacin del medio o medios de instalacin, en este caso el DVD de


CentOS 5.3.

Y se le asigna el espacio de almacenamiento para la mquina virtual, en este


caso, como queremos poder acceder a dicha MV y poder tener varias copias de la
misma, la asignamos a un archivo de disco, dicho archivo ser copiado y asi
podemos tener la cantidad de maquinas virtuales necesarias y disponibles.

49

Se asigna la interfaz de red necesaria para la comunicacin entre MV y la


Plataforma:

50

Por ltimo, pero muy importante, asignamos espacio de memoria RAM para la
maquina virtual y la CPU virtual de la misma:

Antes de empezar la instalacin del sistema operativo en la MV recin creada


vemos un resumen, con el cual podemos ver si la MV cumple los requisitos para
ser creada y en caso necesario, devolverse y corregir:

51

Una vez creada la primera mquina virtual, se puede simplemente copiar y se le


cambian los nombres, las interfaces de red y tenemos inmediatamente dos MV
disponibles para trabajar:

52

Al

correrlas

obtenemos

dos

sistemas

operativos

gemelos

ejecutndose

simultneamente en Xen:

Verificamos que las dos maquinas virtuales tienen instalado completo su sistema
operativo:

53

Las mquinas virtuales, como archivos, pueden ser almacenadas en cualquier


parte y as mismo se pueden llevar donde sea necesario, y ejecutar sobre
cualquier entorno Xen.

Instalacin de Servidores

54

Servidor web Apache:


1. Desactivar el firewall: system-config-securitylevel-tui
2. Instalar apache: yum install apache
3. Colocar en la directorio raz /var/www/html/ de apache la carpeta
principal

del proyecto web

4. Iniciar servicio apache: service httpd start


DNS:

Instalar un Servidor de DNS con CHroot (BIND9)


[root@localhost~]# yum install bind-chroot
A continuacin hacemos lo siguiente, establecemos permisos para los archives de
configuracin, almacenamiento de nombres y direcciones locales e introducimos
en la jaula chroot los archivos necesarios:
[root@localhost~]# chmod 755 /var/named/
[root@localhost~]# chmod 775 /var/named/chroot/
[root@localhost~]# chmod 775 /var/named/chroot/var/
[root@localhost~]# chmod 775 /var/named/chroot/var/named/
[root@localhost~]# chmod 775 /var/named/chroot/var/run/
[root@localhost~]# chmod 777 /var/named/chroot/var/run/named/
[root@localhost~]# cd /var/named/chroot/var/named/
[root@localhost~]# ln -s ../../ chroot
[root@localhost~]# cp /usr/share/doc/bind-9.3.4/sample/var/named/named.local
/var/named/chroot/var/named/named.local
[root@localhost~]# cp /usr/share/doc/bind-9.3.4/sample/var/named/named.root
/var/named/chroot/var/named/named.root
[root@localhost~]# touch /var/named/chroot/etc/named.conf
[root@localhost~]# chkconfig --levels 235 named on
[root@localhost~]# /etc/init.d/named start

55

BIND se ejecutar en una jaula chroot bajo /var/named/chroot/var/named/. Chroot


es una syscall que cambia el directorio raz del proceso actual y todos sus
procesos descendientes. Al hacer esto, el proceso no va a poder abrir descriptores
de ficheros que estn fuera del directorio configurado como directorio raz. Por
ejemplo, si rerooteamos un proceso a /var/named/. Si este proceso intenta
acceder a /etc/passwd, va a acceder a /var/named/etc/passwd. Como pueden ver,
el proceso queda enjaulado dentro de /var/named/, ya que es su directorio raz.12

Servidor de Correo:

Esta instalacin de se realiza sobre el sistema operativo plataforma en este caso


__________, para poder montar en ella los sistemas operativos que sern los
servidores del clster. Este procedimiento se realiza de la siguiente manera.

Configurar Postfix con SMTP-AUTH y TLS

Ahora procedemos instalar Postfix y Dovecot (Dovecot ser nuestro servidor


POP3/IMAP):

yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5


cyrus-sasl-plain postfix dovecot
A continuacin configuramos SMTP-AUTH y TLS:
postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_sasl_authenticated_header = yes'
postconf -e 'smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
12

http://en.wikipedia.org/wiki/Chroot

56

postconf -e 'inet_interfaces = all'


postconf -e 'mynetworks = 127.0.0.0/8'

Debemos editar el archivo /usr/lib64/sasl2/smtpd.conf para permitirle a Postfix el


uso de logins de tipo PLAIN y LOGIN.

vi /usr/lib64/sasl2/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login

Despus se crean los certificados para TLS:

[root@localhost~]# mkdir /etc/postfix/ssl


[root@localhost~]# cd /etc/postfix/ssl/
[root@localhost~]# openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
[root@localhost~]# chmod 600 smtpd.key
[root@localhost~]# openssl req -new -key smtpd.key -out smtpd.csr
[root@localhost~]# openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key
-out smtpd.crt
[root@localhost~]# openssl rsa -in smtpd.key -out smtpd.key.unencrypted
[root@localhost~]# mv -f smtpd.key.unencrypted smtpd.key
[root@localhost~]# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem out cacert.pem -days 3650

Se configura Postfix para TLS:


[root@localhost~]# postconf -e 'smtpd_tls_auth_only = no'
[root@localhost~]# postconf -e 'smtp_use_tls = yes'
[root@localhost~]# postconf -e 'smtpd_use_tls = yes'
[root@localhost~]# postconf -e 'smtp_tls_note_starttls_offer = yes'
[root@localhost~]# postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
[root@localhost~]# postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'

57

[root@localhost~]# postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'


[root@localhost~]# postconf -e 'smtpd_tls_loglevel = 1'
[root@localhost~]# postconf -e 'smtpd_tls_received_header = yes'
[root@localhost~]# postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
[root@localhost~]# postconf -e 'tls_random_source = dev:/dev/urandom'

Entonces ponemos el nombre de host en nuestra instalacin de Postfix:

[root@localhost~]# postconf -e 'myhostname = server1.example.com'

Despus de todas las configuraciones anteriores tenemos un archivo de


configuracin que tiene:

[root@localhost~]# cat /etc/postfix/main.cf


queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

58

smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
mynetworks = 127.0.0.0/8
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
myhostname = server1.example.com

Por defecto, el demonio Dovecot de CentOS solo provee servicios IMAP e IMAPs.
Como tambin necesitaremos POP3 y POP3s debemos configurar Dovecot para
que lo haga. Editamos /etc/dovecot.conf y habilitamos en la linea protocols =
imap imaps pop3 pop3s:

[root@localhost~]# vi /etc/dovecot.conf
[...]
# Base directory where to store runtime data.
#base_dir = /var/run/dovecot/
# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
protocols = imap imaps pop3 pop3s
# IP or host address where to listen in for connections. It's not currently
# possible to specify multiple addresses. "*" listens in all IPv4 interfaces.
# "[::]" listens in all IPv6 interfaces, but may also listen in all IPv4
# interfaces depending on the operating system.
[...]

Ahora se inician Postfix, saslauthd, y Dovecot:

[root@localhost~]# chkconfig --levels 235 sendmail off


[root@localhost~]# chkconfig --levels 235 postfix on
[root@localhost~]# chkconfig --levels 235 saslauthd on
[root@localhost~]# chkconfig --levels 235 dovecot on
[root@localhost~]# /etc/init.d/sendmail stop
[root@localhost~]# /etc/init.d/postfix start

59

[root@localhost~]# /etc/init.d/saslauthd start


[root@localhost~]# /etc/init.d/dovecot start

Para ver si SMTP-AUTH y TLS funcionan correctamente, ejecutamos el siguiente


comando:

[root@localhost~]# telnet localhost 25

Despus de haber establecido la conexin con el tipo de servidor de correo


Postfix:

ehlo localhost

Si aparecen las lneas: 250-STARTTLS y 250-AUTH PLAIN LOGIN, todo est


bien.

[root@localhost~]# telnet localhost 25


Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@localhost~]#

60

Para finalizar, escribimos quit para salir al shell del sistema.

..Instalacin de cada uno de los Servidores

Configuracin del Clster

De las diferentes opciones que encontramos para el manejo y configuracin de un


clster de alta disponibilidad en Linux, entre ellas LVS y Linux-HA, seleccionamos
por la simplicidad en el manejo y tambin por la potencia y la gran cantidad de
recursos en lnea para su implementacin a Linux-HA, con su producto principal
Heartbeat. Para su configuracin, primero revisamos que tengamos ciertos
requisitos cumplidos en nuestras Mquinas Virtuales en Xen:
Primero, para facilidad de manejo de los nodos del clster, asignaremos a cada
uno un nombre de host acorde: node01 al nodo principal con la direccin IP
10.1.1.4 a eth0 y node02 al nodo esclavo con la direccin IP 10.1.1.5 en su
interfaz eth0.

[root@centos1~]# vi /etc/sysconfig/network

# Base directory where to store runtime data.


#base_dir = /var/run/dovecot/
# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
Reiniciamos:

[root@centos1~]# reboot

Verificamos que en efecto se haya aplicado el cambio:

61

[root@node01~]# uname-n

node01.

Repetimos el procedimiento anterior para el nodo centos2 y verificamos con:


[root@node02~]# uname-n

node02.

Nota: Recordar para la configuracin del Heartbeat que 10.1.1.7 es la direccin IP


virtual que ser utilizada para nuestro servidor web Apache (es decir, Apache
escuchar en esa direccin).

A continuacin instalamos Heartbeat.

Procedemos a descargar e instalar el paquete de Heartbeat.

[root@node01~]# yum install Heartbeat

Una vez instalado, en ambos nodos, es decir, el procedimiento anterior se repite


en el nodo02, seguimos con la configuracin de los Heartbeat sobre el grupo de
los dos nodos. Nos ocuparemos de tres archivos. Estos son:

authkeys
ha.cf
haresources

Primero, copiamos los siguientes archivos al directorio /etc/ha.d, en este directorio


se configura el daemon del heartbeat. En nuestro caso, la copia de estos archivos
es como sigue:
62

[root@node01~]# cp /usr/share/doc/heartbeat-2.1.2/authkeys /etc/ha.d/

[root@node01~]# cp /usr/share/doc/heartbeat-2.1.2/ha.cf /etc/ha.d/

[root@node01~]# cp /usr/share/doc/heartbeat-2.1.2/haresources /etc/ha.d/

Ahora vamos a empezar a configurar Heartbeat. En primer lugar nos ocuparemos


del archivo authkeys, usaremos el mtodo de autenticacin 2 (SHA1). Para ello
vamos a realizar cambios en el archivo authkeys de la siguiente forma:.

[root@node01~]# vi /etc/ha.d/authkeys

A continuacin, agregue las siguientes lneas:


[...]

#
auth 2
2 sha1 test-ha

Cambiamos el permiso del archivo authkeys:

[root@node01~]# chmod 600 /etc/ha.d/authkeys

5. Pasando a nuestro segundo archivo (ha.cf), que es el ms importante, puesto


que en ste es que le decimos a Heartbeat como mantener el clster funcionando.
As que editamos el archivo ha.cf con vi:

[root@node01~]# vi /etc/ha.d/ha.cf

Aadimos las siguientes lneas en el archivo ha.cf:


63

[...]

logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
bcast eth0
udpport 694
auto_failback on
node node01
node node02

Las ltimas dos lneas hacen referencia a los dos hostname de nuestros nodos, es
decir, le decimos a Heartbeat cules son los nodos del clster que administrar.

Por ltimo editamos el archivo haresources. Este archivo contiene la informacin


sobre los recursos que queremos habilitar. En nuestro caso, queremos que el
servidor web (httpd) sea de alta disponibilidad:

[root@node01~]# vi /etc/ha.d/haresources

Agregue la siguiente lnea:

[...]
node01 172.16.4.82 httpd

Se copian completos los archivos del directorio /etc/ha.d del node01 al node02:

[root@node01~]# scp-r /etc/ha.d/root@node02: /etc/

64

O si no existe conexin inmediata o problemas de conectividad, simplemente se


repiten los pasos anteriores, exactamente iguales en el nodo02, es decir, desde la
instalacin del Heartbeat hasta la modificacin del archivo haresources. Es
importante aclarar que las modificaciones que se hagan deben ser idnticas en
ambos nodos, para que no existan problemas en la implementacin y puesta en
marcha del clster.

Continuamos, como queremos httpd altamente habilitado vamos a iniciar la


configuracin de httpd:

[root@node01~]# vi /etc/httpd/conf/httpd.conf

Agregamos esta lnea:

Listen 10.1.1.7:80

Repetimos dicha configuracin en el nodo02

[root@node02~]# vi /etc/httpd/conf/httpd.conf

Agregamos esta lnea:

Listen 10.1.1.7:80

Creamos un archivo index.html de prueba en ambos nodos (node01 & node02),


para verificar que la configuracin fue la adecuada:

En el node01:

65

[root@node01~]# echo "Node01 servidor de prueba del apache" >


/var/www/html/index.html

El node02:

[root@node02~]# echo "Node02 servidor de prueba del apache" >


/var/www/html/index.html

Iniciamos el servicio Heartbeat en el node01como primario y esclavo node02:

[root@node01~]# /etc/init.d/Heartbeat
[root@node02~]#/etc/init.d/Heartbeat

Abrimos el navegador y escriba la direccin URL:

http://10.1.1.7

Se mostrar node01 servidor de prueba del apache. Poner screenshot del


navegador

Ahora detenemos el daemon Heartbeat en el node01:

[root@node01~]# /etc/init.d/Heartbeat stop

Escribimos de nuevo en el navegador la direccin URL http://10.1.1.7 y pulse


Enter.

Se mostrar node02 servidor de prueba del apache. Poner screenshot del


navegador

66

No es necesario crear una interfaz de red virtual y asignar una direccin IP (10.1.1.
7) a la misma. Heartbeat lo har por nosotros, e iniciar el servicio (httpd).

Nota Importante: No utilizar las direcciones IP 10.1.1.4 y 10.1.15 para ningn


servicio. Estas direcciones se utilizan para la comunicacin entre los Heartbeat de
los nodos node01 y node02. Si por alguna manera se perturban dichas
direcciones, Heartbeat no funcionar.

67

CONCLUSIONES

La alta disponibilidad en servidores aumenta notablemente la prestacin de sus


servicios, dando ms confiabilidad y seguridad a sus clientes al momento de
acceder a estos.

La virtualizacin de servidores es clave para el desarrollo de procesos en lo que


se refiere al ahorro de espacio, energa, dinero y el poder utilizar los recursos
necesarios sin dejar de lado la capacidad de la maquina. Esta puede ser tomada
como opcin para opcin para combatir la crisis econmica actual.

Utilizar herramientas de software libre es prescindible para el desarrollo y mejora


de este proyecto ya que a partir de estos es ms fcil acceder a informacin y
recibir aportes productivos que beneficien este proyecto logrando un resultado
ms optimo.

En esta investigacin se presenta claramente como construir esta herramienta


tecnolgica, la cual puede beneficiar a cualquier persona que este que este
interesada en aprender, mejorar o aprovechar las grandes ventajas que este
proyecto manifiesta.

68

CRONOGRAMA DE ACTIVIDADES

69

PRESUPUESTO E INFRAESTRUCTURA DE LA INVESTIGACIN

70

BIBLIOGRAFA
ACERENZA, Miguel ngel. Administracin del Turismo. Vol. 2. Planificacin y
Direccin. Mxico: 2 Edicin. Editorial Trillas S. A. de C. V., 1987. 35 - 203 p.
ALTERNATIVAS Y OPORTUNIDADES PARA EL DESARROLLO TURSTICO DE
CARTAGENA. En: Folleto emitido por la Corporacin Nacional de Turismo. (enero,
2000).
BEZ RAMIREZ, Javier Eduardo. Balance del Turismo Regional en la Dcada de
los Noventa y Perspectivas: Los Casos de Barranquilla, Cartagena y Santa Marta.
Serie de estudios sobre la Costa Caribe, No 11. Bogot, 2000.
Falta hacer de manera correcta los referentes bibliogrficos.
RULE, David, DITTNER, Roger, The Best Damn Server Virtualization Book Period.
Syngress Publishing, Inc. Burlintong MA USA, 2007.
BERNARD Golden, CLARK Scheffy, Virtualization for Dummies,
Editorial Wiley, Inc. Hoboken NJ USA, 2008.
MICROSOFT TECHNET, Configuracin de clsteres de hosts en VMM 2008 para
admitir mquinas virtuales de alta disponibilidad, <http://technet.microsoft.com/eses/library/cc764274.aspx>. [Citado el 20 de Marzo de 2009].
MICROSOFT TECHNET, Introduccin a los clsteres de servidores.
<http://technet.microsoft.com/es-es/library/cc783804.aspx>,[Citado el 19 de Marzo
de 2009].
Understanding Full Virtualization, Paravirtualization, and Hardware Assist, White
Paper, VMWare, 2007.
Clster
en
Linux.
Linux
Clster
HOWTO
<
http://www.ram.org/computing/linux/linux_cluster.html>, [Citado el 20 de Marzo de
2009].
Virtual
box.
Technical
<http://www.virtualbox.org/wiki/Technical_documentation >,
Marzo de 2009].

71

documentation,
[Citado el 19 de

Linux
journal,
High-Availability
Cluster
for
http://www.linuxjournal.com/article/3247>, [Citado el 18 de abril].

Linux

<

Centos, Sistema Operativo, <http://www.centos.org/> [Citado el 18 de Mayo].


Novell,
Suse
Enterprise
Server,
<http://www.novell.com/eses/products/server/eval.html>, [citado el 18 de mayo].
Red Hat Server, Sistema Operativo, <http://www.redhat.es/rhel/server/> [citado el
18 de mayo].
Herramientas
para
la
administracin
de
clusters,
<http://clusterfie.epn.edu.ec/clusters/Definiciones/definiciones4.html> [citado el 19
de mayo].
BERNARD Golden, CLARK Scheffy, Virtualization for Dummies,
AGUILAR Vicente, Clustering de alta dispibinilidad bajo GNU/Linux. [citado el 20
de mayo de 2009].
Linux para todos. Los Cmos, Manuales para configuracin de servidores en
centos/redhat enterprise linux
<http://www.linuxparatodos.net/portal/staticpages/index.php?page=manualesindice>, [citado el 28 de mayo].
Tipos de investigacin <http://tgrajales.net/investipos.pdf > [citado el 28 de mayo].
Monografias.
Tipos
de
investigacin
<
http://www.monografias.com/trabajos59/tipos-investigacion/tiposinvestigacion.shtml >[citado el 28 de mayo].
Universidad
dela
Sabana.
Tipos
de
investigacin,
<http://sabanet.unisabana.edu.co/crear/paginas/observacion_como_habilidad_inci
al_en_el_proceso_de_investigacion/paginas/clasificacion.htm#documental [Citado
el 29 de agosto de 2009].
Universidad
dela
Sabana.
Tipos
de
investigacin,
<http://sabanet.unisabana.edu.co/crear/paginas/observacion_como_habilidad_inci
al_en_el_proceso_de_investigacion/paginas/clasificacion.htm#documental.. Citado
el 30 de agosto de 2009
Editium.org,
Servidores
Linux,
La
Mejor
Derivacin
De
<http://www.editum.org/Servidores-Linux-La-Mejor-Derivacion-De-Unix-p404.html>, [citado el 8 de septiembre de 2009].

<http://www.linuxjournal.com/article/8812>, [10 sept ]


<http://www.linuxjournal.com/article/8816>, [10 sept ]
72

Unix,

Servidor
apache,
instalacin
y
puesta
en
marcha,
<http://platea.pntic.mec.es/curso20/48_edicionhtmlprofundizacion/html2/lamp/apache.html>, [Citado 28 de septiembre de 2009]
Administracin de sistemas Linux, Unix, Windows.Deshabilitar selinux e iptables
en
centos
5.1,<http://rm-rf.es/deshabilitar-selinux-e-iptables-en-centos-51/>,
[Citado 28 de septiembre de 2009]

<http://blog.pucp.edu.pe/category/5517/blogid/2219>

73

Anexo A

74

Вам также может понравиться