2. 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.
3. 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.
4. 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.
5. 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.
6. 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.
7. 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
8. 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.
9. 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.
10. 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.
11. 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.
12. 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.
14. ZFS
Este 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.
15. 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.
16. • 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
17. Compartir Carpetas
• En Sitios de Red también se pueden agregar
carpetas para compartir información.