First (and I’m not trying to be ‘snooty’) you are referencing the entire ‘root’ (top level) filesystem as “/root”…
If you had a seperate “/root” filesystem, you might not have such a critical issue…
You DO have a seperate “/boot” and “/home” filesystem, which is very good…
The ‘actual’ issue, is that you only have a ‘root’ filesystem for the O/S and the files that are written to it (which are probably what filled up ‘/’)…
Such that (and some would probably say this is ‘old school’ and not neccessary anymore) you should have ‘seperate’ filesystems for ANY filesystem that get written to, otherwise runaway processes, unknowing users, or vendor applications, will continually cause this issue…
HERE is what I’ve been using for the past 3 decades (and this is a workstation config, with my server builds looking the same):
workstation2:> df -k | grep -v \/run
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/osdisk_vg-root_lv 10218772 4384992 5293108 46% /
devtmpfs 4096 0 4096 0% /dev
tmpfs 7989980 0 7989980 0% /dev/shm
/dev/mapper/osdisk_vg-opt_lv 4046560 111588 3708876 3% /opt
/dev/sda1 996780 355612 572356 39% /boot
/dev/mapper/osdisk_vg-var_lv 8154588 228788 7489988 3% /var
/dev/mapper/osdisk_vg-tmp_lv 1992552 9724 1861588 1% /tmp
/dev/mapper/osdisk_vg-home_lv 1992552 46560 1824752 3% /export/home
If you realize that ANYONE can write anything to “/tmp” and/or “/var/tmp”, then you should also realize that they can fill those locations up, wreaking havoc…