Centos7.9+磁盘空间100%+日志清理+文件移动

在Centos7.9环境下,磁盘空间使用过多的问题引起了人们的关注,这主要是由于不明智的文件管理造成的。
首要任务是确保对系统的影响最小化,并对数据结构进行必要的调整。
系统分区包括sda1、sda2、sda4、sda5,其中sda4空间已满。
与Windows系统不同,Linux系统上的分区识别更依赖于文件目录结构,清理时需要格外小心。
为了解决这个问题,文件从整个分区移动到另一个可用空间。
通过使用软链接,我们保证Docker容器仍然可以访问这些文件原来的路径,从而减少移动文件对容器运行的影响。
该方法允许您配置容器数据文件映射路径,以在不中断容器服务的情况下释放更多磁盘空间。
整个流程旨在最大限度地减少对服务器性能的影响,保证系统稳定运行,高效管理磁盘资源。

Linux命令神器lsof

在Linux环境中,lsof(listopenfiles)是一个功能强大的系统监控和诊断工具,可以列出系统上进程打开的所有文件,包括网络套接字。
尤其是lsof在系统运维中发挥着不可或缺的作用。
本文详细介绍了lsof的安装、使用以及实际应用。

lsof的安装和基本使用

在Centos系统上,lsof是使用yum命令yum-yinstalllsof安装的。
如需操作指南,请在终端中输入“lsof--h”。
诸如“lsof”之类的基本命令会显示所有打开的文件。

实验1.设备繁忙故障排除

如果收到磁盘删除失败的消息,可以使用lsof查找占用磁盘的进程。
例如,您可以使用“lsof-i”来检查您的网络。
检查连接并找出特定端口上有哪些进程,例如“lsof-i:22”。
如果发现,您可以终止该进程以减少磁盘使用。

2.修复删除的文件未释放的问题

当磁盘空间100%满时,有时删除的文件被进程占用。
使用lsof-n|grepdelete查看哪些进程正在占用文件,然后杀死它们以释放空间并避免重新启动系统。

3.已删除文件恢复

如果进程仍然存在,您可以使用lsof通过创建文件并检查进程的文件描述符来启动后台进程。
,您可以尝试恢复已删除的文件。

docker /dev/mapper/centos-root

如果你想检查本地硬盘的使用情况,可以运行$df-h命令,看到/dev/mapper/centos-root分区几乎已满(100%)。
详细分析可以用超级管理员权限进入根目录/,使用#du-h-x--max-Depth=1命令查看各个子目录占用的空间。
这样您就可以逐步找到更大的文件夹。
这样的调查可能会发现/var/lib/docker/tmp是主要占用者。
这通常与运行Docker文件有关。
我们建议您在单独的空目录中运行Dockerfile,以避免运行Dockerfile时不必要的文件混合并影响系统空间。
这提供了更清晰的管理并避免额外的文件占用。