La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 4: Sistema de Archivos NFS

Presentaciones similares


Presentación del tema: "Tema 4: Sistema de Archivos NFS"— Transcripción de la presentación:

1 Tema 4: Sistema de Archivos NFS
Miguel Ramos Soto IES Serra Perenxisa 2008

2 NFS Network File System
Acceso remoto a ficheros con transparencia de ubicación a través de NFS, usuarios y programas pueden acceder a ficheros ubicados en sistemas remotas como si fuera ficheros locales Acceso remoto vs transferencia de ficheros – transferencias de bloques de datos – se permite: open, read,write,seek,close,.. Creado por Sun NFS – v1 (1985) – v2 (1989)® RFC1094 – v3 (1994)® RFC1813

3 NFS Network File System
Dos lados de NFS - cliente servidor – El cliente es el sistema que utiliza los directorios remotos como si fuera parte de su propio sistema de fichero local – El servidor es el sistema que dispone de los directorios para usar Añadir un directorio remoto a un sistema de ficheros local se denomina montar (mount) Ofrecer un directorio para acceso remoto, (una función de servidor) se denomina sharing.

4 NFS Network File System
Heterogeneidad: implementado en muchos SO y plataformas Hw diferentes Usa RPC/XDR -Un servidor NFS es un programa formado por un conjunto de procedimientos Independiente del protocolo de red (normalmente sobre UDP) Soporta varios mecanismos de seguridad. Basada en los mecanismos de autenticación RPCs: – Unix o del sistema – Diffie-Hellman o basada en DES – Kerberos

5 NFS Network File System
Rendimiento Recuperación rápida ante fallos Servidor sin estado NFS tiene varios beneficios: – reduce requerimentos del almacenamiento en discos locales – NFS simplifica tareas de soporte centrales; los ficheros de configuración se puede actualizar centralmente – NFS utiliza comandos de Unix

6

7 RPC- Remote Procedure Calls
Remote Procedure Call – RPC Sun (RFC 1057, 1831) Permite programar aplicaciones de red sin usar un API de más alto nivel que sockets El cliente llama directamente a funciones en el servidor. Llama a una función local que empaqueta los parámetros y los pasa al servidor (client-server stub) El server stub recibe los datos, los desempaqueta y se los pasa a la aplicación servidora. Proceso inverso en la respuesta

8 PORTMAPPER Los servidores RPC usan puertos “efímeros” TCP ó UDP, no puertos “bien conocidos”. Para ser conocido por los clientes, se tiene que registrar usando lo que se llama port mapper. Clientes y servidores RPC consultan al Portmapper (mapeador de puertos) para saber en qué puerto escuchan sus parejas. El comando “rpcinfo” nos permite ver la base de datos del portmapper en cada momento.

9 NFS – Funcionamiento interno
Un servidor no necesita mantener información de estado relativa a clientes para operar correctamente Cada petición es autocontenida Las caídas del servidor no afectan al cliente. Pero un Servidor NFS no es totalmente “sin estado” Basado en operaciones idempotentes. El resultado de una operación es el mismo que el de repetir varias veces la misma operación (no todas lo son) Para mantener la semántica “como mucho una vez” se necesita mantener estado: “cache de peticiones duplicadas” Si petición en progreso la ignora Si petición contestada recientemente (últimos segundos) la ignora Si petición contestada, no recientemente, reenvía la contestación

10 NFS – demonios NFS se ejecuta con varios demonios, algunos que hacen funciones de cliente y otros de servidor Demonios de NFS: nfsd: se ejecuta en servidores NFS. Sirve las peticiones de los clientes. mountd: atiende las peticiones de montaje remotas. Corre en servidores lockd: vigila los bloqueos sobre ficheros. Corre en clientes y servidores. El cliente pide los bloqueos y el servidor los garantiza. (Ejemplo de escrituras y lecturas) statd: monitor de estado de la red, requerido por lockd. Permite desbloquear ficheros tras un crash.

11 Configurando NFS Hay tres ficheros de configuración principales que son necesarios para poner en marcha el servidor NFS: /etc/exports, /etc/hosts.allow, y /etc/hosts.deny

12 Fichero /etc/exports Este fichero contiene una lista de entradas; cada una indica un directorio compartido y la manera que esta compartido Una entrada de /etc/exports tendrá la siguiente forma directory machine1(option11,option12)machine2(option21,option22) Directory directorio que esta compartido. machine1 máquina cliente que tiene acceso a un directorio Optionxx tipo de acceso ro: directorio es compartido con lectura rw: máquina cliente tiene acceso lectura/escritura no_root_squash: ...

13 Ejemplo /etc/exports /home 192.168.0.1(rw) 192.168.0.2(rw)
Dos máquinas clientes, slave1 y slave2, que tiene direcciones IP y , respectivamente. Queremos compartir binarios y directorios home con estas máquinas /usr/local (ro) (ro) /home (rw) (rw) En un instalación grande, es posible tener muchas máquinas que necesitan acceso a los directorios indicados. /usr/local / (ro) /home / (rw)

14 /etc/hosts.allow y hosts.deny
Especificar qué computadoras en la red puede utilizar los servicios del servidor Cada línea contiene una entrada que lista un servicio y un conjunto de máquinas. Cuando el servidor recibe una petición de una máquina, se hace la siguiente: Chequeo el fichero hosts.allow para ver si la máquina esta en la lista y coincida con la petición. Si coincide, la máquina esta dado acceso. Si la máquina no coincida con una en la lista de hosts.allow, el servidor busca en hosts.deny par ver si la máquina cliente coincide allá. Si coincide con alguna, esta denegado acceso. Por defecto, si no no esta en host.deny, su acceso esta permitido.

15 /etc/hosts.allow y hosts.deny (II)
Para permitir el acceso a una cierta máquina al servicio portmap, pondremos en hosts.allow portmap: (para una máquina) portmap: / (para varias máquinas) Para restringírselo al resto, pondremos en hosts.deny portmap: ALL Se puede hacer a la inversa: aceptar a todos (ALL) e ir denegando uno a uno o varios en hosts.deny.

16 Arrancar el servicio Instalar paquetes Configurar exports
Configurar hosts.allow y hosts.deny Arrancar el mapeador /etc/init.d/portmap restart Arrancar los servicios de NFS: /etc/init.d/nfs restart Montar directorios desde el cliente Opcional : incorporarlo a fstab para montaje automático al arrancar el sistema. Opcional: chkconfig en el servidor para que siempre se arranquen estos servicios (portmapper y nfs) al arrancar el sistema.


Descargar ppt "Tema 4: Sistema de Archivos NFS"

Presentaciones similares


Anuncios Google