CAPITULO 18

NETWORK FILE SYSTEM (NFS)


El NFS es un servicio que usa el modelo cliente/servidor cuyo propósito principal es permitir que el servidor comparta su espacio de almacenamiento con los clientes con los siguientes beneficios obtenidos de le centralización del almacenamiento:



El protocolo NFS está especificado en el RFC 1813 "NFS Version 3 Protocol Specification".


En el servicio de NFS el servidor se le conoce como "stateless server", lo cual significa que el servidor no mantiene ninguna bitácora o control del estado de las operaciones sobre los archivos (read, write, ...). El cliente es quien debe mantener las bitácoras o registros de control para saber el estado de los archivos tal como si los archivos residieran en un disco duro local. Esta estrategia de "stateless server" aporta los siguientes beneficios:


Cuando un servidor comparte almacenamiento hacia los clientes, se dice que "exporta" o que "advierte" su almacenamiento. A su vez, los clientes "importan" o "montan" ese espacio de almacenamiento.


Los comandos y archivos que están implicados en estas operaciones de exportación e importación, ya sea en línea o al tiempo de "boot" son:


Comando

Archivo

Propósito

Cliente

Servidor

share

exportfs

shareall

unshare

unshareall

Exportan o eliminan la exportación de filesystems


si

/etc/dfs/dfstab


Especifica los filesystems y sus permisos de exportación


si

/etc/rmtab

Contiene la lista de filesystems exportados y el nombre de los clientes que lo importaron


si

/etc/dfs/sharetab

Contiene la lista de recursos disponibles para ser montados en clientes.


si

mount

mountall

umount

umountall


Importan o desmontan filesystems

si


/etc/vfstab

Especifica los filesystems locales y remotos que se montan e importan al tiempo de "boot"

si


/etc/mnttab

Contiene la lista de filesystems montados actualmente

si






COMANDO SHARE

El comando "share" permite exportar un filesystem. Es necesario que el filesystem resida en un disco duro local, es decir, no está implementada la facilidad de que un filesystem montado de un servidor a la vez se exporte desde la máquina que lo importó.


Ejemplos.


Observar que filesystems tenemos:

lara# df -kl

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 7054325 5071127 1912655 73% /

/dev/dsk/c0t0d0s3 246463 44703 177114 21% /tmp

/dev/dsk/c0t0d0s4 887398 102 834053 1% /var/tmp


Exportar uno que hayamos escogido, en este caso /tmp:

lara# share -F nfs -o rw,root=acadaplic /tmp

lara# share


Observar qué filesystems tenemos exportados:

lara# share -F nfs -o [email protected] /cdrom

lara# share

- /tmp rw,root=acadaplic ""



Option

Description

aclok

Allows access control for NFS Version 2 clients

anon=uid

Assigns anonymous users the specified uid

index=file

Displays the contents of file instead of listing the directory for Web NFS clients

nosub

Prevents clients from mounting subdirectories of shared resources

nosuid

Prevents clients from seting setuid or setgid access modes on files

public

Specifies a public file handle

ro

Allows read-only access

ro=list

Allows read-only access to those clients specified by list

root=list

Allows root accesss to root users on clients specified by list

rw

Allows read/write access

rw=list

Allows only read/write access to those clients specified by list

sec=mode

Uses one or more of the security modes specified by mode to authenticate clients

window=value

Sets the maximum lifetime for a client's credentials to value seconds



COMANDO UNSHARE


El comando unshare, ejecutado en un servidor, niega los próximos accesos a un filesystem que fue exportado, ya sea de manera automática (por el archivo /etc/dfs/dfstab) o bien por un comando "share" ejecutado en línea. Como argumento debe llevar al menos el nombre del filesystem y el tipo. Si el tipo no se especifica, se usará aquél especificado en el archivo /etc/dfs/fstypes.


Ejemplos.


Intento de montar /tmp de sun09sala4 que no está exportado:

lara# mkdir /tiempo

lara# mount sun09sala4:/tmp /tiempo

nfs mount: sun09sala4:/tmp: Permission denied


Exportación en sun09sala4 del filesystem /tmp:

sun09sala4# share -F nfs -d "montar en /tiempo" -o ro /tmp

sun09sala4# share


Montado exitoso de /tmp del servidor sun09sala4:

lara# mount sun09sala4:/tmp /tiempo

lara# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 7054325 5071444 1912338 73% /

sun09sala4:/tmp 486192 456 485736 1% /tiempo

lara#


Negación de la exportación de /tmp estando éste montado en lara:

sun09sala4# unshare /tmp

sun09sala4# share

sun09sala4#


Efecto, en lara, de negar en el servidor sun09sala4 la exportación de /tmp:

lara# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 7054325 5071459 1912323 73% /

df: cannot statvfs /tiempo: Stale NFS file handle

lara#


Exportación de /tmp en el servidor para recuperar la funcionalidad en lara:

sun09sala4# share -F nfs -o ro -d "montar togro" /tmp

sun09sala4#


Efecto en lara de haber exportado /tmp que ya habia sido importado antes:

lara# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 7054325 5071459 1912323 73% /

sun09sala4:/tmp 486192 456 485736 1% /tiempo

lara#




LA TABLA DE EXPORTACION /etc/dfs/dfstab


En esta tabla se encuentran, por cada línea, la especificación de la exportación de un filesystem y los permisos con lo que éste son exportados. Las líneas que comiencen con un signo de "gato" son lineas de comentarios. Las líneas deben insertarse con cualquier editor normal y deben aparecer con la misma sintaxis como si se ejecutaran en la línea de comandos.

Ejemplo.


lara# cat /etc/dfs/dfstab


# Place share(1M) commands here for automatic execution

# on entering init state 3.

#

# Issue the command '/etc/init.d/nfs.server start' to run the NFS

# daemon processes and the share commands, after adding the very

# first entry to this file.

#

# share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource]

# .e.g,

# share -F nfs -o rw=engineering -d "home dirs" /export/home2


share -F nfs -o rw=lara:l10.1.1.1,root=lara:10.1.1.1 -d "privado" /kike

lara#


LOS COMANDOS SHAREALL Y UNSHAREALL


SHAREALL se usa para exportar todos los recursos exportables de un servidor usando el nombre de archivo enviado como argumento y el tipo de exportación de la opción -F.


UNSHAREALL se usa para negar la exportación de los filesystems del tipo indicado por la opción -F.


En ambos comandos, si no hay opción -F el tipo NFS es asumido. Solamente el comando shareall acepta el nombre de un archivo como argumento.


Ejemplos.


lara# unshareall

lara# share

lara# shareall /etc/sharitos

lara# share

- /tmp ro "temporal"

- /opt ro "curso"


lara# cat /etc/sharitos

share -F nfs -o ro -d "temporal" /tmp

share -F nfs -o ro -d "curso" /opt

lara#



EL COMANDO dfshares


Este comando sirve para desplegar qué recursos están disponibles para compartir. Si se le indica con la opción -F el tipo de exportación, mostrará únicamente los recursos montados de ese tipo. Si se usa la opción -h, los encabezados no son desplegados. La información se puede obtener tambi'en del archivo /etc/dfs/sharetab.


Ejemplos.


lara# cat /etc/dfs/sharetab

/tmp - nfs ro temporal

/opt - nfs ro curso

lara# dfshares

RESOURCE SERVER ACCESS TRANSPORT

lara:/tmp lara - -

lara:/opt lara - -

lara#



EL COMANDO MOUNT


El comando mount se usa para importar un filesystem que un servidor ha advertido o exportado, ya sea por un comando "share" en línea o al tiempo de boot por su tabla de exportación /etc/dfs/dfstab. Las opciones del comando mount son:



Argumento

Descripción

-F fstype

Specifies the file system type

-m

Mounts the file system without creating an /etc/mnttab entry

-o

Specifies NFS-specific options (Ver tabla A)

-O

Overlays an existing mount point

-r

Mounts the file system read - only


The mount conmmand's NFS-specific options (Tabla A)

Option

Description

hard

If the server does not respond, continues to try to mount the resource

intr

Allows keyboard interrupts to kill the process while waiting on a hard mount

nointr

Does not allow keyboard interrupts to kill the process while waiting on a hard mount

public

Specifies a public file handle

retrans=n

Retransmits NFS request n times

retry=n

Retries the mount operation n times

ro

Mounts resource read only

rw

Mounts resource read/write

soft

If the server does not respond, retuns an error and exists.

timeo=n

Sets the NFS time-out to n tenths of a second





EL COMANDO umount


Este comando es usado para desmontar un filesystem que esté actualmente importado. Soporta la opción -V para desplegar el comando a ser usado sin ejecutar la acción (sirve para verificar que el comando esté bien) y la opción -a para indicar que se desea desmontar en forma paralela.


Ejemplo.


lara# umount sun09sala4:/tmp

lara#


LA TABLA DE MONTURA E IMPORTACION /etc/vfstab



Field

Description

Device to mount

Uses the system.resource format, where system is a hostname or IP addess an resource is the full path name of the shared NFS resource

Device To fsck

Uses a hyphen (-) to indicate no entry, because NFS clients should not check remote NFS resources with the fsck command

Mount Point

Specifies the subdirectoriy where the NFS resource should be mounted

FS Type

Uses nfs to indicate an NFS resource

fsck Pass

Uses a hyphen (-) to indicate no entry

Mount At Boot

Uses yes to indicate that the resource should be mounted at boot or when the mountall command is executed; otherwise, no. Filesystems like / and /usr are always mounted independently of the "yes" or "no" flag.

Mount Options

Specifies any desired NFS mount options, see TABLA A or the manual page for the mount command


Nfs soporta la caracteística de client-side failover, es decir, que el cliente puede recuperarse de la falla de un servidor usando varios servidores para un mismo recurso. Por el momento, sólo se puede usar sobre recursos montados read-only, por ejemplo, las páginas del manual. No es útil para filesystems de escritura ya que el usuario tendría que saber, en el caso de que un servidor fallara, en donde quedaron sus datos finalmente.


Para usar la facilidad de client-side failover sólo hay que indicar, para un recurso que hay que importar, la lista de servidores separados por comas, como se especifica en el siguiente ejemplo en la línea de comandos:


sun09sala4# mount -r acadaplic,mailweb:/usr/man /usr/man

sun09sala4# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 8242901 4812808 3347664 59% /

acadaplic,mailweb:/usr/man

2097343 1306517 727906 65% /usr/share/man

sun09sala4#


Si se desea que en la máquina sun09sala4 se monte el /usr/man por /etc/vfstab, la línea correspondiente sería:


acadaplic,mailweb:/usr/man - /usr/man nfs 3 yes ro


Ejemplo y el caso del filesystem necio:


Montamos /usr/man en el esquema de failover, el vfstab ya tiene la entrada pertinente.

sun09sala4# mount /usr/man

sun09sala4# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 8242901 4813192 3347280 59% /

acadaplic,mailweb:/usr/man

2097343 1306522 727901 65% /usr/share/man


Desmontamos todo de uno de los dos servidores especificados:

sun09sala4# umountall -h acadaplic

sun09sala4# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 8242901 4813192 3347280 59% /

acadaplic,mailweb:/usr/man

2097343 1306522 727901 65% /usr/share/man


El filesystem no se desmontó porque agarró al segundo servidor, entonces desmontamos del segundo servidor y tampoco se desmonta porque el failover ahora toma al primero:

sun09sala4# umountall -h mailweb

sun09sala4# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 8242901 4813192 3347280 59% /

acadaplic,mailweb:/usr/man

2097343 130652 727901 65% /usr/share/man


Ahora lo desmontamos sin especificarle un servidor en particular y tenemos éxito:

sun09sala4# umount /usr/man

sun09sala4# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 8242901 4813192 3347280 59% /


Ahora lo montamos otra vez en el esquema failover:

sun09sala4# mount /usr/man


Y lo desmontamos con éxito indicando el tipo "nfs" con "umountall":

sun09sala4# umountall -F nfs

sun09sala4# df -k

Filesystem kbytes used avail capacity Mounted on

/dev/dsk/c0t0d0s0 8242901 4813192 3347280 59% /

sun09sala4#



EL COMANDO mount y COMANDO mountall


El comando mount sirve para montar un filesystem que un server ha advertido o exportado previamente. El comando mountall hace lo mismo pero con un conjunto de filesystems. Las banderas -F sirven para indicar el tipo de recurso (normalmente nfs), -l para indicar que actúe montando los locales y -r para que actúe sobre los remnotos según aparecen en el /etc/vfstab y cuya columna de "Mount at Boot" diga "yes".


Además, el comando umountall soporta las banderas -s para evitar el desmontado en paralelo, -k para eliminar aquellos procesos que estén usando un filesystem (para matyar usa el comando fuser) y la opción -h para indicar el nombre de un host específico (nombre o IP) del cual desmontar todos sus recursos.



El COMANDO dfmounts (este fue el que me confundió , ratilla del mal)


Este comando muestra los recursos mountados tanto localmente como remotamente por clientes. Es similar al comando "showmount -a" aunque la salida no tienen el mismo formato.


Ejemplos:


sun09sala4# dfmounts -F nfs

RESOURCE SERVER PATHNAME CLIENTS

- sun09sala4 /cdrom/5_3_4r2 superacadaplic

- sun09sala4 /cdrom/office52 callisto.pue.udlap.mx

- sun09sala4 /jumpstart bell2

sun09sala4# showmount -a

bell2:/opt/os_server

callisto:/jumpstart

callisto.pue.udlap.mx:/cdrom/office52

[... salida eliminada ...]

sun09sala4#


Los comandos dfmounts y showmount toman sus datos del archivo /etc/rmtab, echándole un ojo e ese archivo tenemos:


sun09sala4# more /etc/rmtab

callisto.pue.udlap.mx:/cdrom/office52

eslfw1:/opt/os_server/Solaris_8/Tools/Boot

eslfw1:/opt/os_server

[... salida eliminada ...]

sun09sala4#


La facilidad WebNFS


WebNFS es un servicio que permite accesar archivos y directorios de un servidor de NFS a través de un URL del tipo nfs://server/path. No todos los browsers o aplicaciones soportan los URL del tipo antes descrito, entre los que si lo soportan están el Hot Java Browser de Sun Microsystems . La especificación del WebNFS está en el RFC 2054 y 2055.


En el uso del WebNFS existen tres factores iniciales que tomar en cuenta y son:


1.- Cada servidor de NFS tiene una llave pública (public handle) que por omisión está asociada al filesystem raíz (/). Si el sendero especificado en el URL nfs://server/path es un descendiente de la raíz y la raíz esta exportada, entonces el acceso es permitido. Si no se desa esto, entonces se debe usar el comando "share" (o una enyrada en el dfstab) usando la opción "public" para indicar que la llave pública está asociada a otro filesystem y el acceso será permitido a sus descendientes.


Ejemplo:


sun09sala4# share -F nfs -o public -d "exportado en WebNFS" /opt


2.- El servicio de WebNFS mostrará de inicio el listado de archivos del directorio raíz o del directorio asociado a la llave pública. Si se desea que mejor se muestre un index.html, esto se debe especificar con la opción index del comando "share" (o de la entrada pertinente en la tabla dfstab):


sun09sala4# share -F nfs -o public,index=index.html -d "web" /var/apache/htdocs


3.- Los directorios o filesystems que de por sí ya están exportados son buenos candidatos a convertirse en filesystems exportados por WebNFS. Se debe tener mucho cuidado de que los archivos y directorios exportados bajo este mecanismo ahora tengan permisos adecuados y seguros ya que están expuestos al tierno escrutinio de Internet.


El Servicio AutoFS


El servicio de AutoFS fue diseñado para simplificar las tareas administrativas de NFS, reducir el tráfico en la red, evitar la fatiga de administrar múltiples tablas /etc/vfstab y agilizar los procesos de boot y shutdown.


El comando automount y el daemon automountd son ejecutados automáticamente en el nivel 2 de corrida del sistema, proveyendo los servicios de mount y umount automáticos.


Por omisión, un recurso es desmontado si no es usado durante 10 minutos. Este tiempo puede ser modificado con la opción -t del comando automount. La operación o fruncionalidad del automount es controlado por un conjunto de "mapas".


Los mapas del AutoFS


Existen tres mapas: /etc/auto_master, /etc/auto_direct y /etc/auto_indirect.


El mapa auto_master


Este mapa tiene tres columnas. La primera columna especifica el mount_point, es decir, la ruta completa o la parte inicial de una ruta en donde se va a montar el recurso. La segunda columna especifica el nombre del mapa (directo o indirecto) que indica cómo y de donde se va a montar el recurso. Si el nombre del mapa comienza con un guión (hyphen en inglés) entonces el nombre de mapa es un "special builtin map". La tercera columna especifica las opciones de mount tales como rw,ro,intr,bg,soft,etcétera.

Ejemplo:


sun09sala4# cat /etc/auto_master

# Master map for automounter

# La entrada -hosts indica /etc/hosts

# La entrada -xfn utiliza recursos del servicio Federated Naming Services

# La entrada +auto_master indica que se usará la misma tabla pero de NIS

#

+auto_master

/net -hosts -nosuid,nobrowse

/home auto_home -nobrowse

/xfn -xfn

sun09sala4#


Mapas Directos


Un mapa directo es aquél que especifica senderos de mount point y recursos de NFS, estos mapas tienen tres columnas que son:


  1. Key (llave).- Que especifica un mount point

  2. Mount Options.- Cero o más opciones del comando "mount"

  3. NFS Resource.- Especificado como server:path. Se pueden especificar varios servers para un mismo mount_point.


El nombre por default del primer mapa directo es /etc/auto_direct.


Ejemplo:


acadaplic# pwd

/var/yp/auto

acadaplic#/ more auto_direct

archivos/vol102 -nosuid,intr,soft,bg mailweb:/home/34/vol102

/archivos/vol117 -nosuid,intr,soft,bg eslfw1:/tragones1

/archivos/vol118 -nosuid,intr,soft,bg eslfw1:/tragones2

/archivos/vol119 -nosuid,intr,soft,bg eslfw1:/sig01

/archivos/vol120 -nosuid,intr,soft,bg eslfw1:/sig02

/archivos/vol103 -nosuid,intr,soft,bg mailweb:/home/34/vol103

/archivos/vol104 -nosuid,intr,soft,bg mailweb:/home/34/vol104

/archivos/vol105 -nosuid,intr,soft,bg mailweb:/home/34/vol105

/archivos/vol106 -nosuid,intr,soft,bg mailweb:/home/34/vol106

/archivos/vol107 -nosuid,intr,soft,bg mailweb:/home/34/vol107

/archivos/vol01 -nosuid,intr,soft,bg superacadaplic:/home/34/vol01

/archivos/vol02 -nosuid,intr,soft,bg superacadaplic:/home/34/vol02

/archivos/vol03 -nosuid,intr,soft,bg superacadaplic:/home/34/vol03

/archivos/vol04 -nosuid,intr,soft,bg superacadaplic:/home/34/vol04

/archivos/vol05 -nosuid,intr,soft,bg superacadaplic:/home/34/vol05

acadaplic#


Mapas Indirectos


Un mapa indirecto se encarga de especificar el resto del mount point que se comenzó a determinar en el archivo /etc/auto_master y el recurso NFS a ser usado. Estos mapas tienen 3 columnas que son:


  1. Key : Típicamente el resto del mount point.

  2. Mount Options: Cero o más opciones de montura separados por comas.

  3. NFS Resource : Especificación de servidor:filesystem.


Ejemplo:


acadaplic# cat auto_master

/home auto_home

acadaplic# cat auto_home

/mx/vol500 soft,intr,bg mailweb:/archivos/vol500

acadaplic#


En este ejemplo, en el auto_master se especifica que las monturas del directorio /home están especificados por el archivo auto_home. Y en el auto_home especifica que el directorio /home/mx/vol500 será montado con opciones soft,intr,bg del servidor mailweb y el filesystem a montar ( o directorio) es /archivos/vol500.


EJECUTANDO EL COMANDO automount


Siempre que se le haga cualquier cambio a un mapa directo se recomienda que se ejecute el comando "automount" para que dichos cambios sean tomados en cuenta y los recursos por montar o desmontar sean actualizados.


Ejemplo:


sun09sala4# automount -v

automount: no mounts

automount: no unmounts

sun09sala4#


El Servicio de Cache File System CacheFS


El servicio de Cache File System (CacheFS) es un servicio del lado del cliente (client-side) que provee la facilidad de almacenar en un disco local los accesos a archivos que residen en filesystems remotos, obteniendo como beneficio incrementar la velocidad de acceso y decrementar el tráfico en la red.


Primero, se tiene que crear un área de cache. Después se monta el filesystem remoto asociándolo al rea de cache.


Ejemplo:


lara# cfsadmin -c /cache/AREA

lara# mount -F cachefs -o backfstype=nfs,cachedir=/cache/AREA sun09sala4:/usr/man /usr/man

lara#


La primera vez que un recurso de un filesystem es accesado, el recurso es copiado al área de cache. Los accesos siguientes son tomados del área de cache en lugar de ir al servidor de NFS. El recurso remoto se puede montar por un comando mount en línea, a través de una entrada en la tabla vfstab o por el sistema de AutoFS.


Los filesystems root (/) y /usr no se pueden usar bajo el CacheFS, pero si se pueden "cachear" usando el mecanismo de AutoClient revisado brevemente en el capítulo 13.


Configurando un Cache


Para configurar un cache y manejarlo se usa el comando cfsadmin (cache file system admin), con las siguientes opciones:



Ejemplo y Ejercicio:


Servidor

A quien le toca

cliente

acadaplic

Mtro. Angel Rico Guzmán

lara.udlap.mx

mailweb

Reyna Castro Ibarra

lara.udlap.mx

adminaplic

Mtro. Sandra Rocío M.C.

lara.udlap.mx

develop

Ing. Alejandra Aldrette M.

lara.udlap.mx

ssray1

Ing. Elizabeth Gómez S.

lara.udlap.mx

ssray2

Ing. Violeta Vasconcelos Ch.

lara.udlap.mx

ssray5

Ing. Ruth Enriquez M.

lara.udlap.mx



  1. Cada participante exporte el directorio /usr/man de la máquina que le toca según la tabla anterior. Esto es, "share -F nfs -o ro /usr/man".

  2. Cada participante entre a lara.udlap.mx y cree un área de cache indicando que el tamaño máximo de archivo a cachar es de 5 Megabytes. Esto es: " cfsadmin -c -o maxfilesize=5 /cache/AREA_SSRAY1".

  3. Cada participante monte en lara.udlap.mx el filesystem que exportó de su servidor asociándola al rea de cache que le toque.

  1. Goce de la eficiencia y efectividad del manejo del cache observando su compartamiento.

  1. Cada participante cheque el estado de su cache. Esto es: " cfsadmin -l /cache/AREA_SSARY1".

  2. Cada participante cambie el tamaño del maxfilesize a 10 Megabytes.

  1. Cada participante cheque las estadísticas del rea de cache. Esto es: " cachefsstat /usr/ssray1".

  2. Cada participante haga un chequeo de consistencia de su cache. Esto es: " cfsadmin -s /usr/ssray1".


La opción -l del comando cfsadmin muestra la siguiente información.


descriptor

significado

maxblocks

Cantidad máxima de espacio que el cache puede ocupar en el filesystem que lo contiene, en % de blocks. Default es 90.

minblocks

Cantidad mínima de espacio que el cache puede ocupar en el filesystem que lo contiene, en % de blocks. Default es 0.

threshblocks

La holgura a la cual no se pueden ocupar más recursos después de haber rebasado el minblocks, en %blocks. Default es 85.

maxfiles

El máximo nmero de archivos que se pueden usar del filesystem donde reside el cache, en % de i-nodes. Default es 90.

minfiles

The número mínimo de archivos que el cache puede usar en el filesystem donde reside, en % de i-nodes. Default es 0.

thresfiles

La holgura a la cual no se pueden pedir más i-nodes después de alcanzar minfiles, en % de i-nodes. Default es 85.

maxfilesize

Tamaño máximo de archivo que se cacha en Megabytes.Default es 3.

mount_info

Recurso que se monta, mapeando la diagonal por subrayas.



TIP.- Note que todos los máximos tienen por default 90. Note que todos los "tresholds" tienen por default 85. Note que todos los mínimos son 0. Note que todos los parámetros referidos en "blocks" se expresan en % de blocks, note que todos los parmetros referidos en "files" están en % de i-nodes.



Despliegue de las estadísticas de uso del cache


El comando cachefsstat(1M) se usa para desplegar las estadísticas de uso del área de cache como se vio en el ejercicio anterior. La información desplegada está en la siguiente tabla.


parámetro

significado

cache hit rate

% de intentos exitosos de acceso de archivos y directorios y número de intentos fallidos y exitosos.

consistency checks

Número de chequeos de consistencia hechos, número de exitosos y de fallidos.

modifies

Número de operaciones de modificación

garbage collection

Número de intentos de desocupar recursos que están en desuso.



Chequeo de la consistencia del cache


El chequeo de la consistencia se hace para estar seguros de que la información en el cache está actualizada. El chequeo de la consistencia se hace automáticamente cada cierto intervalo de tiempo consumiendo tráfico de la red. En algunos casos se desearía no hacer chequeos de consistencia o hacerlos manualmente (on demand, en demanda).


Para deshabilitar el chequeo automático, especifique la opción demandconst al montar el filesystem. Es obvio que si un filesystem es montado read-only, se debe deshabilitar el chequeo de consistencia ya que los datos no necesitan verificarse porque nunca cambiarán. Ejemplo:


lara# mount -F cachefs -o backfstype=nfs,cachedir=/cache/AREA_SSRAY1,demandconst ssray1:/usr/man /usr/ssray1

lara#


El chequeo de la consistencia se hace a mano (en demanda) asi:


lara# cfsadmin -s /usr/man

lara#


Observe que al comando cfsadmin se le envía el punto de montura para el chequeo de consistencia y no el área de cache.


Manejando un Cache Log


El comando cachefslog(1M) se usa para establecer, verificar y detener (setup, verify, halt) la facilidad de CacheFS logging. Luego, el comando cachefswssize (cache file system working set size) se usa para analizar el "log" y determinar un mejor tamaño del "working set" del cache. Un cache que es muy pequeño causará retrasos en el acceso y un mayor tráfico en la red (low hit rate). Un cache muy grande desperdiciará espacio en el filesystem que lo contiene.


Para habilitar un CacheFS Log, use el comando cachefslog con la opción -f seguido por el nombre del archivo de log y luego el mount_point (no use el nombre del cache). Ejemplo:


lara# cachefslog -f /tmp/logssray1 /usr/ssray1

/tmp/logssray1: /usr/ssray1

lara#


Para verificar si se está haciendo "CacheFS Log" sobre un filesystem teclee:


lara# cachefslog /usr/ssray1

/tmp/logssray1: /usr/ssray1

lara#


Para detener el Log teclee:


lara# cachefslog -h /usr/ssray1

not logged: /usr/ssray1

lara#


Para analizar y determinar el cache working set apropiado teclee:


lara# cachefswssize /tmp/logssray1


/usr/ssray1

end size: 200k

high water size: 200k


total for the cache

initial size: 10000K

end size: 200K

high water size: 200K

lara#


parámetro

significado

End size

Tamaño del working set cuando el log fue detenido.

High water size

Máximo tamaño del working set durante el uso del cache.

TforC initial size

Tamaño inicial del cache.

TfC end size

Tamaño final del cache.

TfC high water size

Máximo tamaño del working set durante el uso del cache.


Si el TfC high water size es el mismo que initial size, probablemente el cache es muy pequeño. Si TfC high water size es mucho más pequeño que initial size, probablemente es muy grande.



EXAM


1.- Which of the following commands can be used to mount the /export/home file system from the solaris system (IP address of 192.168.39.7) on the /mnt mount point?


[] a. mount -F nfs -h solaris /export/home/mnt

[] b. mount -F nfs 192.168.39.7:/export/home /mnt

[] c. mount -F nfs /mnt solaris:/export/home

[] d. mount -F nfs /export/home@solaris /mnt



2.- Enter the name of the file system type used to temporarly store a remote NFS resource on a local disk.


_____________________________


3.- Which of the following are types of AutoFS maps? [Select all that apply]


[] a. direct

[] b. indirect

[] c. linked

[] d. auto_master

[] e. auto_home


  1. Which of the following situations requires that the autmount command be manually executed? [Select all that apply]


[] a. Addition to auto_master

[] b. Addition to a direct map

[] c. Addition to an indirect map

[] d. Deletion from auto_master

[] e. Deletion from a direct map

[] f. Deletion from an indirect map


  1. Which of the following commands is used to create a Cache FS configuration?


[] a. cfsadm

[] b. cachefsinit

[] c. cfsadmin

[] d. newcache

[] e. cfscreate



6.-Idenfify the command used to make an NFS resource available for mounting or to list those resources available.


_____________________________



7.- Match each comand with its operation:


a. cachefswssize


1. Displays cache file system statistics

b. cachefslog -h


2. Displays the cache status

c. cachefslog -f


3. Displays the cache working set size

d. cachefsstat


4. Starts cache logging

e. cfsadmin -l


5.Stops cache logging


8.- Which of the following commands can be used to determine any mounted NFS resources? [Select all that apply]


[] a. share

[] b. dfmounts

[] c. nfsmounts

[] d. mountall

[] e. mount


9.- When using NFS, which of the following results are true? [Select all that apply]


[] a. Introduces redundancy

[] b. Improves consistency

[] c. Reduces administration

[] d. Reduces network traffic


  1. Identify the NFS-specific option used with the -o command - line argument of the share command to change the public file handle.


_________________________________


  1. Which file contains one or more share commands used with the shareall command?


[] a. /etc/ nfs/nfstab

[] b. /etc/nfs/shares

[] c. /etc/dfs/dfstab

[] d. /etc/dfs/sharetab


  1. The command cfsadmin -s xyz fails. Which of the followin is probably the reason?



[] a . xyz is a mount point. It shoul be the name of a acache.

[] b. The demandconst option was not specified when mounting wyz

[] c. Cache logging has not been started.

[] d. The size of the cache is too small

Hosted by www.Geocities.ws

1