¿Cuál usar NFS o Samba?

75

Estoy configurando una caja para ser un servidor de archivos en la casa. Se utilizará principalmente para compartir música, imágenes, películas con otras cajas de Linux en la red y una máquina OS X. Por lo que he leído, NFS y samba funcionarían en mi situación, y como tal, no estoy seguro de cuál elegir. Lo importante para mí son las transferencias de velocidad entre cajas y lo difícil que es configurarlo.

¿Cuál recomendarías y por qué?

Jacob Schoen
fuente

Respuestas:

71

En una red cerrada (donde conoce todos los dispositivos), NFS es una buena opción. Con una buena red, el rendimiento es asquerosamente rápido y, al mismo tiempo, menos intensivo de CPU en el servidor. Es muy sencillo de configurar y puede alternar entre recursos readonlycompartidos que no necesita para poder escribirse.

No estoy de acuerdo con Anders. v4 puede ser tan simple como v3. Solo se complica si desea comenzar a estratificar en seguridad a través de LDAP / gssd. Es capaz de mecanismos de seguridad muy complejos y completos ... Pero no los necesita. De hecho, están desactivados por defecto.

sudo apt-get install nfs-kernel-server

Luego edite /etc/exportspara configurar sus recursos compartidos. Aquí hay una línea de mi versión en vivo que comparte mi música:

/media/ned/music        192.168.0.0/255.255.255.0(ro,sync,no_subtree_check)

Esto comparte esa ruta con cualquiera en 192.168.0. * De una manera readonly(observe la ro).

Cuando haya terminado de editar, reinicie NFS:

sudo /etc/init.d/nfs-kernel-server restart

Para conectar un cliente, necesita los gubbins NFS (no instalados de forma predeterminada):

sudo apt-get install nfs-common

Y luego agregue una línea a /etc/fstab

192.168.0.4:/media/ned/music  /media/music  nfs ro,hard,intr 0 0

En realidad, este es el cliente NVSv3 porque soy flojo pero es compatible en este escenario. 192.168.0.4es el servidor NFS (mi escritorio en este caso). Y deberá asegurarse de que /media/musicexista la ruta de montaje ( aquí).


Para una Mac, siga esto: http://www.techrepublic.com/blog/apple-in-the-enterprise/mounting-nfs-volumes-in-os-x/

Es mucho más simple de lo que algunos tutoriales más antiguos te harían creer.


Puede parecer más complicado de lo que realmente es, pero es sólido, predecible y rápido. Algo que no puedes nivelar contra Samba ... Al menos, en mi experiencia.

Oli
fuente
Gracias por todos los detalles. Creo que estoy listo para darle una oportunidad a este fin de semana.
Jacob Schoen
¿Cómo logra que esto sea persistente (para el cliente) en el reinicio del servidor? Tengo una configuración similar que funciona bien ( /etc/fstabconfigurada para montar, en mi caso, una carpeta NAS), pero cuando el servidor se reinicia, paso repetidamente umounty mount -agiro en la terminal para recuperar mi montaje. Principalmente bien para mí (excepto por molestias como Picasa que borra la base de datos local cuando la carpeta de fotos de la red de repente está ausente :(), pero esto lleva a mi esposa a la pared ...
Russ
@Russ Parece que su conexión de red tarda mucho en comenzar. Considere agregar auto,_netdeval fragmento de opciones para que se vea algo así: auto,_netdev,ro,hard,intrEsto debería forzar al sistema de archivos a esperar una conexión de red.
Oli
1
Gracias por tus explicaciones! Algunas preguntas más: ¿por qué no usar FTP? Escuché que los UID tienen que ser únicos ... Eso me parece realmente complicado. ¿Cómo trata NFS con los permisos de archivos?
lumbric
@lumbric Respuesta súper tardía, lo siento. FTP es transaccional y, como resultado, es realmente torpe y lento. Tiene un rendimiento bastante bueno, pero todo lo que importa en un sistema de archivos para uso real (estadísticas, listados, etc.) es tedioso. Los permisos se pueden adaptar y los usuarios se pueden mapear con las diversas configuraciones LDAP / gssd, pero estas están más allá de mis necesidades (y actualmente más allá de mi conocimiento).
Oli
11

Recientemente probé la conexión a través de SMB y NFS a mi estación NAS de Synology. Para mí, la conexión NFS funciona dos veces más rápido que la conexión SMB. Especialmente si tiene que lidiar con 100 GByte de fotos y archivos de música en 1000 directorios, le encantará la velocidad de NFS.

Ralf Hersel
fuente
6

NFS (versión 3) proporcionará un mayor rendimiento y es bastante fácil de configurar. El principal problema es la falta total de seguridad decente.

NFS (versión 4) brinda seguridad, pero es casi imposible de configurar.

Samba probablemente será un poco más lento, pero es fácil de usar y también funcionará con clientes de Windows.

Anders Westrup
fuente
10
pero es casi imposible de configurar : ¿puede respaldar eso con alguna evidencia o se basa solo en su sentimiento subjetivo?
lanoxx
2
Nunca tuve un problema con v4, entonces, ¿cuál es el problema?
KingCrunch
No encontré NFSv4 más difícil que NFSv3. Por supuesto, eso sin Kerberos.
MountainX
4

Recientemente configuré un servidor NFS local en el servidor Ubuntu 10.04, pero mi MacBook Pro (OS X 10.6.X) no se pudo conectar. Para que la Mac pueda conectarse tuve que agregar inseguro a la /etc/exports.

Mi / etc / exportaciones:

/mnt/sdcard *(rw,sync,no_subtree_check,insecure,all_squash)
Niels van Reijmersdal
fuente
4

Ejecute pruebas del mundo real antes de dedicar los próximos X años e Y TB a un protocolo en particular sin darse cuenta de que había una mejor opción.

Encontrarás opiniones sobre cuál es más rápido con las personas de Samba que afirman que están a la par con NFS. Dependiendo de sus necesidades, lo mejor que podría hacer sería configurar un recurso compartido Samba y un recurso compartido NFS y ejecutar varias pruebas de lectura / escritura / CPU en el mundo real a través de la red. Si tiene necesidades similares a las mías (máquinas con Windows), se sorprenderá al descubrir que Samba es un 20% más rápido que NFS.

Elija el que ofrezca los mejores resultados en su configuración e ignore lo que la gente dice que es el más rápido.

Joe
fuente
¡+1 solo para el punto "X años e Y TB"! :-)
kkm