El montaje CIFS a través de fstab no se monta en el arranque


20

Tengo un recurso compartido CIFS en mi NAS que quiero montar en el arranque; mi servidor MythTV lo utiliza como la principal tienda de medios. Agregué una entrada fstabpara que se monte, pero no lo hace. Parece que, después de mirar los registros de mi sistema, fstabse está leyendo antes de que mis interfaces de red se conecten. ¿Hay alguna edición que pueda hacer a la fstabentrada que altere esto?

La fstabentrada para montar el recurso compartido es:

\\192.168.0.26\mythtv\media  /media/mybooklive  cifs  username=user,password=pass,umask=002,uid=136,gid=144,iocharset=utf8   0       0

Se monta bien después del arranque cuando emito sudo mount -ay no hay otros problemas con él.

¡Gracias!


2
Si el servidor ejecuta Ubuntu, es probable que necesite un / en lugar de un \ - "//192.168.0.26/mythtv/media" Consulte wiki.ubuntu.com/MountWindowsSharesPermanently
Panther

@ bodhi.zazen Puede haber tenido el / cuando entré, pero ahora se lee con el \
douggro

Compruebe la sintaxis (/ vs \) en fstab
Panther

@ bodhi.zazen Estoy bastante seguro de que el artículo wiki es lo que seguí al configurarlo. Comprobaré la sintaxis más tarde cuando tenga tiempo para sentarme con mi servidor.
douggro

1
@ bodhi.zazen Convierta su comentario en una respuesta, cambiando \ a / resuelto.
douggro

Respuestas:



24

¿Has intentado agregar la opción _netdeva tu fstabentrada? Lo agregaría con las otras opciones en su cadena de esta manera

//192.168.0.26/mythtv/media  /media/mybooklive  cifs  username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8   0       0

_netdev se supone que retrasa el montaje hasta que la red se conecte.


¿Puedes agregar contexto a donde se colocaría eso en la fstablínea? Con eso, y un período en el que pueda reiniciar el servidor cuando no se esté utilizando, lo intentaré. Gracias por responder.
douggro

1
Esto funcionó para mí en Ubuntu 12.04 pero no en Ubuntu 16.04. ¿Ha cambiado esto en la última versión?
Katu

2
Nota: Creo que _netdev realmente funciona en 16.04, sin embargo, credentials = / home / user / .smbcreds ya no funciona. Al menos para mí cuando uso user =, pass =, _netdev funciona, cuando uso credentials =, _ netdev no funciona. Ambos funcionan a través de sudo mount-a desde la línea de comandos después del arranque.
jb510

1
De hecho, creo que esto podría tener más que ver con los cambios de permisos que se realizaron en la carpeta de medios. En algún momento, Ubuntu comenzó a montar cosas en / media / username / folder name en lugar de / media / folder name. Si no monta en la ubicación de "nombre de usuario", entonces debe tener permisos de nivel sudo para acceder. Si cambia su ruta para usar la ruta / media / nombre de usuario, creo que aún debería funcionar.
djmadscribbler

1
_netdev - Solo válido con fstype nfs
Mikhail Chuprynski

15

Si _netdev no funciona, pruebe la opción:

x-systemd.automount

en lugar. Funciona montando la unidad en el primer acceso.

Para probar el montaje automático, desmonte su recurso compartido si está montado actualmente:

$ sudo umount /media/mybooklive

Y luego reinicie la remote-fsunidad systemd:

$ sudo systemctl daemon-reload
$ sudo systemctl restart remote-fs.target

2
gracias, esto funcionó para mí en 18.04 LTS
Jefe

1
_netdev no funcionaba el 18.04, esto funcionó perfectamente :)
Brian dice Reinstate Monica

6

Estoy usando la compilación Raspbian-Stretch con fecha del 07/09/2017 y experimenté el mismo problema. Sin embargo, pude superar esto entrando en raspi-config y en el menú Opciones de arranque, habilité la opción "Esperar a que la red arranque".


1
Esto es realmente MUY útil, tuve problemas que incluso si el arranque decía todo bien, simplemente no lo montó ni mostró carpetas
Alfred Espinosa

3

-El uso de barras diagonales (/) NO me lo solucionó.
-Además, agregar la opción _netdeva mi /etc/fstabentrada NO me lo solucionó.

Lo que he hecho para solucionar este problema (en mi Pi3) es modificar /etc/rc.localpara dormir 20 segundos (llamando sleep 20) y luego llamar mount -a. De esta manera, aunque la red NO está conectada todavía cuando el sistema lee el archivo fstab por primera vez, por lo que el montaje falla, forzo al sistema a esperar 20 segundos aquí (dando tiempo a la red para conectarse) y luego lo obligo a llamar mount -anuevamente para montar todas las unidades en el fstabarchivo.

Así es /etc/rc.localcomo se ve mi archivo ahora:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
#GS notes: a *minimum* of sleep 10 is required for the mount below to work on the Pi 3; it failed with sleep 5, but worked with sleep 10, sleep 15, and sleep 30
sleep 20
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
  mount -a #GS: mount all drives in /etc/fstab
fi

exit 0

¡Hecho! ¡Ahora funciona perfectamente para mí!

Referencias


¿Te estás conectando a través de wifi?
cbcoutinho

Sí, estoy usando WiFi en lugar de ethernet.
Gabriel Staples

De hecho, eso es muy extraño, pero probablemente no esté relacionado con mi problema. Tengo tres unidades de red que estoy tratando de conectar a través de un cable ethernet, sin wifi. Uno de los nombres de las unidades tiene un carácter especial, y eso hace que no se conecte después de un arranque nuevo. La ejecución sudo mount -aresuelve el problema, pero tengo curiosidad de por qué no funciona durante el arranque. Probaré tu solución y veré si eso ayuda.
cbcoutinho
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.