Hola lista, tengo un amiguete que se quiere complicar la vida con NFS. Tiene una red en casa con varios pc's. Los que importan aqui son 'server' y 'desktop'. Quiere conseguir una configuracion de nfs un tanto molesta, ya que tanto server como desktop actuaran de cliente y servidor al mismo tiempo. Pijada: quiere tener, en cuanto a nfs se refiere, la misma estructura (con nombres y todo) de directorios en server y desktop. Server: quiere exportar los directorios /archives/* * quiere decir todo lo que haya ahi. Desktop: quiere exportar /archives/data Puntos de montaje en cliente: en server: /archives/data en desktop: /archives/* donde * es cada uno de los directorios que hay locales en server. El problema que aparece es la recurisividad: Desktop exporta /archives/data, que server monta en /archives/data localmente. Como server, a su vez exporta /archives/*, esta exportando tb el /archives/data que monta por nfs. Como desktop a su vez monta por nfs el /export/* (*=data en este caso) en /archives/data... pues sobreescribe el /archives/data original con datos nada, con lo que pierde los datos originales. Una posible solucion es crear en server /archives/exports/* y exportar esos directorios, pero resulta que el angelito no quiere. Es posible la siguiente solución: hay alguna forma de exportar un directorio comleto pero excluir uno dado (el que montará como cliente, claro)? Espero haberme explicado con claridad. Gracias por vuestro tiempo, miguel
*This message was transferred with a trial version of CommuniGate(tm) Pro* -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Jueves, 9 de Septiembre de 2004 15:33, miguel gmail escribió:
Una posible solucion es crear en server /archives/exports/* y exportar esos directorios, pero resulta que el angelito no quiere.
* Osea que quiere montar dos sistemas de ficheros diferentes en un mismo punto de montaje, para esto lo mejor es recomendarle un buen champu anticaspa y un buen sistema de backups.
Es posible la siguiente solución: hay alguna forma de exportar un directorio comleto pero excluir uno dado (el que montará como cliente, claro)?
* Nfs exporta directorios no he visto ninguna opcion exclude de subdirectorios, aparte de que seria absurdo montar otro directorio por nfs que se tiene disponible localmente de forma nativa, no obstante man exports por si suena la fluta, habria que ver cual es el objetivo final por que si es la sincronizacion de directorios esta no es la forma ni mucho menos. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFBQHH/AXFL65CppEIRAvLYAJ9cM2hzKEzJb7PkEq7yJZPopTcvCACffVnJ J6QEXSR4ayctUxNBbaC8cbA= =ygek -----END PGP SIGNATURE-----
* Osea que quiere montar dos sistemas de ficheros diferentes en un mismo punto de montaje, para esto lo mejor es recomendarle un buen champu anticaspa y un buen sistema de backups.
creo que o no te entiendo, o no me entendiste. Lo que quiere es tener en las dos maquinas el mismo arbol de directorios: /archvies/download /archvies/music /archvies/documentation /archvies/loquesea /archvies/data lo tricky del asunto es que el ultimo directorio se exporta de 'desktop' a server, y los otros de 'server' a desktop. Ocurre que en el /archives de 'server' se pueden crear mas directorios posteriormente, por eso exporta todo lo que haya dentro de /archives (en server). Y cuando server monta como cliente /archives... pues automaticamente lo vuelve a exportar, y como desktop lo monta... pues se hace un lio. Se entiende ahora lo que pasa?
Es posible la siguiente solución: hay alguna forma de exportar un directorio comleto pero excluir uno dado (el que montará como cliente, claro)?
* Nfs exporta directorios no he visto ninguna opcion exclude de subdirectorios, aparte de que seria absurdo montar otro directorio por nfs que se tiene disponible localmente de forma nativa, no obstante man exports por si suena la fluta, habria que ver cual es el objetivo final por que si es la sincronizacion de directorios esta no es la forma ni mucho menos.
el problema es que desktop monta toodo lo que exporte 'server'... por eso queria ver la posibilidad de excluir algun directorio. Y si, vaya caprichos tiene el angelito! si no le funciona, le dire que se monte algo distinto como : /archives/export/lo-que-sea en server, y que exporte el contenido del directorio export. Gracias por tu tiempo. miguel
miguel gmail wrote:
creo que o no te entiendo, o no me entendiste.
Miguel, Esto parece uno de esos acertijos que ponen las empresas tecnológicas para contratar gente... :-D
Lo que quiere es tener en las dos maquinas el mismo arbol de directorios:
El objetivo, hay que definir cuál es el objetivo. ¿Por qué tienen que mantener la misma nomenclatura? ¿Por algo en especial? Si los dos equipos actúan como cliente y servidor al mismo tiempo tendrá que segmentar los recursos para que no haya interferencias entre ellos ¿no?
Se entiende ahora lo que pasa?
Sí, pero es muy enrevesado. Es mejor separar los recursos y los puntos de montaje.
el problema es que desktop monta toodo lo que exporte 'server'... por eso queria ver la posibilidad de excluir algun directorio.
En el manual* de NFS hay una opción de nombre sugerente (#man export): no_subtree_check: If only part of a volume is exported, a routine called subtree checking verifies that a file that is requested from the client is in the appropriate part of the volume. If the entire volume is exported, disabling this check will speed up transfers.
Y si, vaya caprichos tiene el angelito! si no le funciona, le dire que se monte algo distinto como :
/archives/export/lo-que-sea
Si sólo es por capricho, pues sería lo mejor. Saludos, * http://nfs.sourceforge.net/nfs-howto/ -- Camaleón
Esto parece uno de esos acertijos que ponen las empresas tecnológicas para contratar gente...
:-D
Lo se lo se, te acuerdas de aquel que hizo google hace poco? el del numero primo? :-D
Se entiende ahora lo que pasa?
Sí, pero es muy enrevesado. Es mejor separar los recursos y los puntos de montaje.
Si lo se, pero no sabria expresarlo mejor si no es con un papel lleno de diagramas... que no puedo usar aqui ;-) el angelito es asi... (y no, no estoy de acuerdo). Digamos que estoy involucrado por interes cientifico en el asunto, por saber si nfs tenia esa funcionalidad.
el problema es que desktop monta toodo lo que exporte 'server'... por eso queria ver la posibilidad de excluir algun directorio.
En el manual* de NFS hay una opción de nombre sugerente (#man export):
no_subtree_check: If only part of a volume is exported, a routine called subtree checking verifies that a file that is requested from the client is in the appropriate part of the volume. If the entire volume is exported, disabling this check will speed up transfers.
Uhm, no termino de verlo claro. Primero no capto el sentido exacto de este parametro, y segundo, si lo que capto es correcto creo qeu no sirve. A ver, lo que yo entiendo es que solo exportara parte de un volumen determinado (que es un volumen??). Supongo que esto se aplicaria a 'server' (que lo ha montado como cliente, y tratamos de que lo exporte como servidor, correcto?) Estoy pensando ademas en un efecto secundario. En la casa hay mas pc's que montaran esos directorios. Cuando vayan a montar el /archives/data, de donde lo cogeran? Definitivamente, que se cambie la estructura de directorios y fuera problemas.
Si sólo es por capricho, pues sería lo mejor.
Me parece que si.
Saludos,
gracias.
si, lo conocia... pero no veia nada que me convenciese. miguel
El 2004-09-09 a las 16:36 +0100, miguel gmail escribió:
Lo que quiere es tener en las dos maquinas el mismo arbol de directorios:
/archvies/download /archvies/music /archvies/documentation /archvies/loquesea /archvies/data
lo tricky del asunto es que el ultimo directorio se exporta de 'desktop' a server, y los otros de 'server' a desktop.
Se puede hacer si exporta los directorios uno a uno. Es decir, el servidor no exporta '/archives', sino '/archvies/download', '/archvies/music'... y el cliente los monta en un '/archvies/' preexistente, que puesto que es local, contiene un '/archvies/data' lleno, y unos '/archvies/download', '/archvies/music' vacíos, esto es, puntos de montaje para los directorios exportados desde el servidor. Ahora bien, si '/archvies/' contiene archivos sueltos en el raiz, tenemos un problema grave. Se puede exportar un directorio sin sus subdirectorios, pero sin embargo necesitamos que tenga subdirectorios para tener los puntos de montaje donde montemos los diferentes subdirectorios que se montan desde diferentes sitios. ¿Entiendes el lio? Si lo entiendes, sabrás desliarte, porque a mi me está entrando sueño y no pienso muy claro ;-) Se me está ocurriendo otra manera... a ver si lo cuento por encima: El servidor exporta '/archives' con todo, salvo que '/archives/data' está vacío, es un punto de montaje. El cliente tiene un '/local_archives/data', con los datos del 'data', que exportará, y un '/archives' vacío como punto de montaje, donde importará el '/archives' del servidor. Una vez montado, monta localmente o por nfs local el '/local_archives/data'. ¿Que tal? :-P No me digas que no, que me voy a dormir. Mañana seguro que lo pienso y no lo veo. -- Saludos Carlos Robinson
Hola :) Quiero añadir una cosa a lo que dice Carlos (completamente de acuerdo con lo que dice :). Otra opción sería que el servidor exportara TODO. Es decir, que copie del cliente TODO al servidor y luego este exporta toda. Ventajas: más sencillo de administrar -> menos problemas al exportar, al hacer copias de seguridad, evitamos tener duplicados, si se cae el sistema sólo tenemos que recuperar UN sistema y no los dos, ... Personalmente no he probado lo que quiere hacer tu colega, pero por lógica no creo que funcione ya que, cuando montas un sistema de ficheros en un punto de montaje, todo lo que hay en ese punto de montaje original "desaparece" (si alguien quiere hacer la prueba, que meta un CD y que teclee: mount -t iso9660 /dev/cdrom /etc sí, ya sé que tengo mala idea ;) Es decir, si el cliente monta en /archives lo que exporta el servidor, todo lo que tenía en ese directorio "desaparece" y no puede exportar SU /archives/<lo que sea>. Otra posible solución es cambiar el nombre a uno de los directorios, o bien en el cliente o bien en el servidor, o, lo que es lo mismo, usar otro punto de montaje. Añadiendo otro comentario a lo que dice Carlos (montar cada subdirectorio independientemente, cosa que es muy lógica). ¿por qué tiene tu colega /archives? Quiero decir, a la hora de hacer copias de seguridad tiene que copiar /home /etc /var /archives. ¿No sería mejor tener el contenido de /archives en /home? Saludos, Rafa El Viernes 10 Septiembre 2004 01:18, Carlos E. R. escribió:
El 2004-09-09 a las 16:36 +0100, miguel gmail escribió:
Lo que quiere es tener en las dos maquinas el mismo arbol de directorios:
/archvies/download /archvies/music /archvies/documentation /archvies/loquesea /archvies/data
lo tricky del asunto es que el ultimo directorio se exporta de 'desktop' a server, y los otros de 'server' a desktop.
Se puede hacer si exporta los directorios uno a uno. Es decir, el servidor no exporta '/archives', sino '/archvies/download', '/archvies/music'... y el cliente los monta en un '/archvies/' preexistente, que puesto que es local, contiene un '/archvies/data' lleno, y unos '/archvies/download', '/archvies/music' vacíos, esto es, puntos de montaje para los directorios exportados desde el servidor.
Ahora bien, si '/archvies/' contiene archivos sueltos en el raiz, tenemos un problema grave. Se puede exportar un directorio sin sus subdirectorios, pero sin embargo necesitamos que tenga subdirectorios para tener los puntos de montaje donde montemos los diferentes subdirectorios que se montan desde diferentes sitios.
-- Rafael Grimán, Partner Services SUSE LINUX AG, Maxfeldstr. 5, D-90409 Nuernberg Phone: +34 665 808 935 Fax: +49 (0) 911 74053-575 - Email: rgriman@suse.it ------------------------------------------------------ Simply change to http://www.suse.de/es
El 2004-09-10 a las 12:42 +0200, Rafa Grimán escribió:
Otra opción sería que el servidor exportara TODO. Es decir, que copie del cliente TODO al servidor y luego este exporta toda. Ventajas: más sencillo de administrar -> menos problemas al exportar, al hacer copias de seguridad, evitamos tener duplicados, si se cae el sistema sólo tenemos que recuperar UN sistema y no los dos, ...
Ahhh, si. Er... quizás una pega: en el caso del cliente, para leer un fichero del directorio 'datos', los bytes viajan del cliente al servidor, y luego del servidor al cliente. Es decir, duplicamos el uso de los recursos de la red, y quizás de las CPUs. Bueno, es cuestión, como siempre, de valorar que es lo que estimamos más: en este caso, o la facilidad de administración, o los recursos utilizados.
Personalmente no he probado lo que quiere hacer tu colega, pero por lógica no creo que funcione ya que, cuando montas un sistema de ficheros en un punto de montaje, todo lo que hay en ese punto de montaje original "desaparece" (si alguien quiere hacer la prueba, que meta un CD y que teclee:
mount -t iso9660 /dev/cdrom /etc
sí, ya sé que tengo mala idea ;)
¡Bastante mala! :-P
Es decir, si el cliente monta en /archives lo que exporta el servidor, todo lo que tenía en ese directorio "desaparece" y no puede exportar SU /archives/<lo que sea>.
Otra posible solución es cambiar el nombre a uno de los directorios, o bien en el cliente o bien en el servidor, o, lo que es lo mismo, usar otro punto de montaje.
Ese es el truco que yo utilizo :-)
Añadiendo otro comentario a lo que dice Carlos (montar cada subdirectorio independientemente, cosa que es muy lógica). ¿por qué tiene tu colega /archives? Quiero decir, a la hora de hacer copias de seguridad tiene que copiar /home /etc /var /archives. ¿No sería mejor tener el contenido de /archives en /home?
Cuestión de gustos, supongo... yo tengo un /xtr, un /backup, un /cosas... como es mi máquina, me lo reparto arbitrariamente. ¿Si no son los ficheros de un usuario en particular, porqué usar /home? -- Saludos Carlos Robinson
participants (5)
-
Camaleón
-
Carlos E. R.
-
jose maria
-
miguel gmail
-
Rafa Grimán