根分区占满会导致系统服务崩溃,表现为无法登录图形界面、ssh卡顿、journald或dbus启动失败,甚至卡在busybox;应急需先抢通(清理空间)再治本(扩容防复发)。

根分区(/)空间占满直接导致系统服务崩溃,常见表现为:无法登录图形界面、SSH响应卡顿、systemd-journald或dbus启动失败、甚至卡在initramfs或BusyBox救援环境。这不是普通告警,而是系统运行基础被切断——所有服务写日志、建临时文件、加载配置都依赖/,空间归零即全面失能。应急恢复必须分两步走:先抢通(释放空间让系统能起来),再治本(扩容防复发)。下面按真实操作节奏展开。
第一步:进入可操作环境,挂载并诊断原系统
系统已无法正常启动时,不能依赖图形界面或常规终端。必须借助外部环境获得命令行控制权:
- 用统信UOS/Ubuntu/CentOS等对应版本的Live USB启动,进入Live桌面后打开终端;
- 执行
sudo fdisk -l和sudo lsblk -f,确认原系统根分区设备名(如/dev/sda2、/dev/nvme0n1p3)及文件系统类型(ext4/xfs); - 创建挂载点:
sudo mkdir /mnt/oldroot,然后挂载:sudo mount /dev/sda2 /mnt/oldroot; - 若提示“target is busy”,说明有进程占用,可先尝试
sudo lsof +D /mnt/oldroot查进程,或直接重启Live环境重试; - 挂载成功后,进入:
cd /mnt/oldroot,立即运行sudo du -sh /* 2>/dev/null | sort -hr | head -5,快速定位前五大空间占用目录。
第二步:精准清理最可能的“元凶”目录
90%以上的根分区爆满由以下三类目录引起,清理顺序按风险低、见效快、影响小排列:
-
/var/log/journal:systemd日志默认无硬限制,单机跑几周就轻松吃掉10–30GB。执行
sudo rm -rf /mnt/oldroot/var/log/journal/*,立刻释放大量空间; -
/var/cache/apt/archives(Debian/Ubuntu系)或
/var/cache/yum(CentOS/RHEL系):包管理器缓存的安装包长期不清理,常达数GB。执行sudo rm -rf /mnt/oldroot/var/cache/apt/archives/*.deb,保留partial/目录避免破坏APT状态; -
/tmp和
/root/.cache:临时文件与用户级缓存易堆积大文件(如ISO镜像、容器构建中间层)。执行sudo find /mnt/oldroot/tmp -type f -mtime +7 -delete和sudo rm -rf /mnt/oldroot/root/.cache/*。
注意:不要盲目rm -rf /var/log/*,auth.log、syslog等滚动日志需用logrotate -f处理;也不要删/usr或/bin下任何内容,那是系统核心。
第三步:验证恢复并启动原系统
清理完成后,执行sudo df -h /mnt/oldroot确认可用空间已回升至5GB以上(最低安全阈值)。然后:
- 卸载:
sudo umount /mnt/oldroot; - 重启机器,拔掉Live USB,正常从硬盘启动;
- 若顺利进入系统,立即检查关键服务:
systemctl status systemd-journald dbus sshd; - 运行
journalctl --disk-usage确认日志已受控,再设置日志保留策略:sudo journalctl --vacuum-size=1G或sudo systemctl edit systemd-journald加入[Journal] SystemMaxUse=1G。
第四步:根分区在线扩容(LVM环境优先)
如果系统使用LVM(查看sudo pvs; sudo vgs; sudo lvs),可在不重启前提下完成扩容:
- 确认是否有空闲PE:
sudo vgdisplay中Free PE / Size大于0; - 扩展逻辑卷:
sudo lvextend -l +100%FREE /dev/mapper/vgname-root(替换vgname和LV名); - 调整文件系统大小:
sudo resize2fs /dev/mapper/vgname-root(ext4)或sudo xfs_growfs /(xfs); - 验证:
df -h /应显示新容量。
非LVM环境(如纯ext4分区)无法在线扩容,需借助GParted Live或备份+重分区方式;虚拟机用户可先在宿主机扩大磁盘,再进Live环境用fdisk扩展分区表+resize2fs拉伸文件系统。
不复杂但容易忽略:清理只是止血,扩容才是根治。日常务必对/var/log、/var/cache设日志轮转与自动清理,关键目录如/var建议独立分区,避免一次日志爆炸拖垮整个系统。










