ubuntu 16.04 fstab falla con nobootwait

16

Acabo de limpiar la instalación de Ubuntu 16.04 (para reemplazar 14.04) con la intención de portar la mayor parte del archivo fstab en funcionamiento, para montar otros discos / particiones JFS. Pero me parece que estoy teniendo problemas con nobootwait.

Por ejemplo, una entrada de fstab que funcionó en 14.04 fue:

UUID=<uuid>  /storage jfs defaults,nodiratime,noatime,nofail,nobootwait  0 2

Pero en 16.04, no montará la unidad en el momento del arranque ni se montará según el siguiente comando:

sudo mount /storage

Tengo instalado jfsutils, y puedo montar la partición manualmente, es decir

sudo mount -t jfs /dev/sdX /storage

He encontrado esto en dmesg

[   6.720171] jfs: Unrecognized mount option "nobootwait" or missing value

Entonces, tomando eso como una pista, cuando elimino la nobootwaitopción de fstab, el comando

sudo mount /storage 

funciona bien. (No lo sé en el momento del arranque, ya que actualmente estoy haciendo esto a través de ssh y no quiero arriesgarme a que la computadora no arranque).

Obviamente, una solución es descartar la nobootwaitopción. Pero no quiero hacer eso. Tal vez nobootwait NUNCA funcionó (nunca tuve una falla de arranque del disco) en 14.04 y 14.04 simplemente ignoré el error, pero quiero la supuesta funcionalidad de nobootwait.

¿Ha habido un cambio en Ubuntu 16.04 o en el kernel de Linux nobootwait?

codechimp
fuente
Esto me sucedió a mí también cuando actualicé una máquina a 16.04. Según mi experiencia, nobootwaitse eliminó como una opción, pero no he encontrado esto documentado en ninguna parte. Me lo reemplazó con nofail.
Mármol orgánico
@Mármol orgánico Me alegra que no me esté volviendo completamente mental. Gracias. Aún así me gustaría obtener la nobootwaitfuncionalidad.
codechimp

Respuestas:

12

Esta opción parece haber sido descartada. El Ubuntu página de manual para fstabcontiene este texto si selecciona 14.04 LTS en la parte superior:

The  mountall(8)  program  that  mounts  filesystem  during  boot  also
 recognises additional options that the ordinary mount(8) tool does not.
These  are:  ``bootwait''  which  can  be applied to remote filesystems
mounted outside of /usr or /var, without which  mountall(8)  would  not
hold up the boot for these; ``nobootwait'' which can be applied to non-
remote filesystems to explicitly instruct mountall(8) not  to  hold  up
the boot for them; ``optional'' which causes the entry to be ignored if
the filesystem type is not known  at  boot  time;  and  ``showthrough''
which  permits  a mountpoint to be mounted before its parent mountpoint
(this latter should be used carefully, as it can cause boot hangs).

Este párrafo no existe en la versión de la página que obtiene si selecciona 16.04 en la parte superior.

Mármol orgánico
fuente
8
¿Alguien tiene una alternativa viable a esto? ¿Sabes, además de la forma hack de agregar noautoa las opciones de montaje y luego llamar mount -adesde rc.localo desde un trabajo cron con la @rebootbandera?
John Blackberry
10

Si solo está buscando cómo replicar el nobootwaitcomportamiento en 16.04, parece que la opción que está buscando es nofail. De http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html

   nofail
       With nofail, this mount will be only wanted, not required, by
       local-fs.target or remote-fs.target. This means that the boot will
       continue even if this mount point is not mounted successfully.
Cheshirekow
fuente
66
Hay una diferencia fundamental entre estos dos: nofailse espere 1,5 minutos antes de renunciar, nobootwaitno esperar en absoluto.
rustyx
10

Parece que hay 2 opciones relevantes que deben configurarse para imitar el comportamiento de nobootwait, tomadas de la página de manual de montaje de systemd :

   nofail
       With nofail, this mount will be only wanted, not required, by
       local-fs.target or remote-fs.target. This means that the boot will
       continue even if this mount point is not mounted successfully.
   x-systemd.device-timeout=
       Configure how long systemd should wait for a device to show up
       before giving up on an entry from /etc/fstab. Specify a time in
       seconds or explicitly append a unit such as "s", "min", "h", "ms".

por lo tanto, configurar las opciones nofail,x-systemd.device-timeout=1debería hacer que el sistema espere 1 segundo para que se monte el dispositivo antes de continuar el arranque.

Konstantin Pereiaslov
fuente
0

A partir de Ubuntu 16.04, el sistema de inicio predeterminado es systemd que reemplazó a mountall. http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html proporciona nuevas opciones que probablemente eliminen la necesidad de nobootwait.

Zigmund Ozea
fuente
3
Los enlaces pueden morir, ¿podría copiar la información relevante aquí?
Dr_Bunsen
@Dr_Bunsen El enlace es una página de manual en línea para mayor comodidad, también puede ejecutarlo man systemd.mountpara ver el mismo archivo localmente.
Skylar Ittner
77
Publicar la información relevante es lo habitual.
Dr_Bunsen