SlideShare una empresa de Scribd logo
1 de 28
INSTITUTO TECNOLOGICO DE TAPACHULA
Nombre Del Alumno:
Sheyla Berenice Martínez Ramos
Nombre De La Carrera:
Ingeniería En Sistemas Computacionales
Nombre Del Profesor:
L. I. Raúl Monzón Urbieta
Nombre De La Materia:
Sistemas Distribuidos
Nombre De La Materia:
Sistemas Distribuidos
Tema:
Unidad 5 y 6
INTRODUCCION
Un sistema distribuido se define como una colección de computadores
autónomos conectados por una red, y con el software distribuido adecuado para que
el sistema sea visto por los usuarios como una única entidad capaz de proporcionar
facilidades de computación.
El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de
alta velocidad a principios de 1970. Más recientemente, la disponibilidad de
computadoras personales de altas prestaciones, estaciones de trabajo y ordenadores
servidores ha resultado en un mayor desplazamiento hacia los sistemas distribuidos en
detrimento de los ordenadores centralizados multiusuario. Esta tendencia se ha
acelerado por el desarrollo de software para sistemas distribuidos, diseñado para
soportar el desarrollo de aplicaciones distribuidas. Este software permite a los
ordenadores coordinar sus actividades y compartir los recursos del sistema –
hardware, software y datos
Los sistemas distribuidos se basan 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.
Esto mejoraría circunstancialmente los actuales servidores de archivos puesto
que se podrá adquirir gran cantidad de gigabytes de memoria, aunque todavía se
presente el problema de que la memoria sea volátil, es decir, que cuando se apaga el
sistema se borran los archivos.
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.
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.
UNIDAD 5
5.1 ACCESO A RECURSOS DISTRIBUIDOS
La compartición de recursos abarca desde componentes hardware como discos
e impresoras hasta elementos software como ficheros, ventanas, bases de datos y
otros objetos de datos.
Los sistemas multiusuario proveen compartición de recursos entre sus usuarios.
Sin embargo, los recursos de una computadora multiusuario se comparten entre todos
sus usuarios. Por el contrario, los usuarios de estaciones de trabajo monousuario o
computadoras personales dentro de un sistema distribuido no obtienen los beneficios
de la compartición de recursos.
Los recursos están encapsulados en una de las computadoras y sólo pueden
acceder por otras computadoras mediante la red. Para que la compartición de recursos
sea efectiva, debe ser manejada por un programa que ofrezca un interfaz de
comunicación permitiendo que el recurso sea accedido, manipulado y actualizado de
una manera fiable y consistente.
Apertura (opennesss)
Un sistema informático es abierto si puede ser extendido de diversas maneras.
Además puede ser abierto o cerrado con respecto a extensiones hardware (añadir
periféricos, memoria o interfaces de comunicación, etc.) o con respecto a las
extensiones software (añadir características al sistema operativo, protocolos de
comunicación y servicios de compartición de recursos, etc.). La apertura se determina
por qué nuevos servicios de compartición de recursos se pueden añadir sin perjudicar
ni duplicar a los ya existentes. Los Sistemas Distribuidos Abiertos:
Ofrecen servicios de acuerdo a reglas estandarizadas que describen la sintaxis y
semántica de dichos servicios.
 Deben permitir la interoperabilidad y la portabilidad.
 Interoperabilidad se refiere a la capacidad de dos sistemas o componentes de
desarrolladores distintos para funcionar en conjunto basándose únicamente en
los servicios ofrecidos por cada sistema según se especifica en un estándar
común.
 Portabilidad se refiere a la capacidad de una aplicación desarrollada para un
sistema distribuido "A", de ser ejecutada en sistema distribuido "B" que
implemente las mismas interfaces de "A".
 Es independiente de la heterogeneidad del entorno subyacente: hardware,
sistemas operativos y lenguajes de programación.
Concurrencia
Cuando existen varios procesos en ejecución en una misma máquina decimos
que se están ejecutando concurrentemente. Esta característica permite que los
recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios
y agentes que interactúan en la red.
Escalabilidad
El sistema es escalable si conserva su efectividad al ocurrir un incremento
considerable en el número de recursos y en el número de usuarios.
Tolerancia a Fallos
Es la posibilidad que tiene el sistema para seguir funcionando ante fallos de
algún componente en forma independiente, pero para esto se tiene que tener alguna
alternativa de solución.
Técnicas para tratar fallos:
 Detección de fallos. Algunos fallos son detectables, con comprobaciones por
ejemplo.
 Enmascaramiento de fallos. Algunos fallos detectados pueden ocultarse o
atenuarse.
 Tolerancia de fallos. Sobre todo en Internet se dan muchos fallos y no es muy
conveniente ocultarlos, es mejor tolerarlos y continuar. Ej: Tiempo de vida de
una búsqueda.
 Recuperación frente a fallos. Tras un fallo se deberá tener la capacidad de
volver a un estado anterior.
 Redundancia. Se puede usar para tolerar ciertos fallos (DNS, BD, etc.)
Transparencia
Es la ocultación al usuario y al programador de aplicaciones de la separación de
los componentes de un sistema distribuido, de manera que el usuario y los programas
ven al sistema como un todo, en vez de una colección de componentes
independientes. Se identifican 8 formas de transparencia:
1. De acceso. Se accede a recursos locales y remotos de forma idéntica.
2. De ubicación. Permite acceder a los recursos sin conocer su ubicación.
3. De concurrencia. Usar un recurso compartido sin interferencia.
4. De replicación. Permite utilizar varios ejemplares de cada recurso.
5. Transparencia de fallos. Permite ocultar los fallos.
6. De movilidad. Permite la reubicación de recursos y clientes sin afectar al
sistema.
7. De prestaciones. Permite reconfigurar el sistema para mejorar las
prestaciones según su carga.
8. Al escalado. Permite al sistema y a las aplicaciones expandirse en tamaño sin
cambiar la estructura del sistema o los algoritmos de aplicación.
5.2 PROCEDIMIENTOS REMOTOS RMI
RMI (RemoteMethodInvocation) es una tecnología java que permite enviar
mensajes a objetos situados en otra máquina virtual desde una aplicación que este
ejecutándose en una máquina virtual.
En su versión básica requiere de toda aplicación (tanto el cliente como el
servidor) estén desarrolladas en java.
Esto permite tener los objetos distribuidos en diversas maquinas. Esta
tecnología permite que se puedan pasar argumentos al método remoto y recibir los
datos que devuelve (en ambos casos pueden ser tipos primitivos u objetos de clases
que sean serializables).
Cada servicio RMI (objeto remoto) se define mediante una interface que fija los
métodos que se pueden invocar en el objeto remoto. Esta interface debe estar
disponible en el cliente y el servidor.
Objetivos de Java-RMI
Los objetivos del Java-RMI según se definen en el manual de especificaciones
son los siguientes: ·
 Soporte de invocación de objetos remotos en diferentes máquinas virtuales
Java.
 Soporte de retorno de resultados desde el servidor a los clientes.
 Integrar el modelo de objetos distribuidos en el lenguaje Java de una forma
natural, mientras se mantiene la semántica de objetos ya definidas en Java.
 Realizar aplicaciones distribuidas lo más simples y legibles posibles.
 Preservar la seguridad que provee el runtime systemde Java
5.3 CLIENTES Y SERVIDORES RMI
Toda aplicación RMI normalmente se descompone en 2 partes:
 Un servidor, que crea algunos objetos remotos, crea referencias para hacerlos
accesibles, y espera a que el cliente los invoque.
 Un cliente, que obtiene una referencia a objetos remotos en el servidor, y los
invoca.
Crear un servidor RMI
Un servidor RMI consiste en definir un objeto remoto que va a ser utilizado por
los clientes. Para crear un objeto remoto, se define una interfaz, y el objeto remoto
será una clase que implemente dicha interfaz. Veamos cómo crear un servidor de
ejemplo mediante 3 pasos:
Cuando se crea un interfaz remoto:
 El interfaz debe ser público.
 Debe extender (heredar de) el interfaz java.rmi.Remote, para indicar que
puede llamarse desde cualquier máquina virtual Java.
 Cada método remoto debe lanzar la excepción java.rmi.RemoteException en su
claúsula throws, además de las excepciones que pueda manejar.
5.4 DESARROLLO DE APLICACIONES CLIENTE-SERVIDOR DISTRIBUIDAS QUE HAGAN
USO DE RMI
El desarrollo de aplicaciones cliente/servidor mediante Java-RMI requiere 6
etapas:
1. Definir una interfaz remota.
2. Implementar dicha interfaz remota. (Servidor).
3. Implementar la aplicación que usa los objetos remotos. (Cliente).
4. Generar los Stubs (Proxies cliente) y Skeletons (entidades servidor).
5. Ejecutar el registry (servidor de nombres).
6. Ejecutar el servidor y los clientes.
Realizaremos un estudio de cada etapa con un ejemplo que nos ayudará a la
mejor comprensión de cada una de ellas. Vamos a realizar un servidor de operaciones
para matrices y vectores y un cliente que hará uso de los servicios que éste nos
proporciona.
Definición de la Interfaz Remota.
El primer paso es definir una interfaz remota para los objetos remotos. Esto es
necesario para que el usuario cliente conozca las operaciones que le son permitidas,
así como los tipos, parámetros y clases que puede utilizar.
Nótese que la interfaz debe declararse pública para que los clientes puedan
usarla, así como debe heredar de Remote para que el servidor se vea como un objeto
remoto. También es obligatorio que todos los métodos a implementar eleven la
excepción RemoteException, ya que esta se produce en determinados casos como
fallos de conexión, o si cae el servidor, etc.
Otro detalle que puede ser interesante es el uso del polimorfismo, se puede ver
que hemos utilizado el mismo nombre de operador para las operaciones de vectores y
matrices, pero la máquina Java sabrá cuál debe usar en función del tipo de sus
parámetros. Ahora deberemos compilar nuestra interfaz, mediante: % javac
InterfazMatriz.java
Implementación del Interfaz Remoto.
El siguiente paso en el ciclo de vida del desarrollo de software distribuido
mediante Java-RMI es la implementación del interfaz remoto.
Ahora deberemos compilar nuestro servidor, mediante: % javac
ServerMatriz.java
Creación de una aplicación cliente que use el interfaz remoto.
Vamos a realizar un sencillo ejemplo de un cliente que desea realizar la suma
de dos vectores y para ello utilizará el servidor remoto.
Ahora deberemos compilar nuestro cliente, mediante: % javac
DemoMatriz.java
Generación de Stubs y Skeletons.
Ahora estamos preparados para generar los Stubs y Skeletons, para ello
deberemos usar el compilador rmic. Un Stubs es un cliente proxy y un Skeletons es una
entidad servidor que realiza las llamadas al objeto remoto servidor. Estos son cargados
dinámicamente cuando son necesitados en tiempo de ejecución.
Para ello usaremos: % rmic ServerMatriz Esto generará los archivos
ServerMatriz_Skel.class y ServerMatriz_Stub.class. Nótese que la variable de entorno
CLASSPATH debe apuntar al directorio donde están siendo compiladas y almacenadas
las clases para que éstas puedan ser localizadas. Un ejemplo típico del valor de esta
variable sería: setenv CLASSPATH .:/disk2/softw/jdk1.1.1/lib/classes.zip
RMI registry
Antes de poder ejecutar nuestra aplicación, debemos ejecutar el rmiregistry,
que es un servidor de nombre que permite a los clientes obtener las referencias a los
objetos remotos. Para ello ejecutaremos: % rmiregistry &.
El rmiregistry por defecto usa el puerto 1099, si por alguna razón estamos
usando dicho puerto para otro cometido o deseamos utilizar otro puerto diferente,
deberemos usar: % rmiregistry &. En este último caso, deberemos indicar también el
número del puerto en la llamada a Naming.Rebind y Naming.lookup añadiendo
‘:<puerto
Ejecución del cliente y el servidor.
Ahora ya estamos preparados para ejecutar el servidor en la máquina remota,
para ello ejecutaremos: % Java ServerMatriz & Y obtendremos como resultado:
ServidorMatriz instalado en NombreMáquina Posteriormente en nuestra máquina
local ejecutaremos el cliente: % Java DemoMatriz Y obtendremos como resultado:( 1,
2, 3, 4, 5 ) + ( 6, 7, 8, 9, 0 ) = ( 7, 9, 11, 13, 5 )
Serialización de Objetos.
Un tema importante a tener en cuenta es la serialización de objetos. Debido a
que tanto el paso de parámetros como el retorno de resultados se realizan vía
Streams, dichos parámetros deben ser serializables, es decir, que se puedan enviar
como una tira de bytes. Para los tipos y clases standard en Java esto no es ningún
problema, ya que son serializables, el problema viene dado cuando implementamos
una clase propia que queremos que sea enviada como parámetro a un objeto remoto,
o recibirla de éste. Para solucionar esto se debe importar en dicha clase el paquete
java.io.Serializable y definir dicha clase como que implementa la interfaz Serializable
UNIDAD 6
6.1 ADMINISTRACIÓN DE SISTEMAS DISTRIBUIDOS
La administración de sistemas distribuidos incluye las actividades como: manejo
de la versión y distribución del software, monitoreo de la utilización de los recursos y
el mantenimiento del sistema de seguridad, entre otros.
Los administradores de sistemas distribuidos se ocupan de monitorear
continuamente al sistema y se deben de asegurar de su disponibilidad. Para una buena
administración, se debe de poder identificar las áreas que están teniendo problemas
así como de la rápida recuperación de fallas que se puedan presentar. La información
que se obtiene mediante el monitoreo sirve a los administradores para anticipar
situaciones críticas. La prevención de estas situaciones ayuda a que los problemas no
crezcan para que no afecten a los usuarios del sistema.
6.1.1 INSTALACION
El instalar un sistema operativo no es solo instalar un CD y ejecutarlo, ya que
debe configurarse para blindarlo de amenazas y ofrecer mayor seguridad.
Una vez instalado el sistema operativo se deben realizar las siguientes acciones:
 Verificar que el firewall esté habilitado y habilitarlo en caso contrario.
 Actualizar a las últimas versiones del producto.
 Verificar las actualizaciones automáticas
 Habilitar la protección antivirus
 Crear un usuario con permisos no-administrativos y dejar el
usuario“administrador” sólo para tareas de instalación y mantenimiento
 Deshabilitar algunos servicios si es Windows XP
Instalación Típica
 Soporte de instalación del Sistema Operativo (CD con auto-arranque)
 Información del hardware disponible en la máquina destino
 Drivers de los dispositivos hardware para el sistema operativo elegido
(mínimo la tarjeta gráfica, aunque es muy aconsejable disponer de conexión
a internet)
De forma general, la instalación se compone de los siguientes pasos:
1. Configuración del dispositivo de arranque en la BIOS
2. Creación de las particiones en el disco duro
3. Creación del sistema de ficheros
4. Selección de paquetes
5. Configuración
6. Instalación y configuración de aplicaciones
En el caso concreto de a práctica, se se va a instalar un sistema operativo
Microsoft Windows. El instalador se subdivide en dos partes fundamentales:
1. Instalación modo texto: Se encarga de detectar y cargar los controladores
necesarios. Permite crear las particiones y sistema de ficheros y finaliza
realizando la copia de los ficheros imprescindibles.
2. Instalación gráfica: encargada de realizar la copia de los ficheros del sistema
y aplicaciones del sistema operativo y permite configurar las opciones de
internacionalización y de red.
6.1.2 CONFIGURACION
6.1.3 ESTÁNDARES DEADMINISTRACIÓN EN SISTEMAS DISTRIBUIDOS
Aquellas normas usuales, los propósitos, los objetivos, a alcanzar, los datos de
carácter histórico las directrices que guían las actividades, las predicciones sobre el
volumen de estas, las metas a alcanzar y aquellos índices que integran los planes , y
todo dato o cifra que pueda emplearse como medida para cumplirlas, son
considerados como estándares.
Estas medidas son indispensables para el control, ya que indican la manera en que
deseas que se ejecute una actividad.
Para construir los estándares, debe partirse del análisis de procesos, como las
normas de trabajo o de costos y la recopilación de experiencias anteriores.
 Estándares estadísticos o históricos
 Estándares elaborados.
Los estándares puedes ser físicos, intangibles, de costos, de inversión, de recursos
o medios de producción, de ingresos o de resultados.
Los estándares pueden representar calidad, mediante índices o calificaciones
convencionales o por medio de coeficientes.
6.2 SUPER COMPUTO BASADO EN CLUSTERING COMO SOLUCION A LA NECESIDAD DE
ALTO PROCESAMIENTO EN LA NUEVA ERA
El número de procesadores en un clúster se ha incrementado notablemente, se
habla de cientos de procesadores. De acuerdo al reporte de http://www.top500.org,
de Noviembre de 2004, entre las diez supercomputadoras más rápidas del mundo,
figuran cinco basadas en clusters, empleando un número de nodos en el orden de
4000.
El cluster más rápido se denomina MareNostrum, un eServerBladeCenter JS20,
formado por 4536 procesadores PowerPC970 de 2.2 GHz e interconectados con una
red Myrinet, es considerada la cuarta computadora más veloz y fue desarrollada por
el Barcelona Supercomputer Center de España. La quinta computadora más veloz se
denomina Thunder, formada por 4096 procesadores Intel Itanium 2 de 1.4 GHz e
interconectados con una red Quadrics, fue desarrollado por Lawrence
LivermoreNationalLaboratory de los Estados Unidos.
La sexta computadora se denominaASCI Q y está conformada por 8192
procesadores AlphaServer SC45 de 1.25 GHz, fue desarrollada por Los
AlamosNationalLaboratory de los Estados Unidos. La séptima computadora se
denomina System X y está conformada por 2200 procesadores 1100 Dual Apple XServe
de 2.3 GHz y posee dos redes una Cisco GigE y otra MellanoxInfiniband, fue
desarrollada por Virginia Tech de los Estados Unidos. La décima computadora también
es un cluster, se denominaTungsten y está formada por 1450 procesadores P4 Xeon de
3.06 GHz y utiliza una red Myrinet para la interconexión de los nodos, fue desarrollada
por NCSA de los Estados Unidos.
En la actualidad, se pretende que este tipo de solución se inserte entre las
tendencias ampliamente utilizadas en el mundo de IT, que no sean únicamente un
instrumento en universidades e institutos de investigación. Más aún, como Gordon y
Gray (2001) señalan, se prevé una convergencia de clusters con tópicos como
computación P2P (peer-to-peer) y computación Grid (Grid Computing).
Por lo mencionado, existe la necesidad de un adecuado entendimiento de lo
que la computación con clusters puede ofrecer, cómo los clusters de computadoras
pueden construirse, y cuál su impacto en aplicaciones identificadas como adecuadas
para un ambiente basado en clusters.
6.3 INSTALACION DE UN CLUSTER
Un clúster es una solución computacional estructurada a partir de un conjunto de
sistemas computacionales muy similares entre si (grupo de computadoras),
interconectados mediante alguna tecnología de red de alta velocidad, configurados de
forma coordinada para dar la ilusión de un único recurso; cada uno de estos sistemas
estará proveyendo un mismo servicio o ejecutando una (o parte de una) misma
aplicación paralela. Un clúster debe tener como característica inherente la
compartición de recursos: ciclos de CPU (Central Processing Unit), memoria, datos y
servicios.
Los sistemas computacionales (nodos) que conforman el clúster podrían ser
computadoras de uno o varios procesadores; estos sistemas podrían estar montados
en un rack, ubicados en un espacio dedicado exclusivamente a almacenar
computadoras, o en el cubículo de un empleado; lo que cuenta es como están
relacionados, como son accesados, y que tipo de aplicación están ejecutando.
Propósitos de un clúster
De un clúster se espera que presente combinaciones de Alto rendimiento, Alta
disponibilidad, Balanceo de carga, Escalabilidad).
Alto rendimiento:
Un clúster de alto rendimiento es un conjunto de ordenadores que está diseñado
para dar altas prestaciones en cuanto a capacidad de cálculo. Los motivos para utilizar
un clúster de alto rendimiento son:
 El tamaño del problema por resolver
 El precio de la máquina necesaria para resolverlo.
Por medio de un clúster se pueden conseguir capacidades de cálculo
superiores a las de un ordenador más caro que el costo conjunto de los ordenadores
del clúster.
Ejemplo de clúster baratísimos son los que se están realizando en algunas
universidades con computadoras personales desechados por "anticuados" que
consiguen competir en capacidad de cálculo con superordenadores carísimos.
Alta disponibilidad:
Un clúster de alta disponibilidad es un conjunto de dos o más máquinas que se
caracterizan por mantener una serie de servicios compartidos y por estar
constantemente monitorizándose entre sí. Podemos dividirlo en dos clases:
Alta disponibilidad de infraestructura: Si se produce un fallo de hardware en
alguna de las máquinas del clúster, el software de alta disponibilidad es capaz de
arrancar automáticamente los servicios en cualquiera de las otras máquinas del clúster
(failover). Y cuando la máquina que ha fallado se recupera, los servicios son
nuevamente migrados a la máquina original (failback). Esta capacidad de recuperación
automática de servicios nos garantiza la alta disponibilidad de los servicios ofrecidos
por el clúster, minimizando así la percepción del fallo por parte de los usuarios.
Alta disponibilidad de aplicación: Si se produce un fallo del hardware o de las
aplicaciones de alguna de las máquinas del clúster, el software de alta disponibilidad es
capaz de arrancar automáticamente los servicios que han fallado en cualquiera de las
otras máquinas del clúster. Y cuando la máquina que ha fallado se recupera, los
servicios son nuevamente migrados a la máquina original.
Esta capacidad de recuperación automática de servicios nos garantiza la
integridad de la información, ya que no hay pérdida de datos, y además evita molestias
a los usuarios, que no tienen por qué notar que se ha producido un problema.
Balanceo de carga:
El balanceo de carga es un concepto usado en informática que se refiere a la
técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores,
discos u otros recursos. Está íntimamente ligado a los sistemas de multiprocesamiento,
o que hacen uso de más de una unidad de procesamiento para realizar labores útiles.
El balanceo de carga se mantiene gracias a un algoritmo que divide de la manera
más equitativa posible el trabajo, para evitar los así denominados cuellos de botella.
Un clúster de balanceo de carga o de cómputo adaptativo está compuesto por uno o
más ordenadores (llamados nodos) que actúan como frontend del clúster, y que se
ocupan de repartir las peticiones de servicio que reciba el clúster, a otros ordenadores
del clúster que forman el back-end de éste. Un tipo concreto de clúster cuya función es
repartir la carga de proceso entre los nodos en lugar de los servicios es el clúster
openMosix.
Las características más destacadas de este tipo de cluster son:
 Escalabilidad: Se puede ampliar su capacidad fácilmente añadiendo más
ordenadores al clúster.
 Robustez. Ante la caída de alguno de los ordenadores del clúster el servicio se
puede ver mermado, pero mientras haya ordenadores en funcionamiento,
éstos seguirán dando servicio.
Escalabilidad
En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad
deseable de un sistema, una red o un proceso, que indica su habilidad para extender el
margen de operaciones sin perder calidad, o bien manejar el crecimiento continuo de
trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin
perder calidad en los servicios ofrecidos.
En general, también se podría definir como la capacidad del sistema informático de
cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes. Por
ejemplo, una Universidad que establece una red de usuarios por Internet para un
edificio de docentes y no solamente quiere que su sistema informático tenga
capacidad para acoger a los actuales clientes que son todos profesores, sino también a
los clientes que pueda tener en el futuro dado que hay profesores visitantes que
requieren de la red por algunos aplicativos académicos, para esto es necesario
implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de
su uso y re-uso, disminuya o que pueda cambiar su configuración si es necesario.
La escalabilidad como propiedad de los sistemas es generalmente difícil de
definir en cualquier caso, en particular es necesario definir los requerimientos
específicos para la escalabilidad en esas dimensiones donde se crea que son
importantes. Es una edición altamente significativa en sistemas electrónicos, bases de
datos, ruteadores y redes. A un sistema cuyo rendimiento es mejorado después de
haberle añadido más capacidad hardware, proporcionalmente a la capacidad añadida,
se dice que pasa a ser "un sistema escalable".
COMO CREAR UN CLÚSTER EN WINDOWS SERVER 2008 R2 PASO A PASO
1.- Asegurarse que la opción de Failover Clúster este agregada en el servidor a través
de Server Manager/Features/Add Features
Si la opción no está seleccionada solo es necesario agregarla y seguir los pasos para
terminar la instalación
2.- Abrir la consola de Failover Clúster Manager para iniciar la creación del Clúster a
través de la opción Créate a Clúster al centro de la pantalla
3.- Aparecerá el Wizard para crear el Clúster, presionar Next
4.- Escribir o buscar el nombre de los nodos que serán parte de este Clúster. Para mi
demostración solo tendré 1 nodo, SEA-NODE1. Una vez seleccionado los servers
presionar Next
5.- Posteriormente saldrá la pantalla con la opción de validación. Esta opción es muy
importante ya que nos verificara si cumplimos con los requisitos necesarios para
construir el Clúster. Seleccionar Yes para iniciar la validación y presionar Next
6.- Aparecerá una pantalla explicando el objetivo de la prueba de validación. Presionar
Next
7.- Seleccionamos si queremos correr todas las pruebas de validación o solo algunas.
Presionar Next
8.- Si seleccionamos la opción de Run only tests I select aparecerá la pantalla para
seleccionar las pruebas necesarias. Hacer la selección y presionar Next
9.- Posteriormente nos aparecerá la pantalla confirmando que se iniciara la validación,
presionar Next.
10.- La validación iniciara y empezaremos a ver el proceso en la pantalla
11.- Al finalizar el proceso de validación aparecerá un reporte que nos ayudara a
confirmar si cumplimos con los requerimientos para crear el Clúster. Al finalizar la
revisión presionar Finsh.
12.- Después tendremos que asignar el nombre del clúster así como la dirección IP.
Escribir la información y presionar Next
13.- Aparecerá la pantalla confirmando los datos para crear el Clúster. Presionar Next
14.- Una vez que presionamos Next se inicia el proceso para crear el Clúster
15.- Finalmente se desplegara la pantalla con la confirmación de la creación del
Clúster. Presionar Finish
16.- Al abrir la consola de administración Failover Clúster Manager deberemos de
tener el Clúster recién creado asi como el primer nodo perteneciente a nuestro clúster
Ahora solo nos queda empezar a crear los servicios de alta disponibilidad que ofrecerá
nuestro Clúster.
CONCLUSION
Los administradores de sistemas distribuidos se ocupan de monitorear
continuamente al sistema y se deben de asegurar de su disponibilidad.
Estas medidas son indispensables para el control, ya que indican la manera en
que deseas que se ejecute una actividad.
Hoy en día, y gracias a la tecnología, “el termino centralizado” está
desapareciendo, con la llegada de la redes de ordenadores podemos compartir
recursos sin preocuparnos de la ubicación geográfica de la otra persona.
Aplica para cuando múltiples usuarios necesitan tener la misma información al
mismo tiempo.
Ejemplos:
 Cuenta bancaria
 Televisión por cable
 Teléfono
El desarrollo de aplicaciones cliente/servidor mediante sockets conlleva el diseño
de un protocolo o lenguaje de comunicación entre el cliente y el servidor que es fuente
de gran cantidad de errores. Mediante el uso de RMI se consigue una transparencia en
la comunicación entre el cliente y el servidor, tratándose el servidor desde el punto de
vista del cliente como si fuera un objeto local.
BIBLIOGRAFIA
1. Sistemas Operativos. Una Visión Aplicada. Jesús Carretero Pérez. Félix García
Corballeira. Pedro de Miguel Anasagasti. Fernando Pérez Costaya.
2. Sistemas Operativos. Quinta Edicion. Silberschatz Galvin.
3. Sistemas Distribuidos Conceptos y Diseño. G. Coulouris, J. Dollimore, TimKinberg
Sistemas Distribuidos
Sistemas Distribuidos

Más contenido relacionado

La actualidad más candente

Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosVictor Milano
 
comunicacion de sistemas distribuidos
comunicacion de sistemas distribuidoscomunicacion de sistemas distribuidos
comunicacion de sistemas distribuidoscarlosrolo
 
Yamilet gonzalez
Yamilet gonzalezYamilet gonzalez
Yamilet gonzalezyamiigonza
 
Términos de Programación Distribuida 5
Términos de Programación Distribuida 5Términos de Programación Distribuida 5
Términos de Programación Distribuida 5RJ Manayay Chavez
 
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.argentm
 
Sistema operativos distribuidos
Sistema operativos distribuidosSistema operativos distribuidos
Sistema operativos distribuidospgr95
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidosdrianda
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosVictor Reyes
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidossaul_ramos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosLuis Yallerco
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidosJC Alca Arequi
 

La actualidad más candente (20)

Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Taller de Programación Distribuida
Taller de Programación DistribuidaTaller de Programación Distribuida
Taller de Programación Distribuida
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
comunicacion de sistemas distribuidos
comunicacion de sistemas distribuidoscomunicacion de sistemas distribuidos
comunicacion de sistemas distribuidos
 
Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.
 
Yamilet gonzalez
Yamilet gonzalezYamilet gonzalez
Yamilet gonzalez
 
sistemas distribuidos
sistemas distribuidossistemas distribuidos
sistemas distribuidos
 
Términos de Programación Distribuida 5
Términos de Programación Distribuida 5Términos de Programación Distribuida 5
Términos de Programación Distribuida 5
 
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.
 
Sistema operativos distribuidos
Sistema operativos distribuidosSistema operativos distribuidos
Sistema operativos distribuidos
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Trabajo Sistemas Distribuidos Oscar
Trabajo Sistemas Distribuidos OscarTrabajo Sistemas Distribuidos Oscar
Trabajo Sistemas Distribuidos Oscar
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas janetsy
Sistemas janetsySistemas janetsy
Sistemas janetsy
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
 
Sistemas de información distribuidos
Sistemas de información distribuidosSistemas de información distribuidos
Sistemas de información distribuidos
 

Similar a Sistemas Distribuidos

Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Mariagequito
 
sistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidossistemas_Operativos_Distribuidos
sistemas_Operativos_DistribuidosAdriana Rodriguez
 
Sistema operativo distribuido
Sistema operativo distribuidoSistema operativo distribuido
Sistema operativo distribuidoRamon1 rodriguez1
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosTensor
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiIsrael Hernández Lezama
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiIsrael Hernández Lezama
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosRosbeliPolo22
 
1 unidad 2 trabajo.docx dal
1 unidad 2 trabajo.docx dal1 unidad 2 trabajo.docx dal
1 unidad 2 trabajo.docx dalDianaledezma94
 
Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.Jomicast
 
1 unidad jacinto s.o 2
1 unidad jacinto s.o 21 unidad jacinto s.o 2
1 unidad jacinto s.o 2Dianaledezma94
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosVectorinox01
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.scorpion_esab
 

Similar a Sistemas Distribuidos (20)

Redes distribuidas
Redes distribuidasRedes distribuidas
Redes distribuidas
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Maria
 
Puntos extra (sistemas distribuidos)
Puntos extra (sistemas distribuidos)Puntos extra (sistemas distribuidos)
Puntos extra (sistemas distribuidos)
 
sistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidossistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidos
 
Sistema operativo distribuido
Sistema operativo distribuidoSistema operativo distribuido
Sistema operativo distribuido
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iii
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iii
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
1 unidad 2 trabajo.docx dal
1 unidad 2 trabajo.docx dal1 unidad 2 trabajo.docx dal
1 unidad 2 trabajo.docx dal
 
Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.
 
1 unidad jacinto s.o 2
1 unidad jacinto s.o 21 unidad jacinto s.o 2
1 unidad jacinto s.o 2
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Clase002
Clase002Clase002
Clase002
 
Arquitectura software
Arquitectura softwareArquitectura software
Arquitectura software
 
Sistemas operativos ii
Sistemas operativos iiSistemas operativos ii
Sistemas operativos ii
 
Unidad uno s.o
Unidad uno s.oUnidad uno s.o
Unidad uno s.o
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 

Más de Ashley Stronghold Witwicky

Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Ashley Stronghold Witwicky
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasAshley Stronghold Witwicky
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesAshley Stronghold Witwicky
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncionalAshley Stronghold Witwicky
 

Más de Ashley Stronghold Witwicky (20)

Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 
Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)
 
Sanson mata un leon con sus manos
Sanson mata un leon con sus manosSanson mata un leon con sus manos
Sanson mata un leon con sus manos
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogas
 
Constancia de servicio
Constancia de servicioConstancia de servicio
Constancia de servicio
 
Requisitos para Guia Mayor
Requisitos para Guia MayorRequisitos para Guia Mayor
Requisitos para Guia Mayor
 
Instructivo de llenado carta poder
Instructivo de llenado carta poderInstructivo de llenado carta poder
Instructivo de llenado carta poder
 
Constancia experiencia profesional
Constancia experiencia profesionalConstancia experiencia profesional
Constancia experiencia profesional
 
Ideales ja
Ideales jaIdeales ja
Ideales ja
 
Mysql
MysqlMysql
Mysql
 
Especialidad de insectos desarrollada
Especialidad de insectos desarrolladaEspecialidad de insectos desarrollada
Especialidad de insectos desarrollada
 
Manual basico autocad_2012
Manual basico autocad_2012Manual basico autocad_2012
Manual basico autocad_2012
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantes
 
Ecuaciones primer grado con una incognita
Ecuaciones primer grado con una incognitaEcuaciones primer grado con una incognita
Ecuaciones primer grado con una incognita
 
Conversion de unidades
Conversion de unidadesConversion de unidades
Conversion de unidades
 
Curso de my sql
Curso de my sqlCurso de my sql
Curso de my sql
 
Manual de microsoft publisher 2007
Manual de microsoft publisher 2007Manual de microsoft publisher 2007
Manual de microsoft publisher 2007
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
 
Biblia de publisher 2007
Biblia de publisher 2007Biblia de publisher 2007
Biblia de publisher 2007
 
Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007
 

Último

tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariasusafy7
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDaysonMillerAvilesAc1
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfLucianaGomez67
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUManuelSosa83
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx170766
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxmiguelmateos18
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfGabrielCayampiGutier
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 

Último (20)

tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdf
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 

Sistemas Distribuidos

  • 1. INSTITUTO TECNOLOGICO DE TAPACHULA Nombre Del Alumno: Sheyla Berenice Martínez Ramos Nombre De La Carrera: Ingeniería En Sistemas Computacionales Nombre Del Profesor: L. I. Raúl Monzón Urbieta Nombre De La Materia: Sistemas Distribuidos Nombre De La Materia: Sistemas Distribuidos Tema: Unidad 5 y 6
  • 2. INTRODUCCION Un sistema distribuido se define como una colección de computadores autónomos conectados por una red, y con el software distribuido adecuado para que el sistema sea visto por los usuarios como una única entidad capaz de proporcionar facilidades de computación. El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta velocidad a principios de 1970. Más recientemente, la disponibilidad de computadoras personales de altas prestaciones, estaciones de trabajo y ordenadores servidores ha resultado en un mayor desplazamiento hacia los sistemas distribuidos en detrimento de los ordenadores centralizados multiusuario. Esta tendencia se ha acelerado por el desarrollo de software para sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones distribuidas. Este software permite a los ordenadores coordinar sus actividades y compartir los recursos del sistema – hardware, software y datos Los sistemas distribuidos se basan 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. Esto mejoraría circunstancialmente los actuales servidores de archivos puesto que se podrá adquirir gran cantidad de gigabytes de memoria, aunque todavía se presente el problema de que la memoria sea volátil, es decir, que cuando se apaga el sistema se borran los archivos. 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. 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.
  • 3. UNIDAD 5 5.1 ACCESO A RECURSOS DISTRIBUIDOS La compartición de recursos abarca desde componentes hardware como discos e impresoras hasta elementos software como ficheros, ventanas, bases de datos y otros objetos de datos. Los sistemas multiusuario proveen compartición de recursos entre sus usuarios. Sin embargo, los recursos de una computadora multiusuario se comparten entre todos sus usuarios. Por el contrario, los usuarios de estaciones de trabajo monousuario o computadoras personales dentro de un sistema distribuido no obtienen los beneficios de la compartición de recursos.
  • 4. Los recursos están encapsulados en una de las computadoras y sólo pueden acceder por otras computadoras mediante la red. Para que la compartición de recursos sea efectiva, debe ser manejada por un programa que ofrezca un interfaz de comunicación permitiendo que el recurso sea accedido, manipulado y actualizado de una manera fiable y consistente. Apertura (opennesss) Un sistema informático es abierto si puede ser extendido de diversas maneras. Además puede ser abierto o cerrado con respecto a extensiones hardware (añadir periféricos, memoria o interfaces de comunicación, etc.) o con respecto a las extensiones software (añadir características al sistema operativo, protocolos de comunicación y servicios de compartición de recursos, etc.). La apertura se determina por qué nuevos servicios de compartición de recursos se pueden añadir sin perjudicar ni duplicar a los ya existentes. Los Sistemas Distribuidos Abiertos: Ofrecen servicios de acuerdo a reglas estandarizadas que describen la sintaxis y semántica de dichos servicios.  Deben permitir la interoperabilidad y la portabilidad.  Interoperabilidad se refiere a la capacidad de dos sistemas o componentes de desarrolladores distintos para funcionar en conjunto basándose únicamente en los servicios ofrecidos por cada sistema según se especifica en un estándar común.  Portabilidad se refiere a la capacidad de una aplicación desarrollada para un sistema distribuido "A", de ser ejecutada en sistema distribuido "B" que implemente las mismas interfaces de "A".  Es independiente de la heterogeneidad del entorno subyacente: hardware, sistemas operativos y lenguajes de programación. Concurrencia Cuando existen varios procesos en ejecución en una misma máquina decimos que se están ejecutando concurrentemente. Esta característica permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y agentes que interactúan en la red. Escalabilidad El sistema es escalable si conserva su efectividad al ocurrir un incremento considerable en el número de recursos y en el número de usuarios. Tolerancia a Fallos
  • 5. Es la posibilidad que tiene el sistema para seguir funcionando ante fallos de algún componente en forma independiente, pero para esto se tiene que tener alguna alternativa de solución. Técnicas para tratar fallos:  Detección de fallos. Algunos fallos son detectables, con comprobaciones por ejemplo.  Enmascaramiento de fallos. Algunos fallos detectados pueden ocultarse o atenuarse.  Tolerancia de fallos. Sobre todo en Internet se dan muchos fallos y no es muy conveniente ocultarlos, es mejor tolerarlos y continuar. Ej: Tiempo de vida de una búsqueda.  Recuperación frente a fallos. Tras un fallo se deberá tener la capacidad de volver a un estado anterior.  Redundancia. Se puede usar para tolerar ciertos fallos (DNS, BD, etc.) Transparencia Es la ocultación al usuario y al programador de aplicaciones de la separación de los componentes de un sistema distribuido, de manera que el usuario y los programas ven al sistema como un todo, en vez de una colección de componentes independientes. Se identifican 8 formas de transparencia: 1. De acceso. Se accede a recursos locales y remotos de forma idéntica. 2. De ubicación. Permite acceder a los recursos sin conocer su ubicación. 3. De concurrencia. Usar un recurso compartido sin interferencia. 4. De replicación. Permite utilizar varios ejemplares de cada recurso. 5. Transparencia de fallos. Permite ocultar los fallos. 6. De movilidad. Permite la reubicación de recursos y clientes sin afectar al sistema. 7. De prestaciones. Permite reconfigurar el sistema para mejorar las prestaciones según su carga. 8. Al escalado. Permite al sistema y a las aplicaciones expandirse en tamaño sin cambiar la estructura del sistema o los algoritmos de aplicación.
  • 6. 5.2 PROCEDIMIENTOS REMOTOS RMI RMI (RemoteMethodInvocation) es una tecnología java que permite enviar mensajes a objetos situados en otra máquina virtual desde una aplicación que este ejecutándose en una máquina virtual. En su versión básica requiere de toda aplicación (tanto el cliente como el servidor) estén desarrolladas en java. Esto permite tener los objetos distribuidos en diversas maquinas. Esta tecnología permite que se puedan pasar argumentos al método remoto y recibir los datos que devuelve (en ambos casos pueden ser tipos primitivos u objetos de clases que sean serializables). Cada servicio RMI (objeto remoto) se define mediante una interface que fija los métodos que se pueden invocar en el objeto remoto. Esta interface debe estar disponible en el cliente y el servidor. Objetivos de Java-RMI Los objetivos del Java-RMI según se definen en el manual de especificaciones son los siguientes: ·  Soporte de invocación de objetos remotos en diferentes máquinas virtuales Java.  Soporte de retorno de resultados desde el servidor a los clientes.  Integrar el modelo de objetos distribuidos en el lenguaje Java de una forma natural, mientras se mantiene la semántica de objetos ya definidas en Java.  Realizar aplicaciones distribuidas lo más simples y legibles posibles.  Preservar la seguridad que provee el runtime systemde Java 5.3 CLIENTES Y SERVIDORES RMI Toda aplicación RMI normalmente se descompone en 2 partes:  Un servidor, que crea algunos objetos remotos, crea referencias para hacerlos accesibles, y espera a que el cliente los invoque.
  • 7.  Un cliente, que obtiene una referencia a objetos remotos en el servidor, y los invoca. Crear un servidor RMI Un servidor RMI consiste en definir un objeto remoto que va a ser utilizado por los clientes. Para crear un objeto remoto, se define una interfaz, y el objeto remoto será una clase que implemente dicha interfaz. Veamos cómo crear un servidor de ejemplo mediante 3 pasos: Cuando se crea un interfaz remoto:  El interfaz debe ser público.  Debe extender (heredar de) el interfaz java.rmi.Remote, para indicar que puede llamarse desde cualquier máquina virtual Java.  Cada método remoto debe lanzar la excepción java.rmi.RemoteException en su claúsula throws, además de las excepciones que pueda manejar. 5.4 DESARROLLO DE APLICACIONES CLIENTE-SERVIDOR DISTRIBUIDAS QUE HAGAN USO DE RMI El desarrollo de aplicaciones cliente/servidor mediante Java-RMI requiere 6 etapas: 1. Definir una interfaz remota. 2. Implementar dicha interfaz remota. (Servidor). 3. Implementar la aplicación que usa los objetos remotos. (Cliente). 4. Generar los Stubs (Proxies cliente) y Skeletons (entidades servidor). 5. Ejecutar el registry (servidor de nombres). 6. Ejecutar el servidor y los clientes. Realizaremos un estudio de cada etapa con un ejemplo que nos ayudará a la mejor comprensión de cada una de ellas. Vamos a realizar un servidor de operaciones para matrices y vectores y un cliente que hará uso de los servicios que éste nos proporciona. Definición de la Interfaz Remota. El primer paso es definir una interfaz remota para los objetos remotos. Esto es necesario para que el usuario cliente conozca las operaciones que le son permitidas, así como los tipos, parámetros y clases que puede utilizar.
  • 8. Nótese que la interfaz debe declararse pública para que los clientes puedan usarla, así como debe heredar de Remote para que el servidor se vea como un objeto remoto. También es obligatorio que todos los métodos a implementar eleven la excepción RemoteException, ya que esta se produce en determinados casos como fallos de conexión, o si cae el servidor, etc. Otro detalle que puede ser interesante es el uso del polimorfismo, se puede ver que hemos utilizado el mismo nombre de operador para las operaciones de vectores y matrices, pero la máquina Java sabrá cuál debe usar en función del tipo de sus parámetros. Ahora deberemos compilar nuestra interfaz, mediante: % javac InterfazMatriz.java Implementación del Interfaz Remoto. El siguiente paso en el ciclo de vida del desarrollo de software distribuido mediante Java-RMI es la implementación del interfaz remoto.
  • 9.
  • 10. Ahora deberemos compilar nuestro servidor, mediante: % javac ServerMatriz.java Creación de una aplicación cliente que use el interfaz remoto. Vamos a realizar un sencillo ejemplo de un cliente que desea realizar la suma de dos vectores y para ello utilizará el servidor remoto.
  • 11. Ahora deberemos compilar nuestro cliente, mediante: % javac DemoMatriz.java Generación de Stubs y Skeletons. Ahora estamos preparados para generar los Stubs y Skeletons, para ello deberemos usar el compilador rmic. Un Stubs es un cliente proxy y un Skeletons es una entidad servidor que realiza las llamadas al objeto remoto servidor. Estos son cargados dinámicamente cuando son necesitados en tiempo de ejecución. Para ello usaremos: % rmic ServerMatriz Esto generará los archivos ServerMatriz_Skel.class y ServerMatriz_Stub.class. Nótese que la variable de entorno CLASSPATH debe apuntar al directorio donde están siendo compiladas y almacenadas las clases para que éstas puedan ser localizadas. Un ejemplo típico del valor de esta variable sería: setenv CLASSPATH .:/disk2/softw/jdk1.1.1/lib/classes.zip RMI registry Antes de poder ejecutar nuestra aplicación, debemos ejecutar el rmiregistry, que es un servidor de nombre que permite a los clientes obtener las referencias a los objetos remotos. Para ello ejecutaremos: % rmiregistry &. El rmiregistry por defecto usa el puerto 1099, si por alguna razón estamos usando dicho puerto para otro cometido o deseamos utilizar otro puerto diferente, deberemos usar: % rmiregistry &. En este último caso, deberemos indicar también el número del puerto en la llamada a Naming.Rebind y Naming.lookup añadiendo ‘:<puerto Ejecución del cliente y el servidor. Ahora ya estamos preparados para ejecutar el servidor en la máquina remota, para ello ejecutaremos: % Java ServerMatriz & Y obtendremos como resultado: ServidorMatriz instalado en NombreMáquina Posteriormente en nuestra máquina local ejecutaremos el cliente: % Java DemoMatriz Y obtendremos como resultado:( 1, 2, 3, 4, 5 ) + ( 6, 7, 8, 9, 0 ) = ( 7, 9, 11, 13, 5 ) Serialización de Objetos. Un tema importante a tener en cuenta es la serialización de objetos. Debido a que tanto el paso de parámetros como el retorno de resultados se realizan vía Streams, dichos parámetros deben ser serializables, es decir, que se puedan enviar como una tira de bytes. Para los tipos y clases standard en Java esto no es ningún problema, ya que son serializables, el problema viene dado cuando implementamos una clase propia que queremos que sea enviada como parámetro a un objeto remoto,
  • 12. o recibirla de éste. Para solucionar esto se debe importar en dicha clase el paquete java.io.Serializable y definir dicha clase como que implementa la interfaz Serializable UNIDAD 6 6.1 ADMINISTRACIÓN DE SISTEMAS DISTRIBUIDOS La administración de sistemas distribuidos incluye las actividades como: manejo de la versión y distribución del software, monitoreo de la utilización de los recursos y el mantenimiento del sistema de seguridad, entre otros. Los administradores de sistemas distribuidos se ocupan de monitorear continuamente al sistema y se deben de asegurar de su disponibilidad. Para una buena administración, se debe de poder identificar las áreas que están teniendo problemas así como de la rápida recuperación de fallas que se puedan presentar. La información que se obtiene mediante el monitoreo sirve a los administradores para anticipar situaciones críticas. La prevención de estas situaciones ayuda a que los problemas no crezcan para que no afecten a los usuarios del sistema. 6.1.1 INSTALACION El instalar un sistema operativo no es solo instalar un CD y ejecutarlo, ya que debe configurarse para blindarlo de amenazas y ofrecer mayor seguridad. Una vez instalado el sistema operativo se deben realizar las siguientes acciones:  Verificar que el firewall esté habilitado y habilitarlo en caso contrario.  Actualizar a las últimas versiones del producto.  Verificar las actualizaciones automáticas  Habilitar la protección antivirus  Crear un usuario con permisos no-administrativos y dejar el usuario“administrador” sólo para tareas de instalación y mantenimiento  Deshabilitar algunos servicios si es Windows XP Instalación Típica  Soporte de instalación del Sistema Operativo (CD con auto-arranque)
  • 13.  Información del hardware disponible en la máquina destino  Drivers de los dispositivos hardware para el sistema operativo elegido (mínimo la tarjeta gráfica, aunque es muy aconsejable disponer de conexión a internet) De forma general, la instalación se compone de los siguientes pasos: 1. Configuración del dispositivo de arranque en la BIOS 2. Creación de las particiones en el disco duro 3. Creación del sistema de ficheros 4. Selección de paquetes 5. Configuración 6. Instalación y configuración de aplicaciones En el caso concreto de a práctica, se se va a instalar un sistema operativo Microsoft Windows. El instalador se subdivide en dos partes fundamentales: 1. Instalación modo texto: Se encarga de detectar y cargar los controladores necesarios. Permite crear las particiones y sistema de ficheros y finaliza realizando la copia de los ficheros imprescindibles. 2. Instalación gráfica: encargada de realizar la copia de los ficheros del sistema y aplicaciones del sistema operativo y permite configurar las opciones de internacionalización y de red. 6.1.2 CONFIGURACION 6.1.3 ESTÁNDARES DEADMINISTRACIÓN EN SISTEMAS DISTRIBUIDOS Aquellas normas usuales, los propósitos, los objetivos, a alcanzar, los datos de carácter histórico las directrices que guían las actividades, las predicciones sobre el volumen de estas, las metas a alcanzar y aquellos índices que integran los planes , y todo dato o cifra que pueda emplearse como medida para cumplirlas, son considerados como estándares. Estas medidas son indispensables para el control, ya que indican la manera en que deseas que se ejecute una actividad. Para construir los estándares, debe partirse del análisis de procesos, como las normas de trabajo o de costos y la recopilación de experiencias anteriores.  Estándares estadísticos o históricos  Estándares elaborados.
  • 14. Los estándares puedes ser físicos, intangibles, de costos, de inversión, de recursos o medios de producción, de ingresos o de resultados. Los estándares pueden representar calidad, mediante índices o calificaciones convencionales o por medio de coeficientes. 6.2 SUPER COMPUTO BASADO EN CLUSTERING COMO SOLUCION A LA NECESIDAD DE ALTO PROCESAMIENTO EN LA NUEVA ERA El número de procesadores en un clúster se ha incrementado notablemente, se habla de cientos de procesadores. De acuerdo al reporte de http://www.top500.org, de Noviembre de 2004, entre las diez supercomputadoras más rápidas del mundo, figuran cinco basadas en clusters, empleando un número de nodos en el orden de 4000. El cluster más rápido se denomina MareNostrum, un eServerBladeCenter JS20, formado por 4536 procesadores PowerPC970 de 2.2 GHz e interconectados con una red Myrinet, es considerada la cuarta computadora más veloz y fue desarrollada por el Barcelona Supercomputer Center de España. La quinta computadora más veloz se denomina Thunder, formada por 4096 procesadores Intel Itanium 2 de 1.4 GHz e interconectados con una red Quadrics, fue desarrollado por Lawrence LivermoreNationalLaboratory de los Estados Unidos. La sexta computadora se denominaASCI Q y está conformada por 8192 procesadores AlphaServer SC45 de 1.25 GHz, fue desarrollada por Los AlamosNationalLaboratory de los Estados Unidos. La séptima computadora se denomina System X y está conformada por 2200 procesadores 1100 Dual Apple XServe de 2.3 GHz y posee dos redes una Cisco GigE y otra MellanoxInfiniband, fue desarrollada por Virginia Tech de los Estados Unidos. La décima computadora también es un cluster, se denominaTungsten y está formada por 1450 procesadores P4 Xeon de 3.06 GHz y utiliza una red Myrinet para la interconexión de los nodos, fue desarrollada por NCSA de los Estados Unidos.
  • 15. En la actualidad, se pretende que este tipo de solución se inserte entre las tendencias ampliamente utilizadas en el mundo de IT, que no sean únicamente un instrumento en universidades e institutos de investigación. Más aún, como Gordon y Gray (2001) señalan, se prevé una convergencia de clusters con tópicos como computación P2P (peer-to-peer) y computación Grid (Grid Computing). Por lo mencionado, existe la necesidad de un adecuado entendimiento de lo que la computación con clusters puede ofrecer, cómo los clusters de computadoras pueden construirse, y cuál su impacto en aplicaciones identificadas como adecuadas para un ambiente basado en clusters. 6.3 INSTALACION DE UN CLUSTER Un clúster es una solución computacional estructurada a partir de un conjunto de sistemas computacionales muy similares entre si (grupo de computadoras), interconectados mediante alguna tecnología de red de alta velocidad, configurados de forma coordinada para dar la ilusión de un único recurso; cada uno de estos sistemas estará proveyendo un mismo servicio o ejecutando una (o parte de una) misma aplicación paralela. Un clúster debe tener como característica inherente la compartición de recursos: ciclos de CPU (Central Processing Unit), memoria, datos y servicios. Los sistemas computacionales (nodos) que conforman el clúster podrían ser computadoras de uno o varios procesadores; estos sistemas podrían estar montados en un rack, ubicados en un espacio dedicado exclusivamente a almacenar computadoras, o en el cubículo de un empleado; lo que cuenta es como están relacionados, como son accesados, y que tipo de aplicación están ejecutando. Propósitos de un clúster De un clúster se espera que presente combinaciones de Alto rendimiento, Alta disponibilidad, Balanceo de carga, Escalabilidad). Alto rendimiento: Un clúster de alto rendimiento es un conjunto de ordenadores que está diseñado para dar altas prestaciones en cuanto a capacidad de cálculo. Los motivos para utilizar un clúster de alto rendimiento son:  El tamaño del problema por resolver  El precio de la máquina necesaria para resolverlo. Por medio de un clúster se pueden conseguir capacidades de cálculo superiores a las de un ordenador más caro que el costo conjunto de los ordenadores del clúster.
  • 16. Ejemplo de clúster baratísimos son los que se están realizando en algunas universidades con computadoras personales desechados por "anticuados" que consiguen competir en capacidad de cálculo con superordenadores carísimos. Alta disponibilidad: Un clúster de alta disponibilidad es un conjunto de dos o más máquinas que se caracterizan por mantener una serie de servicios compartidos y por estar constantemente monitorizándose entre sí. Podemos dividirlo en dos clases: Alta disponibilidad de infraestructura: Si se produce un fallo de hardware en alguna de las máquinas del clúster, el software de alta disponibilidad es capaz de arrancar automáticamente los servicios en cualquiera de las otras máquinas del clúster (failover). Y cuando la máquina que ha fallado se recupera, los servicios son nuevamente migrados a la máquina original (failback). Esta capacidad de recuperación automática de servicios nos garantiza la alta disponibilidad de los servicios ofrecidos por el clúster, minimizando así la percepción del fallo por parte de los usuarios. Alta disponibilidad de aplicación: Si se produce un fallo del hardware o de las aplicaciones de alguna de las máquinas del clúster, el software de alta disponibilidad es capaz de arrancar automáticamente los servicios que han fallado en cualquiera de las otras máquinas del clúster. Y cuando la máquina que ha fallado se recupera, los servicios son nuevamente migrados a la máquina original. Esta capacidad de recuperación automática de servicios nos garantiza la integridad de la información, ya que no hay pérdida de datos, y además evita molestias a los usuarios, que no tienen por qué notar que se ha producido un problema. Balanceo de carga: El balanceo de carga es un concepto usado en informática que se refiere a la técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores, discos u otros recursos. Está íntimamente ligado a los sistemas de multiprocesamiento, o que hacen uso de más de una unidad de procesamiento para realizar labores útiles. El balanceo de carga se mantiene gracias a un algoritmo que divide de la manera más equitativa posible el trabajo, para evitar los así denominados cuellos de botella. Un clúster de balanceo de carga o de cómputo adaptativo está compuesto por uno o más ordenadores (llamados nodos) que actúan como frontend del clúster, y que se ocupan de repartir las peticiones de servicio que reciba el clúster, a otros ordenadores del clúster que forman el back-end de éste. Un tipo concreto de clúster cuya función es repartir la carga de proceso entre los nodos en lugar de los servicios es el clúster openMosix. Las características más destacadas de este tipo de cluster son:
  • 17.  Escalabilidad: Se puede ampliar su capacidad fácilmente añadiendo más ordenadores al clúster.  Robustez. Ante la caída de alguno de los ordenadores del clúster el servicio se puede ver mermado, pero mientras haya ordenadores en funcionamiento, éstos seguirán dando servicio. Escalabilidad En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para extender el margen de operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos. En general, también se podría definir como la capacidad del sistema informático de cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes. Por ejemplo, una Universidad que establece una red de usuarios por Internet para un edificio de docentes y no solamente quiere que su sistema informático tenga capacidad para acoger a los actuales clientes que son todos profesores, sino también a los clientes que pueda tener en el futuro dado que hay profesores visitantes que requieren de la red por algunos aplicativos académicos, para esto es necesario implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de su uso y re-uso, disminuya o que pueda cambiar su configuración si es necesario. La escalabilidad como propiedad de los sistemas es generalmente difícil de definir en cualquier caso, en particular es necesario definir los requerimientos específicos para la escalabilidad en esas dimensiones donde se crea que son importantes. Es una edición altamente significativa en sistemas electrónicos, bases de datos, ruteadores y redes. A un sistema cuyo rendimiento es mejorado después de haberle añadido más capacidad hardware, proporcionalmente a la capacidad añadida, se dice que pasa a ser "un sistema escalable". COMO CREAR UN CLÚSTER EN WINDOWS SERVER 2008 R2 PASO A PASO 1.- Asegurarse que la opción de Failover Clúster este agregada en el servidor a través de Server Manager/Features/Add Features
  • 18. Si la opción no está seleccionada solo es necesario agregarla y seguir los pasos para terminar la instalación 2.- Abrir la consola de Failover Clúster Manager para iniciar la creación del Clúster a través de la opción Créate a Clúster al centro de la pantalla 3.- Aparecerá el Wizard para crear el Clúster, presionar Next
  • 19. 4.- Escribir o buscar el nombre de los nodos que serán parte de este Clúster. Para mi demostración solo tendré 1 nodo, SEA-NODE1. Una vez seleccionado los servers presionar Next 5.- Posteriormente saldrá la pantalla con la opción de validación. Esta opción es muy importante ya que nos verificara si cumplimos con los requisitos necesarios para construir el Clúster. Seleccionar Yes para iniciar la validación y presionar Next
  • 20. 6.- Aparecerá una pantalla explicando el objetivo de la prueba de validación. Presionar Next 7.- Seleccionamos si queremos correr todas las pruebas de validación o solo algunas. Presionar Next
  • 21. 8.- Si seleccionamos la opción de Run only tests I select aparecerá la pantalla para seleccionar las pruebas necesarias. Hacer la selección y presionar Next 9.- Posteriormente nos aparecerá la pantalla confirmando que se iniciara la validación, presionar Next.
  • 22. 10.- La validación iniciara y empezaremos a ver el proceso en la pantalla 11.- Al finalizar el proceso de validación aparecerá un reporte que nos ayudara a confirmar si cumplimos con los requerimientos para crear el Clúster. Al finalizar la revisión presionar Finsh.
  • 23. 12.- Después tendremos que asignar el nombre del clúster así como la dirección IP. Escribir la información y presionar Next 13.- Aparecerá la pantalla confirmando los datos para crear el Clúster. Presionar Next
  • 24. 14.- Una vez que presionamos Next se inicia el proceso para crear el Clúster 15.- Finalmente se desplegara la pantalla con la confirmación de la creación del Clúster. Presionar Finish
  • 25. 16.- Al abrir la consola de administración Failover Clúster Manager deberemos de tener el Clúster recién creado asi como el primer nodo perteneciente a nuestro clúster Ahora solo nos queda empezar a crear los servicios de alta disponibilidad que ofrecerá nuestro Clúster. CONCLUSION Los administradores de sistemas distribuidos se ocupan de monitorear continuamente al sistema y se deben de asegurar de su disponibilidad.
  • 26. Estas medidas son indispensables para el control, ya que indican la manera en que deseas que se ejecute una actividad. Hoy en día, y gracias a la tecnología, “el termino centralizado” está desapareciendo, con la llegada de la redes de ordenadores podemos compartir recursos sin preocuparnos de la ubicación geográfica de la otra persona. Aplica para cuando múltiples usuarios necesitan tener la misma información al mismo tiempo. Ejemplos:  Cuenta bancaria  Televisión por cable  Teléfono El desarrollo de aplicaciones cliente/servidor mediante sockets conlleva el diseño de un protocolo o lenguaje de comunicación entre el cliente y el servidor que es fuente de gran cantidad de errores. Mediante el uso de RMI se consigue una transparencia en la comunicación entre el cliente y el servidor, tratándose el servidor desde el punto de vista del cliente como si fuera un objeto local. BIBLIOGRAFIA 1. Sistemas Operativos. Una Visión Aplicada. Jesús Carretero Pérez. Félix García Corballeira. Pedro de Miguel Anasagasti. Fernando Pérez Costaya. 2. Sistemas Operativos. Quinta Edicion. Silberschatz Galvin. 3. Sistemas Distribuidos Conceptos y Diseño. G. Coulouris, J. Dollimore, TimKinberg