Está en la página 1de 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áfic o
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 system de 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áqui nas 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

También podría gustarte