一、清理不必要的文件与目录
清理系统中的临时文件、旧日志、无用软件包及缓存是释放空间的基础操作。
sudo rm -rf /tmp/* /var/tmp/*删除临时目录下的所有文件(操作前需确认无活跃进程占用)。sudo yum clean all(CentOS 7及以下)或sudo dnf clean all(CentOS 8及以上),清除包管理器下载的缓存文件。sudo package-cleanup --oldkernels --count=1保留最新1个内核版本,删除旧内核(需root权限)。sudo journalctl --vacuum-size=50M限制日志文件大小为50MB,或用sudo find /var/log -type f -name "*.log" -mtime +30 -delete删除30天前的旧日志(避免误删正在使用的日志)。sudo rm -rf /home/*/.local/share/Trash/*。二、扩展现有分区或创建新分区
若磁盘有未分配空间,可通过扩展现有分区或创建新分区增加可用空间。
df -h查看分区使用情况,lsblk查看磁盘与分区结构,fdisk -l查看详细分区信息。fdisk /dev/sdX(X为磁盘标识,如sda)进入分区工具,依次执行n(新建分区)、p(主分区)、设置分区大小、w(保存退出);格式化新分区(如sudo mkfs.ext4 /dev/sdX1),创建挂载点(如sudo mkdir /mnt/newdisk),挂载分区(sudo mount /dev/sdX1 /mnt/newdisk),并更新/etc/fstab实现开机自动挂载。growpart(需安装cloud-utils-growpart)扩展分区,再用xfs_growfs(XFS文件系统)或resize2fs(ext4文件系统)扩展文件系统(如sudo growpart /dev/sda 1扩展第1个分区,sudo xfs_growfs /mnt/data扩展XFS文件系统)。三、使用LVM管理磁盘空间
LVM(逻辑卷管理)提供动态调整存储空间的能力,适合需要灵活扩展的场景。
pvcreate /dev/sdX将磁盘或分区初始化为物理卷(如sudo pvcreate /dev/sdb)。vgcreate vg_name /dev/sdX创建卷组(如sudo vgcreate vg_data /dev/sdb)。lvcreate -L 10G -n lv_name vg_name创建逻辑卷(如sudo lvcreate -L 10G -n lv_home vg_data)。lvextend -L +5G /dev/vg_name/lv_name扩展逻辑卷(如增加5G),再用xfs_growfs /mount_point(XFS)或resize2fs /dev/vg_name/lv_name(ext4)扩展文件系统。四、优化文件系统配置
选择合适的文件系统并调整挂载参数,可提升存储效率。
/etc/fstab中添加noatime,nodiratime参数,禁止记录文件访问时间,减少不必要的磁盘写操作(如/dev/sda1 /data xfs defaults,noatime,nodiratime 0 0)。-l logdev=/dev/sdb1(分离日志设备,提升性能),或使用mkfs.xfs -f -L data /dev/sda1指定标签。-O dir_index,has_journal参数启用目录索引和大文件支持,提升ext4性能。五、使用磁盘分析与压缩工具
通过工具快速定位大文件,压缩不常用文件释放空间。
ncdu(交互式分析)安装sudo yum install ncdu,运行sudo ncdu /查看目录占用;或用du -sh /*查看各目录大小,find / -type f -size +100M查找大于100MB的文件。tar -czvf archive.tar.gz /path/to/dir压缩目录,或用gzip file压缩单个文件(压缩后可删除原文件,节省空间)。split -b 1G largefile.tar.gz largefile_part_将大文件分割为1G大小的块(便于传输或存储)。六、管理与优化服务与进程
关闭不必要的服务与进程,减少内存与磁盘占用。
systemctl list-unit-files --type=service列出所有服务,用systemctl disable service_name禁用不需要的服务(如bluetooth、cups)。/etc/crontab和/etc/cron.d/下的定时任务,删除不必要的任务(如频繁执行的备份任务)。sync && echo 3 | sudo tee /proc/sys/vm/drop_caches清理页面缓存(不影响系统运行,仅释放缓存空间)。七、使用高级存储优化技术
sudo yum install vdo kmod-kvdo,创建VDO卷sudo vdo create --name=vdo1 --device=/dev/sdb,格式化sudo mkfs.xfs /dev/mapper/vdo1,挂载使用。/etc/sysctl.conf,设置vm.swappiness=10(降低Swap使用优先级,避免内存充足时误用Swap)、vm.dirty_ratio=20(控制脏页占比,提升写入性能),运行sysctl -p生效。