Make your own free website on Tripod.com

Sistemas Tolerantes a fallos

Alumno: Armando Lazarte Aranaga

Ingeniería de Sistemas

Código:1999220251

e-mail: diegosurf66@hotmail.com

armlaz@universia.edu.pe

Abstract:

This paper was created with the intention to give knowledge of some basic concepts of Fault tolerance Systems and Distributed Systems, necessary to understand the mentality and the design of a system of high readiness, which is fault tolerance.

¿Qué es un sistema Tolerante a fallos?

La tolerancia a fallos, tal y como la conocemos hoy en día, se basa fundamentalmente en un concepto: redundancia. La mejor forma de asegurar la disponibilidad de nuestros equipos, y de los datos y los servicios que ellos suministran de manera altamente confiable y sin interrupción las 24 horas del día durante siete días a la semana, es la duplicación de todos sus elementos críticos y la disposición de los elementos software y hardware necesarios para que los elementos redundantes actúen cooperativamente, bien sea de forma activa-activa o activa-pasiva, pero siempre de forma transparente para el usuario.

La confianza que se puede poner en un sistema de computación, está dada por los siguientes atributos: Fiabilidad, Disponibilidad, Resguardo y Seguridad.

Las métricas comúnmente utilizadas para medir la disponibilidad y la fiabilidad de un sistema son el tiempo medio entre fallos o MTTF (mean time to failure) que mide el tiempo medio transcurrido hasta que un dispositivo falla, y el tiempo medio de recuperación o MTTR (mean time to recover) que mide el tiempo medio tomado en restablecerse la situación normal una vez que se ha producido el fallo.

Lógicamente, el principal objetivo es aumentar el MTTF y reducir el MTTR de forma que minimicemos ese tiempo.

Prevención y Tolerancia a Fallos de los Sistemas

Una disfunción ocurre cuando el servicio de un sistema no es consistente con su especificación.

La disfunción de un sistema se produce por el fallo de alguno de sus componentes.

Para mejorar la fiabilidad de un sistema se puede hacer:

El desarrollo más importante de la tolerancia a fallos se ha conseguido alrededor de lo que son los sistemas distribuidos.

 

 

Sistemas Distribuidos

¿Qué es un sistema distribuido?

"Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora"

Esta definición tiene 2 aspectos:

Ventajas de un sistema Distribuido sobre un sistema centralizado

Ventajas de un sistema Distribuido sobre PCs Independientes

Desventajas de los sistemas distribuidos

A continuación se muestran el diseño de un sistema distribuido de alta disponibilidad y tolerante a fallos aplicado a una empresa.

Son 5 puntos los que se tomaron en cuenta:

Los cuales fueron desarrollados de la sgte forma:

  1. Infraestructura.-

§ Fallos en las fuentes de alimentación locales de los equipos.

§ Fluctuaciones de tensión en el suministro eléctrico.

§ Cortes totales de suministro eléctrico.

La mayoría de los servidores de gama alta y elementos críticos de un sistema informático se fabrican hoy en día con una fuente de alimentación redundante o con la posibilidad de instalársela; al elegir el protector contra las fluctuaciones de tensión debemos de tener en cuenta fundamentalmente dos parámetros: que la velocidad de reacción del elemento ante los picos sea lo mas elevada posible y que, ante las puntas más severas, el protector se autodestruya.

  1. Servidores.-

Teniendo esto en cuenta se decidió, fundamentalmente por razones empresariales, usar servidores de la gama Netfinity de IBM con una configuración en cluster de dos vías. Enumeraremos, en cualquier caso las características fundamentales y deseables a tener en cuenta a la hora de elegir el hardware y la configuración de nuestros servidores.(Un cluster de ordenadores es, básicamente, un sistema distribuido en paralelo que consiste en dos o mas servidores interconectados compartiendo sus recursos y que son vistos como si se tratase de uno solo. Esta medida incrementa enormemente la disponibilidad de un sistema, no sólo ante fallos, sino también contemplando las necesarias actualizaciones periódicas del sistema que nos obligan a

sacarlos momentáneamente de producción).

subidas inesperadas de tensión de las que ya hemos hablado y que desaparecen en cuanto que se actualiza la memoria, aunque pueden provocar el mal funcionamiento de alguna aplicación o del sistema operativo, y los llamados "hard errors" que son averías mucho más graves e irreparables.

Software de administración de sistemas. Otra característica deseable es que nuestros servidores sean compatibles con alguno de los estándares de administración

de sistemas disponibles, tales como DMI (Desktop Management Interface) o CIM (Common Information Model) que les permita suministrar información a alguna herramienta de administración de sistemas, como por ejemplo OpenView de Hewlett- Packard, Unicenter de Computer Associates o Tivoli de Tivoli Networks.

  1. Sistema de mensajería Electrónica.

Los sistemas de mensajería se están convirtiendo en uno de los puntos vitales de nuevas empresas. Estamos, además, ante el caso de una empresa que apuesta fuertemente por las nuevas tecnologías y que quiere introducir a sus clientes un servicio de reservas vía e-mail.

Como servidor se pensó en Microsoft Exchange Server 5.5 Enterprise Edition. La

versión Enterprise de este servidor añade dos características fundamentales: el tamaño de su base de datos está limitado exclusivamente por el espacio físico de que disponemos en disco y es posible su instalación en modo activo/pasivo en una configuración en cluster.

Como estructura lógica se pensó en una doble estrella. El centro de cada estrella se situaría en cada uno de los grandes centros corporativos y los brazos serían las delegaciones que dependen de cada uno de ellos. Estas delegaciones tienen definidas dos rutas de encaminamiento lógico de los mensajes: una principal con el centro de la estrella que le corresponde y otra secundaria (definida con un mayor coste para que no sea utilizada salvo error o saturación en la primaria) con el centro de la otra estrella.

En cada uno de los centros corporativos instalamos dos servidores de correo: uno, formado por un cluster de dos vías, dedicado como servidor propiamente dicho de los usuarios de dichos centros y el otro, un servidor sencillo para conectar y encaminar

los mensajes.

  1. Arquitectura Web.-
  2. La estrategia comunmente usada para diseñar una sede Web o de servidores FTP de alta disponibilidad es lo que se denomina una granja de servidores (Web Farm) con algún sistema de balanceo de carga entre los servidores que componen la granja. Con ello conseguimos, aparte de una alta disponibilidad, un sistema fácilmente escalable.

    En nuestro caso se optó por usar NLB(sistema que utiliza un IP virtual para el cluster de servidores, distribuyendo la carga de los clientes entre los servidores reales de forma transparente para los clientes. NLB se implementa usando un driver de red situado lógicamente entre el nivel más alto del protocolo TCP/IP y el adaptador de red del servidor), para el reparto de carga, combinado con Microsoft Cluster Service para aumentar la disponibilidad y escalabilidad del sistema.

    El front-end estaría conformado por cuatro servidores Web con reparto de carga mediante NLB que atacarían a una pareja de servidores en cluster con una cabina de discos externas como almacen de información compartido, en los que se ejecuta un gestor de bases de datos de Oracle para dar servicio a nuestros servidores Web.

  3. Seguridad.-

Si buscamos construir un sistema confiable y altamente disponible debemos de hacerlo seguro. De nada vale todo lo visto anteriormente si se permite que por sabotaje, ataques de piratas informáticos o por causa de un desastre natural los servidores sean irremediablemente dañados.

Seguridad física.- La mayoría de las discusiones sobre seguridad actuales se centran

en los graves daños ocasionados por los virus y en la seguridad en la red; sin embargo, algo que suele pasarse por alto es que los servidores son más vulnerables a los ataques físicos que a los remotos. Si asaltan un servidor de nuestra red de forma

remota siempre se puede reiniciar, reconfigurar o reinstalar, pero si ha sido dañado

físicamente el problema puede ser más serio y costoso en tiempo de disponibilidad.

Los principales puntos a tener en cuenta son los siguientes:

§ Ubicación de los servidores y elementos críticos de nuestra red.

§ Contraseñas de BIOS y de consola.

§ Seguridad general del hardware.

Los servidores deben de estar ubicados en un espacio aislado, de acceso controlado y

bien diferenciado del resto de la oficina. Deben de poseer un ambiente refrigerado y

libre de emisiones de polvo, humos y cualquier otro agente agresivo para los mismos.

Otra amenaza es el robo, tanto del sistema entero como de componentes individuales. No es necesario que se lleven el servidor completo, en los equipos de alta disponibilidad muchos de sus componentes son fácilmente accesibles y extraibles ‘en caliente’.

Código dañino. Llamamos código dañino a los programas no autorizados que realizan funciones que el usuario no conoce y probablemente no desea, bien porque han sido modificados para alterar su fucionalidad o porque han sido diseñados para permanecer ocultos y destruir o robar datos. Los mas frecuentes ejemplos de código dañino son los virus y los troyanos.

La detección del código dañino una vez introducido en nuestro sistema puede ser una tarea muy complicada, así que lo mejor es extremar las precauciones en cuanto al software que es introducido en nuestros equipos.

Copias de seguridad. Un correcto programa de copias de seguridad es indispensable para asegurar la disponibilidad de los datos en nuestro sistema. Una vez establecido un programa adecuado de copias de seguridad, el principal problema es la necesidad de la intervención humana.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Conclusiones:

Bibliografía.-

Libros:

Documentos PDF:

Páginas HTML:

Ching. Microsoft Developer Network.

Presentacion Power Point