ubuntu 16.04 fstab falha com nobootwait

16

Acabei de instalar o Ubuntu 16.04 (para substituir o 14.04) com a intenção de transportar grande parte do arquivo fstab, para montar outros discos / partições JFS. Mas parece que estou tendo problemas nobootwait.

Por exemplo, uma entrada fstab que funcionou no 14.04 foi:

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

Porém, no 16.04, ele não montará a unidade no momento da inicialização nem será montada pelo seguinte comando:

sudo mount /storage

Eu tenho o jfsutils instalado e consigo montar a partição manualmente, ou seja,

sudo mount -t jfs /dev/sdX /storage

Eu encontrei isso em dmesg

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

Então, tomando isso como uma dica, quando removo a nobootwaitopção do fstab, o comando

sudo mount /storage 

funciona bem. (Não conheço no momento da inicialização, pois atualmente estou fazendo isso através do ssh e não quero arriscar o computador falhar na inicialização).

Obviamente, uma solução é abandonar a nobootwaitopção. Mas eu não quero fazer isso. Talvez o nobootwait NUNCA tenha funcionado (nunca tive falha de disco no disco rígido) nas versões 14.04 e 14.04 apenas ignorando o erro, mas quero a suposta funcionalidade de nobootwait.

Houve uma mudança no Ubuntu 16.04 ou no kernel do linux nobootwait?

codechimp
fonte
Isso aconteceu comigo também quando atualizei uma máquina para 16.04. Com base na minha experiência, nobootwaitfui descartado como opção, mas não o encontrei em nenhum lugar. Eu substituí por nofail.
Organic Marble
@ Marble Orgânico Feliz por aqui que eu não estou ficando completamente mental. Obrigado. Ainda assim, gostaria de obter a nobootwaitfuncionalidade.
Codecimp

Respostas:

12

Esta opção parece ter sido descartada. A página de manual do Ubuntu para fstabcontém este texto se você selecionar 14.04 LTS na 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 parágrafo não existe na versão da página exibida se você selecionar 16.04 na parte superior.

Mármore orgânico
fonte
8
Alguém tem uma alternativa viável para isso? Você sabe, além da maneira hackish de adicionar noautoàs opções de montagem e depois chamar mount -ade rc.localou de um trabalho cron com a @rebootbandeira?
John Blackberry
10

Se você está apenas procurando como replicar o nobootwaitcomportamento no 16.04, parece que a opção que você está procurando é nofail. Em 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
fonte
6
Há uma diferença fundamental entre estes dois: nofailvai esperar 1,5 minutos antes de desistir, nobootwaitnão esperar.
Rustyx
10

Parece que existem 2 opções relevantes que precisam ser definidas para imitar o comportamento nobootwait, extraídas da página de manual do systemd mount :

   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".

portanto, definir opções para nofail,x-systemd.device-timeout=1deve fazer o sistema aguardar 1 segundo para que o dispositivo seja montado antes de continuar a inicialização.

Konstantin Pereiaslov
fonte
0

A partir do Ubuntu 16.04, o sistema init padrão é o systemd, que substituiu o mountall. http://manpages.ubuntu.com/manpages/zesty/man5/systemd.mount.5.html fornece novas opções que provavelmente eliminam a necessidade de nobootwait.

Zigmund Ozea
fonte
3
Os links podem morrer. Você poderia copiar as informações relevantes aqui?
Dr_Bunsen
@Dr_Bunsen O link é uma página de manual online por conveniência, você também pode executar man systemd.mountpara visualizar o mesmo arquivo localmente.
Skylar Ittner
7
A publicação das informações relevantes é a coisa mais comum a se fazer.
Dr_Bunsen 5/09