miércoles, 21 de enero de 2009

Sistemas Distribuidos

Colección de elementos de cómputo autónomo que se encuentran físicamente separados y no comparten una memoria común, se comunican entre sí a través del intercambio de mensajes utilizando un medio de comunicación. Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, una colección de redes de área local y de área extensa interconectados, que en lazan millones de ordenadores.

Las aplicaciones de los sistemas distribuidos varían desde la provisión de capacidad de computo a grupos de usuarios, hasta sistemas bancarios, comunicaciones multimedia y abarcan prácticamente todas las aplicaciones comerciales y técnicas de los ordenadores. Los requisitos de dichas aplicaciones incluyen un alto nivel de fiabilidad, seguridad contra interferencias externas y privacidad de la información que el sistema mantiene.

domingo, 18 de enero de 2009

Enlaces de Interes



Configuración de CODA File System en UBUNTU 8.4

Sistemas de archivos distribuidos

Trucos Windows Server

Video de SAD

Ejemplo de SAD

Frangipani

Frangipani es un sistema de archivos distribuidos desarrollado y utilizado en el Centro de Investigación de Digital Systems (ahora Centro de Investigación de Compaq Systems) [Thekkath y otros 1997]. Sus objetivos son muy semejantes a los de xFS, y como xFS, los aproxima con un diseño que separa las responsabilidades de almacenamiento persistente de otras acciones del servicio de archivos. Pero el servicio de Frangipani está estructurado en dos niveles totalmente independientes. El nivel más bajo está proporcionado por el sistema de discos distribuido Petal [Lee y Thekkath 1996].

Petal proporciona una abstracción de discos virtuales distribuidos entre muchos discos ubicados en múltiples servidores en una red local conmutada. La abstracción de disco virtual tolera la mayoría de los fallos de hardware y software con la ayuda de réplicas de los datos almacenados y balancea automáticamente la carga en los servidores para reubicar datos. Los discos virtuales de Petal son accedidos mediante un manejador de disco UNIX utilizando operaciones estándar de entrada-salida de bloques, por lo que se pueden utilizar para soportar la mayoría de los sistemas de archivos. Petal añade entre el 10 y 100estrategia de caché produce rendimientos en las lecturas y escrituras al menos tan buenos como los manejadores de disco subyacentes. Los módulos de servidor Frangipani se ejecutan en el núcleo del sistema operativo.

Como en xFS, la responsabilidad de gestionar archivos y las tareas asociadas (incluyendo la provisión de un servicio de bloqueo de archivos para los clientes) es asignado a las máquinas dinámicamente, y todas las máquinas ven un nombre unificado de archivo con accesos coherentes (con la semántica similar a “una copia”) para los archivos compartidos actualizables. Los datos se almacenan en un formato “es-tructurado en históricos” y en “ristras” en el depósito de discos virtuales Petal. El uso de Petal libera a Frangipani de la necesidad de administrar el espacio físico de disco, implementando un sistema de archivos distribuidos mucho más sencillos, Frangipani puede emular las interfaces de servicio de varios servicios de archivos existentes, incluyendo NFS y DCE/DFS. Las prestaciones de Frangipani son al menos tan buenas como las de la implementación de Digital del sistema de archivos UNIX.

Tendencias en los SAD

Algunos aspectos que podrían presentar cambios en un futuro no muy lejano, teniendo en cuenta que los cambios tecnológicos se producen día a día y en desmesurado avance, son los siguientes:

Hardware reciente

Una nueva innovación en hardware son los discos ópticos que ahora pueden ser utilizados más de una vez. Aunque son un poco más caros que las cintas de video siempre han sido un aporte importante para los sistemas de archivos, principalmente en el soporte de backups.
Otro desarrollo importante en hardware son las redes de fibra óptica de alta velocidad que agilizarían la transferencia de archivos y se podría prescindir de la memoria caché. Esto también simplificaría en mucho el software a utilizarse en los sistemas de archivos distribuidos.
Existen muchas más innovaciones tecnológicas que poco a poco harán más eficiente el manejo y administración de los sistemas de archivos, por lo que en el futuro se podría aun encontrar diversos tipos de soluciones específicas para un sistema determinado por sus propias características y requerimientos.

Escalabilidad


El concepto de escalabilidad propone que cualquier computador individual ha de ser capaz de trabajar independientemente como un sistema de archivos distribuido, pero también debe poder hacerlo conectado a muchas otras máquinas. Un sistema de archivos debería funcionar tanto para una docena de equipos como para varios millares. Igualmente no debería ser determinante el tipo de red utilizada (LAN o WAN) ni las distancias entre los equipos.
Aunque este punto sería muy necesario, puede que las soluciones impuestas
para unos cuantos equipos no sean aplicables para varios otros. De igual manera, el tipo de red utilizada condiciona el rendimiento del sistema, y podría ser que lo que funcione para un tipo de red, para otro necesitaría un diseño diferente.

Redes de área amplia


La mayor parte del trabajo que se realiza actualmente en los sistemas distribuidos se
basa en los sistemas alojados en redes LAN. La tendencia en el futuro es que veremos conectados entres sí muchos sistemas distribuidos LAN con el fin de formar sistemas distribuidos transparentes a través de todo el mundo. Pero para esto tendría que tomarse como punto de importancia el hecho de que no todos los países utilizan un mismo tipo caracteres para sus archivos, es decir, si en Latinoamérica utilizamos los códigos ASCII, puede ser que en otras partes del mundo no se utilice este mismo concepto, lo que produciría una incompatibilidad de datos.

Usuarios Móviles

La tecnología informática todavía no cuenta con una adecuada red instalada en diversos lugares para que el usuario pueda conectar su laptop, notebook y su PC de bolsillo a su respectivo sistema o al sistema al cual desea conectarse, así como tampoco dispone con un ancho de banda mayor, la transferencia de archivos se hace aun mucho más lenta. Se espera que en el futuro existan mejores ventajas para que sobresalga este de desarrollo tecnológico que los últimos ha demostrado tener una verdadera tendencia a seguir creciendo.

Tolerancia de fallas


En la actualidad, la mayor parte de los sistemas de cómputo no presentan tolerancia a fallas. Es común escuchar en las agencias bancarias la frase: "No hay sistema", por lo que tomamos este hecho como algo absolutamente normal. Salvo algunos sistemas especializados como los que se utilizan para el control de tráfico aéreo, otros sistemas no presentan este comportamiento que debería ser el óptimo. Para que los sistemas de archivos cumplan con este requisito, deberá existir o implementarse una consistente infraestructura de hardware lo cual permita a los sistemas ser realmente confiables y seguros en cuanto a tiempo de funcionamiento efectivo se refiere.

Implementacion de los SAD

Los archivos podrían implantarse como parte de un sistema operativo distribuido, haciendo el papel de una capa de software cuya tarea es administrar la comunicación entre los sistemas operativos y los sistemas de archivos convencionales. Las características propias de un SAD son la multiplicidad y autonomía de los clientes y servidores en el sistema.

La implantación de un sistema distribuido de archivos incluye aspectos tales como:

*El uso de archivos

Generalmente se utiliza antes de implantar un sistema de archivo, y primero se realiza un análisis de patrones de uso, para realizar dicho análisis es necesario tomar las siguientes mediciones: Estática (Representan una toma instantánea del sistema en un momento dado y comprende la distribución de tamaño de archivo) y Dinámica (Registra toda las operaciones que modifican el sistema de archivos)

*Estructura del Sistema

En algunos sistemas se cumple que:

  • Todas las máquinas ejecutan el mismo software básico.
  • Una máquina que desee dar servicio de archivos lo puede hacer:
  • Debe exportar los nombres de los directorios seleccionados, para que otras máquinas los puedan acceder.

En otros sistemas el servidor de archivos y el de directorios son solo programas del usuario, y se puede configurar un sistema para que ejecute o no el software de cliente o servidor en la misma máquina.

También los clientes y servidores podrían ser equipos distintos en hardware y software

En este caso:

  • El cliente envía un nombre simbólico al servidor de directorios.
  • El servidor de directorios regresa el nombre en binario (ej.: máquina + nodo_i) que comprende el servidor de archivos.
  • Es posible que una jerarquía de directorios se reparta entre varios servidores.
  • El servidor que recibe un nombre binario que se refiere a otro servidor puede:
    • Indicar al cliente el servidor que tiene el archivo buscado, para que el cliente lo busque.
    • Enviar la solicitud al siguiente servidor y no contestar.

*Ocultamiento

En un sistema cliente - servidor, cada uno trabaja con su memoria principal y un disco, existen cuatro lugares donde se pueden almacenar los archivos o partes de ellos: el disco del servidor, la memoria principal del servidor, el disco del cliente (si existe), la memoria principal del cliente.

Si los archivos se almacenan en el disco de los servidores estos disponen de abundante espacio, se les podría acceder de todos los clientes aunque tiene sus desventajas ya que antes de que un cliente pueda leer un archivo se lo debe transferir del disco del servidor a la memoria principal del servidor y a su vez de la memoria principal del servidor a la memoria principal del cliente, a través de la red. Todo esto se puede mejorar ocultando (conservando) los archivos de más reciente uso en la memoria principal del servidor y así un cliente que lea un archivo ya presente en el caché del servidor elimina la transferencia del disco.

*Replica

Generalmente los sistemas distribuidos de archivos proporcionan la réplica de archivos como un servicio, ya que cada copia esta en un servidor de archivos independiente.

Esta es utilizada por que aumenta la confiabilidad al disponer de respaldos independientes de cada archivo, además que permite el acceso a archivos aún cuando falle un servidor de archivos y reparte la carga de trabajo entre varios servidores.