• Atrasar o desligamento no processo de shutdown

    From Paulino Kenji Sato@21:1/5 to All on Tue Mar 8 20:30:01 2022
    Ola,
    Estou tendo problemas de corrupção de FS em um SSD.
    De vez em quando preciso iniciar um 'live linux' para poder rodar um fsck e reparar.
    O processo de shutdown atualmente está muito rápido, então estou
    especulando que a causa da corrupção seja o corte no fornecimento de
    energia antes que o SSD grave de fato os dados.
    Para comprovar ou não essa especulação precisaria atrasar o power off após a desmontagem dos discos.

    É possível introduzir esse atraso no processo de shutdown (no systemd ou kernel)?

    Poderia, em vez de desligar, fazer um reboot e desligar manualmente no tela
    do grub, mas isso não é nada prático

    OBS.: E um atraso no processo de shutdown, não quando o shutdown deve ser feito.
    --
    Paulino Kenji Sato

    <div dir="ltr"><div>Ola,</div><div>Estou tendo problemas de corrupção de FS em um SSD.</div><div>De vez em quando preciso iniciar um &#39;live linux&#39; para poder rodar um fsck e reparar.</div><div>O processo de shutdown atualmente está muito rá
    pido, então estou especulando que a causa da corrupção seja o corte no fornecimento de energia antes que o SSD grave de fato os dados.</div><div>Para comprovar ou não essa especulação precisaria atrasar o power off após a desmontagem dos discos.</
    <div><br></div><div>É possível introduzir esse atraso no processo de shutdown (no systemd ou kernel)?</div><div><br></div><div>Poderia, em vez de desligar, fazer um reboot e desligar manualmente no tela do grub, mas isso não é nada prático</div><
    <br></div><div>OBS.: E um atraso no processo de shutdown, não quando o shutdown deve ser feito.<br></div><div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Paulino Kenji Sato<br></div></div></d
  • From Antonio Terceiro@21:1/5 to Paulino Kenji Sato on Tue Mar 8 23:00:02 2022
    On Tue, Mar 08, 2022 at 04:24:11PM -0300, Paulino Kenji Sato wrote:
    Ola,
    Estou tendo problemas de corrupção de FS em um SSD.
    De vez em quando preciso iniciar um 'live linux' para poder rodar um fsck e reparar.
    O processo de shutdown atualmente está muito rápido, então estou
    especulando que a causa da corrupção seja o corte no fornecimento de
    energia antes que o SSD grave de fato os dados.
    Para comprovar ou não essa especulação precisaria atrasar o power off após
    a desmontagem dos discos.

    É possível introduzir esse atraso no processo de shutdown (no systemd ou kernel)?

    Poderia, em vez de desligar, fazer um reboot e desligar manualmente no tela do grub, mas isso não é nada prático

    OBS.: E um atraso no processo de shutdown, não quando o shutdown deve ser feito.

    Em princípio você pode colocar um script em
    /lib/systemd/system-shutdown/ que chama um sleep de quanto tempo você
    quiser, e o processo de desligamento vai esperar ele terminar. Veja a
    manpage de `systemd-shutdown`.

    Agora o certo era o systemd não só tentar desmontar todos os
    filesystems, como também chamar um sync() antes de desligar pra que o
    kernel termine de enviar os dados pro hardware, exatamente pra evitar
    esse tipo de coisa. Como exatamente esse seu filesystem está sendo
    montado? É possível que esteja dando erro na hora de desmontar?

    Se você consegue reproduzir esse problema de forma consistente, seria interessante abrir um bug (no Debian ou no repositório upstream).

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEst7mYDbECCn80PEM/A2xu81GC94FAmIn0LAACgkQ/A2xu81G C95KnhAAvjG43Et6nHuJJghlTYmMAPZHm0OJ3c9rVBIfeuXRp5oC1WIYU3W9sVNN 1pb6rQ44/GjDEXDEknw5nXTFmh1zMwigyKWkanzCk6q1eocKtM5y5THOlx3k7HZ5 SIWnsexaIenEaDMW/MtjntS8zVJgrF67Hy/o1K71Q7rS7N0fsLxgSORNoaWxorgO UbxpPCy0n5rrQ/jY7Q2fYwsxgj9BJ5LXLLDB18dWwjEg5AHuaKoA7mXp5Ld0bOqZ jI/ziDAifz4GxEhfYiCrwo6uPUHPF8uuhY/CpIeVGr+TDe2GsWIT109gN9LMIYTG 2n5KouEdgvUO8KexM2iNY02HsVRh853mki/6CwkFuyYMUu6p6EBpE113operZ14p VcJ0dHbWbcCYHwiUlZ+IMR/VNYsW9wpEsHyDW0sYkvcXnmkabB75GverNUBkb/Ju r7oyIwe/HQLPmoBetnpYp93Du/BpnbsbxFeJsfahrZHK1mSzURSCQ2EujXhEbZwl k+PE9q2f/hpqgfWRbTx3VC2t0IWqIU77EzUnGKRUWqTFs0SOdulfU6+ZAf0rCABs Nph66MqMedi9pm71ZPxXHGBy8xjZsheVkwbVQjVWXWwPVjGoSB2pRlZQojXrxMaB r85ZaKgDcFbqJ0JO37L5WHpewCHMEBGeTXDSGvugYqmMiO0iNT8=
    =rTnd
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paulino Kenji Sato@21:1/5 to terceiro@debian.org on Thu Mar 10 20:40:01 2022
    Ola,

    On Tue, Mar 8, 2022 at 6:55 PM Antonio Terceiro <terceiro@debian.org> wrote:


    Em princípio você pode colocar um script em
    /lib/systemd/system-shutdown/ que chama um sleep de quanto tempo você quiser, e o processo de desligamento vai esperar ele terminar. Veja a
    manpage de `systemd-shutdown`


    Coloquei um script com sleep 30 nesse diretório.
    Parece que o shutdown esta demorando os 30s.
    Ao ler a documentação, fiquei curioso de como ele vai acessar o script se, nesse ponto, todos os 'discos' já foram desmontados. Ele monta de novo em
    Read Only.

    Agora o certo era o systemd não só tentar desmontar todos os
    filesystems, como também chamar um sync() antes de desligar pra que o
    kernel termine de enviar os dados pro hardware, exatamente pra evitar
    esse tipo de coisa. Como exatamente esse seu filesystem está sendo
    montado? É possível que esteja dando erro na hora de desmontar


    Isso deveria estar sendo feito, pelo menos era assim no SysVinit.
    Mesmo assim um umount implica em um sync.
    O problema e como o SSD funciona internamente, o buffer dele e muito maior
    que de um HDD, e o processo de gravação pode demorar muito mais tempo que o esperado, e firmware pode ter sinalizado que o bus já esta livre.


    Se você consegue reproduzir esse problema de forma consistente, seria interessante abrir um bug (no Debian ou no repositório upstream).


    Não e um bug.
    Seria mais um 'feature' do systemd, para que em casos especiais, um atraso possa ser adicionado entes de enviar o poweroff para o 'kernel'.

    ***
    On Thu, Mar 10, 2022 at 3:12 PM Vitor Hugo <vitorhugo60@hotmail.com> wrote:

    Recomendo que faça backup urgente dos seus dados pessoais e importantes
    e verifique a saúde deste SSD.


    Backup já foi feito, um novo SSD esta a caminho.
    A coisa mais importante que tem nesse SSD e o Debian, se ele pifar, só vou ficar algumas horas sem poder assistir os meus animes. :)


    --
    Paulino Kenji Sato

    <div dir="ltr"><div>Ola,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 8, 2022 at 6:55 PM Antonio Terceiro &lt;<a href="mailto:terceiro@debian.org">terceiro@debian.org</a>&gt; wrote:<br></div><blockquote class="gmail_
    quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
    Em princípio você pode colocar um script em<br>
    /lib/systemd/system-shutdown/ que chama um sleep de quanto tempo você<br> quiser, e o processo de desligamento vai esperar ele terminar. Veja a<br> manpage de `systemd-shutdown`<br></blockquote><div><br></div><div>Coloquei um script com sleep 30 nesse diretório.</div><div>Parece que o shutdown esta demorando os 30s.</div><div>Ao ler a documentação, fiquei curioso de como ele vai acessar o script
    se, nesse ponto, todos os &#39;discos&#39; já foram desmontados. Ele monta de novo em Read Only.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px