AnalogJ / scrutiny

Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds
MIT License
4.76k stars 158 forks source link

Disk stressing / burn-in feature #32

Open ironicbadger opened 3 years ago

ironicbadger commented 3 years ago

https://blog.ktz.me/new-hard-drive-rituals/

Something like the burn-in procedure mentioned in this blog post would be very cool to have in a web app.

AnalogJ commented 3 years ago

Interesting. I've only ever run badblocks on a new drive. Would you want Scrutiny to be able to trigger a badblocks run? or just display the badblocks data/metrics in some way?

ironicbadger commented 3 years ago

A webUI based tmux session is what I'm picturing? But maybe some check boxes and a 'GO' button. How it's implemented under the hood is up to you I guess.

AnalogJ commented 3 years ago

Hm. So something like that would require a pretty significant change to the architecture.

Scrutiny's hub & spoke model works great for data ingest, but a 2way communication model would require a messaging queue to keep the distributed model. It would also make Scrutiny pretty powerful attack vector (IIRC badblocks needs to be run as root, and is a destructive operation when run on a formatted harddrive)

Personally I'm hesitant to add this as a feature

Reinitialized commented 3 years ago

Chiming in as I see this to be a quite useful functionality for a tool designed to give health reports on your drives.

It would also make Scrutiny pretty powerful attack vector

I think this is a out of scope concern, as if Scrutiny is accessible to the point to be exploited, then there's another problem in how one is exposing their services. Although I'm not necessarily encouraging intentionally exploitable code, unless I'm misunderstanding how Scrutiny is intended to be used, it should be an LAN only service. I imagine you'd also want to absolutely confirm with the user you want to do a burn in, considering the ensured risk of data loss of running badblocks, by prompting with user interaction required UX.

In regards to the implementation, well, it's your project and decision to do so. However, it would be a huge quality of life benefit to see this tool support the entire lifecycle of a drive, from burn in to it needs to go.