Re: how to fsck automatically at boot

2024-05-23 Thread Nick Holland

On 5/22/24 08:08, Kirill A. Korinsky wrote:

On Wed, 22 May 2024 12:53:11 +0100,
Nick Holland  wrote:


For reasons of multi-hour fsck's on a few systems, I'm looking at
remounting the problem file systems as "rw" when writing is actually
needed and "ro" after the writing is complete (IN THIS APPLICATION, this
is known) to reduce my "at risk of power outage" window a lot, but I
suspect this will fall deeply within the category of "when I break
things, I get to keep all the pieces". :)



Do you need atime on that FS? Disable it dramatically reduces chances of
manual interraction with fsck. If you move forward and add sync which slow
down write but allows to get almost zero porbability of fsck interraction.


Already done. :)
This is a backup system I have -- lots of symlinks, lots of files.  Cool
thing is, the fsck is painful, but almost never have to help the fsck along,
at least once softdep was removed and they quit crashing in the middle of
backups. (softdep removal really hurt these systems -- some tasks went from
an hour or so to many hours...but it doesn't impact my life one bit.  On
the other hand, obviously I was tickling some of those softdep bugs I had
heard hit some people).


And in other news: couple days ago, I said I rarely need manual intervention
on the systems I just yank the cords from.  Well, this morning, a system I
manage remotely apparently had a couple power events, and one system needed
help with the fsck.  That's what happens when one boasts. :D

Nick.




Re: how to fsck automatically at boot

2024-05-22 Thread Stuart Henderson
On 2024-05-22, Kirill A  Korinsky  wrote:
> On Wed, 22 May 2024 12:53:11 +0100,
> Nick Holland  wrote:
>> 
> Do you need atime on that FS? Disable it dramatically reduces chances of
> manual interraction with fsck.

btw: you probably _do_ want atime on /tmp (see /etc/daily).
But that's a fairly good candidate for MFS anyway.



Re: how to fsck automatically at boot

2024-05-22 Thread Kirill A . Korinsky
On Wed, 22 May 2024 12:53:11 +0100,
Nick Holland  wrote:
> 
> For reasons of multi-hour fsck's on a few systems, I'm looking at
> remounting the problem file systems as "rw" when writing is actually
> needed and "ro" after the writing is complete (IN THIS APPLICATION, this
> is known) to reduce my "at risk of power outage" window a lot, but I
> suspect this will fall deeply within the category of "when I break
> things, I get to keep all the pieces". :)
> 

Do you need atime on that FS? Disable it dramatically reduces chances of
manual interraction with fsck. If you move forward and add sync which slow
down write but allows to get almost zero porbability of fsck interraction.

-- 
wbr, Kirill



Re: how to fsck automatically at boot

2024-05-22 Thread Nick Holland

On 5/21/24 08:28, Stuart Henderson wrote:

On 2024-05-21, Nick Holland  wrote:

...


When I remove that disk the boot sequence stops and asks for a fsck
I would like that this disk is mounted when it's present, but when it's not 
installed I don't want the boot sequence to stop


Make it also "noauto" in fstab and mount it in rc.local.


Last I tried this, it didn't do what I wanted -- "noauto" still expects
to have the disk there and will fsck it on boot.  Failure to be able to
do this stops the boot.  It's been a while since I last tried this, so
perhaps something has changed (including my recollection?)


See fstab(5) about fs_passno.


ah, so "0" or blank. cool. learned something.
That will simplify a few things!


And this might be a solution for the OP's problem:
make /usr and /usr/* "ro" during normal operation


reorder_kernel is run in the background from /etc/rc; for RO /usr
you need to wait for that to finish.


And I forgot that. d'oh.
So yes, file my tidbit under "REALLY BAD ADVICE" and ignore it.

For reasons of multi-hour fsck's on a few systems, I'm looking at
remounting the problem file systems as "rw" when writing is actually
needed and "ro" after the writing is complete (IN THIS APPLICATION, this
is known) to reduce my "at risk of power outage" window a lot, but I
suspect this will fall deeply within the category of "when I break
things, I get to keep all the pieces". :)

Nick.

 



Re: how to fsck automatically at boot

2024-05-22 Thread Mik J
Hello Nick, Stuart, Kirill, Jan,
Thank you for all your answers.






Le mardi 21 mai 2024 à 14:31:13 UTC+2, Stuart Henderson 
 a écrit : 





On 2024-05-21, Nick Holland  wrote:
> On 5/20/24 09:37, Jan Stary wrote:
>> On May 20 13:22:26, mikyde...@yahoo.fr wrote:
>>> Hello,
>>> 
>>> I have two use cases and problems with fsck.
>>> 
>>> 1) When my openbsd boots after an outage, the system asks me to fsck /, 
>>> /usr, /var or /home manually.
>>> So I do
>>> fsck /dev/sd0a
>>> And then I'm asked questions and I usually answer F
>>> 
>>> So my question is that I want this process to be done automatically at boot 
>>> time for each partition that has a problem.
>> 
>> The /etc/rc boot script calls fsck -p;
>> if that fails, it means fsck -p was unable to fix a major problem.
>> It is the point that it requires an admin's intervention.
>> 
>> You would have to change the fsck call to fsck -y;
>> but don't do that.

AIUI the rationale for not using -y by default is that fsck may do
further damage to a badly damaged disk. But in practice many people
wouldn't do anything other than hit 'y' lots or 'F' when fsck
complains, in which case patching /etc/rc to run -y by default
isn't going to be any worse... And there are certainly some classes
of system where you don't really care about losing data (i.e. you
can recreate from config management or backups) but you do want to
maximise the chances of being able to connect in remotely, and in
that case -y can definitely help.

> I'd look at why your file systems are always needing these manual
> interventions after a hard shutdown.  I routinely power down my
> personal systems with yanking the power cord if it would take me
> longer "properly" connect a console and properly shut down.

That really depends on what the system is doing.

>>> When I remove that disk the boot sequence stops and asks for a fsck
>>> I would like that this disk is mounted when it's present, but when it's not 
>>> installed I don't want the boot sequence to stop
>> 
>> Make it also "noauto" in fstab and mount it in rc.local.
>
> Last I tried this, it didn't do what I wanted -- "noauto" still expects
> to have the disk there and will fsck it on boot.  Failure to be able to
> do this stops the boot.  It's been a while since I last tried this, so
> perhaps something has changed (including my recollection?)

See fstab(5) about fs_passno.

> And this might be a solution for the OP's problem:
> make /usr and /usr/* "ro" during normal operation

reorder_kernel is run in the background from /etc/rc; for RO /usr
you need to wait for that to finish.

-- 
Please keep replies on the mailing list.



Re: how to fsck automatically at boot

2024-05-21 Thread Stuart Henderson
On 2024-05-21, Nick Holland  wrote:
> On 5/20/24 09:37, Jan Stary wrote:
>> On May 20 13:22:26, mikyde...@yahoo.fr wrote:
>>> Hello,
>>> 
>>> I have two use cases and problems with fsck.
>>> 
>>> 1) When my openbsd boots after an outage, the system asks me to fsck /, 
>>> /usr, /var or /home manually.
>>> So I do
>>> fsck /dev/sd0a
>>> And then I'm asked questions and I usually answer F
>>> 
>>> So my question is that I want this process to be done automatically at boot 
>>> time for each partition that has a problem.
>> 
>> The /etc/rc boot script calls fsck -p;
>> if that fails, it means fsck -p was unable to fix a major problem.
>> It is the point that it requires an admin's intervention.
>> 
>> You would have to change the fsck call to fsck -y;
>> but don't do that.

AIUI the rationale for not using -y by default is that fsck may do
further damage to a badly damaged disk. But in practice many people
wouldn't do anything other than hit 'y' lots or 'F' when fsck
complains, in which case patching /etc/rc to run -y by default
isn't going to be any worse... And there are certainly some classes
of system where you don't really care about losing data (i.e. you
can recreate from config management or backups) but you do want to
maximise the chances of being able to connect in remotely, and in
that case -y can definitely help.

> I'd look at why your file systems are always needing these manual
> interventions after a hard shutdown.  I routinely power down my
> personal systems with yanking the power cord if it would take me
> longer "properly" connect a console and properly shut down.

That really depends on what the system is doing.

>>> When I remove that disk the boot sequence stops and asks for a fsck
>>> I would like that this disk is mounted when it's present, but when it's not 
>>> installed I don't want the boot sequence to stop
>> 
>> Make it also "noauto" in fstab and mount it in rc.local.
>
> Last I tried this, it didn't do what I wanted -- "noauto" still expects
> to have the disk there and will fsck it on boot.  Failure to be able to
> do this stops the boot.  It's been a while since I last tried this, so
> perhaps something has changed (including my recollection?)

See fstab(5) about fs_passno.

> And this might be a solution for the OP's problem:
> make /usr and /usr/* "ro" during normal operation

reorder_kernel is run in the background from /etc/rc; for RO /usr
you need to wait for that to finish.

-- 
Please keep replies on the mailing list.



Re: how to fsck automatically at boot

2024-05-21 Thread Nick Holland

On 5/20/24 09:37, Jan Stary wrote:

On May 20 13:22:26, mikyde...@yahoo.fr wrote:

Hello,

I have two use cases and problems with fsck.

1) When my openbsd boots after an outage, the system asks me to fsck /, /usr, 
/var or /home manually.
So I do
fsck /dev/sd0a
And then I'm asked questions and I usually answer F

So my question is that I want this process to be done automatically at boot 
time for each partition that has a problem.


The /etc/rc boot script calls fsck -p;
if that fails, it means fsck -p was unable to fix a major problem.
It is the point that it requires an admin's intervention.

You would have to change the fsck call to fsck -y;
but don't do that.


I'd look at why your file systems are always needing these manual
interventions after a hard shutdown.  I routinely power down my
personal systems with yanking the power cord if it would take me
longer "properly" connect a console and properly shut down.

yeah, I get fscks, but I rarely get a manual intervention required.
It does happen...but rarely.


(Also, don't let a server have power outages, obviously.)


This is because I use a small server without screen and keyboard.


So what? That is no excuse to leave broken filesystems unattended.


2) I have another disk in my small server, and I mount one partition of it with 
in fstab
aa929243b0f5.a /var/mylogs ffs rw,nodev,nosuid 1 2
When I remove that disk the boot sequence stops and asks for a fsck
I would like that this disk is mounted when it's present, but when it's not 
installed I don't want the boot sequence to stop


Make it also "noauto" in fstab and mount it in rc.local.


Last I tried this, it didn't do what I wanted -- "noauto" still expects
to have the disk there and will fsck it on boot.  Failure to be able to
do this stops the boot.  It's been a while since I last tried this, so
perhaps something has changed (including my recollection?)


I have some backup servers with big file systems that can take hours to
fsck. I pulled the mount lines out of /etc/fstab and put them in a
separate script that is invoked at boot from /etc/rc.local

And this might be a solution for the OP's problem:
make /usr and /usr/* "ro" during normal operation, and move all the
"lots of volatile data" stuff over to partitions that are mounted post
boot by a separate script.  Maybe make /tmp an MFS if that's an option.
That will minimize the fsck problems, and allow the system to come up
for either manual, remote fixing or even fsck -y in the mountall script.
Don't forget you ro'd the /usr partitions, otherwise your upgrades will
be unpleasant. :)

Nick.



Re: how to fsck automatically at boot

2024-05-20 Thread Kirill A . Korinsky
On Mon, 20 May 2024 14:22:26 +0100,
Mik J  wrote:
> 
> aa929243b0f5.a /var/mylogs ffs rw,nodev,nosuid 1 2

You may add noatime which should decrease probability of issues when an
outage had happened.

Also, you may consider to use sync option which should future decrease
probability of issues on an outage.

-- 
wbr, Kirill



Re: how to fsck automatically at boot

2024-05-20 Thread Jan Stary
On May 20 13:22:26, mikyde...@yahoo.fr wrote:
> Hello,
> 
> I have two use cases and problems with fsck.
> 
> 1) When my openbsd boots after an outage, the system asks me to fsck /, /usr, 
> /var or /home manually.
> So I do
> fsck /dev/sd0a
> And then I'm asked questions and I usually answer F
> 
> So my question is that I want this process to be done automatically at boot 
> time for each partition that has a problem.

The /etc/rc boot script calls fsck -p;
if that fails, it means fsck -p was unable to fix a major problem.
It is the point that it requires an admin's intervention.

You would have to change the fsck call to fsck -y;
but don't do that.

(Also, don't let a server have power outages, obviously.)

> This is because I use a small server without screen and keyboard.

So what? That is no excuse to leave broken filesystems unattended.

> 2) I have another disk in my small server, and I mount one partition of it 
> with in fstab
> aa929243b0f5.a /var/mylogs ffs rw,nodev,nosuid 1 2
> When I remove that disk the boot sequence stops and asks for a fsck
> I would like that this disk is mounted when it's present, but when it's not 
> installed I don't want the boot sequence to stop

Make it also "noauto" in fstab and mount it in rc.local.

(Also, don't remove disks from servers, obviously.)