Running a disk health check while the node is still running?

How do I run a disk health check while my node is running? Is it safe? Performance impact?
I am running on a rpi, 4 Raspbian OS, headless.

What do you mean by a health check?
If you mean the checking a filesystem, then it would only report potential problems, but not fix them. To fix a filesystem issues you need to stop and remove the container, unmount the disk and run the filesystem check.
After that mount the disk back and run the container with all your parameters.

You can use smartctl to start a health check. It only reads the surface.

If you really suspect the disk, use rsync to copy the contents off to a new disk, since that’s what you’ll end up at anyhow

I don’t suspect it of any failures, just want a way/system to monitor it so that I can catch it before it happens so I can act on it.

Install smartmontools

On Synology, the SMART test is scheduled to run once a month. Where I have Iron Wolfs, I run also IronWolf health check once a month. Both tests are running automaticaly, without interupting the node’s operations. I didn’t saw any problems or crashes. I don’t know how raspi through USB is running this test, but if you can’t schedule it tu run auto, and you do it manualy, better stop the node.
I only run the simple tests, not extended. That ofcourse will require stopping the node.