Archivos Distribuidos

17
Archivos Distribuidos Kelly Lopez Johny Camargo

Transcript of Archivos Distribuidos

Page 1: Archivos Distribuidos

Archivos Distribuidos

Kelly LopezJohny Camargo

Page 2: Archivos Distribuidos

Función

Los sistemas distribuidos de archivos permite a los programas almacenar y acceder a archivos remotos del mismo modo que si fueran locales,

permitiendo a los usuarios que accedan archivos desde cualquier computador.

Page 3: Archivos Distribuidos

Servidor de Archivos

Un servidor de archivos es un proceso que se ejecuta en alguna maquina y ayuda a implantar el servicio de archivo.

Un sistema puede tener uno o varios servidores de archivos, cada uno de los cuales ofrece un servicio de

archivos distintos.

Por lo general un sistema distribuidos de archivos tiene dos componentes razonablemente distintos: el verdadero servicio de archivos y el servicio de directorios. El primero

se encarga de las operaciones en los archivos individuales, como la lectura escritura y adición, mientras

que el segundo se encarga de crear y administrar directorios, añadir y eliminar archivos de los directorios,

etc.

Page 4: Archivos Distribuidos

Servicio de Archivos

Un archivo es una secuencia de bytes sin interpretación alguna. Esto quiere decir que el contenido y estructura de un archivos es

interpretado por el software de aplicación mas no por el sistema operativo sobre el que se está trabajando.

Un archivo se caracteriza por tener atributos, tales como: el propietario, el tamaño, la fecha de creación y el permiso de acceso.

La utilidad del servicio de archivos consiste en proporcionar una adecuada administración de los atributos, definidos por el usuario, que estas poseen. Lo más común es encontrar algunos sistemas

avanzados que permitan modificarlos después de sus creación, pero en algunos sistemas distribuidos las únicas operaciones que pueden realizarse sobre un archivo es CREATE y READ (Crear y Leer). Es

decir, una vez creado el archivo no puede modificarse. A este tipo de archivos se les denomina archivos inmutables.

Existen dos tipos de servicios de archivos distribuidos: modelo carga/descarga y modelo de acceso remoto.

Page 5: Archivos Distribuidos

Servicio de Archivos - Modelos

Modelo Carga/Descarga: Consiste básicamente en dos operaciones: lectura y escritura. La primera operación consiste en la transferencia de un archivo completo desde el servidor hacia el cliente solicitante; la segunda operación consiste en el envío de un archivo del cliente al servidor, es decir, en sentido contrario. Mientras tanto los archivos pueden ser almacenados en memoria o en un disco local, según sea el caso.

Modelo de Acceso Remoto: Este tipo de modelo consiste en que todas las operaciones (abrir y cerrar, leer y escribir, etc.) se realizan en el servidor mas no en los clientes.

Estos dos modelos se diferencian en que en el primero se debe transferir el archivo completo del servidor al cliente y viceversa, lo que no es necesario en el modelo de acceso remoto.Debemos tener en cuenta que el solo hecho de compartir archivos puede traer dos problemas principales por resolver: el permiso de acceso y la gestión de los accesos simultáneos.

Page 6: Archivos Distribuidos

Servicio de Directorios

Proporciona las operaciones para crear y eliminar directorios, nombrar o cambiar el nombre de archivo y mover esto de un directorio

a otro.

Todos los sistemas distribuidos permiten que los directorios contengan subdirectorios, para que los usuarios puedan agrupar los

archivos relacionados entres si. De acuerdo con esto se dispone para la creación y eliminación de directorios, así como para introducir,

eliminar y buscar archivos en ellos. Por lo general, cada subdirectorio contiene todos los archivos de un

proyecto, como un programa o un documento de gran tamaño. Cuando se despliega el (sub)directorio solo se muestra los archivos

relevantes, los archivos no relacionados están en otros (sub)directorios y no agrandan la lista. Los subdirectorios pueden contener sus propios subdirectorios y asi sucesivamente. Lo que

conduce a un árbol de directorios, el cual se conoce como sistema jerárquico de archivo.

Page 7: Archivos Distribuidos

Forma de Compartir Archivos

Si dos o más usuarios comparten el mismo archivo, es necesario definir con precisión la semántica de la lectura y escritura para evitar problemas.

• Semántica de UNIX • Semántica de sesión• Archivos inmutables • Transacciones

Page 8: Archivos Distribuidos

Forma de Compartir Archivos

Semántica de UNIX

Establece que si una operación READ sigue después de una operación WRITE, READ regresa el valor recién escrito de manera análoga, cuando dos WRITE se realizan en serie y después se ejecuta un READ, el valor que se lee es de la última escritura. Este modelo es fácil de comprender y tiene una implantación directa.

Page 9: Archivos Distribuidos

Forma de Compartir Archivos Semántica de sesión

Al usar este método puede ocurrir que dos o más clientes ocultan y modifican el mismo archivo en forma simultanea. Una solución consiste que al cerrar cada archivo su valor se envíe de regreso al servidor, de modo que el resultado final dependerá del que lo cierre más rápido. La dificultad con el uso de cachés y la semántica de sesión es que viola otro aspecto de la semántica de UNIX además del hecho de que no todos los READ regresen el valor de escritura más reciente. En UNIX, a cada archivo abierto se le asocia un apuntador que indica la posición actual en el archivo. Una instrucción READ toma los datos a partir de esa posición y WRITE deposita los datos ahí. Este apuntador es compartido por los procesos que abrieron el archivo. Ningún cambio es visible a otros procesos hasta que el archivo se cierra.

Page 10: Archivos Distribuidos

Forma de Compartir Archivos

Archivos inmutables En este método las únicas operaciones que se permiten son CREATE y READ. Es posible crear un archivo por completo nuevo e introducirlo en el sistema de directorios, con el nombre de un archivo ya existente, el cual se vuelve inaccesible. Aunque es imposible modificar el archivo es posible reemplazarlo por un archivo nuevo. Aunque los archivos no se puedan modificar los directorios sí.Un problema mas molesto consiste en que hacer si un archivo se reemplaza mientras otro esta ocupado leyéndolo. Una solución consiste en que el lector utilice el archivo anterior, aunque este ya no exista en directorio alguno de esta forma se permite que un proceso con un archivo abierto continua utilizándolo, aún cuando este haya sido eliminado de todos los directorios. otra solución consiste en detectar la modificación del archivo y hacer que fallen los intentos posteriores por leerlos. No existe actualizaciones; es más fácil de compartir y replicar.

Page 11: Archivos Distribuidos

Forma de Compartir Archivos

Transacciones Para tener acceso a un archivo o grupo de archivos, un proceso ejecuta en primer lugar cierto tipo de primitiva BEGINTRANSACTION para señalar que lo que sigue debe ejecutarse de manera indivisible. Después vienen las llamadas al sistema para leer o escribir en uno más archivos. Al terminar el trabajo, se ejecuta una primitiva en TRANSACTION, esto garantiza que todas las llamadas contenidas dentro de la transacción se llevaran a cabo en orden, sin interferencia de otras transacciones concurrentes. Si dos o más transacciones se realizan al mismo tiempo, el sistema garantiza que el resultado final es el mismo que si se ejecutasen en cierto orden secuencial. Todos los cambios tienen la propiedad del todo o nada.

Page 12: Archivos Distribuidos

Sistema Operativo

• Solaris 10 es un sistema operativo multiplataforma, Es compatible con sistemas basados en x86-64.

• Una de sus principales características es que posee un Sistema Preventivo de Autoreparación que puede, automáticamente, diagnosticar, aislar y recuperar muchos fallas en los recursos de hardware y aplicaciones reduciendo los tiempos de caída y no disponibilidad de los centros de datos.

• Trae incorporado el sistema de archivos ZFS.• ZFS (Zettabyte File System ) es el nuevo sistema de

archivos incorporado a Solaris 10. Es un sistema de archivos de 128 bits y su límite de tamaño máximo es de 256 cuatrillones de zettabytes, es decir 16 millones de millones más de capacidad que los sistemas de archivos 64-bit existentes.

Page 13: Archivos Distribuidos

Sistema Operativo

Nosotros usamos el Java Desktop System, por ser una interfaz más amigable.

Page 14: Archivos Distribuidos

ZFSEste sistema de archivos ofrece:

• Administración sencilla: ZFS automatiza y consolida complicados conceptos de almacenamiento, con lo que se reduce la sobrecarga administrativa en un 80 por ciento.

• Integridad de datos: ZFS protege todos los datos con sumas de comprobación de 64 bits que detectan y corrigen el daño de datos silenciosos. Utiliza Copy-on-write (ZFS no sobrescribe los nuevos datos directamente, crea los datos en un nuevo bloque y posteriormente cambia los punteros de datos y realiza la escritura definitiva. Esto permite las siguientes ventajas: – Estado en disco siempre válido.– Copias de seguridad coherente y fiable.– Capacidad de deshacer datos hasta un punto en el tiempo conocido.

• Escalabilidad: ZFS, es el primer sistema de archivos de 128 bits, ofrece una capacidad de 16.000 millones de veces superior a la de los sistemas de 32 ó 64-bits.

• Rendimiento: El modelo transaccional elimina la mayor parte de las restricciones tradicionales sobre la orden de emisión de E/S, con lo que se consiguen increíbles mejoras en el rendimiento.

Page 15: Archivos Distribuidos

CREACION ZFS

• Solaris ZFS utiliza un único comando para configurar un conjunto de almacenamiento y un sistema de archivos. Por ejemplo:

• # zpool create -f compartido c1d0 c1d1• El zpool esta formado por dispositivos de

almacenamiento de igual o diferentes capacidades.

• Los sistemas de ficheros ZFS comparten el pool y se puede definir cuotas y reservar de espacio para un solo sistema de ficheros.

Page 16: Archivos Distribuidos

• Luego de crear el pool se crean los ficheros que se compartirán.# zfs create compartido/aplicaciones# zfs create compartido/documentos

• Luego le asignamos un tamaño de cuota a cada fichero# zfs set quota = 1GB compartido/aplicaciones# zfs set quota = 1GB compartido/documentos• Por ultimo se garantiza que la cuota efectivamente es de 1

GB con el comando #zfs set reservation=1GB compartido/aplicaciones Con zpool status se verifica que todo halla quedado bien.

CREACION ZFS

Page 17: Archivos Distribuidos

Compartir Carpetas

• En Sitios de Red también se pueden agregar carpetas para compartir información.